function AjaxRequest(url, OnSuccess, OnFailure) {
	var XMLHttpObject = false;

	function ReadyStateCheck() {
		if (XMLHttpObject.readyState == 4) {
			if (XMLHttpObject.status == 200) {
				if (XMLHttpObject.responseXML.firstChild) {
					OnSuccess(XMLHttpObject.responseXML);
				} else {
					OnFailure(2, XMLHttpObject.responseText)
				}
			} else {
				OnFailure(1);
			}
		}
	}

	if (window.XMLHttpRequest) {
		XMLHttpObject = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		try {
			XMLHttpObject = new ActiveXObject("Microsoft.XMLHTTP");
		} catch (e) {
		}
	}

	if (XMLHttpObject) {
		XMLHttpObject.onreadystatechange = ReadyStateCheck;
		XMLHttpObject.open("GET", url, true);
		XMLHttpObject.send(null);
	} else {
		OnFailure(0);
	}
}
