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()*99999999);
   
	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) {
   
	var myreq = createREQ();
   
   
	myreq.onreadystatechange = function() {
      
		if(myreq.readyState == 4) {
         
			if(myreq.status == 200) {
            
				var item = myreq.responseText;
            
				if(getxml==1) {
               
					item = myreq.responseXML;
            }
            
					document.getElementById('waiting').innerHTML = "";
            
					doCallBack(callback, item);
         
				}
      
			}
      
			else { 
         
				document.getElementById('waiting').innerHTML = '<img src="http://www.topnotchcoatings.com/loader_circles_smaller.gif">'; 
      
			}
   
		}
   
		if(reqtype == 'post') {
      
			requestPOST(url, query, myreq);
   
		}
   
		else {
      
			requestGET(url, query, myreq);
   
		}



	}
