//Should be server side
function getAppidToken(min,max,expire,callback){
	var s = document.createElement("script");
	s.src=baseurl+'GetAppIdToken?oncomplete='+callback+'&appId='+appid+'&minRatingRead'+min+'&maxRatingWrite'+max+'&expireSeconds='+expire;
	document.getElementsByTagName("head")[0].appendChild(s);
	// ==> securce appid token
}
var appid = 'DB50E2E9FBE2E92B103E696DCF4E3E512A8826FB';

var contenttype = 'text/plain';
var category = 'general';
var baseurl = 'http://api.microsofttranslator.com/V2/Ajax.svc/';
var options = {Category:'general',  ContentType:'text/plain',  Uri:'', User:'deaultUser',State:''};

/* Get lannguage list */
function getLanguagesForTranslate(callback){
	var s = document.createElement("script");
	s.src=baseurl+"GetLanguagesForTranslate?oncomplete="+callback+"&appId="+appid;
	document.getElementsByTagName("head")[0].appendChild(s);
	// Returns array of language codes
}

function getLanguagesForSpeak(callback){
	var s = document.createElement("script");
	s.src=baseurl+'GetLanguagesForSpeak?oncomplete='+callback	+'&appId='+appid;
	document.getElementsByTagName("head")[0].appendChild(s);
	//[language codes]
}
	
function getlanguageNames(codes,callback){
	var s = document.createElement("script");
	s.src=baseurl+"GetLanguageNames?oncomplete="+callback+"&appId="+appid+"&locale=en&languageCodes="+JSON.stringify(codes);
	document.getElementsByTagName("head")[0].appendChild(s);
	//[languagege names]
}

/* Translate */
function translate(txt,to,frm,callback){
	var s = document.createElement("script");
	s.src=baseurl+'/Translate?oncomplete='+callback+'&appId='+appid+'&text="'+txt+'"&to='+to+'&from='+frm+'&contentType='+contenttype+'&category='+category;
	document.getElementsByTagName("head")[0].appendChild(s);
	// Retruns translated text
}

function translateArray(texts,to,frm,callback,opts){
	var s = document.createElement("script");
	s.src=baseurl+"/TranslateArray?oncomplete="+callback+"&appId="+appid+"&texts="+JSON.stringify(texts)+"&to="+to+"&from="+frm+"&options="+JSON.stringify(opts);
	document.getElementsByTagName("head")[0].appendChild(s);
	// var translateArrayResponse=[{ Error: "null|error", OriginalSentenceLengths:["source sentence lengths"], TranslatedText:"", TranslatedSentenceLengths:["sentence lengths"], state:"same sent in opts"}];
}

/* Speech */
function speak(txt,lang,callback){
	var s = document.createElement("script");
	s.src=baseurl+'Speak?oncomplete='+callback+'&appId='+appid+'&text="'+txt+'"&language='+lang
	document.getElementsByTagName("head")[0].appendChild(s);
	//url to wave file
}

function sayit(e){
	//<video controls="" autoplay="" style="margin: auto; position: absolute; top: 0; right: 0; bottom: 0; left: 0;" name="media" src="http://api.microsofttranslator.com/V2/http.svc/Speak?appId=TacCAUKU37o9yb72_K6WHljN0DnecJ68isDmsKSQhsn9Q1gICQjKSC-YCKXkT9CYX&amp;text=how+are+you&amp;language=en"></video>
	var s = document.createElement('audio');
	s.src=e;
	//s.src=baseurl+'Speak?oncomplete='+callback+'&appId='+appid+'&text="'+txt+'"&language='+lang
	document.getElementsByTagName("body")[0].appendChild(s);
	s.play();
	console.log(e);
}

/* Apis just focused on lang detection */
function breaeakSentences(txt,lang,callback){
	var s = document.createElement("script");
	s.src=baseurl+"BreakSentences?oncomplete="+callback+"&appId="+appid+"&text=" + encodeURIComponent(txt) + "&language=" + lang;
	document.getElementsByTagName("head")[0].appendChild(s);
	//  ==> detected length
}

function detect(txt,callback){
	var s = document.createElement("script");
	s.src=baseurl+'Detect?oncomplete='+callback+'&appId='+appid+'&text="'+txt+'"';
	document.getElementsByTagName("head")[0].appendChild(s);
	//  ==> detected launguaage
}

function detectArray(texts,callback){
	var s = document.createElement("script");
	s.src=baseurl+"DetectArray?oncomplete="+callback+"&appId="+appid+"&texts="+JSON.stringify(texts);
	document.getElementsByTagName("head")[0].appendChild(s);
	// ==> [detected languages]
}




/* Advanced apis for user submitted corrections */

