var xmlhttp;
var resultDIV;
//var HTTPPID = ["Msxml2.XMLHttp.5.0", "Msxml2.XMLHttp.4.0", "Msxml2.XMLHttp.3.0", "Msxml2.XMLHttp", "Microsoft.XMLHttp"];
var HTTPPID = ["Msxml2.XMLHttp.3.0"];

try {
	xmlhttp = new XMLHttpRequest;
} catch(e) {
	xmlhttp = new ActiveXObject(getPID(HTTPPID));
}

function isSupported() {
	return (xmlhttp != 'undefined');
}

function getPID(pArray) {
	var PIDStr = "";
	var PIDFound = false;

	for (var i=0; i < pArray.length && !PIDFound; i++) 
	{
		try 
		{
			var objectXML = new ActiveXObject(pArray[i]);
			PIDStr = pArray[i];
			PIDFound = true;
		} catch (objException) { }
	}
	
	return PIDStr;
}

function ajaxPost(page, params, asynch, div) {
	resultDIV = div;
	
	xmlhttp.open("POST", page, asynch);
	
	if(asynch)
		xmlhttp.onreadystatechange = stateChange;
	
	xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	xmlhttp.setRequestHeader("Content-length", params.length);
	xmlhttp.setRequestHeader("Connection", "close");
	
	xmlhttp.send(params);

	if(!asynch)
		stateChange();
}

function ajaxGet(page, params, asynch, div) {
	resultDIV = div;
	
	xmlhttp.open("GET", page+'?'+params, asynch);
	
	if(asynch)
		xmlhttp.onreadystatechange = stateChange;
	
	xmlhttp.send(null);
	
	if(!asynch)
		stateChange();
}

function stateChange() {
	if(xmlhttp.readyState == 4 && xmlhttp.status == 200) 
	{
			document.getElementById(escape(resultDIV)).innerHTML = xmlhttp.responseText;
	
			var divScript = document.getElementById(escape(resultDIV)).getElementsByTagName("script");   
			for(var i=0;i<divScript.length;i++) {   
       			eval(divScript[i].text);
   			}
	}
}
