var isMenuShown = false;
var isMenuReady = false;

function CreateMenu() {
	var l = arguments.length-1;
	if (l<=0) return;
	var id = arguments[0];
	var table = document.getElementById(id);
	var i = 0;
	AddMenuItem(table, "menuTD_Margin", "-", "-");
	for (i=1; i < l; i+=2) {
		if (arguments[i]=="-") {
			while (i+2 < l && arguments[i+2]=="-") i+=2;
			if (i+2 < l) {
				AddMenuItem(table, "menuTD_Margin", "-", "-");
				AddMenuItem(table, "menuTD_Spacer", "-", "-");
				AddMenuItem(table, "menuTD_Margin", "-", "-");
			}
		} else {
			AddMenuItem(table, "menuTD", arguments[i], arguments[i+1]);
		}
	}
	AddMenuItem(table, "menuTD_Margin", "-", "-");
}
function AddMenuItem(menu, classname, caption, url) {
	var tr = menu.insertRow(-1);
	var td = tr.insertCell(-1);
	td.className = classname;
	if (caption != "" && caption != "-") {
		caption = caption.replace(' (New)',' <img src="' + webroot + '/images/new.gif" border="0" />');
		var a = document.createElement('a');
		a.className = "menuitem";
		a.setAttribute('href',url);
		a.innerHTML = caption;
		td.appendChild(a);
	}
	td.noWrap = true;
}
function ToggleMenuColour(obj, classname) {
	if (!isMenuReady) UpdatePage();
	if (obj.className==classname) {
		obj.className = classname + "2";
	} else {
		obj.className = classname;
	}
}
function MouseOut(obj,isheader) {
	var om = document.getElementById(obj);
	if (!om) return;
	if (!isMenuReady) UpdatePage();
	var xl = om.offsetLeft;
	if (xl == "" || xl == "0") {
		isMenuReady = false;
		UpdatePage();
	}
	if (isheader) ToggleMenuColour(document.getElementById(obj+"_"), "menu");
	if (isMenuShown) {
		document.getElementById(obj).style.visibility = "hidden";
		ShowCombo();
		isMenuShown = false;
	}
}
function MouseOver(obj,isheader) {
	var om = document.getElementById(obj);
	if (!om) return;
	if (!isMenuReady) UpdatePage();
	var xl = om.offsetLeft;
	if (xl == "" || xl == "0") {
		isMenuReady = false;
		UpdatePage();
	}
	if (isheader) {
		ToggleMenuColour(document.getElementById(obj+"_"), "menu");
	} else {
		document.getElementById(obj+"_").className = "menu";
	}
	if (!isMenuShown) {
		document.getElementById(obj).style.visibility = "visible";
		HideCombo();
		isMenuShown = true;
	}
}
function UpdatePage() {
	if (isMenuReady) return;
	var tables = document.getElementsByTagName("TABLE");
	var xl = 0;
	var menu = document.getElementById("PageMenu");
	if (menu == null) return;
	if (menu.clientTop == null)
	{
		menu.clientTop = 0;
	}
	var topvalue = menu.clientTop + menu.offsetTop + menu.offsetHeight;
	for (var i=0; i<tables.length; i++) {
		if (tables[i].className=="menuTable") {
			xl = document.getElementById(tables[i].id+"_").offsetLeft;
			tables[i].style.left = xl+"px";
			tables[i].style.top = topvalue+"px";
		}
	}
	isMenuReady = true;
}
function HideCombo() {
	var objs = document.getElementsByTagName("SELECT");
	if (objs) {
		for (var i=0; i<objs.length; i++) {
			if (objs[i].style.display != "none") objs[i].style.visibility = "hidden";
		}
	}
}
function ShowCombo() {
	var objs = document.getElementsByTagName("SELECT");
	if (objs) {
		for (var i=0; i<objs.length; i++) {
			if (objs[i].style.display != "none") objs[i].style.visibility = "visible";
		}
	}
}
function AddBookmark(pageid, title, url) {
	popup(webroot + "/addbookmark.asp?Page=" + pageid + "&PageName=" + title + "&URL=" + url);
}
function VisitBookmark(url) {
	if (url != "") location.href = url;
}
function ShowPageBanner() {
	var url = location.href;
	url = url.replace("&",".AND.");
	url = url.replace("?",".QN.");
	url = url.replace("=",".EQ.");
	location.href = webroot + "/showhidebanner.asp?Show=1&URL=" + url;
}
function HidePageBanner() {
	var url = location.href;
	url = url.replace("&",".AND.");
	url = url.replace("?",".QN.");
	url = url.replace("=",".EQ.");
	location.href = webroot + "/showhidebanner.asp?Show=0&URL=" + url;
}
var SessionTimeoutCounter = 1500;
var SessionTimeoutCounterEnabled = true;
function SessionTimeoutCountdown() {
	if (!SessionTimeoutCounterEnabled) return;
	SessionTimeoutCounter-=1;
	if (SessionTimeoutCounter<=0) {
		SessionTimeoutCounterEnabled = false;
		window.alert("Session Timeout Alert\n\nDear user, you have not performed any activity (visited any page or submitted any data to the server) for the past 25 minutes. As such, your session will expire in 5 minutes. Please save your work now to prevent the session expiry and loss of data.");
	}
}
