﻿function GetXmlHttpObject(handler)
{ 
    var objXmlHttp = null;

    if (!window.XMLHttpRequest)
    {
        // Microsoft
        
        objXmlHttp = GetMSXmlHttp();
        if (objXmlHttp != null)
        {
            objXmlHttp.onreadystatechange = handler;
        }
    } 
    else
    {
        // Mozilla | Netscape | Safari

        objXmlHttp = new XMLHttpRequest();
        if (objXmlHttp != null)
        {
            objXmlHttp.onload = handler;
            objXmlHttp.onerror = handler;
        }
    } 

    return objXmlHttp; 
} 

function GetMSXmlHttp() 
{
    var xmlHttp = null;
    var clsids = ["Msxml2.XMLHTTP.6.0",
                  "Msxml2.XMLHTTP.4.0",
                  "Msxml2.XMLHTTP.3.0"];
    for(var i=0; i<clsids.length && xmlHttp == null; i++) {
        xmlHttp = CreateXmlHttp(clsids[i]);
    }

    return xmlHttp;
}

function CreateXmlHttp(clsid) 
{
    var xmlHttp = null;
    try {
        xmlHttp = new ActiveXObject(clsid);
        lastclsid = clsid;
        return xmlHttp;
    }
    catch(e) {}
}

function SendAjaxHttpRequest(xmlhttp, url) 
{ 
    xmlhttp.open('GET', url, true); 
    
    xmlhttp.send(null);     
}

/******************************************/
/*function ExecuteAjaxCall(url)
{     
    xmlHttp = GetXmlHttpObject(CallbackMethod); 
    SendXmlHttpRequest(xmlHttp, url);     
} 

function CallbackMethod() 
{ 
    // do nothing
}
*/
/******************************************/