
Redirect = 'ajx_redirect.php';

/*Metodo de Envio*/
	met = new Array();
	met[0] = "application/x-www-form-urlencoded";
	met[1] = "multipart/form-data";
	
	Int_Aj = new Array();
	/*Agregando esto a la imagen se eliminarán los temporales de Ajax*/
	var cache =  "&ms="+new Date().getTime();

function ajax(a,b,c,d,e,f,g,h,i)
{   //a Archivo ajax a ejecutar
		
	//b Extensión Primaria a remitir
	//c Extensión secundaria de parámetros
	//d ID contenedor resultado | tipo de accion [innerHTMl, value...]
		//PUede elbaorarse otra llamada en diferentes modos//
	//e ID contenedor espera/cargado | tipo de accion [innerHTMl, value...]
	//f ResponseXML o ResponseText  o XMl i (Importar jss)
	//g Mientras Espero:
	//h Al cargar
	//i Metodo de Envio | Header Request [met] | true - false |  formulario
	//g y h: 1 = Parrafo ; 2 = Imagen [ + valores mencionados en el switch de "split"]
	s_ajx = "";
	var ext = "?url="+a+b+c;
			    	
	var red = "";
	var split_i = i.split("|");
	var split_d = d.split("|");
 	var split_e = e.split("|");
 	if (d != "")
	{	var con_d = document.getElementById(split_d[0]);
	}
	if (e != "")
 	{	var con_e = document.getElementById(split_e[0]);
 	}
 	
	var ajax = new nuevoAjax();
	
	if (split_i[0] == "GET")
	{   red = ext;
	    ext = null
	}
	
	if (navegador == 0)
	{	s_ajx = "ajx/";		
	}
	else
	{	if (split_i[4] != 1)
		{	s_ajx = "ajx/";		
		}	
		else
		{	s_ajx = "";
		}
	}	
	
	ajax.open(split_i[0], s_ajx+"ajx_redirect.php"+red+cache, split_i[2]);
	if (split_i[0] == "POST")
	{	ajax.setRequestHeader("Content-Type", met[split_i[1]]);
	}	
	
	ajax.onreadystatechange = function()
	{	if (ajax.readyState==4)		{   
			if (d != "")
		    {   if (f == "text")
			    {  	
					con_d.style['backgroundImage'] = 'none';
					
					con_d[split_d[1]] = ajax.responseText
					
			    }
			    else
			    {   if (f == "xml")
			        {	con_d[split_d[1]] = ajax.responseXML;																	
			        }
			        else
			        {   
						var resp=ajax.responseXML;						
						javascript=resp.getElementsByTagName("javascript")[0].childNodes[0].data;						
						var etiquetaScript=document.createElement("script");
						document.getElementsByTagName('head')[0].appendChild(etiquetaScript);
						etiquetaScript.text=javascript;
			        }
			    }
			    
			    if (split_d[2] == "aj")
			    {   
					Lanzar_Ajax(split_d[4],b,c,i);
			    }
					
			    if (split_d[2] == "ajx")
			    {   
					ele_ajx =  document.getElementById('conf_'+ split_d[3]);
													        
			        if ((ele_ajx != undefined) && (ele_ajx.value == '1') && (ele_ajx != null))
					{  	Lanzar_Ajax(split_d[4],b,c,i);
					}
			    }			    
			    if (split_d[2] == "ajt")
			    {		
					Int_Aj[Int_Aj.length] = setInterval("Lanzar_Ajtx('"+split_d[4]+"','"+b+"','"+c+"','"+i+"','"+split_d[3]+"','"+split_d[5]+"','"+Int_Aj.length+"','"+e+"','"+g+"','"+h+"');",30)
			    }			    
			}
		 	split = h.split("|");
		}
		else
		{   split = g.split("|");
			
		}
		
		if (e != "")
		{	
			switch (split[0])
		   	{   case "1":   /*imagen* -> RUTA | VSPACE | HSPACE | ALIGN*/
		                    con_e[split_e[1]] = "<img src='"+split[1]+"' vspace='"+split[2]+"' hspace='"+split[3]+"' align='"+split[4]+"'>";
		                    break;
		        case "2":   /*parrafo* -> CLASS | ID | TEXTO */
		                    
							con_e[split_e[1]] = "<p class='"+split[1]+"' style='background-color:transparent;' id='"+split[2]+"'>"+split[3]+"</p>";
		                    
		                    break;
		                    
				case "3":   /*parrafo + imagen* -> CLASS | ID | TEXTO | RUTA | VSPACE | HSPACE | ALIGN |  */
		                    con_e[split_e[1]] = "<p class='"+split[6]+"' style='background-color:transparent;' id='"+split[7]+"'><img src='"+split[1]+"' vspace='"+split[2]+"' hspace='"+split[3]+"' align='"+split[4]+"'>&nbsp;&nbsp;"+split[5]+"&nbsp;&nbsp;</p>";
		                    
		                    break;
		        case "4":   /*imagen* -> RUTA | VSPACE | HSPACE | ALIGN | TEXT */
		                    
		                    con_e[split_e[1]] = "<img src='"+split[1]+"' vspace='"+split[2]+"' hspace='"+split[3]+"' align='"+split[4]+"'>&nbsp;&nbsp;"+split[5];
		                    
		                    break;
				case "5":   /*imagen* -> RUTA | VSPACE | HSPACE | ALIGN | TEXT */
							
							cambios = split[1].split("@@@");
                            for (valor in cambios)
							{	split_res = cambios[valor].split("#");
						      	id= document.getElementById(split_res[0]);
						      	if (split_res[1] != "style")
						      	{	id[split_res[1]] = split_res[2]
						      	}
						      	else
						      	{   id.style[split_res[2]] = split_res[3]
								}
							}
			
		                    break;
		  		case "6":  	con_e[split_e[1]] = split[1];
		  		            break;
				case "7":  	con_e[split_e[1]] = split[5]+"&nbsp;&nbsp;<img src='"+split[1]+"' vspace='"+split[2]+"' hspace='"+split[3]+"' align='"+split[4]+"'>";
		  		            break;

		    }
		  
		}
		
 	}
 
 	ajax.send(ext); 	
}

