// AJAX Processing Script
//
// Calling program : ajax_modules.cfm
// Output File : ajax_files/modules.cfm
//
//
var jsmx = new jsmxConstructor();
var cmXmlHttp
var displayregion = '';


function AjaxDisplayPage(page,regionid)
{

var url=page
displayregion = regionid
cmXmlHttp=GetHttpObject(folderChanged)
cmXmlHttp.open("GET", _noCache(url) , true)
cmXmlHttp.send(null)
}

function folderChanged()
{
var self = (this.isJSMX) ? this : jsmx ;
self.onWait(self.waitDiv);
if (cmXmlHttp.readyState==4 || cmXmlHttp.readyState=="complete")
{

document.getElementById(displayregion).innerHTML= cmXmlHttp.responseText;
//document.getElementById(displayregion).onclick="window.location=index.cfm";

self.onWaitEnd(self.waitDiv);
}
}

function GetHttpObject(handler)
{
try
{
var cmRequester = new XMLHttpRequest();
	cmRequester.onload=handler
	cmRequester.onerror=handler
	return cmRequester
}
catch (error)
{
try
{
var cmRequester = new ActiveXObject("Microsoft.XMLHTTP");
cmRequester.onreadystatechange=handler
return cmRequester
}
catch (error)
{
return false;
}
}
}
//JSMX ADD Ons
function jsmxConstructor(){
	this.isJSMX = true;
	this.async = true;
	this.debug = false;
	this.waitDiv = 'JSMX_loading';
	this.onWait = _popWait;
	this.onWaitEnd = _killWait;
	this.onError = _onError;
}
//IE likes to cache so we will fix it's wagon!
function _noCache(url){
	var qs = new Array();
	var arr = url.split('?');
	var scr = arr[0];
	if(arr[1]){ qs = arr[1].split('&'); }
	qs[qs.length]='noCache='+new Date().getTime();
return scr+'?'+qs.join('&');
}

function _popWait(id){ 
	proc = document.getElementById(id);
	if( proc == null ){
		var p = document.createElement("div");
		p.id = id;
		document.body.appendChild(p);
	}
}

function _killWait(id){
	proc = document.getElementById(id);
	if( proc != null ){ document.body.removeChild(proc); }
}

function _onError(obj,inst,errCode){ 
	var msg;
	switch(errCode){
		case 1:/*parsing error*/
			msg = (inst.debug) ? obj.responseText : 'Parsing Error: The value returned could not be evaluated.';
			break;
		case 2:/*server error*/
			msg = (inst.debug) ? obj.responseText : 'There was a problem retrieving the data:\n' + obj.status+' : '+obj.statusText;
			break;
		case 3:/*browser not equiped to handle XMLHttp*/
			msg = 'Unsupported browser detected.';
			return;/*you can remove this return to send a message to the screen*/
			break;		
	}		
	if(inst.debug){
		var debugWin = window.open('','error');
		debugWin.document.write(msg);
		debugWin.focus();
	}else{
		alert(msg);
	}
}
