function adrHTMLRequest_Create(URL, async) {
    var http_request = false;
    if (window.XMLHttpRequest) {
		//Other browser
        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)
		return false;
	if (http_request.onresponse) http_request.onresponse = function(http_request) {};
	if (http_request.onreceive) http_request.onreceive =  function(http_request) {};
	if (http_request.runJavaScript) {	
		http_request.runJavaScript = function(http_request) {
			if (http_request.getResponseHeader('Content-Type').substr(0,15) == "text/javascript") 
				eval(http_request.responseText);
		}
	}
	http_request.onreadystatechange = function() {
		if (http_request.onresponse) http_request.onresponse(http_request);
		if (http_request.readyState==4) {
			if (http_request.onreceive) http_request.onreceive(http_request);
			if (http_request.runJavaScript) {
				http_request.runJavaScript(http_request);
			} else {
				if (http_request.getResponseHeader('Content-Type').substr(0,15) == "text/javascript") 
					eval(http_request.responseText);
			}
		}
	}
	if (URL != null) {
		http_request.open("POST", URL, async==null?"true":async);
		http_request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
	}
	return http_request;
}

function adrHTMLRequest(URL, PostData, ReceiveFunction) {
	var async = ReceiveFunction != null;
	var http_request = adrHTMLRequest_Create(URL, async);
	if (async)
		http_request.onreceive = ReceiveFunction;
	http_request.send(PostData);
	return http_request;
}
