function createREQ() {
try {
     req = new XMLHttpRequest(); /* p.e. Firefox */
     } catch(err1) {
       try {
       req = new ActiveXObject('Msxml2.XMLHTTP'); /* algunas versiones IE */
       } catch (err2) {
         try {
         req = new ActiveXObject("Microsoft.XMLHTTP"); /* algunas versiones IE */
         } catch (err3) {
          req = false;
         }
       }
     }
     return req;
}

function requestGET(url, query, req) {
	myRand=parseInt(Math.random()*99999999);
	req.open("GET",url+'?'+'query'+'&rand='+myRand,true);
	req.send(null);
}
function requestPOST(url, query, req) {
	req.open("POST", url,true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send(query);
}
function doCallback(callback,item) {
	eval(callback + '(item)');
}

function doAjax(url,query,callback,reqtype,getxml) {
	// crea la instancia del objeto XMLHTTPRequest 

	var myreq = createREQ();

	myreq.onreadystatechange = function() {	
	if(myreq.readyState == 4) {
	   if(myreq.status == 200) {

		  var item = myreq.responseText;
		  if(getxml==1) {
			 item = myreq.responseXML;
			 	
		  }
		  doCallback(callback, item);
		}
	  }

	}
	if(reqtype=='post') {
		requestPOST(url,query,myreq);

	} else {

		requestGET(url,query,myreq);
	}
}

//Extension Abel

// Ajax SINCRONO
function AJAXCrearObjetoSincrono(){
 	var obj;
	if (window.XMLHttpRequest) { // no es IE
		obj = new XMLHttpRequest();
	}else{ // Es IE o no tiene el objeto
		try {
			obj = new ActiveXObject("Microsoft.XMLHTTP");
		}catch (e) {
			alert('El navegador utilizado no está soportado');
		}
	}
	return obj;
}

function doAjaxSincrono(url) {
	// Creamos la variable parametro
	 oXML = AJAXCrearObjetoSincrono();
	 // Preparamos la petición con parametros

	 oXML.open('GET',url, false);
	// oXML.open('POST',url, false);
	// 	oXML.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 // Realizamos la petición
	 oXML.send(null);
	 // Devolvemos el resultado
	 return oXML.responseXML;	 

//	 return oXML.responseText;	 
}



//Esto hay que ejecutarlo justo antes de hacer el serialize
function quitaTildes(){
	var Input=document.getElementsByTagName("input");
	for (var i=0; i < Input.length ; i++){
	   	try {
			$(Input[i].id).setAttribute('maxAnt', $(Input[i].id).maxLength);
			$(Input[i].id).setAttribute('maxLength', 1000);//agrando el maximo
		} catch(e){
			//no se ha podido aumentar el length	
		}
		Input[i].value=quitaTildesCampo(Input[i].value);
	}
	var textarea=document.getElementsByTagName("textarea"); 
	for (var i=0; i < textarea.length ; i++){
		textarea[i].value=quitaTildesCampo(textarea[i].value);
	}
}
//Esto hay que ejecutarlo justo despues
function ponTildes(){
	var Input=document.getElementsByTagName("input");
	for (var i=0; i < Input.length ; i++){
	   	try {
			$(Input[i].id).setAttribute('maxLength', $(Input[i].id).getAttribute('maxAnt'));
		} catch(e){
			//no se ha podido restaurar el length	
		}		
		
		Input[i].value=ponTildesCampo(Input[i].value);
	}
	var textarea=document.getElementsByTagName("textarea");
	for (var i=0; i < textarea.length ; i++){
		textarea[i].value=ponTildesCampo(textarea[i].value);
	}	
}
function quitaTildes(){
	var Input=document.getElementsByTagName("input");
	for (var i=0; i < Input.length ; i++){
		Input[i].value=quitaTildesCampo(Input[i].value);
	}
	var textarea=document.getElementsByTagName("textarea");
	for (var i=0; i < textarea.length ; i++){
		textarea[i].value=quitaTildesCampo(textarea[i].value);
	}
}
//Esto hay que ejecutarlo justo despues
function ponTildes(){
	var Input=document.getElementsByTagName("input");
	for (var i=0; i < Input.length ; i++){
		Input[i].value=ponTildesCampo(Input[i].value);
	}
	var textarea=document.getElementsByTagName("textarea");
	for (var i=0; i < textarea.length ; i++){
		textarea[i].value=ponTildesCampo(textarea[i].value);
	}	
}
function quitaTildesCampo(c){
	c=c.replace(/'/g,"`");
	c=c.replace(/&/g,"&#38;");
	c=c.replace(/"/g,"&#34;");
	c=c.replace(/€/g,"&#128;");
	c=c.replace(//g,"&#129;");
	c=c.replace(/‚/g,"&#130;");
	c=c.replace(/ƒ/g,"&#131;");
	c=c.replace(/„/g,"&#132;");
	c=c.replace(/…/g,"&#133;");
	c=c.replace(/†/g,"&#134;");
	c=c.replace(/‡/g,"&#135;");
	c=c.replace(/ˆ/g,"&#136;");
	c=c.replace(/‰/g,"&#137;");
	c=c.replace(/Š/g,"&#138;");
	c=c.replace(/‹/g,"&#139;");
	c=c.replace(/Œ/g,"&#140;");
	c=c.replace(//g,"&#141;");
	c=c.replace(/Ž/g,"&#142;");
	c=c.replace(//g,"&#143;");
	c=c.replace(//g,"&#144;");
	c=c.replace(/‘/g,"&#145;");
	c=c.replace(/’/g,"&#146;");
	c=c.replace(/“/g,"&#147;");
	c=c.replace(/”/g,"&#148;");
	c=c.replace(/•/g,"&#149;");
	c=c.replace(/–/g,"&#150;");
	c=c.replace(/—/g,"&#151;");
	c=c.replace(/˜/g,"&#152;");
	c=c.replace(/™/g,"&#153;");
	c=c.replace(/š/g,"&#154;");
	c=c.replace(/›/g,"&#155;");
	c=c.replace(/œ/g,"&#156;");
	c=c.replace(//g,"&#157;");
	c=c.replace(/ž/g,"&#158;");
	c=c.replace(/Ÿ/g,"&#159;");
	c=c.replace(/¡/g,"&#161;");
	c=c.replace(/¢/g,"&#162;");
	c=c.replace(/£/g,"&#163;");
	c=c.replace(/¤/g,"&#164;");
	c=c.replace(/¥/g,"&#165;");
	c=c.replace(/¦/g,"&#166;");
	c=c.replace(/§/g,"&#167;");
	c=c.replace(/¨/g,"&#168;");
	c=c.replace(/©/g,"&#169;");
	c=c.replace(/ª/g,"&#170;");
	c=c.replace(/«/g,"&#171;");
	c=c.replace(/¬/g,"&#172;");
	c=c.replace(/­/g,"&#173;");
	c=c.replace(/®/g,"&#174;");
	c=c.replace(/¯/g,"&#175;");
	c=c.replace(/°/g,"&#176;");
	c=c.replace(/±/g,"&#177;");
	c=c.replace(/²/g,"&#178;");
	c=c.replace(/³/g,"&#179;");
	c=c.replace(/´/g,"&#180;");
	c=c.replace(/µ/g,"&#181;");
	c=c.replace(/¶/g,"&#182;");
	c=c.replace(/·/g,"&#183;");
	c=c.replace(/¸/g,"&#184;");
	c=c.replace(/¹/g,"&#185;");
	c=c.replace(/º/g,"&#186;");
	c=c.replace(/»/g,"&#187;");
	c=c.replace(/¼/g,"&#188;");
	c=c.replace(/½/g,"&#189;");
	c=c.replace(/¾/g,"&#190;");
	c=c.replace(/¿/g,"&#191;");
	c=c.replace(/À/g,"&#192;");
	c=c.replace(/Á/g,"&#193;");
	c=c.replace(/Â/g,"&#194;");
	c=c.replace(/Ã/g,"&#195;");
	c=c.replace(/Ä/g,"&#196;");
	c=c.replace(/Å/g,"&#197;");
	c=c.replace(/Æ/g,"&#198;");
	c=c.replace(/Ç/g,"&#199;");
	c=c.replace(/È/g,"&#200;");
	c=c.replace(/É/g,"&#201;");
	c=c.replace(/Ê/g,"&#202;");
	c=c.replace(/Ë/g,"&#203;");
	c=c.replace(/Ì/g,"&#204;");
	c=c.replace(/Í/g,"&#205;");
	c=c.replace(/Î/g,"&#206;");
	c=c.replace(/Ï/g,"&#207;");
	c=c.replace(/Ð/g,"&#208;");
	c=c.replace(/Ñ/g,"&#209;");
	c=c.replace(/Ò/g,"&#210;");
	c=c.replace(/Ó/g,"&#211;");
	c=c.replace(/Ô/g,"&#212;");
	c=c.replace(/Õ/g,"&#213;");
	c=c.replace(/Ö/g,"&#214;");
	c=c.replace(/×/g,"&#215;");
	c=c.replace(/Ø/g,"&#216;");
	c=c.replace(/Ù/g,"&#217;");
	c=c.replace(/Ú/g,"&#218;");
	c=c.replace(/Û/g,"&#219;");
	c=c.replace(/Ü/g,"&#220;");
	c=c.replace(/Ý/g,"&#221;");
	c=c.replace(/Þ/g,"&#222;");
	c=c.replace(/ß/g,"&#223;");
	c=c.replace(/à/g,"&#224;");
	c=c.replace(/á/g,"&#225;");
	c=c.replace(/â/g,"&#226;");
	c=c.replace(/ã/g,"&#227;");
	c=c.replace(/ä/g,"&#228;");
	c=c.replace(/å/g,"&#229;");
	c=c.replace(/æ/g,"&#230;");
	c=c.replace(/ç/g,"&#231;");
	c=c.replace(/è/g,"&#232;");
	c=c.replace(/é/g,"&#233;");
	c=c.replace(/ê/g,"&#234;");
	c=c.replace(/ë/g,"&#235;");
	c=c.replace(/ì/g,"&#236;");
	c=c.replace(/í/g,"&#237;");
	c=c.replace(/î/g,"&#238;");
	c=c.replace(/ï/g,"&#239;");
	c=c.replace(/ð/g,"&#240;");
	c=c.replace(/ñ/g,"&#241;");
	c=c.replace(/ò/g,"&#242;");
	c=c.replace(/ó/g,"&#243;");
	c=c.replace(/ô/g,"&#244;");
	c=c.replace(/õ/g,"&#245;");
	c=c.replace(/ö/g,"&#246;");
	c=c.replace(/÷/g,"&#247;");
	c=c.replace(/ø/g,"&#248;");
	c=c.replace(/ù/g,"&#249;");
	c=c.replace(/ú/g,"&#250;");
	c=c.replace(/û/g,"&#251;");
	c=c.replace(/ü/g,"&#252;");
	c=c.replace(/ý/g,"&#253;");
	c=c.replace(/þ/g,"&#254;");
	c=c.replace(/ÿ/g,"&#255;");
	c=c.replace(/	/g,"&#09;");
	return c;
}

function ponTildesCampo(c){
	c=c.replace(/&#38;/g,"&");
	c=c.replace(/&#34;/g,'"');
	c=c.replace(/&#128;/g,"€");
	c=c.replace(/&#129;/g,"");
	c=c.replace(/&#130;/g,"‚");
	c=c.replace(/&#131;/g,"ƒ");
	c=c.replace(/&#132;/g,"„");
	c=c.replace(/&#133;/g,"…");
	c=c.replace(/&#134;/g,"†");
	c=c.replace(/&#135;/g,"‡");
	c=c.replace(/&#136;/g,"ˆ");
	c=c.replace(/&#137;/g,"‰");
	c=c.replace(/&#138;/g,"Š");
	c=c.replace(/&#139;/g,"‹");
	c=c.replace(/&#140;/g,"Œ");
	c=c.replace(/&#141;/g,"");
	c=c.replace(/&#142;/g,"Ž");
	c=c.replace(/&#143;/g,"");
	c=c.replace(/&#144;/g,"");
	c=c.replace(/&#145;/g,"‘");
	c=c.replace(/&#146;/g,"’");
	c=c.replace(/&#147;/g,"“");
	c=c.replace(/&#148;/g,"”");
	c=c.replace(/&#149;/g,"•");
	c=c.replace(/&#150;/g,"–");
	c=c.replace(/&#151;/g,"—");
	c=c.replace(/&#152;/g,"˜");
	c=c.replace(/&#153;/g,"™");
	c=c.replace(/&#154;/g,"š");
	c=c.replace(/&#155;/g,"›");
	c=c.replace(/&#156;/g,"œ");
	c=c.replace(/&#157;/g,"");
	c=c.replace(/&#158;/g,"ž");
	c=c.replace(/&#159;/g,"Ÿ");
	c=c.replace(/&#161;/g,"¡");
	c=c.replace(/&#162;/g,"¢");
	c=c.replace(/&#163;/g,"£");
	c=c.replace(/&#164;/g,"¤");
	c=c.replace(/&#165;/g,"¥");
	c=c.replace(/&#166;/g,"¦");
	c=c.replace(/&#167;/g,"§");
	c=c.replace(/&#168;/g,"¨");
	c=c.replace(/&#169;/g,"©");
	c=c.replace(/&#170;/g,"ª");
	c=c.replace(/&#171;/g,"«");
	c=c.replace(/&#172;/g,"¬");
	c=c.replace(/&#173;/g,"­");
	c=c.replace(/&#174;/g,"®");
	c=c.replace(/&#175;/g,"¯");
	c=c.replace(/&#176;/g,"°");
	c=c.replace(/&#177;/g,"±");
	c=c.replace(/&#178;/g,"²");
	c=c.replace(/&#179;/g,"³");
	c=c.replace(/&#180;/g,"´");
	c=c.replace(/&#181;/g,"µ");
	c=c.replace(/&#182;/g,"¶");
	c=c.replace(/&#183;/g,"·");
	c=c.replace(/&#184;/g,"¸");
	c=c.replace(/&#185;/g,"¹");
	c=c.replace(/&#186;/g,"º");
	c=c.replace(/&#187;/g,"»");
	c=c.replace(/&#188;/g,"¼");
	c=c.replace(/&#189;/g,"½");
	c=c.replace(/&#190;/g,"¾");
	c=c.replace(/&#191;/g,"¿");
	c=c.replace(/&#192;/g,"À");
	c=c.replace(/&#193;/g,"Á");
	c=c.replace(/&#194;/g,"Â");
	c=c.replace(/&#195;/g,"Ã");
	c=c.replace(/&#196;/g,"Ä");
	c=c.replace(/&#197;/g,"Å");
	c=c.replace(/&#198;/g,"Æ");
	c=c.replace(/&#199;/g,"Ç");
	c=c.replace(/&#200;/g,"È");
	c=c.replace(/&#201;/g,"É");
	c=c.replace(/&#202;/g,"Ê");
	c=c.replace(/&#203;/g,"Ë");
	c=c.replace(/&#204;/g,"Ì");
	c=c.replace(/&#205;/g,"Í");
	c=c.replace(/&#206;/g,"Î");
	c=c.replace(/&#207;/g,"Ï");
	c=c.replace(/&#208;/g,"Ð");
	c=c.replace(/&#209;/g,"Ñ");
	c=c.replace(/&#210;/g,"Ò");
	c=c.replace(/&#211;/g,"Ó");
	c=c.replace(/&#212;/g,"Ô");
	c=c.replace(/&#213;/g,"Õ");
	c=c.replace(/&#214;/g,"Ö");
	c=c.replace(/&#215;/g,"×");
	c=c.replace(/&#216;/g,"Ø");
	c=c.replace(/&#217;/g,"Ù");
	c=c.replace(/&#218;/g,"Ú");
	c=c.replace(/&#219;/g,"Û");
	c=c.replace(/&#220;/g,"Ü");
	c=c.replace(/&#221;/g,"Ý");
	c=c.replace(/&#222;/g,"Þ");
	c=c.replace(/&#223;/g,"ß");
	c=c.replace(/&#224;/g,"à");
	c=c.replace(/&#225;/g,"á");
	c=c.replace(/&#226;/g,"â");
	c=c.replace(/&#227;/g,"ã");
	c=c.replace(/&#228;/g,"ä");
	c=c.replace(/&#229;/g,"å");
	c=c.replace(/&#230;/g,"æ");
	c=c.replace(/&#231;/g,"ç");
	c=c.replace(/&#232;/g,"è");
	c=c.replace(/&#233;/g,"é");
	c=c.replace(/&#234;/g,"ê");
	c=c.replace(/&#235;/g,"ë");
	c=c.replace(/&#236;/g,"ì");
	c=c.replace(/&#237;/g,"í");
	c=c.replace(/&#238;/g,"î");
	c=c.replace(/&#239;/g,"ï");
	c=c.replace(/&#240;/g,"ð");
	c=c.replace(/&#241;/g,"ñ");
	c=c.replace(/&#242;/g,"ò");
	c=c.replace(/&#243;/g,"ó");
	c=c.replace(/&#244;/g,"ô");
	c=c.replace(/&#245;/g,"õ");
	c=c.replace(/&#246;/g,"ö");
	c=c.replace(/&#247;/g,"÷");
	c=c.replace(/&#248;/g,"ø");
	c=c.replace(/&#249;/g,"ù");
	c=c.replace(/&#250;/g,"ú");
	c=c.replace(/&#251;/g,"û");
	c=c.replace(/&#252;/g,"ü");
	c=c.replace(/&#253;/g,"ý");
	c=c.replace(/&#254;/g,"þ");
	c=c.replace(/&#255;/g,"ÿ");
	c=c.replace(/&#09;/g,"	");

	
	return c;
}

function Trim(s) {
  if (!s || s=="") return "";
  while ((s.charAt(0)==' ') || (s.charAt(0)=='\n') || (s.charAt(0,1)=='\r')) s=s.substring(1,s.length);
  while ((s.charAt(s.length-1)==' ') || (s.charAt(s.length-1)=='\n') || (s.charAt(s.length-1)=='\r')) s=s.substring(0,s.length-1);
  return s;
}

function Left(str, n){
	if (n <= 0)
	    return "";
	else if (n > String(str).length)
	    return str;
	else
	    return String(str).substring(0,n);
}
function Right(str, n){
    if (n <= 0)
       return "";
    else if (n > String(str).length)
       return str;
    else {
       var iLen = String(str).length;
       return String(str).substring(iLen, iLen - n);
    }
}


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.value;
		}
	}
	return "";
}

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 addEvent(obj, evType, fn){
	if (obj.addEventListener){
		obj.addEventListener(evType, fn, false);
		return true;
	} else if (obj.attachEvent){
		var r = obj.attachEvent("on"+evType, fn);
		return r;
	} else {
		return false;
	}
}

function removeEvent(obj, evType, fn, useCapture){
  if (obj.removeEventListener){
    obj.removeEventListener(evType, fn, useCapture);
    return true;
  } else if (obj.detachEvent){
    var r = obj.detachEvent("on"+evType, fn);
    return r;
  } else {
    alert("El gestor de eventos del objeto no se puede eliminar");
  }
} 
//COMPATIBILIZAR LOG PARA EXPLORER
 if (!window.console || !console.firebug){
	  var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml",
	  "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
	  window.console = {};
	  for (var i = 0; i < names.length; ++i){
		  window.console[names[i]] = function() {}
	  }
  }
function seleccionarSelect(elemento,nombreselect) {
	var combo =document.getElementById(nombreselect);
	var cantidad = combo.length;
	
	for (i = 0; i < cantidad; i++) {
		//console.log('Compara '+ combo[i].text +' == ' +elemento);
		if (combo[i].value == elemento) {
			//console.log('Entra!!');
			combo[i].selected = true;
		}   
	}
}
function seleccionarSelectId(elemento,nombreselect) {
	var combo =document.getElementById(nombreselect);
	var cantidad = combo.length;
	
	for (i = 0; i < cantidad; i++) {
		//console.log('Compara '+ combo[i].id +' == "cp_' +elemento+'"');
		if (combo[i].id == elemento) {
			//console.log('Entra!!');
			combo[i].selected = true;
		}   
	}
}
//jorge

//funcion para guardar los textos  de un editor de texto fceditor
//PARAMETROS
//TEXTO :  texto completo a guardar
//TIPOCONEXION: "sql" o "mdb" segun la conexion de la base de datos
//TABLA : tabla de la base de datos
//CAMPO : campo de la base de datos
//WHERE : codicion a cumplir
//NTEXTO : Numero de parte a guardar. Si nparte = -1 es el primer envio
//RUTABD : Contendrá la ruta de la bd en caso que sea tipo mdb 
	//1: session("rutalocal")&"tecnologia\datos\mum.mdb;"
	//otras rutas de bases de datos hay que añadirlas en la pagina Guardartextoeditar.asp en el selec
//FORMULARIO: Nombre del fomulario donde esta el texto a enviar.
//COPIASEGURIDAD: Texto que tenia antes de modificar.
ncaracteres=2000;
var textototalEditor="";
var npartetotalEditor=0;
var tipoconexiontotalEditor="";
var tablatotalEditor="";
var campototalEditor="";
var wheretotalEditor="";
var url_iniciototalEditor="";
var rutabdtotalEditor="";
var formulariototalEditor="";
var finalEditor=false;
var nombretotalEditor="";
var copiaseguridadtotalEditor="";
function GuardarTextoEditor(nombre, nparte, tipoconexion, tabla, campo, where, url_inicio, rutabd, formulario,copiaseguridad){
	var totalcaracter;
	if (nparte==-1) {
		nparte=0;

		textototalEditor=$(nombre).value;
		nombretotalEditor=nombre;
		npartetotalEditor=0;
		tipoconexiontotalEditor=tipoconexion;
		tablatotalEditor=tabla;
		campototalEditor=campo;
		wheretotalEditor=where;
		formulariototalEditor=formulario;
		rutabdtotalEditor=rutabd;
		url_iniciototalEditor=url_inicio;
		copiaseguridadtotalEditor=copiaseguridad;
	}
	
	textoenviar=textototalEditor.substring(nparte*ncaracteres,(nparte+1)*ncaracteres);
	$(nombre).value=textoenviar;
	campotexto=Form.serialize('formutexto');
	cadena=campotexto.split("=");
	totalcaracter=(nparte+1)*ncaracteres;
	if (textototalEditor.length < totalcaracter) {
		finalEditor=true;
	}
	
	textoenviar=cadena[1];
	/*cadena=texto.split("=");
	
	//corto los ncaracteres que correponda segun la parte....
	textoenviar=cadena[1].substring(nparte*ncaracteres,(nparte+1)*ncaracteres);
	totalcaracter=(nparte+1)*ncaracteres;
	if ( cadena[1].length < totalcaracter) {
		finalEditor=true;
	}
	*/
	
	var alea=Math.random();
	dir= url_inicio+"ajax/GuardarTextoEditor.asp?textoguardar="+textoenviar+"&nparte="+nparte+"&tipoconexion="+tipoconexion+"&tabla="+tabla+"&campo="+campo+"&where="+where+"&rutabd="+rutabd+"&alea="+alea;
	
//rutabd=quitaTildesCampo(rutabd);
//	rutabd=rutabd.replace(/'/g,"`");

	doAjax(dir,'','respGuardarTextoEditor','post','1');
	nparte++;
	npartetotalEditor++;
	
}
function respGuardarTextoEditor(xml){
	var Value = xml.getElementsByTagName('guardar')[0];
	var error = Value.getElementsByTagName('error')[0].firstChild.data;
	var mensaje = Value.getElementsByTagName('mensaje')[0].firstChild.data;
	if (error=="no"){
		if (!finalEditor) { //si no ha llegado al final.
			GuardarTextoEditor(nombretotalEditor, npartetotalEditor, tipoconexiontotalEditor, tablatotalEditor, campototalEditor, wheretotalEditor, url_iniciototalEditor, rutabdtotalEditor, formulariototalEditor, copiaseguridadtotalEditor)
		}else{
			finalEditor=false; //para que cuando le vuelva a dar funcione.
			alert("Guardado.");
		}
	}else{
		alert('ERROR ' + mensaje);
		//si da error mando la cadena que habia antes
		textoenviar=copiaseguridadtotalEditor;
		$(nombre).value=textoenviar;
		GuardarTextoEditor(nombretotalEditor, -1, tipoconexiontotalEditor, tablatotalEditor, campototalEditor, wheretotalEditor, url_iniciototalEditor, rutabdtotalEditor, formulariototalEditor, copiaseguridadtotalEditor);
	}		
}



/* Simple AJAX Code-Kit (SACK) */
/* ©2005 Gregory Wild-Smith */
/* www.twilightuniverse.com */
/* Software licenced under a modified X11 licence, see documentation or authors website for more details */

/*function sack(file){
	this.AjaxFailedAlert = "Your browser does not support the enhanced functionality of this website, and therefore you will have an experience that differs from the intended one.\n";
	this.requestFile = file;
	this.method = "POST";
	this.URLString = "";
	this.encodeURIString = true;
	this.execute = false;

	this.onLoading = function() { };
	this.onLoaded = function() { };
	this.onInteractive = function() { };
	this.onCompletion = function() { };

	this.createAJAX = function() {
		try {
			this.xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				this.xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (err) {
				this.xmlhttp = null;
			}
		}
		if(!this.xmlhttp && typeof XMLHttpRequest != "undefined")
			this.xmlhttp = new XMLHttpRequest();
		if (!this.xmlhttp){
			this.failed = true; 
		}
	};
	
	this.setVar = function(name, value){
		if (this.URLString.length < 3){
			this.URLString = name + "=" + value;
		} else {
			this.URLString += "&" + name + "=" + value;
		}
	}
	
	this.encVar = function(name, value){
		var varString = encodeURIComponent(name) + "=" + encodeURIComponent(value);
	return varString;
	}
	
	this.encodeURLString = function(string){
		varArray = string.split('&');
		for (i = 0; i < varArray.length; i++){
			urlVars = varArray[i].split('=');
			if (urlVars[0].indexOf('amp;') != -1){
				urlVars[0] = urlVars[0].substring(4);
			}
			varArray[i] = this.encVar(urlVars[0],urlVars[1]);
		}
	return varArray.join('&');
	}
	
	this.runResponse = function(){
		eval(this.response);
	}
	
	this.runAJAX = function(urlstring){
		this.responseStatus = new Array(2);
		if(this.failed && this.AjaxFailedAlert){ 
			alert(this.AjaxFailedAlert); 
		} else {
			if (urlstring){ 
				if (this.URLString.length){
					this.URLString = this.URLString + "&" + urlstring; 
				} else {
					this.URLString = urlstring; 
				}
			}
			if (this.encodeURIString){
				var timeval = new Date().getTime(); 
				this.URLString = this.encodeURLString(this.URLString);
				this.setVar("rndval", timeval);
			}
			if (this.element) { this.elementObj = document.getElementById(this.element); }
			if (this.xmlhttp) {
				var self = this;
				if (this.method == "GET") {
					var totalurlstring = this.requestFile + "?" + this.URLString;
					this.xmlhttp.open(this.method, totalurlstring, true);
				} else {
					this.xmlhttp.open(this.method, this.requestFile, true);
				}
				if (this.method == "POST"){
  					try {
						this.xmlhttp.setRequestHeader('Content-Type','application/x-www-form-urlencoded')  
					} catch (e) {}
				}

				this.xmlhttp.send(this.URLString);
				this.xmlhttp.onreadystatechange = function() {
					switch (self.xmlhttp.readyState){
						case 1:
							self.onLoading();
						break;
						case 2:
							self.onLoaded();
						break;
						case 3:
							self.onInteractive();
						break;
						case 4:
							self.response = self.xmlhttp.responseText;
							self.responseXML = self.xmlhttp.responseXML;
							self.responseStatus[0] = self.xmlhttp.status;
							self.responseStatus[1] = self.xmlhttp.statusText;
							self.onCompletion();
							if(self.execute){ self.runResponse(); }
							if (self.elementObj) {
								var elemNodeName = self.elementObj.nodeName;
								elemNodeName.toLowerCase();
								if (elemNodeName == "input" || elemNodeName == "select" || elemNodeName == "option" || elemNodeName == "textarea"){
									self.elementObj.value = self.response;
								} else {
									self.elementObj.innerHTML = self.response;
								}
							}
							self.URLString = "";
						break;
					}
				};
			}
		}
	};
this.createAJAX();
}*/
