function xmlAjax()
{
        /* Crea el objeto AJAX. Esta funcion es generica para cualquier utilidad de este tipo, por lo que se puede copiar tal como esta aqui */
        var xmlhttp=false;
        try
        {
                // Creacion del objeto AJAX para navegadores no IE
                xmlhttp=new ActiveXObject("Msxml2.XMLHTTP");
        }
        catch(e)
        {
                try
                {
                        // Creacion del objeto AJAX para IE
                        xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
                }
                catch(E) { xmlhttp=false; }
        }
        if (!xmlhttp && typeof XMLHttpRequest!="undefined") { xmlhttp=new XMLHttpRequest(); }
		return xmlhttp;
}
var oNavigator = 0;
if(navigator.userAgent.indexOf("MSIE")>=0) 
	oNavigator=0; // IE
else 
	oNavigator=1; // Demas

/**
 *	@params:			xmlCgi			:	 	programa o script que genera el fichero xml 
 *								xmlParams		:		cadena que contiene duplas variable/valor para llamar a la generacion de xml
 *								sendLayer   :		capa destino donde cargar los datos recibidos
 */
function xmlGetX(xmlCgi, xmlParams, sendLayer)
{
  ajax=xmlAjax();
  ajax.open("POST", xmlCgi, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(xmlParams);

	ajax.onreadystatechange=function()
	{
		var objSend = document.getElementById(sendLayer);
		var objText = "";
		if(objSend != null)
		{
			objText = objSend.innerHTML;
			if (ajax.readyState==1)
				objSend.innerHTML = "<div class='wait'><p>Esperando respuesta ...</p></div>" + objText;
			else if(ajax.readyState==4)
			{
				if(ajax.status==200)
				{					
					// Obtengo el XML y separo sus nodos
					debugger;
					var xmlResponse = ajax.responseXML;
					var xmlScript	= xmlResponse.getElementsByTagName("javascript")[0].childNodes[0].data;
					var xmlStyle	= xmlResponse.getElementsByTagName("css")[0].childNodes[0].data;
					var xmlHtml		= xmlResponse.getElementsByTagName("html")[0].childNodes[0].data;
					var scriptHandler = xmlResponse.getElementsByTagName("javascript")[0].childNodes[1].data;
					// Creo el nuevo JS
					var nodeScript	=	document.createElement("script");
					document.getElementsByTagName("head")[0].appendChild(nodeScript);
					nodeScript.text	=	xmlScript;
					
					// Creo el nuevo CSS
					var nodeStyle	=	document.createElement("style");
					document.getElementsByTagName("head")[0].appendChild(nodeStyle);
					if(oNavigator == 0)
					{
						var innerCSS	=	xmlStyle.split("{");
						var lastStyle	=	document.styleSheets[document.styleSheets.length-1];
						lastStyle.addRule(innerCSS[0], "{"+innerCSS[1]);
					}
					else
					{
						var innerCSS	=	document.createTextNode(xmlStyle);
						nodeStyle.appendChild(innerCSS);
					}
					objSend.innerHTML = xmlHtml;
					var nodeScriptHadler	=	document.createElement("script");
					document.getElementsByTagName("body")[0].appendChild(nodeScriptHadler);
					//objSend.appendChild(nodeScriptHadler);
					nodeScriptHadler.text	=	scriptHandler;				
					
				}
	      else if(ajax.status == 404)
	        objSend.innerHTML = "404.La direccion no existe";
	      else
					objSend.innerHTML = "Error: ".ajax.status;				
			}
		}         
	}
}
function xmlGet(xmlCgi, xmlParams, sendLayer)
{
  ajax=xmlAjax();
  ajax.open("POST", xmlCgi, true);
	ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
	ajax.send(xmlParams);

	ajax.onreadystatechange=function()
	{
		var objSend = document.getElementById(sendLayer);
		var objText = "";
		if(objSend != null)
		{
			objText = objSend.innerHTML;
			if (ajax.readyState==1)
				objSend.innerHTML = "<div class='wait'><p>Esperando respuesta ...</p></div>" + objText;
			else if(ajax.readyState==4)
			{
				if(ajax.status==200)
				{					
					// Obtengo el XML y separo sus nodos
					//debugger;
					var xmlResponse = ajax.responseXML;
					var xmlScript	= xmlResponse.getElementsByTagName("javascript")[0].childNodes[0].data;
					var xmlHtml		= xmlResponse.getElementsByTagName("html")[0].childNodes[0].data;
					// Creo el nuevo JS - Controlar que no exista anteriormente
					if(oNavigator == 0)
					{
						var nodeScript = null;
						if(document.getElementById("dynScriptMonigrafico")){
							nodeScript = document.getElementById("dynScriptMonigrafico");
							}
						else{
							nodeScript		=	document.createElement("script");
							nodeScript.id 	= "dynScriptMonigrafico"; 
							document.getElementsByTagName("head")[0].appendChild(nodeScript);
							}
						nodeScript.text	=	xmlScript;
					}
					else
					{
						var nodeScript	=	document.createElement("script");
						document.getElementsByTagName("head")[0].appendChild(nodeScript);
						nodeScript.text	=	xmlScript;					
					}
					
					// Creo el nuevo CSS
					/*var nodeStyle	=	document.createElement("style");
					document.getElementsByTagName("head")[0].appendChild(nodeStyle);
					if(oNavigator == 0)
					{
						var innerCSS	=	xmlStyle.split("{");
						var lastStyle	=	document.styleSheets[document.styleSheets.length-1];
						lastStyle.addRule(innerCSS[0], "{"+innerCSS[1]);
					}
					else
					{
						var innerCSS	=	document.createTextNode(xmlStyle);
						nodeStyle.appendChild(innerCSS);
					}*/
					objSend.innerHTML = xmlHtml;
					//debugger;
					dom_onload();
					onresize = diapo.resize;
					/*var nodeScriptHadler	=	document.createElement("script");
					document.getElementsByTagName("body")[0].appendChild(nodeScriptHadler);
					//objSend.appendChild(nodeScriptHadler);
					nodeScriptHadler.text	=	scriptHandler;		*/		
					
				}
	      else if(ajax.status == 404)
	        objSend.innerHTML = "404.La direccion no existe";
	      else
					objSend.innerHTML = "Error: ".ajax.status;				
			}
		}         
	}
}
function dom_onload() {
	if(id("slider")) diapo.init(); else setTimeout("dom_onload();", 128);
}
function loadInfoImage(cgiHadler, sendLayer)
{
	ajax = xmlAjax();
	ajax.open("GET", cgiHadler, true);
	ajax.onreadystatechange=function() 
	{ 
		var objSend = document.getElementById(sendLayer);
		if(objSend != null)
		{
			objText = objSend.innerHTML;
			if (ajax.readyState==1)
				objSend.innerHTML = "<div class='wait'><p>Esperando respuesta ...</p></div>" + objText;
			else if(ajax.readyState==4)
			{
				if(ajax.status==200)
				{					
					objSend.innerHTML = ajax.responseText;
				}
	      		else if(ajax.status == 404)
	        		objSend.innerHTML = "404.La direccion no existe";
	     		 else
					objSend.innerHTML = "Error: ".ajax.status;				
			}
		}
	}
	ajax.send(null);         		
}

