function makeHttpRequest(url, callback_function, return_xml)
{
	var http_request = false;
	
	if (window.XMLHttpRequest) 
	{ // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) 
		{
			http_request.overrideMimeType('text/xml');
		}
	} 
	else if (window.ActiveXObject) 
	{ // IE
		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);
}
