var http_request = false;
var return_js_action = false;
function makeRequest(strURL, sAction) {
	http_request = false;
	return_js_action = sAction;
	
	if ( document.getElementById( 'divAjaxDebug' ) )
		document.getElementById( 'divAjaxDebug' ).innerHTML = '<a href="'+strURL+'" target="_new">'+strURL+'</a> ('+sAction+')'+'<hr>\n'+document.getElementById( 'divAjaxDebug' ).innerHTML;
	
	if (window.XMLHttpRequest) { // Mozilla, Safari,...
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType)
			http_request.overrideMimeType('text/xml'); // needed for some Mozilla init bug
	}
	else if (window.ActiveXObject) { // IE
		try			{ http_request = new ActiveXObject("Msxml2.XMLHTTP"); } // new version
		catch (e)	{
			try			{ http_request = new ActiveXObject("Microsoft.XMLHTTP"); }
			catch (e)	{ http_request = false; }
		}
	}
	if (!http_request) { 
		//alert('Cannot create an XMLHTTP instance.'); 
		return false; 
	}

	http_request.open('POST', strURL, true); // true = asynch, false = synch
	http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); // for POST method
	http_request.onreadystatechange = eval(sAction); //handleRequest // ; //eval(sAction);
	http_request.send(null); // don't go anywhere after done }
}
function handleRequest() {
	if (http_request.readyState == 4) {	// 0 (uninitialized) 1 (loading) 2 (loaded) 3 (interactive) 4 (complete) 
		// status list: http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html
		if (http_request.status == 200)	{ return(http_request.responseText);		}
		else							{ 
			//alert('HTTP REQUEST STATUS: '+http_request.status);	
			//alert(http_request.responseText);
		}
	}
}

