// Basic Ajax Routine- Author: Dynamic Drive (http://www.dynamicdrive.com)
// Last updated: Jan 15th, 06'

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, callbackfunc, filetype) {
	//recreate ajax object to defeat cache problem in IE
	ajaxpack.ajaxobj = createAjaxObj()
	//Further defeat caching problem in IE?
	if (ajaxpack.addrandomnumber == 1)
		var parameters = parameters + "&ajaxcachebust=" + new Date().getTime()
	if (this.ajaxobj) {
		this.filetype = filetype
		this.ajaxobj.onreadystatechange = callbackfunc
		this.ajaxobj.open('GET', url, true)
		this.ajaxobj.send(null)
	}
}

ajaxpack.postAjaxRequest=function(url, parameters, callbackfunc, filetype) {
	//recreate ajax object to defeat cache problem in IE
	ajaxpack.ajaxobj = createAjaxObj()
	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);
	}
}

