function ajaxEngine(){
	this.name='ajaxEngine';
	this.processRequest=function(req,fnc){
		with(req){ if(readyState == 4){ if(status == 200){ if(fnc){ fnc(responseText); } } } }
	}
}
ajaxEngine.prototype.makeRequest=function(mth,url,dat,fnc){
	var req=false;
	var self=this;

	if(window.XMLHttpRequest){
		req = new XMLHttpRequest();
		if(req.overrideMimeType)
			req.overrideMimeType('text/xml');
	}else if(window.ActiveXObject){
		try{
			req = new ActiveXObject('Msxml2.XMLHTTP');
		}catch (e) {
			try{
				req = new ActiveXObject('Microsoft.XMLHTTP');
			}catch (e) {}
		}
	}

	if(!req){
		alert('Cannot create an XMLHTTP Instance');
		return false;
	}

	with(req){
		onreadystatechange=function(){ self.processRequest(req,fnc); };
		open(mth,url,true);
		setRequestHeader('Content-Type','application/x-www-form-urlencoded');
		send(dat);
	}
}