﻿var xmlHttp;
var httpCB;
var xmlCB = false;

function ajaxCall(url, callback) {
    xmlHttp = GetXmlHttpObject();
    if (xmlHttp == null)
    {
        alert("Browser does not support HTTP Request");
        return;
    } 
    
    // Format url
    if (url.indexOf("?") >= 0) {
        url = url+"&";
    }
    else {
        url = url+"?";
    }
    url=url+"sid="+Math.random();
    
    httpCB = callback;
    xmlHttp.onreadystatechange = stateChanged;
    xmlHttp.open("GET", url, true);
    xmlHttp.send(null);
} 

function stateChanged() 
{ 
    if (xmlHttp.readyState==4 || xmlHttp.readyState == "complete") { 
        if (xmlCB == false) {
            httpCB(xmlHttp.responseText);
        }
        else {
            httpCB(xmlHttp.responseXML.documentElement);
        }
    }
} 

function GetXmlHttpObject(handler)
{ 
    var objXMLHttp = null;
    try {
        objXMLHttp=new ActiveXObject("Msxml2.XMLHTTP");
    }
    catch(e) {
        try {
            objXMLHttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        catch(ee) {}
    }

    if (objXMLHttp==null) {
        objXMLHttp=new XMLHttpRequest();
    }
    return objXMLHttp;
}
