function http_request(url,return_function,method,post_value,timeout_value)
{
	xml_url = url;
	xml_return_function = return_function;
	xml_method = method;
	xml_post_value = post_value;
	xml_timeout_value = timeout_value;
	
	try {
		if((xml_method == 'POST') && (xml_post_value != '')) { xml_method_type = false; }
		else if(xml_method == 'GET') { xml_method_type = true; xml_post_value = ''; }
		else { xml_method = 'GET'; xml_method_type = true; xml_post_value = ''; }
	} catch(e) { xml_method = 'GET'; xml_method_type = true; xml_post_value = ''; }
	if(isNaN(xml_timeout_value)) { xml_timeout_value = 0; }
	
	try {//var url_request;
	if(window.XMLHttpRequest)
		{ url_request = new XMLHttpRequest();
		url_request.open(xml_method, xml_url, xml_method_type);
		if(xml_method == 'POST') { url_request.setRequestHeader("Content-Type", "text/xml"); url_request.send(xml_post_value); }
		else { url_request.send(null); } }
	else if(window.ActiveXObject)
		{ url_request = new ActiveXObject("Microsoft.XMLHTTP");
			if (url_request)
			{ url_request.open(xml_method, xml_url, xml_method_type);
				if(xml_method == 'POST') { url_request.setRequestHeader("Content-Type", "text/xml"); url_request.send(xml_post_value); }
				else { url_request.send();  } } }
		if(xml_timeout_value > 0) { xml_request_timeout = window.setTimeout("abort_http_request('' + xml_return_function + '');", xml_timeout_value); }
	} catch(e) {
	var return_value = 'Name: ' + e.name + '<br>Description: ' + e.description;
	if(xml_timeout_value > 0) { clearTimeout(xml_request_timeout); }
	eval(xml_return_function + '(return_value)'); }
	
	if(xml_method == 'POST') {
		try {
				if(url_request.getResponseHeader("Content-Type").search('xml') > 0)
				{ return_type = 'xml'; return_value = url_request.responseXML; }
				else
				{ return_type = 'text'; return_value = url_request.responseText; }
				if(xml_timeout_value > 0) { clearTimeout(xml_request_timeout); }
				eval(xml_return_function + '(return_value,return_type)');
			} catch(e) {
				var return_value = 'Name: ' + e.name + '<br>Description: ' + e.description;
				if(xml_timeout_value > 0) { clearTimeout(xml_request_timeout); }
				eval(xml_return_function + '(return_value)'); }
	} else if(xml_method == 'GET') {
		try {
			url_request.onreadystatechange = function() { if (url_request.readyState == 4) { if(url_request.status == 200) {
				if(url_request.getResponseHeader("Content-Type").search('xml') > 0)
				{ return_type = 'xml'; return_value = url_request.responseXML; }
				else
				{ return_type = 'text'; return_value = url_request.responseText; }
				if(xml_timeout_value > 0) { clearTimeout(xml_request_timeout); }
				eval(xml_return_function + '(return_value,return_type)');
			} }
			}
		} catch(e) {
		var return_value = 'Name: ' + e.name + '<br>Description: ' + e.description;
		if(xml_timeout_value > 0) { clearTimeout(xml_request_timeout); }
		eval(xml_return_function + '(return_value)'); }
	}
}

function abort_http_request(xml_return_function)
{ url_request.abort();
var return_value = "Request timed out.";
eval(xml_return_function + '(return_value)'); }
