var http_request = null;

function getHttpRequest()
{
	if (http_request)
		http_request = null;
		
    if (window.XMLHttpRequest) 
    { // Mozilla, Safari,...
        http_request = new XMLHttpRequest();
    } 
    else if (window.ActiveXObject) 
    { // IE
        try 
        {
            http_request = new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e) 
        {
            try 
            {
                http_request = new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e) {}
        }
    }

    if (!http_request) {
        alert('Giving up :( Cannot create an XMLHTTP instance');
    }
}
function makeRequest(url, type, async, func, xml)
{
	getHttpRequest();
	if (http_request)
	{
		http_request.onreadystatechange = func;
		http_request.open(type, url, async);
		if (xml && http_request.overrideMimeType)
			http_request.overrideMimeType('text/xml');
		if (type == 'POST')
		{
			var p = url.indexOf("?");
			var plen = 0;
			if (p != -1)
			{
				var parms = url.substr(p + 1);
				plen = parms.length;
			}			
			http_request.setRequestHeader("Content-Length", "0");
			alert("set request header " + plen);
		}
		http_request.send(null);
	}
	else
	{
		alert("XmlHttp not available");
	}
}

