function HTTPRequest(sURL, hCallback) {
	var oRequest;
	
	if (window.XMLHttpRequest) {
		oRequest = new XMLHttpRequest();
	} else if (window.ActiveXObject) {
		oRequest = new ActiveXObject("Microsoft.XMLHTTP");
	}
	
	if (!oRequest) {
		return;
	}
	
	if (hCallback) {
		document.CurrentRequest = oRequest;
		
		oRequest.open("GET", sURL, true);
		oRequest.onreadystatechange = hCallback;
		oRequest.send(null);
	} else {
		oRequest.open("GET", sURL, false);
		return oRequest.responseText;
	}
}

function HTTPAbort() {
	if (document.CurrentRequest) {
		document.CurrentRequest.abort();
		document.CurrentTargetID = null;
	}
	
	if (document.CurrentRequestTimer) {
		clearTimeout(document.CurrentRequestTimer);
		document.CurrentTargetID = null;
	}
	
	if (document.CurrentRequestCloseTimer) {
		clearTimeout(document.CurrentRequestCloseTimer);
		document.CurrentRequestCloseTimer = null;
	}
}
