﻿function fnDisplayMenuFromMenu() {
	try {
		if (varGlobalButton != null) {
			fnDisplayMenuFromButton(varGlobalButton);
		}
	}
	catch (e) {
		//alert ("function fnDisplayMenuFromMenu : " + e.message);
	}
}

function fnHideMenuFromMenu(event) {
	try {
		if (varGlobalButton != null) {
			var varNavMenu = null;
			if (document.getElementById("divNavMenuMultiple").style.display == "block") {
				varNavMenu = document.getElementById("divNavMenuMultipleContent");
			}
			else {
				varNavMenu = document.getElementById("divNavMenuSingleContent");
			}
			var varNavX1 = parseInt(varNavMenu.parentNode.style.left);
			var varNavX2 = varNavX1 + varNavMenu.parentNode.clientWidth;
			var varNavY1 = parseInt(varNavMenu.parentNode.style.top);
			var varNavY2 = varNavY1 + varNavMenu.clientHeight;
			var varClientXPos = (varIE) ? window.event.clientX - 2 : event.clientX;
			var varClientYPos = (varIE) ? window.event.clientY + document.body.scrollTop - 1 : event.clientY;
			
			if ((varClientXPos > varNavX1 && varClientXPos < varNavX2) && (varClientYPos > varNavY1 && varClientYPos < varNavY2)) {
				fnCancelEvent(event);
				return;
			}
			fnHideMenu(varGlobalButton);
		}
	}
	catch (e) {
		//alert ("function fnHideMenuFromMenu : " + e.message);
	}
}

function fnHideMenu(varNavButton) {
	try {
		var varChildren = varNavButton.getElementsByTagName("DIV");
		if (varChildren.length > 3) {
			varNavButton.className = "clsNavButtonContainer";
			varChildren[0].style.display = "block";
			varChildren[1].style.display = "block";
			varChildren[2].className = "clsNavButtonText";
			varChildren[3].style.display = "none";
			document.getElementById("divNavMenuMultiple").style.display = "none";
			document.getElementById("divNavMenuSingle").style.display = "none";
			document.getElementById("divNavMenuMultipleContent").innerHTML = "";
			document.getElementById("divNavMenuSingleContent").innerHTML = "";
		}
		else {
			varChildren[1].className = "clsNavButtonFinish";
			varChildren[0].className = "clsNavButtonBackground";
			varChildren[2].className = "clsNavButtonText";
		}
	}
	catch (e) {
		//alert ("function fnHideMenu : " + e.message);
	}
}

function fnDisplayMenuFromButton(varNavButton) {
	try {
		if (varGlobalButton != null) {
			fnHideMenu(varGlobalButton);
		}
		var varChildren = varNavButton.getElementsByTagName("DIV")
		if (varChildren.length > 3) {
			var varOffset = 41;
			
			varNavButton.className = "clsNavButtonContainerHover";
			varChildren[0].style.display = "none";
			varChildren[1].style.display = "none";
			varChildren[2].className = "clsNavButtonTextHover";
			varChildren[3].style.display = "block";
			if (varChildren[4].getElementsByTagName("DIV").length > 1) {
				if (!varIE) {
					document.getElementById("divNavMenuMultipleContent").style.marginTop = 3;
				}
				document.getElementById("divNavMenuMultiple").style.display = "block";
				document.getElementById("divNavMenuMultiple").style.left = varNavButton.clientWidth - 10;
				document.getElementById("divNavMenuMultiple").style.top = varNavButton.offsetTop + varNavButton.offsetParent.offsetTop;
				document.getElementById("divNavMenuMultipleContent").innerHTML = varChildren[4].innerHTML;
				if (varChildren[4].getElementsByTagName("DIV").length == 2) {
					document.getElementById("divNavMenuFiller").style.display = "none";
					document.getElementById("divNavMenuFiller").style.height = 0;
					document.getElementById("divNavMenuBottom").style.top = document.getElementById("divNavMenuTop").clientHeight;
				}
				else {
					document.getElementById("divNavMenuFiller").style.display = "block";
					document.getElementById("divNavMenuFiller").style.height = document.getElementById("divNavMenuMultipleContent").clientHeight - varOffset;
					document.getElementById("divNavMenuBottom").style.top = document.getElementById("divNavMenuFiller").offsetTop + document.getElementById("divNavMenuMultipleContent").clientHeight - varOffset;
				}
			}
			else {
				document.getElementById("divNavMenuSingle").style.display = "block";
				document.getElementById("divNavMenuSingle").style.left = varNavButton.clientWidth - 10;
				document.getElementById("divNavMenuSingle").style.top = varNavButton.offsetTop + varNavButton.offsetParent.offsetTop;
				document.getElementById("divNavMenuSingleContent").innerHTML = varChildren[4].innerHTML;
			}
		}
		else {
			varChildren[1].className = "clsNavButtonFinishAlt";
			varChildren[0].className = "clsNavButtonBackgroundHover";
			varChildren[2].className = "clsNavButtonTextHover";
		}
		varGlobalButton = varNavButton;
	}
	catch (e) {
		//alert ("function fnDisplayMenuFromButton : " + e.message);
	}
}

