function centerObject(obj) {
	var iebody = (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;

	obj.style.top = (iebody.clientHeight / 2) + iebody.scrollTop + 'px';
	obj.style.left = (iebody.clientWidth / 2) + iebody.scrollLeft + 'px';
	obj.style.top = (obj.offsetTop - (obj.scrollHeight / 2)) + 'px';
	obj.style.left = (obj.offsetLeft - (obj.scrollWidth / 2)) + 'px';
}

function createShadowBox(obj, stagger, opacity) {
	stagger = stagger || 3;
	opacity = opacity || 30;

	objShadowBox = document.getElementById('ShadowBox') || document.createElement("DIV");
	objShadowBox.id = "ShadowBox";
	objShadowBox.style.position = "absolute";
	objShadowBox.style.height = obj.scrollHeight + 'px';
	objShadowBox.style.width = obj.scrollWidth + 'px';
	objShadowBox.style.top = (obj.offsetTop + stagger) + 'px';
	objShadowBox.style.left = (obj.offsetLeft + stagger) + 'px';
	objShadowBox.style.backgroundColor = "#000000";
	objShadowBox.style.zIndex = obj.style.zIndex - 1; 
	setOpacity(objShadowBox, opacity);
	
	return objShadowBox;
}

function displayMessage(msg, isModal, noStyle) {
	if (isModal === undefined) {isModal = true;}
	if (noStyle === undefined) {noStyle = false;}

	var iebody = (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;
	var isIELessThan7 = navigator.appName.indexOf("Microsoft")!= -1 && parseInt(navigator.appVersion) < 7;
	var objMsgBox = document.getElementById('MessageBox');

	if (!objMsgBox) {	
		objMsgBox = document.createElement("DIV");
		objMsgBox.id = "MessageBox";
		objMsgBox.className = noStyle ? "" : "MessageBox";
		objMsgBox.style.position = "absolute";
		objMsgBox.style.zIndex = "100";
	}
	
	objMsgBox.innerHTML = msg;

	if (!document.getElementById('MessageScreen')) {createScreenWideFrameForObj(objMsgBox);}
	document.getElementById('MessageScreen').style.display = ''; 
	document.getElementById("MessageScreenBackground").style.height = !isModal ? objMsgBox.scrollHeight : iebody.scrollHeight + 'px';
	document.getElementById("MessageScreenBackground").style.width = !isModal ? objMsgBox.scrollWidth : '100%';

	if (!objMsgBox.parentNode) {document.getElementById('MessageScreen').appendChild(objMsgBox);}

	//If ie < 7, SELECT boxes show up above everything, so hack by putting iframe behind DIV.
	if (isIELessThan7) {
		objIF = document.getElementById('objIF1');
		objIF.style.display = "";
		objIF.style.border = "none";
		objIF.style.zIndex = "0";
		objIF.style.position = "absolute";
		objIF.style.width = (objMsgBox.scrollWidth) + 'px';
		objIF.style.height = (objMsgBox.scrollHeight) + 'px';
		objIF.style.top = (iebody.clientHeight / 2) + iebody.scrollTop + 'px';
		objIF.style.left = (iebody.clientWidth / 2) + iebody.scrollLeft + 'px';
		objIF.style.top = ((objIF.offsetTop + 1) - (objIF.scrollHeight / 2)) + 'px';
		objIF.style.left = ((objIF.offsetLeft + 2) - (objIF.scrollWidth / 2)) + 'px';
	} else {
		objIF = document.getElementById('objIF1');
		objIF.style.display = "none";
	}

	objMsgBox.style.display = '';
	centerObject(objMsgBox);

	if (!isModal) {
		document.getElementById("MessageScreenBackground").style.display = 'none';
	}
	
	var objShadowBox = createShadowBox(objMsgBox);
	document.getElementById('MessageScreen').appendChild(objShadowBox);

	//Disable select boxes, if ie < 7.0 (due to bug in IE)
	if (isIELessThan7) {
		var arrSelects = document.getElementsByTagName('select');
		
		for (i = 0; i < arrSelects.length; i++) {
			arrSelects[i].style.display = 'none';
		}
	}
}

function hideMessage() {
	if (document.getElementById('MessageScreen')) {
		document.getElementById('MessageScreen').style.display = 'none';
	}

	//Enable select boxes, if ie < 7.0 (due to bug in IE)
	if (navigator.appName.indexOf("Microsoft")!= -1 && parseInt(navigator.appVersion) < 7) {
		var arrSelects = document.getElementsByTagName('select');
		
		for (i = 0; i < arrSelects.length; i++) {
			arrSelects[i].style.display = '';
		}
	}
}

function createScreenWideFrameForObj(obj) {
		var iebody = (document.compatMode && document.compatMode != "BackCompat")? document.documentElement : document.body;

		if (!document.getElementById('objIF1')) {
			iframe = document.createElement("iframe"); 
			iframe.setAttribute("src", "javascript:'<html></html>'"); 
			iframe.setAttribute("id", "objIF1"); 
			iframe.setAttribute("scrolling", "no"); 
			iframe.setAttribute("frameBorder", "0"); 
			iframe.style.display = "block";
			iframe.style.border = "none";
			iframe.style.zIndex = "4";
			iframe.style.position = "absolute";
			iframe.style.width = obj.scrollWidth + 'px';
			iframe.style.height = obj.scrollHeight + 'px';
			iframe.style.top = (iebody.clientHeight / 2) + iebody.scrollTop + 'px';
			iframe.style.left = (iebody.clientWidth / 2) + iebody.scrollLeft + 'px';
			iframe.style.top = (iframe.offsetTop - (iframe.scrollHeight / 2)) + 'px';
			iframe.style.left = (iframe.offsetLeft - (iframe.scrollWidth / 2)) + 'px';
			setOpacity(iframe, 0);
			document.body.appendChild(iframe);
		} 

		divMS = document.createElement("DIV");
		divMS = document.body.appendChild(divMS);
		divMS.id = "MessageScreen";
		divMS.style.position = "absolute"; 
		divMS.style.top = "0"; 
		divMS.style.left = "0"; 
		divMS.style.height = getPageSize()[1] + 'px';
		divMS.style.width = getPageSize()[0] + 'px';
		divMS.style.display = "none"; 
		divMS.style.textAlign = "center"; 
		divMS.style.margin = "0 auto";
				
		divMSBack = document.createElement("DIV");
		divMSBack.id = "MessageScreenBackground";
		divMS.appendChild(divMSBack);
		divMSBack.style.width = '100%'; 
		divMSBack.style.height = '100%'; 
		divMSBack.style.backgroundColor = "#000000";
		setOpacity(divMSBack,40);
		divMSBack.style.textAlign = "center"; 
		divMSBack.style.verticalAlign = "middle";
		
		if (document.all) {
			divTMP = document.createElement("DIV");
			divMS.appendChild(divTMP); 
			obj = divTMP.swapNode(obj);
		}		
}


function setOpacity(obj, opacity){
	obj.style.mozOpacity = opacity/100; 
	obj.style.opacity = opacity/100; 
	obj.style.filter = 'alpha(opacity=' + opacity + ')';
}