var oMain = oDivLoad = oLdImg = Loader_Blocked = null;

function Loader_Load() {
	/* Get the image in memory well in advance so it shows */
	oLdImg = document.createElement('img');
	oLdImg.src = '/images/ajax-report.gif';
	oLdImg.align = 'absmiddle';
	oLdImg.width = 54;
	oLdImg.height = 55;
	
	oMain = document.getElementById("oMain");
	
	document.onkeydown = Loader_StateDown;
	document.onkeyup = Loader_StateUp;
}

Loader_StateDown = function(e) {
	var evt = window.event || e;

	if (evt.keyCode == 17) {
		Loader_Blocked = true;
	}
}

Loader_StateUp = function(e) {
	var evt = window.event || e;
	
	if (evt.keyCode == 17) {
		Loader_Blocked = false;	
	}
}

function Loader_Display(e) {
	if (!Loader_Blocked) {
		if (oDivLoad == null) 
		{
			LoadingDiv_Init();		
		}
		else
		{
			oDivLoad.style.display = 'block';
		}
	
		YAHOO.util.Dom.setStyle( oMain, 'opacity', .25);
	}
}

function Loader_Hide() {
	oDivLoad.style.display = 'none';
	YAHOO.util.Dom.setStyle( oMain, 'opacity', 1);
}

function LoadingDiv_Init() {
	var r = YAHOO.util.Dom.getRegion( oMain );
	
	var sBody = (typeof(_BodyCopy) == 'string') ? _BodyCopy : ' The system is loading a large amount of data, please stand by ...';
	var sTitle = (typeof(_Title) == 'string') ? _Title : 'Loading Data...';
		
	oDivLoad = document.createElement('div');
	
	// Build out the required HTML elements ...
	var ld_fs = document.createElement('fieldset');
	var ld_lg = document.createElement('legend');

	// Position & styleize the Alert Notice ...
	ld_fs.className = 'noticeBox';
	
	oDivLoad.style.position = 'absolute';
	oDivLoad.style.top = r.top+30;
	oDivLoad.style.left = Math.round(r.left+((r.right-r.left)*.1));
	oDivLoad.style.right = Math.round(r.left+((r.right-r.left)*.1))

	// Wire Up YAHOO UI activity.

	// Stitch the elements together.
	ld_lg.appendChild(document.createTextNode(sTitle));
	ld_fs.appendChild(ld_lg);
	
	ld_span = document.createElement('span');
	ld_span.appendChild(oLdImg);
	ld_span.appendChild(document.createTextNode(sBody));
	
	ld_fs.appendChild(ld_span);

	oDivLoad.appendChild(ld_fs);
	document.getElementsByTagName("body")[0].appendChild(oDivLoad);			
}

YAHOO.util.Event.onDOMReady( Loader_Load );