﻿var xmlHttp;


function GetXmlHttpObject(handler) {
    try {
        var objXmlHttp = null;
        objXmlHttp = GetMSXmlHttp();
        if (objXmlHttp) {
            objXmlHttp.onreadystatechange = handler;
        }
        return objXmlHttp;
    }
    catch (e) { }

}
function GetMSXmlHttp() {
    //alert('getMsXmlHttp');
    var xmlHttp = null;
    var clsids = ["Msxml2.XMLHTTP.6.0", "Msxml2.XMLHTTP.5.0",
                 "Msxml2.XMLHTTP.4.0", "Msxml2.XMLHTTP.3.0",
                 "Msxml2.XMLHTTP.2.6", "Microsoft.XMLHTTP.1.0",
                 "Microsoft.XMLHTTP.1", "Microsoft.XMLHTTP"];
    for (var i = 0; i < clsids.length && xmlHttp == null; i++) {
        xmlHttp = CreateXmlHttp(clsids[i]);
    }
    return xmlHttp;
}
function CreateXmlHttp(clsid) {
    //alert('CreateXmlHttp');
    var xmlHttp = null;
    try {
        xmlHttp = new ActiveXObject(clsid);
        lastclsid = clsid;
        return xmlHttp;
    }
    catch (e) { }
}

function GetMSXmlHttp() {
    //alert('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 SendXmlHttpRequest(xmlhttp, url) {
    xmlhttp.open('POST', url, true);
    xmlhttp.send(null);
} //end SendXmlHttpRequest