function nuevoAjax()
{ 	/* 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;
}
if(navigator.userAgent.indexOf("MSIE")>=0) navegador=0; // IE
else navegador=1; // Demas

function Lanzar_Ajax(a,b,c,d)
{   
	split_ajx = a.split("@@@");
	for (valor in split_ajx)
	{   
		split_int = split_ajx[valor].split("#");
			
      	ajax(split_int[0],b,c,split_int[1]+'|'+split_int[2],'',split_int[3],'','',d);
      	
	}
}
//Lanzar Ajax con SetInterval
function Lanzar_Ajtx(a,b,c,d,e,f,g,h,i,j)
{  	//e = Campo que ha de estar activo
	//f = Valor que ha de incluir
	//g = Interval a desactivar
	//h = Contenedor Cargador
	//i = Valor al Cargar
	//j = Valor al estar cargado
	
	if (document.getElementById(e) != undefined)
	{		
			
		if (document.getElementById(e).value == f)
		{	clearInterval(Int_Aj[g]);
			split_ajx = a.split("@@@");
			for (valor in split_ajx)
			{	
				split_int = split_ajx[valor].split("#");
				
				if (split_int[1] == "contenedor_sesion")			    
			    {	
					h = "";
			    	i = "";
			    	j = "";
			    }	
			    /*--- Expansión de URL mediante Hidden 'hidden_URL' ---*/
			    exp = "";
			    if (document.getElementById("hidden_URL") != undefined)
			    {   exp = document.getElementById('hidden_URL').value;
			    }
			    
			  	ajax(split_int[0],b,split_int[4]+exp,split_int[1]+'|'+split_int[2],h,split_int[3],i,j,d);
			}
		}

	}	
}

						
