//Basic Ajax Routine- Author: Dynamic Drive (http://www.dynamicdrive.com)
//Last updated: Jan 15th, 06'
function createAjaxObj() {
	var httprequest=false;
	// if Mozilla, Safari etc
	if (window.XMLHttpRequest) {
		httprequest=new XMLHttpRequest()
		if (httprequest.overrideMimeType)
			httprequest.overrideMimeType('text/xml');
	// if IE
	} else if (window.ActiveXObject) { 
		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=1; //Set to 1 or 0. See documentation.

ajaxpack.getAjaxRequest=function(url, parameters, callbackfunc, filetype) {
	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.ajaxobj.onreadystatechange=callbackfunc;
		this.ajaxobj.open('GET', url+"?"+parameters, true);
		this.ajaxobj.send(null);
	}
}

ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype) {
	ajaxpack.ajaxobj=createAjaxObj(); //recreate ajax object to defeat cache problem in IE

	if (this.ajaxobj) {
		this.filetype=filetype;
		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);
	}
}

function ajaxIsReady() {
	return (ajaxpack.ajaxobj.readyState == 4 && ajaxpack.ajaxobj.status==200 || window.location.href.indexOf("http")==-1);
}
