function getXMLHTTPRequest()
{
    var request = false;
    
    if ( window.XMLHttpRequest )
    {
        request = new XMLHttpRequest();
        //alert("1");
    }
    else
    {
        if ( window.ActiveXObject )
        {
            try
            {
                request = new ActiveXObject("Msml2.XMLHTTP");
                 //alert("2");
            }
            catch(err1)
            {
                try
                {
                    request = new ActiveXObject("Microsoft.XMLHTTP");
                    //alert("3");
                }
                catch(err2)
                {
                    request = false;
                }
            }
        }
    }

    return request;
}

function DoCallback(url, params)
{
    // we need a random number to defeat client caching
    var myDate = new Date();

	// url:    URL to invoke
	// params: string object to pass to the remote URL

	// Add some parameters to the query string
	if ( (url+'').indexOf('?') != -1 )
	    url += '&';
	else
	    url += '?'
	    
	var pageUrl = url + 'callback=' + myDate.valueOf() + '&' + params;
	
	// Initialize the XmlHttp object
	var xmlRequest = getXMLHTTPRequest();
	
	// Prepare for a GET statement and synchronous.
	xmlRequest.open('GET', pageUrl, false);
	xmlRequest.send(null);
	
	// Return the XmlHttp object
	return xmlRequest.responseText;
}

function getXMLDoc(sXML)
{
    var doc;

    // code for IE
    if (window.ActiveXObject)
    {
        doc = new ActiveXObject("Microsoft.XMLDOM");
        doc.async = "false";
        doc.loadXML(sXML);
    }
    // code for Mozilla, Firefox, Opera, etc.
    else
    {
        var parser = new DOMParser();
        doc = parser.parseFromString(sXML,"text/xml");
    }
    
    return doc;
}

function getQueryVariable(variable)
{
    var query = window.location.search.substring(1);  
    var vars = query.split("&");  
    for (var i=0;i<vars.length;i++)
    {
        var pair = vars[i].split("=");    
        if (pair[0] == variable)
        {
            return pair[1];
        }
    }
}