<!--
var Button;
var TitleBar,TitleText,ToggleButton,Nav,Main,Tasks,Details,PageContent;
var hide = "hidden", show = "visible";
var state,bMaximized,bMaxBeforeClose;
var stateNav,stateMain,stateTasks,stateDetails;
var strTitleText, nPageContentLeft;
var moveTimeout = setTimeout('null',1);
var idleTimeout = 120;	// in minutes

var MainZIndex = 0,MainPixelTop = 0,MainHeight= 0;
var NavZIndex = 0,NavPixelTop = 0,NavHeight= 0;
var TasksZIndex = 0,TasksPixelTop = 0,TasksHeight= 0;

function pageSetup()
{
	TitleBar = document.getElementById("TitleBar").style;
	TitleText = document.getElementById("TitleBarText").style;
	ToggleButton = document.getElementById("ToggleButton").style;
//	Nav = document.getElementById("Nav").style;
	Main = document.getElementById("Main").style;
//	Tasks = document.getElementById("Tasks").style;
//	Details = document.getElementById("Details").style;
	PageContent = document.getElementById("PageContent").style;

	Button = document.ControlPanelToggle;
	Button.src = "images/control-toggle-over.gif";
	Button.src = "images/control-toggle.gif";

	bMaximized = true;
	bMaxBeforeClose = bMaximized;

	if (show == TitleBar.visibility)
	{
		state = show;
	}
	else
	{
		state = hide;
	}
}

function timer() {
//	setTimeout("logoutReminder()",60000*idleTimeout)
	setTimeout("autoLogout()",60000*idleTimeout)
}
function logoutReminder() {
	alert('Your DNASC session has been idle for '+idleTimeout+' minutes.\n\nPlease logout if you have completed working.');
	setTimeout("logoutReminder()",60000*idleTimeout)
}
function autoLogout() {
	document.location.href="userlogout.asp";
}

function collapseMain () {
	MainZIndex = Main.zIndex;
	MainPixelTop = Main.pixelTop;
	MainHeight = parseInt(Main.height);
	Main.zIndex = 1;
	collapse(Main,"Main");
}
/*
function collapseNav() {
	NavZIndex = Nav.zIndex;
	NavPixelTop = Nav.pixelTop;
	NavHeight = parseInt(Nav.height);
	Nav.zIndex = 1;
	collapse(Nav,"Nav");
}

function collapseTasks() {
	TasksZIndex = Tasks.zIndex;
	TasksPixelTop = Tasks.pixelTop;
	TasksHeight = parseInt(Tasks.height);
	Tasks.zIndex = 1;
	collapse(Tasks,"Tasks");
}
*/
function collapse(objInput,strNameInput) {
	if ((objInput.pixelTop + parseInt(objInput.height)) >= (TitleBar.pixelTop /*+ parseInt(TitleBar.height) */)) {
		objInput2 = objInput;
		strNameInput2 = strNameInput;
		moveTimeout = setTimeout('collapse(objInput2,strNameInput2)',20);
		objInput.pixelTop += -1;
	}
	else {
		moveTimeout = setTimeout('null',20);
		switch (strNameInput) {
//			case "Nav":
//				hideNav();
//				break;
			case "Main":
				hideMain();
				break;
//			case "Tasks":
//				hideTasks();
//				break;
			default :
				break;
		}
	}
}
/*
function setTitleText(strInput) {
	strTitleText = document.getElementById("TitleText").innerHTML
	document.getElementById("TitleText").innerHTML = "";
	document.getElementById("TitleText").innerHTML = strInput;
}
*/
function switchControlPanel() {
//	hideTasks();
//	setTitleText("Control Panel");
	showMain();
}
/*
function switchCommonTasks() {
	hideMain();
	setTitleText("Common Tasks")
	showTasks();
}
*/
function togglePanel() {
	if (show == state) closePanel();
	else openPanel();
}
function toggleNavBlock(block){
	var element = document.getElementById('nav'+block);
	var image = document.getElementById('navImg'+block);
	if (element.style.display == 'none') {
		document.cookie = block + '=show';
		element.style.display = 'block';
		image.src = 'images/block.gif';
	} else {
		document.cookie = block + '=hide';
		element.style.display = 'none';
		image.src = 'images/none.gif';
	}
}
function toggleMaximize() {
	if (true == bMaximized) minimize();
	else maximize();
}
function openPanel() {
	if (hide == state) {
		document.getElementById("showControlPanel").innerHTML = "";
		PageContent.left = nPageContentLeft;
		state = show;
		TitleBar.visibility = state;
		TitleText.visibility = state;
		ToggleButton.visibility = state;
		if (true == bMaxBeforeClose) maximize();
	}
}
function closePanel() {
	if (show == state) {
		nPageContentLeft = parseInt(PageContent.left);
		PageContent.left = Main.left;
		document.getElementById("showControlPanel").innerHTML = "Show Navigation";
		state = hide;
		TitleBar.visibility = state;
		TitleText.visibility = state;
		ToggleButton.visibility = state;
		bMaxBeforeClose = bMaximized;
		minimize();
	}
}
function minimize() {
	if (true == bMaximized) {
		bMaximized = false;
//		stateNav = Nav.visibility;
		stateMain = Main.visibility;
//		stateTasks = Tasks.visibility;
//		stateDetails = Details.visibility;
//		collapseNav();
//		collapseMain();
//		collapseTasks();
//		hideNav();
		hideMain();
//		hideTasks();
//		hideDetails();

	}
}
function maximize() {
	if (false == bMaximized) {
		bMaximized = true;
//		Nav.visibility = stateNav;
		Main.visibility = stateMain;
//		Tasks.visibility = stateTasks;
//		Details.visibility = stateDetails;
	}
}
/*
function hideNav() {
	if (show == Nav.visibility) Nav.visibility = hide;
}

function showNav() {
	if (hide == Nav.visibility) {
		Nav.visibility = show;
		Main.top = parseInt(Main.top) + parseInt(Nav.height);
//		Tasks.top = parseInt(Tasks.top) + parseInt(Nav.height);
//		Details.top = parseInt(Details.top) + parseInt(Nav.height);
	}
}
*/
function showMain() {
	if (hide == Main.visibility && true == bMaximized) Main.visibility = show;
}
/*
function showTasks() {
	if (hide == Tasks.visibility && true == bMaximized) {
		Tasks.visibility = show;
	} 
}

function showDetails() {
	if (hide == Details.visibility && true == bMaximized) {
		stateNav = Nav.visibility;
		stateMain = Main.visibility;
		stateTasks = Tasks.visibility;
		hideNav();
		hideMain();
		hideTasks();
		setTitleText("Details");
		Details.visibility = show;
	}
}
*/
function hideMain() {
	if (show == Main.visibility) Main.visibility = hide;
}
/*
function hideTasks() {
	if (show == Tasks.visibility) Tasks.visibility = hide;
}
function hideDetails() {
	if (show == Details.visibility) {
		setTitleText(strTitleText);
		Details.visibility = hide;
		Nav.visibility = stateNav;
		Main.visibility = stateMain;
		Tasks.visibility = stateTasks;
	}
}
function DetailSet(nPos,strName,strValue) {
	strNameValue = "<B>" + strName + "</B>: " + strValue;
	if (1 != nPos) strNameValue = "<BR><BR>" + strNameValue;
	document.getElementById("Details" + nPos).innerHTML = strNameValue;
	showDetails()
	}
function DetailClear() {
	hideDetails();
	for (i=1 ; i < 15 ; i++) {
		document.getElementById('Details' + i).innerHTML = '';
	}
}
*/
function CheckString(sStringInput, space)
{
//	var sCharSet = /(@|'|"|\^|\$|%|&|\*|~|`|\\|\/|\[|\]|!|=|\||<|>|\?|#|:|,)+/;
	var sCharSet;
	// space = accept spaces in string
	space ? sCharSet = /([^\w\-_\(\)\{\}\.\+ ])+/ : sCharSet = /([^\w\-_\(\)\{\}\.\+])+/;
	if(sStringInput != "") {
		var result = sStringInput.match(sCharSet);
		if(result == null)
			return true;
	}
	return false;
}