function fnHideMenuFromButton(varNavButton, event) {
	try {
		var varNavX1 = 0;
		var varNavX2 = varNavX1 + varNavButton.clientWidth + 15;
		var varNavY1 = varNavButton.offsetTop + varNavButton.offsetParent.offsetTop + 1;
		var varNavY2 = varNavY1 + varNavButton.clientHeight - 2;
		var varClientXPos = (varIE) ? window.event.clientX - 2 : event.clientX;
		var varClientYPos = (varIE) ? window.event.clientY + document.body.scrollTop - 1 : event.clientY;
	
		if (varNavButton.getElementsByTagName("DIV").length > 3) {
			if ((varClientXPos >= varNavX1 && varClientXPos <= varNavX2) && (varClientYPos >= varNavY1 && varClientYPos <= varNavY2)) {
				fnCancelEvent(event);
				return;
			}
			fnHideMenu(varNavButton);
		}
		else {
			fnHideMenu(varNavButton);
		}
		varGlobalButton = null;
	}
	catch (e) {
		//alert ("function fnHideMenuFromButton : " + e.message);
	}
}

function fnResize() {
	try {
		var varDocumentWidth = Math.max(varMinDocumentWidth, document.body.clientWidth);
		var varBannerFillerWidth = 0;
		var varLegalOffset = 0;
		
		varBannerFillerWidth = varDocumentWidth - (document.getElementById("divBannerLogo").clientWidth + document.getElementById("divBannerImage").clientWidth);
		
		if (varDocumentWidth > varMaxDocumentWidth) {
			varBannerFillerWidth = varMaxDocumentWidth - (document.getElementById("divBannerLogo").clientWidth + document.getElementById("divBannerImage").clientWidth);
		}
		
		document.getElementById("divBannerFiller").style.width = varBannerFillerWidth;
		document.getElementById("divBannerImage").style.left = document.getElementById("divBannerLogo").clientWidth + varBannerFillerWidth;
		document.getElementById("divContent").style.width = varMinContentWidth + varBannerFillerWidth;

		varLegalOffset = document.getElementById("divContent").clientHeight + document.getElementById("divContent").offsetTop;
		
		if (varLegalOffset < 200) {
			varLegalOffset = 700;
		}
		else if (varLegalOffset > varMinLegalOffset) {
			varLegalOffset += 50;
		}
		else {
			varLegalOffset += 250
		}

		document.getElementById("divFooter").style.width = varMinContentWidth + varBannerFillerWidth;
		document.getElementById("divFooter").style.top = varLegalOffset;
		document.getElementById("divFooter").style.display = "block";
	}
	catch (e) {
		//alert ("function fnResize : " + e.message);
	}
}

function fnCancelEvent(event) {
	try {
		if (varIE) {
			window.event.cancelBubble = true;
		}
		else {
			event.stopPropagation();
		}
	}
	catch (e) {
		//alert ("function fnCancelEvent : " + e.message);
	}
}

function fnOnLoad() {
	try {
		fnLoadStylesheet();
		fnPreloadImages();
		if (varBrowser.substring(0, 9) == "Microsoft") {
			varIE = true;
		}
		else {
			varOther = true;
		}
		
		fnResize();
		if (varIE) {
			window.attachEvent("onresize", fnResize);
		}
		else {
			window.addEventListener("resize", fnResize, false);
		}
	}
	catch (e) {
		//alert ("function fnOnLoad : " + e.message);
	}
}

function fnOnUnload() {
	try {
		var varTitle = fnGetActiveStylesheet();
		fnCreateCookie("style", varTitle, 365);
	}
	catch (e) {
		//alert ("function fnOnUnload : " + e.message);
	}
}

function fnLoadStylesheet() {
	try {
		var varCookie = fnReadCookie("style");
		var varTitle = varCookie ? varCookie : fnGetPreferredStylesheet();
		fnSetActiveStylesheet(varTitle);
	}
	catch (e) {
		//alert ("function fnLoadStylesheet : " + e.message);
	}
}

