//Ajax
document.write("<div id='Jac_EtiquetaCargado' class='CapaCargador'>.</div>");

var Ajax={
			Sw : "0",
			ProcesandoAjax : "0",
  		    ConstructorAjax : function () 
			{ 
				if(window.XMLHttpRequest)
				{
					Objeto=new XMLHttpRequest();
				}
				else if(window.ActiveXObject)
				{
					Objeto=new ActiveXObject("Microsoft.XMLHTTP");
				}
				return Objeto;
			},
			Procesar : function (ObjAjax) 
			{ 
				try {
				if (ObjAjax.readyState==1)
				{
					//_target.innerHTML="Comprobando.......";
					document.getElementById('Jac_EtiquetaCargado').style["display"] = "";	
				 	document.getElementById("Jac_EtiquetaCargado").style.visibility = "visible";
					document.getElementById('Jac_EtiquetaCargado').innerHTML="<img src='Cargadores/Cargar.gif'>";
				}
				else if (ObjAjax.readyState==2)
				{
					document.getElementById('Jac_EtiquetaCargado').innerHTML="<img src='Cargadores/Cargar.gif'>";
				}
				else if (ObjAjax.readyState==3)
				{
					document.getElementById('Jac_EtiquetaCargado').innerHTML="<img src='Cargadores/Incorporando.gif'>";
				}
				else if(ObjAjax.readyState==4)	
				{
					if(ObjAjax.status == 200 || window.location.href.indexOf ("http") == - 1)
					{
						
						var RespuestaText=ObjAjax.responseText;
						var RespuestaXml=ObjAjax.responseXML;
						//alert(RespuestaText);
						document.getElementById('Jac_EtiquetaCargado').innerHTML="";
						document.getElementById("Jac_EtiquetaCargado").style.visibility = "hidden";
						if(Ajax.Sw=="0")
						{
//							alert(RespuestaText);
							Ajax.TrarFuncionesJs(RespuestaXml,RespuestaText);
							Ajax.Sw="1";
						}
						else
						{
							//alert(RespuestaText);
							Acciones.ProcesarRespuesta(RespuestaText,RespuestaXml);								
						}
						Ajax.ProcesandoAjax=0;	
					}
					else if(ObjAjax.status==404)
					{
						//document.getElementById('Jac_EtiquetaCargado').innerHTML = "La URL <b>NO</b> existe";
					}
					else if(ObjAjax.status==414)
					{
						//document.getElementById('Jac_EtiquetaCargado').innerHTML = "Los valores pasados por GET superan los 512 bytes";
					}
				}
			}
			catch(e) 
				    {
				    	alert(e.name + " - "+e.message)
				    }
			},
			Mifuncion : function (PaginaServidor,NombreFuncion,Campos) 
			{ 
			try {
				ObjAjax=Ajax.ConstructorAjax();
				ObjAjax.onreadystatechange=function(){Ajax.Procesar(ObjAjax);};
				ObjAjax.open('POST',PaginaServidor,true);
				ObjAjax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
			
				var ValoresProcesar;
				ValoresProcesar="DatoNombreFuncion="+NombreFuncion;
				//Construye los valores a enviar
				for(i=0;i<Campos.length;i++)
				{
					ValoresProcesar=ValoresProcesar+"&"+Campos[i]["Campo"]+"="+Campos[i]["Valor"];
				}
				ObjAjax.send(ValoresProcesar);
				Ajax.ProcesandoAjax=1;
				}
			catch(e) 
				    {
				    	alert(e.name + " - "+e.message)
				    }
			},
			TrarFuncionesJs : function(RespuestaXml,Texto)
			{
				try {
				var FuncionJS=RespuestaXml.getElementsByTagName("FuncionJS")[0].childNodes[0].data; 
				var Css=RespuestaXml.getElementsByTagName("Css")[0].childNodes[0].data; 
				 
				// Creando funciones javascript
				var NuevoScript=document.createElement("script"); 
				document.getElementsByTagName("head")[0].appendChild(NuevoScript); 
				NuevoScript.text=FuncionJS; 
				 
				// Creando clases css
				var ClasesCss=document.createElement("style"); 
				document.getElementsByTagName("head")[0].appendChild(ClasesCss); 
				 
				if(navigator.userAgent.indexOf("MSIE")>=0) 
				{ // Explorer
					var ContenidoCSS=Css.split("{"); 
					var UltimaEtiqueta=document.styleSheets[document.styleSheets.length-1]; 
					UltimaEtiqueta.addRule(ContenidoCSS[0], "{"+ContenidoCSS[1]); 
				} 
				else 
				{ //Firefox
					var ContenidoCSS=document.createTextNode(Css); 
					ClasesCss.appendChild(ContenidoCSS); 
				} 
					}
			catch(e) 
				    {
				    	alert(e.name + " - "+e.message)
				    }
			}
		  }
