/* 
@File: ajx.js
@Author: Dwamian Mcleish
@Date: 03/10/06
@Desc: Ajax Reusable function - YEAH BABY!!!! I LOVE AJAX
*/
var http_request = null;

function makeHttpRequest(url, callback_function,return_xml)
{
    	
	//abort all current requests
	if (http_request != null && http_request.readyState != 0 && http_request.readyState != 4)
 	{
   		http_request.abort();
 	} 
	
	if (window.XMLHttpRequest) {
       http_request = new XMLHttpRequest();
       if (http_request.overrideMimeType) {
           http_request.overrideMimeType('text/xml');
       }
   } else if (window.ActiveXObject) { 
       try {
           http_request = new ActiveXObject("Msxml2.XMLHTTP");
       } catch (e) {
           try {
           http_request = new ActiveXObject("Microsoft.XMLHTTP");
           } catch (e) {}
       }
   }

   if (!http_request) {
       alert('Unfortunatelly you browser doesn\'t support this feature.');
       return false;
   }
   http_request.onreadystatechange = function() {
       if (http_request.readyState == 4) {
           if (http_request.status == 200) {
			   if (return_xml) {
                   eval(
						callback_function + '(http_request.responseXML)');
				  
				   } else {
                   eval(callback_function + '(http_request.responseText)');
				   
               }
			   
			      
			   } else {
               //alert('There was a problem with the request.(Code: ' + http_request.status + ')');
           }
       }
   }
   http_request.open('GET', url, true);
   http_request.send(null);
   
}


