
function XmlHttpGetObject(handler)
{ 
	var objXmlHttp = null;
	
	if (window.XMLHttpRequest)
	{
		objXmlHttp = new XMLHttpRequest();
		
		if (navigator.userAgent.indexOf("MSIE") >= 0)
			objXmlHttp.onreadystatechange = handler;
		else
		{
			objXmlHttp.onload = handler;
			objXmlHttp.onerror = handler;
		}
	}
	else
	{
		var strName = "Msxml2.XMLHTTP";
		if (navigator.appVersion.indexOf("MSIE 5.5") >= 0)
			strName = "Microsoft.XMLHTTP";
		
		try
		{
			objXmlHttp = new ActiveXObject(strName);
			objXmlHttp.onreadystatechange = handler;
		}
		catch (e)
		{
			return null;
		}
	}
	
	if (objXmlHttp == null)
	{
		//alert("Your browser doesn't support XMLHttpRequest (AJAX).");
		return false;
	}
	
	return objXmlHttp;

}

function XmlHttpQuery(url, data, handler)
{
    var objXmlHttp;
    objXmlHttp = XmlHttpGetObject(handler);
    
    if (objXmlHttp == null)
        return null;
    
    objXmlHttp.open("GET", url, true);
    objXmlHttp.send(data);
    
    return objXmlHttp;
}

function XmlHttpPost(url, data, handler)
{
    var objXmlHttp;
    objXmlHttp = XmlHttpGetObject(handler);
    
    if (objXmlHttp == null)
        return null;

    // FIXME: IE does not know this:
    //objXmlHttp.overrideMimeType('text/html');

    
    //objXmlHttp.onreadystatechange = alertContents;
      objXmlHttp.open('POST', url, true);
      objXmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
      objXmlHttp.setRequestHeader("Content-length", data.length);
      objXmlHttp.setRequestHeader("Connection", "close");
      objXmlHttp.send(data);

    
    return objXmlHttp;
}


function XmlHttpGetResponseText(objXmlHttp)
{
    return objXmlHttp.responseText;
}

function XmlHttpIsStateReady(objXmlHttp)
{
    if (objXmlHttp && (objXmlHttp.readyState == 4 || objXmlHttp.readyState == "complete"))
        return true;
    else
        return false;
}

function XmlHttpSetRegion(region, data)
{
    document.getElementById(region).innerHTML = data;
}

