var Firefox = (document.getElementById && !document.all);
var MSIE = (-1 != navigator.userAgent.indexOf('MSIE'));

function getTrueBody() {
	return(document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body;
}

function getViewportWidth()
{
	var width = self.innerWidth;
	var mode = document.compatMode;

	if (mode || MSIE) {
		width = getTrueBody().clientWidth;
	}
	return width;
}

function getViewportHeight()
{
	var height = self.innerHeight;
	var mode = document.compatMode;

	if (mode || MSIE) {
		height = getTrueBody().clientHeight;
	}

	return height;
}

function GetDocumentWidth()
{
	var scrollWidth = getTrueBody().scrollWidth;
	var ret = Math.max(scrollWidth, getViewportWidth());
	return ret;
}

function GetDocumentHeight()
{
	var scrollHeight = getTrueBody().scrollHeight;
	var ret = Math.max(scrollHeight, getViewportHeight());
	return ret;
}

function DocumentReSize()
{
	var mydiv = document.getElementById('modal_dlg');
	
	if (mydiv) {
		mydiv.style.width = GetDocumentWidth();
		mydiv.style.height = GetDocumentHeight();
		
		if (MSIE) {
			var iframe = document.getElementById('modal_dlg_iframe');
			iframe.style.width = mydiv.style.width;
			iframe.style.height = mydiv.style.height;
		}
	}
}

function hide_modal()
{
	var mydiv = document.getElementById('modal_dlg');

	if (!mydiv) {
		return;
	}
	
	if (MSIE) {
		var iframe = document.getElementById('modal_dlg_iframe');
		iframe.style.display = 'none';
	}

	Spry.Utils.setInnerHTML(mydiv.maskMsg,"",false);
	mydiv.maskMsg.style.display = 'none';

	mydiv.style.display = 'none';

	window.onresize = null;
}

var emydiv;
var eMaskMsg;

function show_modal(html_content)
{
	var mydiv;
	mydiv = document.getElementById('modal_dlg');
	if (!mydiv) {
		mydiv = document.createElement('div');
		mydiv.id = 'modal_dlg';
		document.body.appendChild(mydiv);

		mydiv.maskMsg = document.createElement('div');
		document.body.appendChild(mydiv.maskMsg);
		mydiv.maskMsg.id = 'modal_content';
			
		/* iframe fr IE6 <select> Problem!*/
		
		if (MSIE) {
			iframe = document.createElement('IFRAME');
			iframe.id = 'modal_dlg_iframe';
			document.body.appendChild(iframe);
		}
		mydiv.style.top = 0+'px';
		mydiv.style.left = 0+'px';
		mydiv.style.zIndex = 10000;
		mydiv.style.width = GetDocumentWidth()+'px';
		mydiv.style.height = GetDocumentHeight()+'px';
		mydiv.style.display = 'block';
		mydiv.style.position = 'absolute';
		mydiv.style.filter = "alpha(opacity:70)";
		mydiv.style.KHTMLOpacity = 0.7;
		mydiv.style.MozOpacity = 0.7;
		mydiv.style.opacity = 0.7;
		mydiv.style.background = '#333333';

//	mydiv.maskMsg.style.border = 'double #c3daf9';
	mydiv.maskMsg.style.border = 'none';
//	mydiv.maskMsg.style.backgroundColor = '#ffffff';
	mydiv.maskMsg.style.position = 'absolute';
	mydiv.maskMsg.style.display = 'none';
	mydiv.maskMsg.style.fontSize = '12px';
	mydiv.maskMsg.style.fontFamily = 'Arial, Helvetica, sans-serif';
	mydiv.maskMsg.style.color = '#333333';
	mydiv.maskMsg.style.padding = '5px 10px';
//	mydiv.maskMsg.style.top = parseInt(getTrueBody().scrollTop)+ (getViewportHeight()/2) - (parseInt(mydiv.maskMsg.clientHeight) / 2)+'px';
//	mydiv.maskMsg.style.left = (getViewportWidth()/2) - (parseInt(mydiv.maskMsg.clientWidth)/2) + parseInt(getTrueBody().scrollLeft)+'px'; 
	mydiv.maskMsg.style.zIndex = mydiv.style.zIndex + 1;
	
		eMaskMsg = new Spry.Effect.Fade("modal_content",{from:'0%',to:'100%',duration:500});
	}

	if (MSIE) {
		iframe.style.top = 0+'px';
		iframe.style.left = 0+'px';
		iframe.style.zIndex = mydiv.style.zIndex - 1;
		iframe.style.display = 'block';
		iframe.style.position = 'absolute';
		iframe.style.border = 0+'px';
		iframe.scrolling = 'no';
		iframe.style.width = mydiv.style.width;
		iframe.style.height = mydiv.style.height;
		iframe.style.filter = "alpha(opacity:0)";
		iframe.style.KHTMLOpacity = 0;
		iframe.style.MozOpacity = 0;
		iframe.style.opacity = 0;
		
	}

	if (html_content) {
		Spry.Utils.loadURL("POST", html_content, false,
			function(req) {
				mydiv.style.display = 'block';
				Spry.Utils.setInnerHTML(mydiv.maskMsg,req.xhRequest.responseText,false);
				mydiv.maskMsg.style.display = 'block';
				reset_position();
				eMaskMsg.start();
//				mydiv.maskMsg.innerHTML=req.xhRequest.responseText;
			},{
			postData: "X-Ajax-Request=1",
//			errorCallback: show_ajx_error,
			headers: { "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8" }
		});			
	}
	
	window.onresize = DocumentReSize;
}

function reset_position() 
{
	mydiv = document.getElementById('modal_dlg');
	if (!mydiv) {
		return;
	}
		
	mydiv.maskMsg.style.top = parseInt(getTrueBody().scrollTop)+ (getViewportHeight()/2) - (parseInt(mydiv.maskMsg.clientHeight) / 2)+'px';
	mydiv.maskMsg.style.left = (getViewportWidth()/2) - (parseInt(mydiv.maskMsg.clientWidth)/2) + parseInt(getTrueBody().scrollLeft)+'px'; 
	
}
