﻿var ModalDialogWindow = '';
var ModalDialogInterval;
var bParentWindowOnFocus = false;
var bCenterModal;

function ModalDialogMaintainFocus() {
	try {
	    if (ModalDialogWindow == '')
		    return;
    		
	    if (ModalDialogWindow.closed) {
		    window.clearInterval(ModalDialogInterval);
		    window.detachEvent("onfocus", WindowOnFocus);
		    ModalDialogWindow = '';
		    return;
	    }
	    if (bParentWindowOnFocus) {
		    ModalDialogWindow.focus();
		    bParentWindowOnFocus = false;
	    }
    }//
	catch(ex){}
}

function ModalDialogShow(sUrl, sWindowName, sArgs, bCenterWindow){	
	if (bCenterWindow != null) 
		bCenterModal = bCenterWindow;
	else
		bCenterModal = true;
	
	ModalDialogWindow=window.open(sUrl,sWindowName,sArgs);
	try{ModalDialogWindow.attachEvent ("onload", ModalOnLoad);}catch(ex){}
	ModalDialogWindow.focus();
	ModalDialogInterval = window.setInterval("ModalDialogMaintainFocus()",5); 
	
	bParentWindowOnFocus = false;
	window.attachEvent ("onfocus", WindowOnFocus);
}

function ShowPopUpWindow(sUrl, sWindowName, sArgs, bCenterWindow) {
	if (bCenterWindow != null)
		bCenterModal = bCenterWindow;
	else
		bCenterModal = true;

	ModalDialogWindow = window.open(sUrl, sWindowName, sArgs);
	try { ModalDialogWindow.attachEvent("onload", PopUpOnLoad); } catch (ex) { }
	ModalDialogWindow.focus();
	ModalDialogInterval = window.setInterval("ModalDialogMaintainFocus()", 5);

	bParentWindowOnFocus = false;
	window.attachEvent("onfocus", WindowOnFocus);
}

function WindowOnFocus () {
	bParentWindowOnFocus = true;
}

function ModalOnLoad () {
	if (bCenterModal == true) {
		var xModal = ModalDialogWindow.document.body.offsetWidth;
		var xWindow = window.document.body.offsetWidth;
		var yModal = ModalDialogWindow.document.body.offsetHeight;
		var yWindow = window.document.body.offsetHeight;
		var iLeft = window.screenLeft;
		var iTop = window.screenTop;
		
		ModalDialogWindow.moveTo (((xWindow-xModal) / 2) + iLeft, ((yWindow-yModal) / 2) + iTop);
	}
	
	// Run the event only once
	ModalDialogWindow.detachEvent("onload", ModalOnLoad);
}

function PopUpOnLoad() {
	// Run the event only once
	ModalDialogWindow.detachEvent("onload", ModalOnLoad);
}