function createAjaxObj()
{
	var httprequest = false;
	if(window.XMLHttpRequest)
	{
		// if Mozilla, Safari etc
		httprequest = new XMLHttpRequest();
		if (httprequest.overrideMimeType)
		{
			httprequest.overrideMimeType('text/xml');
		}
	}
	else if(window.ActiveXObject)
	{ 
		// if IE
		try
		{
			httprequest = new ActiveXObject("Msxml2.XMLHTTP");
		} 
		catch (e)
		{
			try
			{
				httprequest = new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch (e){}
		}
	}
	return httprequest;
}

var ajaxpack = new Object();
ajaxpack.basedomain = "http://"+window.location.hostname;
ajaxpack.ajaxobj = createAjaxObj();
ajaxpack.filetype = "txt";
ajaxpack.addrandomnumber = 0; //Set to 1 or 0. See documentation.

ajaxpack.getAjaxRequest = function(url, parameters, callbackfunc, filetype, callback_parameter){
	ajaxpack.ajaxobj = createAjaxObj(); //recreate ajax object to defeat cache problem in IE
	if(ajaxpack.addrandomnumber==1) //Further defeat caching problem in IE?
	var parameters=parameters+"&ajaxcachebust="+new Date().getTime();
	if(this.ajaxobj)
	{
		this.filetype = filetype;
		this.callback_parameter = callback_parameter;
		this.ajaxobj.onreadystatechange = callbackfunc;
		this.ajaxobj.open('GET', url+"?"+parameters, true);
		this.ajaxobj.send(null);
	}
}

ajaxpack.postAjaxRequest = function(url, parameters, callbackfunc, filetype, callback_parameter){
	ajaxpack.ajaxobj = createAjaxObj() //recreate ajax object to defeat cache problem in IE
	if (this.ajaxobj)
	{
		this.filetype = filetype;
		this.callback_parameter = callback_parameter;
		this.ajaxobj.onreadystatechange = callbackfunc;
		this.ajaxobj.open('POST', url, true);
		this.ajaxobj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
		this.ajaxobj.setRequestHeader("Content-length", parameters.length);
		this.ajaxobj.setRequestHeader("Connection", "close");
		this.ajaxobj.send(parameters);
	}
}