var general_oXmlHttp;

function ajax_call(url, handler){
	general_oXmlHttp = GetHttpObject(handler);
	general_oXmlHttp.open("GET", url, true)
	general_oXmlHttp.send(null);
}


function ajax_post_call(url, parameters, handler){
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	
	general_oXmlHttp = GetHttpObject(handler);
	general_oXmlHttp.open("POST", url, true);
	general_oXmlHttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	general_oXmlHttp.setRequestHeader("Content-length", parameters.length);
	
	if (navigator.appVersion.split("MSIE").length == 1)
		general_oXmlHttp.setRequestHeader("Connection", "close");
	else if ((version >= 7) && (document.body.filters)) 
		general_oXmlHttp.setRequestHeader("Connection", "close");
	
	general_oXmlHttp.send(parameters);
}

function ajax_call2(httpObj, url, handler){
	httpObj.open("GET", url, true)
	httpObj.send(null);
}


function ajax_post_call2(httpObj, url, parameters, handler){
	var arVersion = navigator.appVersion.split("MSIE");
	var version = parseFloat(arVersion[1]);
	
	httpObj.open("POST", url, true);
	httpObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
	httpObj.setRequestHeader("Content-length", parameters.length);
	
	if (navigator.appVersion.split("MSIE").length == 1)
		httpObj.setRequestHeader("Connection", "close");
	else if ((version >= 7) && (document.body.filters)) 
		httpObj.setRequestHeader("Connection", "close");
		
	httpObj.send(parameters);
}

//Get http object and test whether it's i.e. or others
//Otherwise return false
function GetHttpObject(handler){	
	if(!document.all){
		try{
			var oRequester = new XMLHttpRequest();
			oRequester.onload=handler;
			oRequester.onerror=handler;
			return oRequester;
		}
		catch (error){
			alert("Your request can not be completed at this time.");
			return false;
		}
	}
	else{
		try
		{
			var oRequester = new ActiveXObject("Microsoft.XMLHTTP");
			oRequester.onreadystatechange=handler;
			return oRequester;
		}
		catch (error)
		{
			alert("Your request can not be completed at this time.");
			return false;
		}
	}
}