var http;
/* 
Este es nuestro manejador de eventos, lo que hace despues de resivir la info en el metodo sendQueryString 

Estado del Objeto: 
0 = uninitialized 
1 = loading 
2 = loaded 
3 = interactive 
4 = complete 
*/


/* 
aki es donde mandas el resquest del server de la pagina 

Normalmenteo uno querie que el servidor procese la pagina enviada por XmlHttpRquest con objetos diferentes a lo normales. 
Esto se hace reconociendo POST Y GET 

Este script es asincronico -- sigue corriendo despues de aver enviado un request 

lo de send(null) es lo normal todavia no se mas que esto asi que vamos por paso ^_^ 
*/


//funcio que fa una peticio (utilitza http (si nomes fai una pet));
function sendQuerystring(dir, func) 
{ 
	http = getXmlHttpObject();
	//abre la pagina
  http.open("GET", dir, true);
  http.onreadystatechange = func;
  http.send(null);
  
} 

function sendQuerystring_post(dir, vars, func) 
{ 
	http = getXmlHttpObject();  
	//abre la pagina
	http.open("POST", dir, true);
	http.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	http.onreadystatechange = func;
	http.send(vars);
  
} 

/* 
esta es la funcion principal, no tocar solo copy y paste y listo ^_^ 
*/
 
function getXmlHttpObject() 
{  
    //alert("getXmlHttpObject");
    var xmlhttp;
		
    /*@cc_on 
    @if (@_jscript_version >= 5) 
    try 
    { 
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP"); 
    } 
    catch (e) 
    { 
    
    try{ 
    		xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
    catch (e){ 
    		xmlhttp = false; 
    } 
    } 
    @else 
    xmlhttp = false; 
    @end @*/

    if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
        try{
            xmlhttp = new XMLHttpRequest();
        }
        catch (e){
            xmlhttp = false;
        } 
    }
    return xmlhttp; 
}