	var area1, area2;
		function toggleArea1() {
			if(!area1) {
				area1 = new nicEditor({fullPanel : true}).panelInstance('myArea1',{hasPanel : true});
			} else {
				area1.removeInstance('myArea1');
				area1 = null;
			}
		}

		function addArea2() {
			area2 = new nicEditor({fullPanel : true}).panelInstance('editorjhos');
		}
		function removeArea2() {
			area2.removeInstance('editorjhos');
		}	
		/*************************************/
		var flagEdicion="";
		var flagOfing="";
		function editarjhos(contenido){//Recibe el id del campo a editar
			document.getElementById('editorjhos').style.display="";
			document.getElementById('panelJhos').style.display="";
			document.getElementById('aplicarCambiosjhos').style.display="";
			document.getElementById('cancelarCambiosjhos').style.display="";
			flagEdicion=contenido;
			document.getElementById('editorjhos').value=document.getElementById(contenido).innerHTML;
			area2 = new nicEditor({fullPanel : true}).panelInstance('editorjhos');
			flagOfing=contenido;
		}
		
		function aplicarCambiosjhos(){//momento de guardar
			area2.removeInstance('editorjhos');
			document.getElementById(flagEdicion).innerHTML = document.getElementById('editorjhos').value;
			document.getElementById('editorjhos').style.display="none";
			document.getElementById('panelJhos').style.display="none";
			document.getElementById('aplicarCambiosjhos').style.display="none";
			writeFileOnServer();
			_jout(flagOfing);
			outEditContent(flagOfing);
		}		
		function cancelarCambiosjhos(){//momento de guardar
			area2.removeInstance('editorjhos');
			document.getElementById(flagEdicion).innerHTML = document.getElementById('editorjhos').value;
			document.getElementById('editorjhos').style.display="none";
			document.getElementById('panelJhos').style.display="none";
			document.getElementById('aplicarCambiosjhos').style.display="none";
			_jout(flagOfing);
			outEditContent(flagOfing);
		}		
		/*************************************/

		function launchEditor(elemento){
			outEditContent(elemento);
			elemento.className = 'ContenidoEditar';
			editarjhos(elemento.id);
		}
		
		var contentbkup = "";
		var editar = "";
		var cancelar = "";
		var flagOffEdit=false;
		function editContent(elemento){
			editar="<img src='./imageds/editar.jpg'alt='editar' title='editar' "+
						"onmouseover='_jclick("+elemento.id+")' "+
						"onclick='launchEditor("+elemento.id+");' />";

			cancelar="<img src='./imageds/cancelar.jpg' alt='cancelar' title='cancelar' "+
						  "onmouseover='_jclick("+elemento.id+")' "+
						  "onclick='_jout("+elemento.id+");outEditContent("+elemento.id+");' />";
						  
			cancelar="";
			completDiv="<div id='"+elemento.id+"_editar' class='bloqueEdicion' onmouseout='_jout("+elemento.id+");outEditContent("+elemento.id+");'>"+editar+cancelar+"</div>";		
			
		    if(contentbkup==""){// si ya se desplego el elemento
				flagOffEdit=true;
				contentbkup = elemento.innerHTML;
				elemento.innerHTML = completDiv+elemento.innerHTML;
				elemento.className = 'overContenidoEditar';
				elemento.style.position="relative";
			}
		}
		
		
		function outEditContent(elemento){
			if(flagOffEdit){//apagar el botoncito de editar
				elemento.innerHTML = contentbkup;
				elemento.className = 'ContenidoEditar';
				contentbkup="";
				flagOffEdit=false;
			}else{//apagar el backgroun del div editado
				elemento.className = 'ContenidoEditar';
			}
		}
			
	
		function desActivarEdicion(element){
			element.className = 'ContenidoEditar';
		}
		
		
		function activarEdicion(element){
			element.className = 'overContenidoEditar';
			element.title="Si desea editar este contenido, haga click en el texto";
		}

		/*******************************************************************/
		
		
		bkLib.onDomLoaded(function() { toggleArea1(); });
		
		
		/*****************  Para activar el modo de Edicion con onEditionMode()   *************************/
		
		/*Nota: El elemento ademas de tener la class=editable debe tener un id especifico y diferente*/

			function _jover(element){
				var element = document.getElementById(elemento);
			}
			function _jout(element){
				//var element = document.getElementById(elemento);
				outEditContent(element);
				//element.style.background="";
				element.style.border="0px";
				element.style.background="";
				//alert("out "+ element.id);
				element.style.cursor="cursor";								
				//element.innerHTML=bkpy;
				//alert(bkpy);
			}
			function _jclick(element){
				//alert("click "+ element.id);
				//var element = document.getElementById(element);
				if(!flagOffEdit){//valida si el evento de modo de edicion ya esta activo.
					element.style.background="#D9E6EF";
					element.style.cursor="pointer";
					editContent(element);
				}
			}
			function offEditionMode(element){
				element.onclick = function() {};
				element.onMouseOut = function() {};
				element.style.cursor="cursor";				
				element.style.border="0px";
			}		
			function actionToEdit(element){//Asigna a cada elementola funcionalidad correspondiente para los divs padre
				element.onclick = function() {	_jclick(element);  };
				element.onMouseOut = function() {  _jout(element);	};
				
				element.style.cursor="pointer";
				//element.innerHTML=element.innerHTML+"&nbsp;";

			}
		
			function onEditionMode() 
			{//Recoge todos los elementos que son editables
				var classname='editable';
				var nodes = document.getElementsByTagName('body');
				var node = nodes[0];
			    var a = [];
			    var re = new RegExp('\\b' + classname + '\\b');
			    var els = node.getElementsByTagName("*");
			    for(var i=0,j=els.length; i<j; i++)
			        if(re.test(els[i].className)){
						//i-1 = padre (no modificar por tener el flag class editable)
						//  i = hijo (modificable)
						//alert("Elemento padre: "+els[i-1].innerHTML); //El padre
						a.push(els[i])//guarda el padre para montar modos de edicion
						//alert("uno igual: "+els[i].id);
						actionToEdit(els[i]); //Dentro de lo editable
					};
			    return a;
			}
		
		/***************************************************************************/
		
		
		
		
		
		
		/***************************     Enviar la peticion con Ajax ****************************************/
		
		var req;
		var respuesta;

		function leer_doc(url) {
			req = false;
	 
		    // llama XMLHttpRequest objecto 
		    if (window.XMLHttpRequest) {
		        req = new XMLHttpRequest();
		       if (req.overrideMimeType) {
		                req.overrideMimeType('text/xml');          
		        }
			
		    // Si no funciona intenta utiliar el objeto IE/Windows ActiveX 
		    } else if (window.ActiveXObject) {
		        isIE = true;
		        req = new ActiveXObject("Microsoft.XMLHTTP");    
			}
			
			if(req){
				req.onreadystatechange = procesar_respuesta;
				req.open('GET', url, true);
				req.send(null);
			}	
			 
		}

		function procesar_respuesta() {//lo que el server Devuelva
		    // only if req shows "loaded"
			//alert("Estado de la peticion "+ req.readyState);
			//alert("Estado del servidor "+ req.status);
			//alert(req.responseText);
		    if (req.readyState == 4) {
		        if (req.status == 200) {//copia el contenido del request al div con id contenido
					respuesta = req.responseText; 
					acciones(respuesta);			
		        } else {
		            alert("Hubo un Error tratando de leer los datos:\n" +
		                req.statusText);
		        }
		    }
		}

		//Acciones a tomar dependiendo de la respuesta
		function acciones(respuesta){
			if(respuesta==0){
				alert("Verifique nuevamente su usuario y su parrsword" );
			}
			else{
			   alert("Bienvenido!!!, \n Ahora usted podra realizar cambios en los contenidos en el portal.");

			}
			document.location='index.php';
/*			document.formax.boton.disabled=false;
			document.formax.boton.value = "Entrar";*/
	//		alert("index iniciado");
		}
		 
		//funcion llamada cuando se hace submit a la forma
		function autentica(){ 
			var usuario = document.getElementById('usuario').value;
			var password = document.getElementById('password').value;
			//document.formax.boton.disabled=true;
			//document.formax.boton.value = "Autenticando...";
			var url = "./pages/login.php?usuario="+usuario+"&password="+password;
			leer_doc(url);
			//dispscrip();
			return false;
		}
		
		function autenticaOff(){	 
			var usuario = "";
			var password = "";
			var url = "./pages/login.php?usuario="+usuario+"&password="+password;
			leer_doc(url);
			//dispscrip();
			return false;
		}		
		
		function abrirPeticion(url, variables){
		 // llama XMLHttpRequest objecto 

		    if (window.XMLHttpRequest) {
		        req = new XMLHttpRequest();
		       if (req.overrideMimeType) {
		                req.overrideMimeType('text/xml');          
		        }			
		    // Si no funciona intenta utiliar el objeto IE/Windows ActiveX 
		    } else if (window.ActiveXObject) {
		        isIE = true;
		        req = new ActiveXObject("Microsoft.XMLHTTP");    
			}			
			if(req){
				req.onreadystatechange = procesarEscritura;
				req.open('POST', url, true);
				req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
//				alert("mira"+variables);
				req.send(variables);
			}		
		}
				
		function procesarEscritura() {//lo que el server Devuelva
		    // only if req shows "loaded"
			//alert("Estado de la peticion "+ req.readyState);
			//alert("Estado del servidor "+ req.status);
		    if (req.readyState == 4) {
		        if (req.status == 200) {//copia el contenido del request al div con id contenido
					respuesta = req.responseText; 
					accionesWriter(respuesta);			
		        } else {
		            alert("Hubo un Error tratando de leer los datos:\n" +
		                req.statusText);
					alert(req.responseText);
		        }
		    }
		}
		
		//Acciones a tomar dependiendo de la respuesta
		function accionesWriter(respuesta){
			alert(respuesta);
		}

		function replace(texto,s1,s2){
			texto=texto.split(s1).join(s2);
			//alert(texto);
			return texto;
		} 

		function writeFileOnServer(){
		
			var edicion = document.getElementById('editorjhos').value;
			//alert(flagEdicion);
			texto=edicion;
			archivo=flagEdicion
			
			
			texto= replace(texto, "&nbsp;", " ");
			texto= replace(texto, "&aacute;", "á");
			texto= replace(texto, "&eacute;", "é");
			texto= replace(texto, "&iacute;", "í");
			texto= replace(texto, "&oacute;", "ó");
			texto= replace(texto, "&uacute;", "ú");
			texto= replace(texto, "&Aacute;", "Á");
			texto= replace(texto, "&Eacute;", "É");
			texto= replace(texto, "&Iacute;", "Í");
			texto= replace(texto, "&Oacute;", "Ó");
			texto= replace(texto, "&Uacute;", "Ú");
			texto= replace(texto, "&ntilde;", "ñ");
			texto= replace(texto, "&Ntilde;", "Ñ");
			
			texto= replace(texto, '&quot;', '"');
			texto= replace(texto, '&gt;', '>');
			texto= replace(texto, '&lt;', '<');
			
			
			texto= replace(texto, '&euro;', '€');
			texto= replace(texto, '&divide;', '÷');
			texto= replace(texto, '&agrave;', 'à');
			texto= replace(texto, '&acirc;', 'â');
			texto= replace(texto, '&atilde;', 'ã');
			texto= replace(texto, '&auml;', 'ä');
			texto= replace(texto, '&aring;', 'å');
			texto= replace(texto, '&aelig;', 'æ');
			texto= replace(texto, '&deg;', '°');
			texto= replace(texto, '&plusmn;', '±');
			texto= replace(texto, '&acute;', '´');
			texto= replace(texto, '&micro;', 'µ');
			texto= replace(texto, '&para;', '¶');
			texto= replace(texto, '&raquo;', '»');
			texto= replace(texto, '&laquo;', '«');
			texto= replace(texto, '&iquest;', '¿');
			texto= replace(texto, '&brvbar;', '¦');
			texto= replace(texto, '&cent;', '¢');
			texto= replace(texto, '&pound;', '£');
			texto= replace(texto, '&curren;', '¤');
			texto= replace(texto, '&yen;', '¥');
			texto= replace(texto, '&copy;', '©');
			texto= replace(texto, '&sect;', '@');
			texto= replace(texto, '&not;', '¬');
			texto= replace(texto, '&reg;', '®');
			texto= replace(texto, '&macr;', '¯');
			texto= replace(texto, '&iquest;', '¿');
			
			texto= replace(texto, '<html ', '<');
			texto= replace(texto, '</html ', '<');
			texto= replace(texto, '<body ', '<');
			texto= replace(texto, '</body ', '<');
			texto= replace(texto, '<head ', '<');
			texto= replace(texto, '</head ', '<');
			texto= replace(texto, '<meta ', '<');
			
			texto= replace(texto, 'xmlns="http://www.w3.org/TR/REC-html40"', '');		
			texto= replace(texto, 'xmlns:st1="urn:schemas-microsoft-com:office:smarttags"', '');
			texto= replace(texto, 'xmlns:w="urn:schemas-microsoft-com:office:word"', '');					
			texto= replace(texto, 'xmlns:o="urn:schemas-microsoft-com:office:office"', '');
			texto= replace(texto, 'xmlns:v="urn:schemas-microsoft-com:vml" ', '');


			texto = acentos(texto);

			
//			texto= replace(texto, "&Ntilde;", "Ñ");
			
//			alert(texto);
			
			
			
			
			
			
			
			
			
			
			
			

			
			/*texto = replace(texto, "&lt;home&gt;","");
			texto = replace(texto, "&lt;body&gt;","");
			texto = replace(texto, "&lt;form&gt;","");*/
			
			
			
			var variables="fileToWrite="+archivo+"&textToWrite="+texto;
			url = "./pages/writer.php";
			abrirPeticion(url, variables);
			return false;
			
		}
		
		
		
		
		
		
		
		
		
		
		
