


function makeHttpRequest(url, callbackFunction, returnXml)
{
	var httpRequest, response, i;

	var activex_ids = [
		'MSXML2.XMLHTTP.3.0',
		'MSXML2.XMLHTTP',
		'Microsoft.XMLHTTP'
	];

	if (window.XMLHttpRequest) { // Mozilla, Safari, IE7+...
		httpRequest = new XMLHttpRequest();
		if (httpRequest.overrideMimeType) {
			httpRequest.overrideMimeType('text/xml');
		}
	} else if (window.ActiveXObject) { // IE6 and older
		for (i = 0; i < activex_ids.length; i++) {
			try {
				httpRequest = new ActiveXObject(activex_ids[i]);
			} catch (e) {}
		}
	}

	if (!httpRequest) {	return false;	}

	httpRequest.onreadystatechange = function() {
		if (httpRequest.readyState !== 4) {
				// not ready yet
				return;
		}
		if (httpRequest.status !== 200) {
			// ready, but not OK
			//alert('There was a problem with the request.(Code: ' + httpRequest.status + ')');
			return;
		}
		if (returnXml) {
			response = httpRequest.responseXML;
		} else {
			response = httpRequest.responseText;
		}
		// invoke the callback
		if (callbackFunction) {
			callbackFunction(response);
		}
	};

	httpRequest.open('GET', url, true);
	httpRequest.send(null);
}

