
            
function ajax()
{  
var ajax ={
    parametro:new Object(),
    metodo:'POST',
    url:'',
    sucesso:function(){},
    falha: function(){},
    aguarde: function(){},
    carregar:function(){
        var par=new String();
        par='';
        var ajax = openAjax();
        var x=0;
        var cont = 0;
         
         for(var i in this.parametro){
             cont++;
         }
        
        for( i in this.parametro)
        {
                
           if(x<cont-1)
                par += i+"="+this.parametro[i]+"&";
            else
              par += i+"="+this.parametro[i];

          x++; 
        }
	//register the callback handler function
        var ready = getReadyState(ajax,this);
  	ajax.onreadystatechange = ready;
       
        this.metodo = this.metodo.toUpperCase();
        if(this.metodo=='POST'){
  	
  	ajax.open(this.metodo, this.url, true);
        ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
         
        ajax.send(par);
        }
        else
            {
                ajax.open(this.metodo, this.url+"?"+par, true);
                ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                ajax.send(null);
            }

    }
    
}
    

return ajax;
}



function openAjax() {
	var xmlreq = false;
	if (window.XMLHttpRequest) {
		xmlreq = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
    		// Try ActiveX
		try { 
			xmlreq = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e1) { 
			// first method failed 
			try {
				xmlreq = new ActiveXObject("Microsoft.XMLHTTP");
			} catch (e2) {
				 // both methods failed 
			} 
		}
 	}
   	return xmlreq;
} 

function getReadyState(req, ajax) {
	return function () {
	if (req.readyState == 4) {
		if (req.status == 200) {
                    
                        ajax.sucesso(req);
        		//resultado(req);
		} else {
			ajax.falha(req);
      		}
    	}
        if(req.readyState != 4)
         {
             ajax.aguarde(req);
         }
 	}
}