function acentos(x) {

	// version 040623
	// Spanish - Español
	// Portuguese - Portugués - Português
	// Italian - Italiano
	// French - Francés - Français
	// Also accepts and converts single and double quotation marks, square and angle brackets
	// and miscelaneous symbols.
	// Also accepts and converts html entities for all the above.
//	if (navigator.appVersion.toLowerCase().indexOf("windows") != -1) {return x}
	x = x.replace(/¡/g,"\xA1");	x = x.replace(/&iexcl;/g,"\xA1")
	x = x.replace(/¿/g,"\xBF");	x = x.replace(/&iquest;/g,"\xBF")
	x = x.replace(/À/g,"\xC0");	x = x.replace(/&Agrave;/g,"\xC0")
	x = x.replace(/à/g,"\xE0");	x = x.replace(/&agrave;/g,"\xE0")
	x = x.replace(/Á/g,"\xC1");	x = x.replace(/&Aacute;/g,"\xC1")
	x = x.replace(/á/g,"\xE1");	x = x.replace(/&aacute;/g,"\xE1")
	x = x.replace(/Â/g,"\xC2");	x = x.replace(/&Acirc;/g,"\xC2")
	x = x.replace(/â/g,"\xE2");	x = x.replace(/&acirc;/g,"\xE2")
	x = x.replace(/Ã/g,"\xC3");	x = x.replace(/&Atilde;/g,"\xC3")
	x = x.replace(/ã/g,"\xE3");	x = x.replace(/&atilde;/g,"\xE3")
	x = x.replace(/Ä/g,"\xC4");	x = x.replace(/&Auml;/g,"\xC4")
	x = x.replace(/ä/g,"\xE4");	x = x.replace(/&auml;/g,"\xE4")
	x = x.replace(/Å/g,"\xC5");	x = x.replace(/&Aring;/g,"\xC5")
	x = x.replace(/å/g,"\xE5");	x = x.replace(/&aring;/g,"\xE5")
	x = x.replace(/Æ/g,"\xC6");	x = x.replace(/&AElig;/g,"\xC6")
	x = x.replace(/æ/g,"\xE6");	x = x.replace(/&aelig;/g,"\xE6")
	x = x.replace(/Ç/g,"\xC7");	x = x.replace(/&Ccedil;/g,"\xC7")
	x = x.replace(/ç/g,"\xE7");	x = x.replace(/&ccedil;/g,"\xE7")
	x = x.replace(/È/g,"\xC8");	x = x.replace(/&Egrave;/g,"\xC8")
	x = x.replace(/è/g,"\xE8");	x = x.replace(/&egrave;/g,"\xE8")
	x = x.replace(/É/g,"\xC9");	x = x.replace(/&Eacute;/g,"\xC9")
	x = x.replace(/é/g,"\xE9");	x = x.replace(/&eacute;/g,"\xE9")
	x = x.replace(/Ê/g,"\xCA");	x = x.replace(/&Ecirc;/g,"\xCA")
	x = x.replace(/ê/g,"\xEA");	x = x.replace(/&ecirc;/g,"\xEA")
	x = x.replace(/Ë/g,"\xCB");	x = x.replace(/&Euml;/g,"\xCB")
	x = x.replace(/ë/g,"\xEB");	x = x.replace(/&euml;/g,"\xEB")
	x = x.replace(/Ì/g,"\xCC");	x = x.replace(/&Igrave;/g,"\xCC")
	x = x.replace(/ì/g,"\xEC");	x = x.replace(/&igrave;/g,"\xEC")
	x = x.replace(/Í/g,"\xCD");	x = x.replace(/&Iacute;/g,"\xCD")
	x = x.replace(/í/g,"\xED");	x = x.replace(/&iacute;/g,"\xED")
	x = x.replace(/Î/g,"\xCE");	x = x.replace(/&Icirc;/g,"\xCE")
	x = x.replace(/î/g,"\xEE");	x = x.replace(/&icirc;/g,"\xEE")
	x = x.replace(/Ï/g,"\xCF");	x = x.replace(/&Iuml;/g,"\xCF")
	x = x.replace(/ï/g,"\xEF");	x = x.replace(/&iuml;/g,"\xEF")
	x = x.replace(/Ñ/g,"\xD1");	x = x.replace(/&Ntilde;/g,"\xD1")
	x = x.replace(/ñ/g,"\xF1");	x = x.replace(/&ntilde;/g,"\xF1")
	x = x.replace(/Ò/g,"\xD2");	x = x.replace(/&Ograve;/g,"\xD2")
	x = x.replace(/ò/g,"\xF2");	x = x.replace(/&ograve;/g,"\xF2")
	x = x.replace(/Ó/g,"\xD3");	x = x.replace(/&Oacute;/g,"\xD3")
	x = x.replace(/ó/g,"\xF3");	x = x.replace(/&oacute;/g,"\xF3")
	x = x.replace(/Ô/g,"\xD4");	x = x.replace(/&Ocirc;/g,"\xD4")
	x = x.replace(/ô/g,"\xF4");	x = x.replace(/&ocirc;/g,"\xF4")
	x = x.replace(/Õ/g,"\xD5");	x = x.replace(/&Otilde;/g,"\xD5")
	x = x.replace(/õ/g,"\xF5");	x = x.replace(/&otilde;/g,"\xF5")
	x = x.replace(/Ö/g,"\xD6");	x = x.replace(/&Ouml;/g,"\xD6")
	x = x.replace(/ö/g,"\xF6");	x = x.replace(/&ouml;/g,"\xF6")
	x = x.replace(/Ø/g,"\xD8");	x = x.replace(/&Oslash;/g,"\xD8")
	x = x.replace(/ø/g,"\xF8");	x = x.replace(/&oslash;/g,"\xF8")
	x = x.replace(/Ù/g,"\xD9");	x = x.replace(/&Ugrave;/g,"\xD9")
	x = x.replace(/ù/g,"\xF9");	x = x.replace(/&ugrave;/g,"\xF9")
	x = x.replace(/Ú/g,"\xDA");	x = x.replace(/&Uacute;/g,"\xDA")
	x = x.replace(/ú/g,"\xFA");	x = x.replace(/&uacute;/g,"\xFA")
	x = x.replace(/Û/g,"\xDB");	x = x.replace(/&Ucirc;/g,"\xDB")
	x = x.replace(/û/g,"\xFB");	x = x.replace(/&ucirc;/g,"\xFB")
	x = x.replace(/Ü/g,"\xDC");	x = x.replace(/&Uuml;/g,"\xDC")
	x = x.replace(/ü/g,"\xFC");	x = x.replace(/&uuml;/g,"\xFC")
	
	x = x.replace(/\"/g,"\x22")
	x = x.replace(/\'/g,"\x27")
	x = x.replace(/\</g,"\x3C")
	x = x.replace(/\>/g,"\x3E")
	x = x.replace(/\[/g,"\x5B")
	x = x.replace(/\]/g,"\x5D")
 
	x = x.replace(/¢/g,"\xA2");	x = x.replace(/&cent;/g,"\xA2") 
	x = x.replace(/£/g,"\xA3");	x = x.replace(/&pound;/g,"\xA3")
	x = x.replace(/€/g,"\u20AC");	x = x.replace(/&euro;/g,"\u20AC") 
	x = x.replace(/©/g,"\xA9");	x = x.replace(/&copy;/g,"\xA9") 
	x = x.replace(/®/g,"\xAE");	x = x.replace(/&reg;/g,"\xAE") 
	x = x.replace(/ª/g,"\xAA");	x = x.replace(/&ordf;/g,"\xAA") 
	x = x.replace(/º/g,"\xBA");	x = x.replace(/&ordm;/g,"\xBA") 
	x = x.replace(/°/g,"\xB0");	x = x.replace(/&deg;/g,"\xB0") 
	x = x.replace(/±/g,"\xB1");	x = x.replace(/&plusmn;/g,"\xB1")
	x = x.replace(/×/g,"\xD7");	x = x.replace(/&times;/g,"\xD7") 
	
	return x
}
