var msie = navigator.appName.toUpperCase().indexOf("INTERNET EXPLORER") != -1;
var nn = navigator.appName.toUpperCase().indexOf("NETSCAPE") != -1;
var gecko = navigator.appName.toUpperCase().indexOf("GECKO") != -1;

// Disable Status Message
var disableStatusMessage = false;

// Capture Mouse Clicks
var captureClicks = true;

// Handle Special Key events
var captureKeyEvents = true;

// Close Window on Press of escape
var enableCloseOnEscape = true;

/*************************************** Event handling - Start ***************************************/

//Handle Special Key Events
function handleKeyEvents(k)
{
	//8: BACKSPACE (Prev page)
	//ALT-36: ALT-Home (Home page)
	//ALT-37: ALT-Left (Prev page)
	//ALT-39: ALT-Right (Next page)
	//CTRL-78: CTRL-N (New Window)
	//CTRL-82: CTRL-R (Refresh)
	//93: Windows Right Mouse Key
	//116: F5 (Refresh)
	//SHIFT-121: SHIFT-F10 (Windows Right Mouse Key)
	//122: F11 (Full Screen)

	if  (msie)
	{
		if (event.keyCode == 8 || event.keyCode == 93 || event.keyCode == 116 || event.keyCode == 122 || (event.keyCode == 121 && event.shiftKey) || ((event.keyCode == 36 || event.keyCode == 37 || event.keyCode == 39) && event.altKey) || ((event.keyCode == 82 || event.keyCode == 78) && event.ctrlKey))
		{
			if (event.keyCode == 116 || event.keyCode == 121 || event.keyCode == 122)
				event.keyCode = 0;

			if((event.keyCode != 8) || (event.keyCode == 8 && event.srcElement.tagName.toUpperCase() != "INPUT"))
				return false;
		}
	}
	return true;
}

//Set to Capture Key Events
if (captureKeyEvents)
{
	if (msie || gecko)
		document.onkeydown = handleKeyEvents;
}

//Set to Capture Mouse Click Events
if (captureClicks)
{
	if (document.layers)
	{
		document.captureEvents(Event.MOUSEDOWN);
	}

	document.oncontextmenu = norightclick;
	document.onmousedown   = norightclick;
	document.onmouseup     = norightclick;
}

//Handle Right Mouse Click Events
function norightclick(e)
{
	if (document.getElementById || document.all)
		return false;
	else if (document.layers && (e.which == 2 || e.which == 3))
		return false;
	return true;
}

//Disable Status Message
if (disableStatusMessage)
{
	document.onmouseover = function (e)
	{
		if (!e)
			e = window.event;

		var el = e.target ? e.target : e.srcElement;

		while (el != null && el.tagName != "A")
			el = el.parentNode;

		if (el == null )
			return;

		if (e.preventDefault)
			e.preventDefault();
		else
			e.returnValue = true;
	}
}

//Disable Paste Function
function disablePaste()
{
	if(event.ctrlKey)
	{
		if(event.keyCode == 86)
		{
			alert(Messages[MSG_USR_NOT_ALLOWED_TO_PERFORM]);
			return false;
		}
	}
}

if (enableCloseOnEscape && opener)
{
	if (nn)
	{
		document.captureEvents(Event.KEYUP);
		document.onkeyup = whenKeyUp;
	}
	else if (msie || gecko)
		document.onkeypress=whenKeyPressed;
}

function whenKeyUp(e)
{
	if (nn && e.which == 27)
		closeOnEscape();
}

function whenKeyPressed(e)
{
	if ((msie || gecko) && window.event.keyCode == 27)
		closeOnEscape();
}

function closeOnEscape()
{
	if (opener && opener.top && self.name == opener.top.cibChildWinName)
		opener.top.closeChildWindow();
}
/*************************************** Event handling - End***************************************/
