	var _int_READY_STATE_NOT_INITIALIZE = 0 ;  //The request is not initialized 
	var _int_READY_STATE_LOADING = 1 ;  //The request has been set up 
	var _int_READY_STATE_LOADED = 2 ;  //The request has been sent 
	var _int_READY_STATE_INTERACTIVE = 3 ;  //The request is in process 
	var _int_READY_STATE_COMPLETE = 4 ; // The request is complete 
   
    function mostrarImgProcessando(strDiv) 
    {
        var objDiv = getRefElementoId(strDiv);
        if(objDiv != null)        
            objDiv.style.display = 'inline';                     
    }
    
    function esconderImgProcessando(strDiv) 
    {        
        var objDiv = getRefElementoId(strDiv);        
        if(objDiv != null)        
            objDiv.style.display = 'none';
    }
    
    
    //Verifica status da conexão esta completa
    function respostaRequest(objXmlRequest)
    {
        try
        {            
            if(objXmlRequest != null && objXmlRequest.readyState == _int_READY_STATE_COMPLETE && objXmlRequest.status == 200)
                return objXmlRequest.responseText;
            else                    
                return null;
        }   
        catch(objErr)
        {
            direcionaErro(objErr.message + ' ; Ajax.respostaRequest;');            
        }
    }
    
    //Consulta Url e retorna respota para metodo callback
    function RequestUrl(objXmlRequest, strUrl, callBack) 
    {      
        try
        {   
            if (strUrl.length <= 0)        
                return;
                    
            if(typeof(callBack) != 'function')
                return;             
            if(objXmlRequest == null)
                return;
               
            //Metodo que será chamado quando alterar o status do request
            objXmlRequest.onreadystatechange = callBack;         
                           
            //Metodo post não funciona no Firefox 3
            //objXmlRequest.open('POST', strUrl, true);
            objXmlRequest.open('GET', strUrl, true);
            //Content type do request        
            objXmlRequest.send(null);  
            
        }   
        catch(objErr)
        {   
            direcionaErro(objErr.message + ' ; Ajax.RequestUrl;');            
        }                  
       
    } 
  
    //Consulta Url e não aguarda resposta
    function RequestUrlSemResp(strUrl, strParametro)     
    {   
        try
        {
            var objXmlRequest = GetXmlHttpObject();
        
            if (strUrl.length <= 0 || strParametro.length <= 0)        
                return;
                       
            if(objXmlRequest == null)
                return;
                        
            //Abre conexão Post Assincrona para url 
            objXmlRequest.open('POST', strUrl, true);               
            //Envia Request e parametros        
            objXmlRequest.send(strParametro);    
            
        }
        catch(objErr)
        {        
           direcionaErro(objErr.message + ' ; Ajax.RequestUrlSemResp;');    
        }                  
       
    } 

    //cria o objeto xmlHttp dependendo do Browser
    function GetXmlHttpObject()
    { 
        var objXmlRequest = null;
        
        try
        {
        
            //IE 70 com XMLHttpRequest script nativo, Mozilla 1.0 +, Netscape 8.0 +, Firefox 1.0 +, Safari 1.2 +                    
            if (window.XMLHttpRequest)            	
            {			
			    objXmlRequest = new XMLHttpRequest();           
	        }
            //IE 5.0, 5.5, 6.0                       
            else if(window.ActiveXObject )
            {                
                //ProgIds possíveis do XML para IE                
                var strProgIDs = ['Microsoft.XMLHTTP','Msxml2.XMLHTTP','MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP','Microsoft.XMLHTTP'];
                
                for(var intAux = 0; objXmlRequest == null && intAux < strProgIDs.length; intAux++)
                {                
                    objXmlRequest = new ActiveXObject(strProgIDs[intAux]);
                }                
            }    
            
            return objXmlRequest;
        }
        catch(objErr)
        {        
            direcionaErro(objErr.message + ' ; Ajax.GetXmlHttpObject;');   
        }         
                
    } 

    
