// Funciones de Ajax
//-------------------

// -------------------------------
// Creación de Objeto AJAX.
// -------------------------------
function creaAjax(){
	var xmlhttp=false; 
	try { 
  		xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
  	} catch (e) { 
		try { 
			xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
		} catch (E) { 
			xmlhttp = false; 
  		} 
	} 
	if (!xmlhttp && typeof XMLHttpRequest!='undefined') { 
		xmlhttp = new XMLHttpRequest(); 
	} 
	return xmlhttp; 
} 

// ---------------------------------------
// Valida lo que el php llamado devuelve
// ---------------------------------------


function FAjaxEvalua (url,capa,bloquear)
{
   // EVITA CACHE
   var miliSeg = new Date().getTime();
   //Si no Tiene ? --> tiene ya paremetros
   if (url.indexOf("?",0)==-1) {
        url += "?ms="+ miliSeg;
   } else{
        url += "&ms="+ miliSeg;
   }
    
   var ajax=creaAjax();
   var capaContenedora = document.getElementById(capa);
 
   if (bloquear==true){
      ajax.open ('GET', url, false);
   }else{  
      ajax.open ('GET', url, true);
   }
   
   ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   ajax.send(null); 
   
     if (ajax.readyState==1) {
         capaContenedora.innerHTML='<img src="imagenes/indicator_snake.gif" align="absmiddle" /> Cargando…';
         
     }
     else if (ajax.readyState==4){
        if(ajax.status==200){
            capaContenedora.innerHTML = "";  
			//alert (ajax.responseText);
            eval(ajax.responseText);
            
        }
        else if(ajax.status==404)
             {
    
                 capaContenedora.innerHTML = "La direccion no existe";
             }
             else
             {
             //alert("EVAL AJAX"+ajax.status);
                 capaContenedora.innerHTML = "Error: "+ajax.status;
             }
    }


}

// --------------------------------------------------
// Pinta en pantalla lo que el php llamado devuelve
// -------------------------------------------------

function FAjaxPinta (url,capa,bloquear,cargando)
{
    
   // EVITA CACHE
    var miliSeg = new Date().getTime();
    //Si no Tiene ? --> tiene ya paremetros
    if (url.indexOf("?",0)==-1) {
        url += "?ms="+ miliSeg;
    } else{
        url += "&ms="+ miliSeg;
    }
    
   var ajax=creaAjax();
   var capaContenedora = document.getElementById(capa);

    
   if (bloquear==true){
    ajax.open ('GET', url, false);
   }else{  
    ajax.open ('GET', url, true);
   }
   
   ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
   ajax.send(null);   

     /*if (ajax.readyState==1) {
        if (cargando==true){
            //capaContenedora.innerHTML='<img src="imagenes/indicator_snake.gif" align="absmiddle" /> Cargando…';
			capaContenedora.innerHTML='Cargando…';
        }
     }
     else if (ajax.readyState==4){       
        if(ajax.status==200){
            respuesta = unescape(ajax.responseText);
			respuesta = respuesta.replace(/\+/gi," ");		
			capaContenedora.innerHTML= respuesta;
            //alert(ajax.responseText);
        } else if(ajax.status==404) {
            capaContenedora.innerHTML = "La direccion no existe";
        } else {
            capaContenedora.innerHTML = "Error: "+ajax.status;
        }
    }*/
	
	if (ajax.readyState==4){       
        if(ajax.status==200){
            respuesta = unescape(ajax.responseText);
			respuesta = respuesta.replace(/\+/gi," ");		
			capaContenedora.innerHTML= respuesta;
            //alert(ajax.responseText);
        } else if(ajax.status==404) {
            capaContenedora.innerHTML = "La direccion no existe";
        } else {
            capaContenedora.innerHTML = "Error: "+ajax.status;
        }
	}	

	
}

//--------------------------

function FAjaxEvaluaPost (url,capa,bloquear,variables)
{
   // EVITA CACHE
   var miliSeg = new Date().getTime();
   //Si no Tiene ? --> tiene ya paremetros
   if (url.indexOf("?",0)==-1) {
        url += "?ms="+ miliSeg;
   } else{
        url += "&ms="+ miliSeg;
   }
      
   var ajax=creaAjax();
   var capaContenedora = document.getElementById(capa);
 
   if (bloquear==true){
      ajax.open ('POST', url, false);
   }else{  
      ajax.open ('POST', url, true);
   }
   
   ajax.setRequestHeader('Content-Type','application/x-www-form-urlencoded');  

  //alert(variables);
   ajax.send(variables);  

    if (ajax.readyState==4){
        if(ajax.status==200){
            capaContenedora.innerHTML = "";  			
            // Solucionar problemas acentos.
			// Muestra los caracteres correctamente, y reemplaza los signos + por espacios
			cadena=unescape(ajax.responseText);
			cadenafinal=cadena.replace(/\+/gi," ");		
			//alert(cadenafinal);
			eval(cadenafinal);
            // En caso de querer pintar en vez de evaluar
			/*respuesta = unescape(ajax.responseText);
			respuesta = respuesta.replace(/\+/gi," ");		
			//capaContenedora.innerHTML= respuesta;
			alert(respuesta);*/
			            
        }else if(ajax.status==404){
    		capaContenedora.style.display="";
            capaContenedora.innerHTML = "La direccion no existe";
        }else{
           //alert("EVAL AJAX"+ajax.status);
           capaContenedora.style.display="";
		   capaContenedora.innerHTML = "Error: "+ajax.status;
        }			 
    }

}




