// JavaScript Document
//->funciones para carga de divs [con la imagen preload].

/**
* actualizar:  adaptación de ejemplo basico de AJAX (2)
*/


  function actualizar(capa,url) {

	//var gopage = document.getElementById("gopage").value;
	 // Creamos el objeto, segun el navegador
	 if (window.XMLHttpRequest) { // Para los mozilla y los basados en gecko
 	   xmlhttprequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Para Mordorsoft Exploiter
	    xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	
	// PREPARANDOSE PARA LA RESPUESTA
	// establecemos un handler para cuando llegue la respuesta,
	xmlhttprequest.onreadystatechange = function() { procesa(xmlhttprequest,capa); };
	
	
	// HACIENDO LA PETICION
	// Open(metodo, url, y si queremos la peticion asincrona o no)
	xmlhttprequest.open('POST', url, true);
	 
	// Preparamos el POST. Hay que establecer esta cabecera
	// para poder enviar variables por post
	xmlhttprequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 
	 // Send es necesario si queremos pasar variables por POST
	 // asi que construimos una especie de query string con variables=valores
	 xmlhttprequest.send(null);

}

/**
 * procesa
 * parametros: el objeto xmlhttprequest
 * Es la funcion handler que procesa el archivo recibido a traves
 * de la peticion. Es igual que la funcion anterior pero en este caso parseamos el XML
 */
 function procesa(xhr,capa) {

 	// primermo comprobamos el estado de la respuesta
	 if (xhr.readyState == 4) {
			// A continuacion comprobamos el codigo de respuesta HTTP del servidor
	 		if (xhr.status == 200) {
	 			//alert(xhr.responseText);
				contenedor = window.document.getElementById(capa);
				//->inicio adicionado para procesar scripts
				var scs=xhr.responseText.extractScript();//capturamos los scripts
				//>>>alert("" + scs);
      			//contenedor.innerHTML=xhr.responseText.stripScript();    //eliminamos los scripts... ya son innecesarios
				//contenedor.innerHTML=xhr.responseText;
      			//scs.evalScript(); //ahora si, comenzamos a interpretar todo 
				//->
				
				//->window.execScript(scripts);
				//window.execScript(scs);
				//evalScript(scs);
				//->fin adicionado para procesar scripts
				contenedor.innerHTML = xhr.responseText;
				//scs.evalScript();
				//	evalScript(scs)
				scs.evalScript();
	 	 	} else {
		 	 	alert("No se recibio una respuesta correcta. Respuesta HTTP: " + xhr.status);
	 		}
	  } else {
	    // Todavia no hay respuesta...
		contenedor = window.document.getElementById(capa);
		contenedor.innerHTML = "<img src=\"images/indicator_medium.gif\" width=\"32\" height=\"32\" border= \"0\" aling=\"absmiddle\"><br><font style=\"font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#003366;\">Cargando contenido</font>";
	  }
 }
 
 
 
  /**
 * actualizar:  adaptación de ejemplo basico de AJAX (2)
 * en caso de actualizar un div desde un frame o iframe.
 */
  function actualizar_parent(capa,url) {

	//var gopage = document.getElementById("gopage").value;
	 // Creamos el objeto, segun el navegador
	 if (window.XMLHttpRequest) { // Para los mozilla y los basados en gecko
 	   xmlhttprequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Para Mordorsoft Exploiter
	    xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	
	// PREPARANDOSE PARA LA RESPUESTA
	// establecemos un handler para cuando llegue la respuesta,
	xmlhttprequest.onreadystatechange = function() { procesa_parent(xmlhttprequest,capa); };
	
	
	// HACIENDO LA PETICION
	// Open(metodo, url, y si queremos la peticion asincrona o no)
	xmlhttprequest.open('POST', url, true);
	 
	// Preparamos el POST. Hay que establecer esta cabecera
	// para poder enviar variables por post
	xmlhttprequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 
	 // Send es necesario si queremos pasar variables por POST
	 // asi que construimos una especie de query string con variables=valores
	 xmlhttprequest.send(null);

}

/**
 * procesa
 * parametros: el objeto xmlhttprequest
 * Es la funcion handler que procesa el archivo recibido a traves
 * de la peticion. Es igual que la funcion anterior pero en este caso parseamos el XML
 */
 function procesa_parent(xhr,capa) {

 	// primermo comprobamos el estado de la respuesta
	 if (xhr.readyState == 4) {
			// A continuacion comprobamos el codigo de respuesta HTTP del servidor
	 		if (xhr.status == 200) {
	 			//alert(xhr.responseText);
				contenedor = window.parent.document.getElementById(capa);
				var scs=xhr.responseText.extractScript();//capturamos los scripts
				//>>>alert("" + scs);
				//->fin adicionado para procesar scripts
				contenedor.innerHTML = xhr.responseText;
				//	->el script es procesado.
				scs.evalScript();
				
				
	 	 	} else {
		 	 	alert("No se recibio una respuesta correcta. Respuesta HTTP: " + xhr.status);
	 		}
	  } else {
	    // Todavia no hay respuesta...
		contenedor = window.parent.document.getElementById(capa);
		contenedor.innerHTML = "<img src=\"images/indicator_medium.gif\" width=\"32\" height=\"32\" border= \"0\" aling=\"absmiddle\"><br><font style=\"font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#003366;\">Cargando contenido</font>";
	  }
 }

//->INICIO ::: AJAX PARA ACTUALIZAR VENTANA OPENER (VENTANA QUE ABRE AL VENTANA QUE REALIZA LA ACTUALIZACION DE LA PAGINA).

  /**
 * actualizar:  adaptación de ejemplo basico de AJAX (2)
 * en caso de actualizar un div desde un frame o iframe.
 */
  function actualizar_opener(capa,url) {

	//var gopage = document.getElementById("gopage").value;
	 // Creamos el objeto, segun el navegador
	 if (window.XMLHttpRequest) { // Para los mozilla y los basados en gecko
 	   xmlhttprequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Para Mordorsoft Exploiter
	    xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	
	// PREPARANDOSE PARA LA RESPUESTA
	// establecemos un handler para cuando llegue la respuesta,
	xmlhttprequest.onreadystatechange = function() { procesa_opener(xmlhttprequest,capa); };
	
	
	// HACIENDO LA PETICION
	// Open(metodo, url, y si queremos la peticion asincrona o no)
	xmlhttprequest.open('POST', url, true);
	 
	// Preparamos el POST. Hay que establecer esta cabecera
	// para poder enviar variables por post
	xmlhttprequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 
	 // Send es necesario si queremos pasar variables por POST
	 // asi que construimos una especie de query string con variables=valores
	 xmlhttprequest.send(null);

}

/**
 * procesa
 * parametros: el objeto xmlhttprequest
 * Es la funcion handler que procesa el archivo recibido a traves
 * de la peticion. Es igual que la funcion anterior pero en este caso parseamos el XML
 */
 function procesa_opener(xhr,capa) {

 	// primermo comprobamos el estado de la respuesta
	 if (xhr.readyState == 4) {
			// A continuacion comprobamos el codigo de respuesta HTTP del servidor
	 		if (xhr.status == 200) {
	 			//alert(xhr.responseText);
				contenedor = window.opener.document.getElementById(capa);
				contenedor.innerHTML = xhr.responseText;
	 	 	} else {
		 	 	alert("No se recibio una respuesta correcta. Respuesta HTTP: " + xhr.status);
	 		}
	  } else {
	    // Todavia no hay respuesta...
		contenedor = window.opener.document.getElementById(capa);
		contenedor.innerHTML = "<img src=\"images/indicator_medium.gif\" width=\"32\" height=\"32\" border= \"0\" aling=\"absmiddle\"><br><font style=\"font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#003366;\">Cargando contenido</font>";
	  }
 }


//->FIN ::: FIN DE OPCION 

 
 //->INICIO ::: AJAX PARA ACTUALIZAR CAPA SUPERIOR A UN IFRAME / considerando la existencia de mas de un iframe




 /**
 * actualizar:  adaptación de ejemplo basico de AJAX (2)
 */
  function actualizar_div_in_top(capa,url) {

	//var gopage = document.getElementById("gopage").value;
	 // Creamos el objeto, segun el navegador
	 if (window.XMLHttpRequest) { // Para los mozilla y los basados en gecko
 	   xmlhttprequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Para Mordorsoft Exploiter
	    xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	
	// PREPARANDOSE PARA LA RESPUESTA
	// establecemos un handler para cuando llegue la respuesta,
	xmlhttprequest.onreadystatechange = function() { procesa_div_in_top(xmlhttprequest,capa); };
	
	
	// HACIENDO LA PETICION
	// Open(metodo, url, y si queremos la peticion asincrona o no)
	xmlhttprequest.open('POST', url, true);
	 
	// Preparamos el POST. Hay que establecer esta cabecera
	// para poder enviar variables por post
	xmlhttprequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 
	 // Send es necesario si queremos pasar variables por POST
	 // asi que construimos una especie de query string con variables=valores
	 xmlhttprequest.send(null);

}

/**
 * procesa div top
 * parametros: el objeto xmlhttprequest
 * Es la funcion handler que procesa el archivo recibido a traves
 * de la peticion. Es igual que la funcion anterior pero en este caso parseamos el XML
 */
 function procesa_div_in_top(xhr,capa) {

 	// primermo comprobamos el estado de la respuesta
	 if (xhr.readyState == 4) {
			// A continuacion comprobamos el codigo de respuesta HTTP del servidor
	 		if (xhr.status == 200) {
	 			//alert(xhr.responseText);
				
				contenedor_old = window.parent.document.getElementById('preaviso');
				contenedor_old.style.display=(contenedor_old.style.display=="none")? "none" : "none";
				
				contenedor = window.parent.document.getElementById(capa);
				contenedor.innerHTML = xhr.responseText;
	 	 	} else {
		 	 	alert("No se recibio una respuesta correcta. Respuesta HTTP: " + xhr.status);
	 		}
	  } else {
	    // Todavia no hay respuesta...
		contenedor = window.document.getElementById('preaviso');
		//alert(""+contenedor);
		contenedor.style.display=(contenedor.style.display=="block")? "block" : "block";
		contenedor.innerHTML = "<img src=\"images/indicator_medium.gif\" width=\"32\" height=\"32\" border= \"0\" aling=\"absmiddle\"><br><font style=\"font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#003366;\">Cargando contenido</font>";
	  }
 }







 /**
 * actualizar:  adaptación de ejemplo basico de AJAX (2)
 */
  function actualizar_div_top(capa,url) {

	//var gopage = document.getElementById("gopage").value;
	 // Creamos el objeto, segun el navegador
	 if (window.top.XMLHttpRequest) { // Para los mozilla y los basados en gecko
 	   xmlhttprequest = new window.top.XMLHttpRequest();
	} else if (window.top.ActiveXObject) { // Para Mordorsoft Exploiter
	    xmlhttprequest = new window.top.ActiveXObject("Microsoft.XMLHTTP");
	} 
	
	// PREPARANDOSE PARA LA RESPUESTA
	// establecemos un handler para cuando llegue la respuesta,
	xmlhttprequest.onreadystatechange = function() { procesa_div_top(xmlhttprequest,capa); };
	
	
	// HACIENDO LA PETICION
	// Open(metodo, url, y si queremos la peticion asincrona o no)
	xmlhttprequest.open('POST', url, true);
	 
	// Preparamos el POST. Hay que establecer esta cabecera
	// para poder enviar variables por post
	xmlhttprequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 
	 // Send es necesario si queremos pasar variables por POST
	 // asi que construimos una especie de query string con variables=valores
	 xmlhttprequest.send(null);

}

/**
 * procesa div top
 * parametros: el objeto xmlhttprequest
 * Es la funcion handler que procesa el archivo recibido a traves
 * de la peticion. Es igual que la funcion anterior pero en este caso parseamos el XML
 */
 function procesa_div_top(xhr,capa) {

 	// primermo comprobamos el estado de la respuesta
	 if (xhr.readyState == 4) {
			// A continuacion comprobamos el codigo de respuesta HTTP del servidor
	 		if (xhr.status == 200) {
	 			//alert(xhr.responseText);
				
				//contenedor_old = window.top.document.getElementById('preaviso');
				//contenedor_old.style.display=(contenedor_old.style.display=="none")? "none" : "none";
				//alert(xhr.responseText);
				contenedor = window.top.document.getElementById(capa);
				var scs=xhr.responseText.extractScript();//capturamos los scripts
				//alert("" + scs);
				contenedor.innerHTML = xhr.responseText;
				//	->el script es procesado.
				//window.top.focus();
				top.scs = scs;
				top.scs.evalScriptTop();
				//scs.evalScriptTop();
	 	 	} else {
		 	 	alert("No se recibio una respuesta correcta. Respuesta HTTP: " + xhr.status);
	 		}
	  } else {
	    // Todavia no hay respuesta...
		contenedor = window.top.document.getElementById(capa);
		//alert(""+contenedor);
		//contenedor.style.display=(contenedor.style.display=="block")? "block" : "block";
		contenedor.innerHTML = "<img src=\"images/indicator_medium.gif\" width=\"32\" height=\"32\" border= \"0\" aling=\"absmiddle\"><br><font style=\"font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#003366;\">Cargando contenido</font>";
	  }
 }



//->FIN ::: AJAX PARA ACTUALIZAR CAPA SUPERIOR A UN IFRAME

 /**
 * actualizar:  adaptación de ejemplo basico de AJAX (2)
 * en caso de actualizar un div desde un frame o iframe.
 */
  function actualizar_aplicativo(capa,url) {

	//var gopage = document.getElementById("gopage").value;
	 // Creamos el objeto, segun el navegador
	 if (window.XMLHttpRequest) { // Para los mozilla y los basados en gecko
 	   xmlhttprequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) { // Para Mordorsoft Exploiter
	    xmlhttprequest = new ActiveXObject("Microsoft.XMLHTTP");
	} 
	
	// PREPARANDOSE PARA LA RESPUESTA
	// establecemos un handler para cuando llegue la respuesta,
	xmlhttprequest.onreadystatechange = function() { procesa_aplicativo(xmlhttprequest,capa); };
	
	
	// HACIENDO LA PETICION
	// Open(metodo, url, y si queremos la peticion asincrona o no)
	xmlhttprequest.open('POST', url, true);
	 
	// Preparamos el POST. Hay que establecer esta cabecera
	// para poder enviar variables por post
	xmlhttprequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	 
	 // Send es necesario si queremos pasar variables por POST
	 // asi que construimos una especie de query string con variables=valores
	 xmlhttprequest.send(null);

}

/**
 * procesa
 * parametros: el objeto xmlhttprequest
 * Es la funcion handler que procesa el archivo recibido a traves
 * de la peticion. Es igual que la funcion anterior pero en este caso parseamos el XML
 */
 function procesa_aplicativo(xhr,capa) {

 	// primermo comprobamos el estado de la respuesta
	 if (xhr.readyState == 4) {
			// A continuacion comprobamos el codigo de respuesta HTTP del servidor
	 		if (xhr.status == 200) {
	 			//alert(xhr.responseText);
				contenedor = window.top.frames[0].document.getElementById(capa);
				//window.top.aplicativo.document.getElementById("lista_materiales");
				var scs=xhr.responseText.extractScript();//capturamos los scripts
				//>>>alert("" + scs);
				//->fin adicionado para procesar scripts
				contenedor.innerHTML = xhr.responseText;
				//	->el script es procesado.
				scs.evalScript();
				
				
	 	 	} else {
		 	 	alert("No se recibio una respuesta correcta. Respuesta HTTP: " + xhr.status);
	 		}
	  } else {
	    // Todavia no hay respuesta...
		contenedor = window.top.frames[0].document.getElementById(capa);
		contenedor.innerHTML = "<img src=\"images/indicator_medium.gif\" width=\"32\" height=\"32\" border= \"0\" aling=\"absmiddle\"><br><font style=\"font-family:Arial, Helvetica, sans-serif; font-size:12px; color:#003366;\">Cargando contenido</font>";
	  }
 }

 
