function goAjax(url, dataString, callback_function, return_xml) {

	var objReq = false;

   if (window.XMLHttpRequest) { 
		// Firefox, Opera, Safari,...
       objReq = new XMLHttpRequest();
       if (objReq.overrideMimeType) {
           objReq.overrideMimeType('text/xml');
       }
   } else if (window.ActiveXObject) { 
		// Internet Explorer
       try {
           objReq = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
           try {
               objReq = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
       }
   }	

   if (!objReq) {
       alert('Your browser doesn\'t support this feature.');
       return false;
   }

	objReq.onreadystatechange = function() {
       if (objReq.readyState == 4) {
           if (objReq.status == 200) {
               if (return_xml) {
						eval(callback_function + '(objReq.responseXML)');
               } else {
						eval(callback_function + '(objReq.responseText)');
               }
           } else if (objReq.status != 0){ //some versions of IE can return 0
               alert('There was a problem with the request.(Code: ' + objReq.status + ')');
           }
       }
   }
	objReq.open("POST", url);
	objReq.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
	objReq.send(dataString);
}
