﻿function callAjax(url, controlToUpdate, callBackOK, callBackNOK)
{ 
    var objRequest;
    var objControlToUpdate = document.getElementById(controlToUpdate);
    
    try 
    {
        objRequest = new XMLHttpRequest();
    }
    catch(e) {
        try {
            objRequest = new ActiveXObject("Msxml2.XMLHTTP");
        }//Fecha Try
        catch(e) {
            try {
                objRequest = new ActiveXObject("Microsoft.XMLHTTP");
            }//Fecha Try
            catch(e) {
                alert('Você não possui o componente necessário para atualizar esta página!');
            }//Fecha Catch
        }//Fecha Catch
    }//Fecha Catch      
 
    objRequest.onreadystatechange = function()
    { 
        if(objRequest.readyState  == 4)
        {
            if(objRequest.status  == 200)
            {
                if (objControlToUpdate)
                {
                    objControlToUpdate.innerHTML = objRequest.responseText;
                }
                
                if (callBackOK)
                {
                    callBackOK(objRequest.responseText);
                }
            }
            else 
            {
                if (callBackNOK)
                {
                    callBackNOK(objRequest.responseText, objRequest.status);
                }
            }
        }
    }; 

   objRequest.open('GET', url, true); 
   objRequest.send(null); 
}
