//////////////////////
//Modal PopUp Dialog//
//////////////////////
var modalWindow = false;
var modalWindowOpened = false;
var modalScriptLoaded = true;
var tempModalUnloadCancel = false;
var opener;

function newModalWindow(winUrl, winHeight, winWidth)
{
	var winl = (screen.width - winWidth) / 2;
    	var wint = (screen.height - winHeight) / 2;
	if(!modalWindow || modalWindow.closed)
	{
		modalWindow = window.open(winUrl,"","status=no,scrollbars=no,resizable=no,height="+winHeight+",width="+winWidth+",top="+wint+",left="+winl);
		modalWindowOpened = true;
	}
}

function focusModal()
{
	if(modalWindow && !modalWindow.closed)
	{ 
		window.focus();
		if(modalWindow.modalScriptLoaded)
			modalWindow.focusModal();
		else
			modalWindow.focus();
	}
	else
		window.focus();
}

function tempUnloadCancel()
{
	tempModalUnloadCancel = true;
}

function modalDialogUnload(e)
{
	if(!tempModalUnloadCancel)
	{
		if(modalWindow && !modalWindow.closed)
			modalWindow.close();
		if(opener)
		{
			if(opener.modalWindowOpened)
				opener.focus();
		}
	}
	else
		tempModalUnloadCancel = false;
}

function checkEventStatus(e)
{
	if(!modalWindow || modalWindow.closed)
	{
		return true;
	}
	else
	{
		if(modalWindow.modalScriptLoaded)
			modalWindow.focusModal();
		else
			modalWindow.focus();
		return false;
	}
	return false;
}

document.onfocus = checkEventStatus;
document.onmousedown = checkEventStatus;
document.onmouseup = checkEventStatus;
document.onclick = checkEventStatus;
document.onunload = modalDialogUnload;
window.onunload = modalDialogUnload;

///////////////////////
//End Modal Dialog/////
///////////////////////

