function AJAXInteraction(strURL, objCallBack  , ExtraParameters) 
{
	var CallBackFunc = objCallBack;
	var Request = init();
	Request.onreadystatechange = processRequest;
	var URL = strURL;  
	var objParams = ExtraParameters;
	function init() 
	{
		if (window.XMLHttpRequest) return new XMLHttpRequest();
		else if (window.ActiveXObject) return new ActiveXObject("Microsoft.XMLHTTP");
	}
	function processRequest () 
	{
		if( Request != null )
		{
			if (Request.readyState == 4 && CallBackFunc != null){CallBackFunc(URL , Request , objParams);}
		}
	}
	this.doGet = function() 
	{
		Request.open("GET", URL, true);
		Request.send(null);
	}
	this.doPost = function(body) 
	{
		Request.open("POST", URL, true);
		Request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		Request.send(body);
	}
	this.abort = function()
	{
		Request.abort();
	}
	this.dispose = function()
	{
		CallBackFunc = null;
		Request = null;
		URL = null;  
	}
}