var isFireFox = navigator.userAgent.indexOf("Firefox") > -1;
var isIE = navigator.userAgent.indexOf("MSIE") > -1;

function getKey(event)
{
	if(isFireFox)
	{
		if(event.which == 0)
			return event.keyCode;
		else
			return event.which;
	}
	else if(isIE)
	{
	
		return window.event.keyCode;
	}
	else //for mac 
	{
		setEvent(event);
		return window.event.which;
	}
}

function shiftKeyPressed(event)
{
	if(isFireFox)
	{
		return event.shiftKey;
	}
	else if(isIE)
	{
		return window.event.shiftKey;
	}
	else //for mac 
	{
		setEvent(event);
		return window.event.shiftKey;
	}
}

function ctrlKeyPressed(event)
{
	if(isFireFox)
	{
		return event.ctrlKey;
	}
	else if(isIE)
	{
		return window.event.ctrlKey;
	}
	else //for mac 
	{
		setEvent(event);
		return window.event.ctrlKey;
	}
}


function setEvent(e)
{
	if(document.all) return;

	window.event = e
	window.event.fromElement = e.target
	window.event.toElement = e.target
	window.event.srcElement = e.target
	window.event.x = e.x
	window.event.y = e.y
	
	return;
		
}

//Checks whole numbers only
function numberMask(event)
{
	return checkKey(getKey(event));
}

//check whole numbers only
function checkKey(key)
{

	if(isNumberKey(key) || isNavKey(key))
		return true
	else
		return false;
}

function anyNumberMask(event)
{
	return checkNumberKeyPressed(getKey(event));
}

function suppressReturn(event)
{
	if(getKey(event) == 13)
	{
		if(window.event)
			window.event.keyCode = 0;
		return false;
	}
	else 
		return true;
}

function checkNumberKeyPressed(key)
{
/*

44 => ,
45 => -
46 => .
*/

	if(isNumberKey(key) || isNavKey(key) || key == 44 || key == 46)
		return true
	else
		return false;
}

function isNumberKey(key)
{
//47 - 58 => numbers 0-9

	if(key > 47 && key < 58)
		return true;
	else 
		return false;
}

function isNavKey(key)
{
/*
37 => left arrow
39 => right arrow
8 => backspace
46 => delete
36 => home
35 => end
9 => tab
*/

	if(key == 37 || key == 8 || key == 36 || key == 35 || key == 9)
		return true;
	else 
		return false;
	
}

function dateMask(event)
{
	return dateCheckKey(getKey(event));
}

function dateCheckKey(key)
{
/*
47 - 58 => numbers 0-9
45 => -
46 => .
47 => /
58 => :
97 => a
65 => A
109 => m
77 => M
p => 112
P => 80
" " => 32
*/

	if(isNumberKey(key) || isNavKey(key) || key == 45 || key == 46 || key == 47 || key == 58 || key == 97 || key == 65 
	|| key == 109 || key == 77 || key == 112 || key == 80 || key == 32)
		return true
	else
		return false;
}

function positiveWholeNumber(event)
{
	if(isNumberKey(getKey(event)))
		return true
	else
		return false;
}


function openImageViewer(data)
{
	window.location.href = pathToRoot + 'ImageViewer.aspx?' + data;	
	return;
}


function hideShowResultTable(rowId)
{
	var oRow = document.getElementById("row" + rowId);
	
	if(oRow)
	{
		var cn = oRow.className;
		if(cn.indexOf("hide", 0) >= 0)
		{
			var re = /hide/;
			oRow.className = cn.replace(re, "show");	
			
		}
		else
		{
			var re = /show/;
			oRow.className =  cn.replace(re, "hide");
		}
	}
	return;
}


function emptyHandle()
{

}

document.onkeypress = ems_gotosyscheck;
function ems_gotosyscheck(event) 
{ 
	try 
	{
	
	    if(ctrlKeyPressed(event) && shiftKeyPressed(event)) 
		{
		    if(getKey(event) == 10 || getKey(event) == 11 || getKey(event) == 13 || getKey(event) == 75) 
			{
				document.getElementById('syscheckdata').submit()
			}
		}
		
		//Calls to hide the calendar if escape is pressed.
		if(isFireFox)
		{
			if(event.keyCode == 27)
				if(typeof(hideCalendar) != 'undefined')
					hideCalendar();
		}
		else
		{
			if(getKey(event) == 27)
			{
				if(typeof(hideCalendar) != 'undefined')
					hideCalendar();
			}
		}
	}
	catch (somethingBad){}
}

function clearItems(oBox)
{
	if(oBox)
	{
		for (var i = oBox.options.length - 1; i > -1; i--)
		{
			oBox.options[i] = null;
		}
	}
}

function selectOption(optionValue, oBox)
{
	for (var i = 0; i < oBox.options.length; i++)
	{
		if(oBox.options[i].value == optionValue)
		{
			oBox.selectedIndex = i;
			break;
		}
	}
}

function buildItems(oBox, nodeListLength, valueList, textList)
{
	clearItems(oBox);
	var text; 
	var v;
	var listItem;

	for (var i = 0; i < nodeListLength; i++)
	{
		v = getText(valueList[i]);
		text = getText(textList[i]);
		listItem = new Option(text, v,  false, false);
		oBox.options[oBox.length] = listItem;
	}
}

function loadTimeZones(root)
{
	var oTimeZones = document.getElementById(oTzDropId);
	if(oTimeZones)
	{
		var iLastTZ = Number(oTimeZones.value);
		
		var buildingTZ = Number(getText(root.getElementsByTagName("BuildingTimeZoneId")[0]));
		
		buildItems(oTimeZones, root.getElementsByTagName('TimeZones').length, root.getElementsByTagName('TimeZoneId'), root.getElementsByTagName('TimeZone'));					

		if(buildingTZ != -1)
		{
			selectOption(buildingTZ, oTimeZones);
		}
		else
		{
			if(iLastTZ != -1)
			{
				selectOption(iLastTZ, oTimeZones);
			}
		}
		
		if(oTimeZones.options.length == 2)
			oTimeZones.selectedIndex = 1
	}
}


var origRowColor = "white";
		
function setRowColorOn(row)
{
	var color = row.style.backgroundColor;
	
	if(color == 'undefined')
		color = "white";

	origRowColor = color;
	row.style.backgroundColor = "#e7f1c9";
}
function setRowColorOff(row)
{
	row.style.backgroundColor = origRowColor;
}

function setRemoveAllColor(row)
{
	row.style.backgroundColor = "#F9ad90";
}

function doVoid()
{
	return;
}