function fnSetActiveStylesheet(varTitle) {
	try {
		if ((varTitle != "smaller") && (varTitle != "larger")) {
			varTitle = "smaller";
		}
		var varLink;
		for (i = 0; varLink = document.getElementsByTagName("link")[i]; i++) {
			if ((varLink.getAttribute("rel").indexOf("style") != -1) && (varLink.getAttribute("title"))) {
				varLink.disabled = true;
				if ((varLink.getAttribute("title") != "print") && (document.getElementById("text-" + varLink.getAttribute("title")) != null)) {
					document.getElementById("text-" + varLink.getAttribute("title")).style.display = "block";
				}
				if (varLink.getAttribute("title") == varTitle) {
					varLink.disabled = false;
					if ((varLink.getAttribute("title") != "print") && (document.getElementById("text-" + varLink.getAttribute("title")) != null)) {
						document.getElementById("text-" + varTitle).style.display = "none";
					}
				}
			}
		}
		fnCreateCookie("style", varTitle, 365);
		if (varTitle != "print") {
			fnResize();
		}
	}
	catch (e) {
		//alert ("function fnSetActiveStylesheet : " + e.message);
	}
}

function fnGetActiveStylesheet() {
	try {
		var varLink;
		for (i = 0; varLink = document.getElementsByTagName("link")[i]; i++) {
			if ((varLink.getAttribute("rel").indexOf("style") != -1) && (varLink.getAttribute("title")) && (!varLink.disabled)) {
				return varLink.getAttribute("title");
			}
		}
		return null;
	}
	catch (e) {
		//alert ("function fnGetActiveStylesheet : " + e.message);
	}
}

function fnGetPreferredStylesheet() {
	try {
		return ("smaller");
	}
	catch (e) {
		//alert ("function fnGetPreferredStylesheet : " + e.message);
	}
}

function fnCreateCookie(varName, varValue, varDays) {
	try {
		var varExpires;
		if (varDays) {
			var varDate = new Date();
			varDate.setTime(varDate.getTime() + (varDays * 24 * 60 * 60 * 1000));
			varExpires = "; expires=" + varDate.toGMTString();
		}
		else {
			varExpires = "";
		}
		document.cookie = varName + "=" + varValue + varExpires + "; path=/";
	}
	catch (e) {
		//alert ("function fnCreateCookie : " + e.message);
	}
}

function fnReadCookie(varName) {
	try {
		var varNameEQ = varName + "=";
		var varCookie = document.cookie.split(';');
		for (var i = 0; i < varCookie.length; i++) {
			var varChunk = varCookie[i];
			while (varChunk.charAt(0) == ' ') {
				varChunk = varChunk.substring(1, varChunk.length);
			}
			if (varChunk.indexOf(varNameEQ) == 0) {
				return varChunk.substring(varNameEQ.length, varChunk.length);
			}
		}
		return null;
	}
	catch (e) {
		//alert ("function fnReadCookie : " + e.message);
	}
}

function fnOnBeforePrint() {
	try {
		varCurrentStyle = fnGetActiveStylesheet();
		var varLink;
		var varPrint;
		for (i = 0; varLink = document.getElementsByTagName("link")[i]; i++) {
			if ((varLink.getAttribute("rel").indexOf("style") != -1) && (varLink.getAttribute("title"))) {
				if (varLink.getAttribute("title") == "print") {
					varPrint = varLink;
				}
				else {
					varLink.disabled = true;
				}
			}
		}
		varPrint.disabled = false;
		document.getElementById("divContent").style.width = "100%";
		document.getElementById("divFooter").style.display = "none";
	}
	catch (e) {
		//alert ("function fnOnBeforePrint : " + e.message);
	}
}

function fnOnAfterPrint() {
	try {
		fnSetActiveStylesheet(varCurrentStyle);
	}
	catch (e) {
		//alert ("function fnOnAfterPrint : " + e.message);
	}
}

window.onload = function(e) {
	fnOnLoad();
}

window.onunload = function(e) {
	fnOnUnload();
}

window.onbeforeprint = function(e) {
	fnOnBeforePrint();
}

window.onafterprint = function(e) {
	fnOnAfterPrint();
}

var varBrowser = navigator.appName + " " + navigator.appVersion;
var varGlobalButton = null;
var varMinDocumentWidth = 770;
var varMaxDocumentWidth = 1000;
var varMinContentWidth = 588;
var varMinLegalOffset = 600;
var varIE = false;
var varOther = false;
var varCurrentStyle = "";

fnOnLoad();