function limitChars(obj, maxLength, printTotal) {
	var count = obj.value.length;
	if (count>maxLength) {
		count = maxLength;
		obj.value = obj.value.substr(0, maxLength);
		alert('You have reach the maximum limit of characters for this field.');
	}
	if (printTotal)
		document.getElementById(printTotal).innerText = count;
}

function isEmail(emailStr) {
	var checkTLD=1;
	var knownDomsPat=/^(com|net|org|edu|int|mil|gov|arpa|biz|aero|name|coop|info|pro|museum)$/;
	var emailPat=/^(.+)@(.+)$/;
	var specialChars="\\(\\)><@,;:\\\\\\\"\\.\\[\\]";
	var validChars="\[^\\s" + specialChars + "\]";
	var quotedUser="(\"[^\"]*\")";
	var ipDomainPat=/^\[(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})\]$/;
	var atom=validChars + '+';
	var word="(" + atom + "|" + quotedUser + ")";
	var userPat=new RegExp("^" + word + "(\\." + word + ")*$");
	var domainPat=new RegExp("^" + atom + "(\\." + atom +")*$");
	var matchArray=emailStr.match(emailPat);
	if (matchArray==null) {
		alert("Email address seems incorrect (check @ and .'s)");
		return false;
	}
	var user=matchArray[1];
	var domain=matchArray[2];
	for (i=0; i<user.length; i++) {
		if (user.charCodeAt(i)>127) {
			alert("Ths username contains invalid characters.");
			return false;
		}
	}
	for (i=0; i<domain.length; i++) {
		if (domain.charCodeAt(i)>127) {
			alert("Ths domain name contains invalid characters.");
			return false;
		}
	}
	if (user.match(userPat)==null) {
		alert("The username doesn't seem to be valid.");
		return false;
	}
	var IPArray=domain.match(ipDomainPat);
	if (IPArray!=null) {
		for (var i=1;i<=4;i++) {
			if (IPArray[i]>255) {
				alert("Destination IP address is invalid!");
				return false;
			}
		}
		return true;
	}
	var atomPat=new RegExp("^" + atom + "$");
	var domArr=domain.split(".");
	var len=domArr.length;
	for (i=0;i<len;i++) {
		if (domArr[i].search(atomPat)==-1) {
			alert("The domain name does not seem to be valid.");
			return false;
		}
	}
	if (checkTLD && domArr[domArr.length-1].length!=2 && 
		domArr[domArr.length-1].search(knownDomsPat)==-1) {
		alert("The address must end in a well-known domain or two letter " + "country.");
		return false;
	}
	if (len<2) {
		alert("This address is missing a hostname!");
		return false;
	}
	return true;
}


