/*
	FILE : ajax_http_request.js
	DATE : 12.19.2005
	AUTH : David A Striegel
	COPY : 2005 Copyright Mindframe, Inc.
*/

function getRequestObject() 
{
	var oRequest = null;
	/*@cc_on 
		@if (@_jscript_version >= 5) 
			try { oRequest = new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { oRequest = new ActiveXObject('Microsoft.XMLHTTP'); } catch (E) { oRequest = null; } } 
		@else 
			this.xmlhttp = null; 
		@end 
	@*/ 
	if (!oRequest && typeof XMLHttpRequest != 'undefined') { try { oRequest = new XMLHttpRequest(); } catch (e) { oRequest = null; } }
	return oRequest;
}

var bRequestInProgress = false;
var oRequest = getRequestObject();
var cc = null;

function loadModule(sURL,elm)
{
	if (oRequest && document.getElementById)
	{
		if (bRequestInProgress) return;
		cc = document.getElementById(elm);
		
		bRequestInProgress = true;
		
		var sep = (-1 < sURL.indexOf("?")) ? "&" : "?"	
		sURL = sURL + sep + "ts=" + encodeURIComponent((new Date()).getTime());

		oRequest.open('GET', sURL, true);
		
		oRequest.onreadystatechange = function()
		{ 
			if (oRequest.readyState == 4) 
			{
				if (oRequest.status == 200) // REQUEST SUCCEEDED
					cc.innerHTML = oRequest.responseText;					
				else // REQUEST FAILED
				{
					var errorMessage = 'The sort order update failed.<br>';
					errorMessage += 'AJAX details: ';
					errorMessage += oRequest.status + ': ' + oRequest.statusText;
					cc.innerHTML = errorMessage;
				}
	
				bRequestInProgress = false;
				cc = null;
			} 
		} 
	
		oRequest.send(null);
		return false;
	}
	else
		return true;
}
