/***
* Get next Rm value for translate
*/
function getNextRMvalue() {
	var elts = getElmtgByClassName("languages");
	var cur_num = window.document.getElementById("cur_res_num").value
	var final_array = new Array();
	for(var i = 0; elts.length > i; i++) {
  	if(window.document.getElementById(elts[i]).checked == true) {
  		lang_value = window.document.getElementById(elts[i]).value
	  	final_array.push(lang_value);
	  }
	}
	top.xajax_getNextRMvalue(cur_num, final_array);
}
/***
* Return elements id by class name
*/
function getElmtgByClassName (clsName) {
  var i, matches = new Array();
  var els = window.document.getElementsByTagName('*');
  var rx1 = new RegExp('.*'+clsName+'.*');
  for(i=0; i<els.length; i++) {
    if(els.item(i).className.match(rx1)) {
	    matches.push(els.item(i).id);
    }
  }
  return matches;
}

google.load('language', '1');

/***
* Prepare fo translate texts
*/
function initialize(cur_num, res_id) {
	var elts = getElmtgByClassName("to_translate_class");
  for(var i = 0; elts.length > i; i++) {
	  var text = window.document.getElementById(elts[i]).value;
		var str_id = 'to_translate_';
		var cut = (elts[i].substr(str_id.length));
		var to_lang = cut;
		if(to_lang == "zhc") to_lang = "zh-CN";
		else if(to_lang == "zht") to_lang = "zh-TW";
		else if(to_lang == "zht") to_lang = "zh-TW";
		else if(to_lang == "pt") to_lang = "pt-PT";
		
		trans(text, to_lang, elts[i]);	
  }
  setTimeout("top.getTranslatedTexts("+cur_num+", "+res_id+");", 1000);
}
/***
* Self translate
*/
function trans(text, to_lang, cur_id) {
	var translated = window.document.getElementById(cur_id);
	
  google.language.translate(text, 'en', to_lang, function(result) {
	  if (result.translation) {
	    translated.value = result.translation;
	  }
	});
}
/***
* Return translated texts & langs to xajax function
*/
function getTranslatedTexts(cur_num, res_id) {	
	var translated_texts = new Array();
	var active_langs = new Array();
	var stop_translate = window.document.getElementById('stop_translate');
	var rewrite = window.document.getElementById('rew_translated').checked;
	if(rewrite == false) rewrite = 0; 
	else rewrite = 1; 
	
	var elts = getElmtgByClassName("to_translate_class");
  for(var i = 0; elts.length > i; i++) {
	  var text = window.document.getElementById(elts[i]).value;	
	  translated_texts.push(text);
  }	
  
  var elts = getElmtgByClassName("languages");
	for(var i = 0; elts.length > i; i++) {
  	if(window.document.getElementById(elts[i]).checked == true) {
	  	active_langs.push(elts[i]);
	  }
	}
  
	if(stop_translate.checked == false) {
		top.xajax_saveRmTranslated(translated_texts, rewrite, cur_num, res_id, active_langs);
	}
}
/***
* Change  rewrite status
*/
function changeRewStatus() {	
	var rewrite = window.document.getElementById('rew_translated').checked;
	var status = window.document.getElementById('rew_translated_status');
	if(rewrite == false) {
		status.innerHTML = "No"; 
		status.style.color = "green"; 
	} else {
		status.innerHTML = "Yes"; 
		status.style.color = "red"; 
	}
}