function createREQ(){
	try{
		req = new XMLHttpRequest();
		} catch(err1) {
						try{
							req = new ActiveXObject("Msxml2.XMLHTTP");
						} catch(err2) {
										try{
											req = new ActiveXObject("Microsoft.XMLHTTP");
										} catch(err3){
														req = false;
										}
						}
			}
			return req;
}
function requestGET(url, query, req){
	myRand = parseInt(Math.random()*999999);
	req.open("GET", url + '?' + query + '&rand=' + myRand, true);
	req.send(null);
}
function requestPOST(url, query, req){
	req.open("POST", url, true);
	req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	req.send(query);
}
function doCallback(callback, item){
	eval(callback + '(item)');
}
function doAjax(url, query, callback, reqtype, getxml,preload){
	
	var myreq = createREQ();
	 if(preload != ""){
	 document.getElementById(preload).innerHTML="<img src=\"images/ajax-loader2.gif\">";
	 }
	
	
	myreq.onreadystatechange = function(){
		if (myreq.readyState == 4){
		if(myreq.status == 200){
			var item = myreq.responseText;
			if(getxml == 1){
				item = myreq.responseXML;
			}
		doCallback(callback, item);
		}
	}
}
	if(reqtype == 'post'){
		requestPOST(url, query, myreq);
	}else{
		requestGET(url, query, myreq);
	}
}