//http://translate.google.com/
google.load("language", "1");

function Gtranslate (cadena, lo, ld) {
	//alert (cadena);
	var traduccion= "";
	google.language.translate(cadena, lo, ld, function(result) {
		if (!result.error) {
			alert (result.translation);
			traduccion= result.translation;
			return traduccion;
		} else {
			alert ("No se ha podido traducir");
			return traduccion;
		}
	});
	
}


function traduce (origen, destino, lo, ld, formularioName) {
	if (formularioName=='' || formularioName==undefined) {
		formularioName='administrar_cuenta';
	}
	//var texto = tinyMCE.getContent(origen);
	var texto = tinyMCE.get(origen).getContent();
	if (texto=="" || texto==undefined) {
		alert ("El texto de origen esta vacio");
		return true;
	} else {
		var resultado = "";
		google.language.translate(texto, lo, ld, function(result) {
			if (!result.error) {
				tinyMCE.get(destino).setContent(result.translation);
				radioBox=destino.substring(0, (destino.length-2));
				radioBox=radioBox+"t_"+ld;
				radioBox=document.forms[formularioName][radioBox];
				setCheckedValue(radioBox, "2");
				alert ("Compruebe que la traducción se ha insertado correctamente");
				return true;
			} else {
				alert ("Se ha producido un error en la traducción");
				return false;
			}
		});
	}
}

// return the value of the radio button that is checked
// return an empty string if none are checked, or
// there are no radio buttons
function getCheckedValue(radioObj) {
	if(!radioObj)
		return "";
	var radioLength = radioObj.length;
	if(radioLength == undefined)
		if(radioObj.checked)
			return radioObj.value;
		else
			return "";
	for(var i = 0; i < radioLength; i++) {
		if(radioObj[i].checked) {
			return radioObj[i].value;
		}
	}
	return "";
}

// set the radio button with the given value as being checked
// do nothing if there are no radio buttons
// if the given value does not exist, all the radio buttons
// are reset to unchecked
function setCheckedValue(radioObj, newValue) {
	if(!radioObj)
		return;
	var radioLength = radioObj.length;
	if(radioLength == undefined) {
		radioObj.checked = (radioObj.value == newValue.toString());
		return;
	}
	for(var i = 0; i < radioLength; i++) {
		radioObj[i].checked = false;
		if(radioObj[i].value == newValue.toString()) {
			radioObj[i].checked = true;
		}
	}
}

/*
function addslashes( str ) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Ates Goral (http://magnetiq.com)
	// +   improved by: marrtins
	// +   improved by: Nate
	// +   improved by: Onno Marsman
	// *     example 1: addslashes("kevin's birthday");
	// *     returns 1: 'kevin\'s birthday'
 
	return (str+'').replace(/([\\"'])/g, "\\$1").replace(/\0/g, "\\0");
}
function stripslashes( str ) {
	// http://kevin.vanzonneveld.net
	// +   original by: Kevin van Zonneveld (http://kevin.vanzonneveld.net)
	// +   improved by: Ates Goral (http://magnetiq.com)
	// +      fixed by: Mick@el
	// +   improved by: marrtins
	// +   bugfixed by: Onno Marsman
	// +   improved by: rezna
	// *     example 1: stripslashes('Kevin\'s code');
	// *     returns 1: "Kevin's code"
	// *     example 2: stripslashes('Kevin\\\'s code');
	// *     returns 2: "Kevin\'s code"
 
	return (str+'').replace(/\0/g, '0').replace(/\\([\\'"])/g, '$1');
}
function traduceSimple (origen, destino, lo, ld) {
	var texto = tinyMCE.getContent(origen);
	//texto=texto.replace("\n", "<br />");
	//texto=addslashes (texto);
	//alert ("Texto a traducir: "+texto)
	//alert ("IDIOMA ORIGEN: "+lo+" IDIOMA DESTINO: "+ld);
	google.language.translate(texto, lo, ld, function(result) {
		if (!result.error) {
			//alert ("Resultado: "+result.translation);	
			var traduccion= result.translation;
			//var container =document.forms['administrar_cuenta'][destino];
			//traduccion=traduccion.replace("<br />", "\n");
			//container.value = traduccion;
			tinyMCE.execInstanceCommand(destino, "mceFocus");
			tinyMCE.setContent (traduccion);
		} else {
			alert ("No se ha podido traducir");
		}
	});
	return false;
}

function traduceMultiple(origen, destino, lo, ld) {
	//var texto = tinyMCE.getContent(origen);
	var texto = tinyMCE.get(origen).getContent();
	var limite = 1000;
	var resultado = "";
	l=texto.length;
	talls=Math.ceil(l/limite);
	startpoint=0;
	stoppoint=startpoint+limite;
	for (i=0; i<talls; i++) {
		for (j=stoppoint; j<stoppoint+20; j++) {
			test=texto.substring(j-1, j);
			if (test==" ") {
				stoppoint=j;
				break;
			}
		}
		cadena=texto.substring(startpoint, stoppoint);
		
		google.language.translate(cadena, lo, ld, function(result) {
			if (!result.error) {
				
				traduccion= result.translation;
				resultado=resultado+" "+traduccion;
			} else {
				alert ("Se ha producido un error en la traducción");
				resultado=resultado+" "+"";
			}
		});
		
		if (talls>1) {
			alert ("Pulse para continuar la traducción");
		} else {
			alert ("Compruebe que la traducción se ha insertado correctamente");
			alert (resultado);
		}
		//alert ("START: "+startpoint+" STOP : "+stoppoint);
		startpoint=stoppoint;
		stoppoint=stoppoint+limite;
	}
	//alert ("LONGITUD : "+l+"\nCORTES : "+talls);
	//tinyMCE.execInstanceCommand(destino, "mceFocus");
	//tinyMCE.setContent (resultado);
	
	tinyMCE.get(destino).setContent(resultado);
	radioBox=destino.substring(0, (destino.length-2));
	radioBox=radioBox+"t_"+ld;
	//radioBox=document.getElementById(radioBox);
	radioBox=document.forms['administrar_cuenta'][radioBox];
	setCheckedValue(radioBox, "2");
	return false;
}


*/