// Don't hide SELECTs when menu drops down
unityMenuShowHideSelects = 0;

/* Tabbed pane functions */
function showTab(paneId, tabNumber, tabTitleClass, tabBodyClass, tabTitleSelectedClass, tabBodySelectedClass)
{
	if (!tabTitleClass) tabTitleClass = 'tabTitle';
	if (!tabBodyClass) tabBodyClass = 'tabBody';
	if (!tabTitleSelectedClass) tabTitleSelectedClass = tabTitleClass + 'Selected';
	if (!tabBodySelectedClass) tabBodySelectedClass = tabBodyClass + 'Selected';

	var pane = document.getElementById(paneId);
	if (pane)
	{
		if (!pane.tabCount)
		{
			var paneTitles = document.getElementById(paneId + '-Titles');
			pane.tabCount = (paneTitles) ? paneTitles.childNodes.length : tabNumber;
			
		}
		for (var i = 1; i <= pane.tabCount; i++)
		{
			var paneTitle = document.getElementById(paneId + '-Title-' + i.toString());
			if (paneTitle)
			{
				paneTitle.className = (i == tabNumber) ? tabTitleSelectedClass : tabTitleClass;
			}
			var paneBody = document.getElementById(paneId + '-Body-' + i.toString());
			if (paneBody)
			{
				paneBody.className = (i == tabNumber) ? tabBodySelectedClass : tabBodyClass;
			}
		}
	}
}

/* Text box prompt functions */
function showTextboxPrompt(txt, className)
{
	if (txt.value == '') 
	{
		txt.value = txt.title;
		txt.className = className + 'Empty';
	}
}

function hideTextboxPrompt(txt, className)
{
	if (txt.value == txt.title) 
	{
		txt.value = '';
	}
	txt.className = className;
}

function clearTextBeforeSubmit(frm, txt)
{
	if (txt.value == txt.title) txt.value = '';
}

function alertIfBlank(txt, prompt)
{
	if (txt.value == '')
	{
		alert(prompt);
		if (txt.focus) txt.focus();
		return false;
	}
	return true;
}

/* Number entry functions */
function numEntryKeyDown(ev, txt)
{
	txt.keyNumber = false;
	txt.keyBack = (ev.keyCode == 8);
	
	if (ev.keyCode >= 48 && ev.keyCode <= 57) 
	{
		txt.keyNumber = true;
		txt.digit = ev.keyCode - 48;
	} 
	else if (ev.keyCode >= 96 && ev.keyCode <= 105)
	{
		txt.keyNumber = true;
		txt.digit = ev.keyCode - 96;
	}

	if (document.selection)
	{
		txt.selectionEnd = Math.abs(document.selection.createRange().moveEnd("character", -1000000));
	}
	
	txt.moveNext = (txt.keyNumber && txt.maxLength == txt.selectionEnd);
}

function numEntryKeyUp(ev, txt, nextObj, prevObj)
{
	if (document.selection)
	{
		txt.selectionEnd = Math.abs(document.selection.createRange().moveEnd("character", -1000000));
	}
	
	if (nextObj != '') 
	{
		if (txt.keyNumber && txt.maxLength == txt.value.length && txt.selectionEnd == txt.value.length)
		{
			var el = txt.form[nextObj];
			if (el.focus) el.focus();
			if (txt.moveNext)
			{
				el.value = txt.digit.toString();
			}
			else
			{
				setSelectionRange(el, 0, el.value.length);
			}
		}
	}
	
	if (prevObj != '') 
	{
		if (txt.keyBack && txt.value.length == 0)
		{
			var el = txt.form[prevObj];
			if (el.focus) el.focus();
			setSelectionRange(el, el.value.length, el.value.length);
		}
	}
	
	txt.keyNumber = false;
	txt.keyBack = false;
}

function setSelectionRange(input, selectionStart, selectionEnd) 
{
	if (input.setSelectionRange) {
		input.setSelectionRange(selectionStart, selectionEnd);
	}
	else if (input.createTextRange) {
		var range = input.createTextRange();
		range.collapse(true);
		range.moveEnd('character', selectionEnd);
		range.moveStart('character', selectionStart);
		range.select();
	}
}

/* Popup functions */
function popup(url, title, width, height, scroll) 
{
	var s = 'menubar=no,toolbar=no,location=no,resizable=yes,status=yes'
	s += ',scrollbars=' + scroll
	s += ',width=' + width + ',height=' + height;
	s += ',top=' + (screen.availHeight - height) / 2 + ',left=' + (screen.availWidth - width) / 2;

	//close existing window
	if (navigator.newwindow) navigator.newwindow.close();
	
	//save new window object in navigator object and activate
	navigator.newwindow = self.open(url, title, s);
	navigator.newwindow.focus();
	
	return false;
}

function CloseWindow() 
{
	window.close();
	if (window.opener)
		if (!window.opener.closed)
			window.opener.focus();
}

function addPopupEvents() 
{
	document.onkeydown = KeyDown;
}

function KeyDown(e) {
	if (e) {
			if (e.which == 27) CloseWindow(); //Netscape & Mozilla
	}
	else if (event && event.keyCode == 27) CloseWindow(); //IE
}