function getTranslations(text,to,frm,callback){
	var s = document.createElement("script");
	s.src=baseurl+"/GetTranslations?oncomplete="+callback+"&appId="+appid+"&text="+JSON.stringify(text)+"&to="+to+"&from="+frm+"&maxTranslations=10";
	document.getElementsByTagName("head")[0].appendChild(s);
	// ==> [getTranslationsResponse]
}
function getTranslationsArray(texts,to,frm,callback){
	var s = document.createElement("script");
	s.src=baseurl+"/GetTranslationsArray?oncomplete="+callback+"&appId="+appid+"&texts="+JSON.stringify(texts)+"&to="+to+"&from="+frm+"&maxTranslations=10";
	document.getElementsByTagName("head")[0].appendChild(s);
	// ==> [getTranslationsResponse]
}
function addTranslation(orig,res,from,to,callback){
	//Translations format //appid  [{OriginalText:"", TranslatedText:"",Rating:"1"}] from to options
	var s = document.createElement("script");
	s.src=baseurl+"/AddTranslation?appId="+appid+"&originalText="+encodeURIComponent(orig)+"&translatedText="+encodeURIComponent(res)+"&from="+from+"&to="+to+"&contentType="+contenttype+"&user=gnt";
	document.getElementsByTagName("head")[0].appendChild(s);
	// ==> [getTranslationsResponse]
}
function addTranslationArray(translations,from,to,callback){
	var s = document.createElement("script");
	s.src=baseurl+"/AddTranslationArray?appId="+appid+"&translations=" + JSON.stringify(translations) + "&from="+from+"&to="+to+"&options="+JSON.stringify(options);
	document.getElementsByTagName("head")[0].appendChild(s);
	// ==> [getTranslationsResponse]
}


//getAppidToken(1,10,60,'mycallback');
//translate('Try this out','ru','');
//getLanguagesForTranslate();
//getLanguagesForSpeak('names');
//speak("how are you",'en','sayit');
//breaeakSentences("An int to define the maximum rating that a user can write with using this token. appid originalText optionalText",'en','mycallback');
//detect("En streng, der indeholder Bing AppID.","mycallback");
//detectArray(["Строка содержащая Bing AppId","A string containing the Bing AppId","Una cadena que contiene el AppId Bing","Řetězec obsahující Bing AppId","ビングAppIDを含む文字列を返します","En streng, der indeholder Bing AppID"],'mycallback');
//translateArray(["Chcete být první, kdo uslyší o našich nových","Načíst data ze serveru pomocí HTTP GET","Chyba: Označuje chybu, pokud má člověk došlo. V opačném případě nastavena na hodnotu null"],"en",'','mycallback');
//getTranslations("the string containing the URL to which the request is sent.dataA map or string that is sent to the server with the request.success(data, textStatus, jqXHR)A callback function that is executed if the request succeeds.dataTypeThe type of data expected from the server. Default: Intelligent Guess (xml, json, script, or html).","zh-CHT",'','mycallback');
//getTranslations("包含的 URL 的請求是 sent.dataA 地圖或發送到 request.success （資料、 textStatus、 jqXHR） 的伺服器如果請求 succeeds.dataTypeThe 類型的資料需要從伺服器執行的回呼函數的字串的字串。預設值： 智慧猜測 (xml、 json、 腳本或 html).","en",'','mycallback');
	//Original "Use this page to monitor the number of queries to Bing from your website"
	//to  chinese then back "使用此頁可以監視的查詢，以兵從您的網站數量"
	//Bing -> "Use this page to monitor queries, number of soldiers from your Web site"
	//Google ->"Use this page to monitor the query to the number of soldiers from your website"
//addTranslation("使用此頁可以監視的查詢，以兵從您的網站數量","Use this page to monitor the query to the number of soldiers from your website","zh-cht","en",'mycallback');
//addTranslation("使用此頁可以監視的查詢，以兵從您的網站數量","Use this page to monitor the number of queries to Bing from your website","zh-cht","en",'mycallback');
//translate("使用此頁可以監視的查詢，以兵從您的網站數量","en",'','mycallback')
//getTranslations("使用此頁可以監視的查詢，以兵從您的網站數量","en",'','mycallback')
	//Original "Use this page to monitor the number of queries to Bing from your website"
	//   tranlated to russian
	//By bing Bing -> "Эта страница используется для мониторинга числа запросов до Bing из вашего веб-сайта"
	//By Google -> "На этой странице можно контролировать количество запросов в Bing с Вашего сайта"
	//By Yahoo -> "Используйте эту страницу для того чтобы контролировать число вопросов к Бингу от вашего вебсайта"
//addTranslationArray([{OriginalText:"Use this page to monitor the number of queries to Bing from your website", TranslatedText:"На этой странице можно контролировать количество запросов в Bing с Вашего сайта",Rating:"1"},{OriginalText:"Use this page to monitor the number of queries to Bing from your website", TranslatedText:"Используйте эту страницу для того чтобы контролировать число вопросов к Бингу от вашего вебсайта",Rating:"1"}],'en','ru','mycallback');
//translate("Use this page to monitor the number of queries to Bing from your website",'ru','','mycallback');
//getTranslations("Use this page to monitor the number of queries to Bing from your website",'ru','','mycallback');
