﻿var xmlHttpCallBack; 
                                                   
function GetXmlHttpObject(handler)
{ 

    var objXmlHttp = null;
    if (navigator.appName == "Microsoft Internet Explorer")
    {

        // 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.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) {
    var xmlHttp = null;
    try {
        xmlHttp = new ActiveXObject(clsid);
        lastclsid = clsid;
        return xmlHttp;
    }
    catch(e) {}
}

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 SendXmlHttpRequest(xmlhttp, url) { 
    xmlhttp.open('GET', url, true); 
    xmlhttp.send(null); 
}



function ExecuteCall(url)
{ 
  
    try 
    { 
        xmlHttpCallBack = GetXmlHttpObject(CallbackMethod); 
        SendXmlHttpRequest(xmlHttpCallBack, url); 
    }
    catch(e){} 
} 
    
//CallbackMethod will fire when the state 
//has changed, i.e. data is received back 

function CallbackMethod() 
{ 
    try
    {
   
        //readyState of 4 or 'complete' represents 
        //that data has been returned 

        if (xmlHttpCallBack.readyState == 4 || 
            xmlHttpCallBack.readyState == 'complete')
        {
            var response = xmlHttpCallBack.responseText; 
            if (response.length > 0)
            {
                //update page
                document.getElementById("AjaxResult").innerHTML = response; 
                   
            } 
        }
    }
    catch(e){}
}

