/* 
Town of Hempstead Online (version 3.3)
Website by LaMa Media
Copyright (c) 1997-2008 - All rights reserved
*/


// ****************************************************************
// GLOBALS
// ****************************************************************

var vOnline = 1;  // set to 0 to disable offsite links
var vPDF = 1;  // set to 0 to disable PDFs
var vKiosk = fGetCookie("kiosk");
if (vKiosk != 1) vKiosk = 0;

var vURL = "http://toh.li/";
var vPageLoc = window.location.href;
var vDate = new Date();
var vCurMonth = (vDate.getMonth() + 1);
var vCurDate = vDate.getDate();
var vCurYear = vDate.getFullYear();

var vMenus = new Array (
	"Home|home|88",
	"Town Board|tb|48",
	"Town Clerk's Office|tc|91",
	"Receiver of Taxes|rt|62",
	"Town Resources|tr|74",
	"Citizen Services|cs|62",
	"Recreation &amp; Conservation|rc|92",
	"Building &amp; Zoning|bz|74"
);
var vNumMenus = vMenus.length;
var vMenuLeft = new Array(vNumMenus);

var vArea, vSection, vPage, vButtonPath, vBrowser;
var vStatus, vTopButtOn, vAreaBlurb, vSubHead, vSubSel, vPrint, vPrintColor;
var vPath = "";
var vDepth = "../";
var vB0 = "_0.gif";
var vB1 = "_1.gif";

var vDelim = "|";
var vCharAP = "'";
var vCharSP = " ";
var vCharNS = "";
var vCharUL = "_";
var vCharSL = "/";
var vCharTR = "[";
var vCharNB = "&nbsp;";
var vNavCR = "^";
var vNavBR = "<br>&nbsp;&nbsp;&nbsp;";

var vPrintPage = vCharNS;
var vPrintTitle = vCharNS;
if (typeof(window.top.vPrintable) == 'undefined') {
	vPrint = 0;
	vPrintColor = 1;
} else {
	vPrint = 1;
	vPrintColor = window.top.vColor;
}


// ****************************************************************
// START
// ****************************************************************

function fPage(rArea, rSection, rPage, rPath, rAbsolute) {
	if (!vPrint && ((vPageLoc.indexOf("http")!=-1) && (window.top != window.self))) {
		window.open(vPageLoc, "_top");
	} else {
		if (rAbsolute) {
			vPath = rPath;
		} else {
			for (var t = 0; t < rPath; t++) vPath = (vPath + vDepth);
		}
		if (fCheckBrowser()) {
			vArea = rArea;
			vSection = rSection;
			vPage = rPage;
			fLoadIncludes();
			fCreateStyle(rArea);
		} else {
			window.top.location.href = (vPath + "control/nobrowser.html");
		}
	}
}

function fLoadIncludes() {
	document.open();
	document.write('<script type="text/javascript" src="' + vPath + 'control/areas.js"></script>');
	document.write('<link rel="stylesheet" type="text/css" href="' + vPath + 'control/style.css">');
	document.close();
}

function fBodyStart(rSubHead, rSubSel) {
	vSubHead = rSubHead;
	vSubSel = rSubSel;
	document.open();
	document.write('<a name="pagetop"></a>');
	document.close();
	if (!vPrint) {
		fCreateMenus();
		fShowTopButtons();
	}
	if (vArea != "index") fBodyTop();
}

function fCheckBrowser() {
 	vBrowser = navigator.appName;
	var vUserAgent = navigator.userAgent.toLowerCase();
    var vAppVersion = navigator.appVersion.toLowerCase();
    var vVersion = parseFloat(vAppVersion);
    var vIEPos = vAppVersion.indexOf('msie');
    if (vIEPos != -1) {
       vVersion = parseFloat(vAppVersion.substring(vIEPos+5,vAppVersion.indexOf(';',vIEPos)));
    }
	if (vVersion >= 5) {
		return(1);
	} else {
		return(0);
	}
}


// ****************************************************************
// GOOGLE ANALYTICS
// ****************************************************************

function fGoogleAnalytics() {
}



// ****************************************************************
// CREATE STYLE
// ****************************************************************

var sC = "color";
var sB = "background-color";
var sI = "background-image";
var sBD = "border";
var sBC = "border-color";
var sBW = "border-width";
var sBB = "border-bottom";
var sFZ = "font-size";
var sFS = "font-style";
var sFW = "font-weight";
var sTA = "text-align";
var sTD = "text-decoration";

var vColors_none = new Array("#000000","#333333","#666666","#EEEEEE");

var vColors_home = new Array("#143857","#1E5082","#5082B4","#82B4E6","#CCE6FF");
var vColors_tb = new Array("#1E5082","#5082B4","#82B4E6","#CCE6FF","#CCE6FF");
var vColors_tc = new Array("#99501E","#CC8250","#FFB482","#FFDAC1","#FFDAC1");
var vColors_rt = new Array("#666633","#999966","#CCCC99","#E6E6CC","#E6E6CC");
var vColors_cs = new Array("#991E1E","#CC5050","#FFB4B4","#FFE6E6","#FFE6E6");
var vColors_rc = new Array("#336633","#669966","#99CC99","#BBEEBB","#EEFFEE");
var vColors_bz = new Array("#505A66","#828C99","#B4BECC","#DADFE6","#DADFE6");
var vColors_tr = new Array("#503382","#8266B4","#B499E6","#E6DAFF","#E6DAFF");

var vStyles = new Array(
	"body||sI|g_back",
	"mline||sI|g_mline",
	"dline||sI|g_dline",
	"sub1||sI|g_sub1|sC|0",
	"sub2||sI|g_sub2|sC|1",
	"navarea||sBC|2",
	"navarea|a:hover|sB|2",
	"navsec||sBC|2",
	"navsec|a:hover|sB|2",
	"navon||sC|#FFFFFF|sB|0|sBC|2",
	"navon|a|sC|#FFFFFF|sB|0|sBC|2",
	"navon|a:hover|sB|0",
	"navlabel||sC|1",
	"ppage||sBC|2",
	"ppage|a|sC|1",
	"ppage|a:hover|sB|0|sC|3",
	"areablurb||sC|0",
	"areablurb|a:link|sC|0",
	"areablurb|a:visited|sC|0",
	"areablurb|a:active|sC|0",
	"areablurb|a:hover|sC|#FFFFFF|sB|0",
	"content|a:link|sC|0",
	"content|a:visited|sC|0",
	"content|a:active|sC|0",
	"content|a:hover|sC|#FFFFFF|sB|0",
	"b||sFW|bold|sC|0",
	"c0||sC|0",
	"c1||sC|1",
	"c2||sC|2",
	"c3||sC|3",
	"a3|a:hover|sB|3",
	"c1sm||sC|1|sFZ|10px",
	"note||sFZ|13px|sFW|bold|sC|0",
	"table||sBD|solid 1px|sBC|2",
	"table|td|sBD|solid 1px|sBC|2",
	"boxtable||sBD|solid 2px|sBC|2",
	"boxtablegray||sB|#F9F9F9|sBD|solid 2px|sBC|2",
	"rowtable||sBD|solid 1px|sBC|2",
	"rowtable||sBW|2px 2px 1px 2px",
	"rowtable|td|sBB|solid 1px|sBC|2",
	"tablehead||sC|#FFFFFF|sB|1|sFZ|13px|sFW|bold|sTA|center",
	"tablehead|a:link|sC|#FFFFFF",
	"tablehead|a:visited|sC|#FFFFFF",
	"tablehead|a:hover|sC|1|sB|#FFFFFF",
	"colhead||sC|0|sB|3|sFZ|13px|sFW|bold",
	"tablefoot||sC|0|sB|3|sFZ|11px|sFW|bold|sTA|center",
	"hitd||sB|4",
	"trhead||sC|#FFFFFF|sB|0|sFZ|13px|sFW|bold",
	"select||sC|0",
	"selchoice||sB|2",
	"seltitle||sFS|italic",
	"input||sC|0"
);
	
function fCreateStyle(rArea, rStyles) {
	var tColors, tSItems, tNumS, tNVItems, tNumNV, tString, tStyle, tClass, tTag, tName, tValue;
	var tNumColors = 5;
	
	if (rArea == "index") return;
	if (typeof(rStyles) == 'undefined') rStyles = vStyles;

	if (vPrintColor == 0) {
		tColors = vColors_none;
	} else {
		tColors = eval("vColors_" + rArea);
	}

	tSItems = rStyles.length;
	
	document.open();
	document.write('<style type="text/css">\n');
	for (tNumS = 0; tNumS < tSItems; tNumS++) {
		tString = String(rStyles[tNumS]);
		tClass = fGetItem(tString, 0, vDelim);
		tTag = fGetItem(tString, 1, vDelim);
		tStyle = ("." + tClass + "-" + rArea);
		if (tTag != vCharNS) tStyle = (tStyle + vCharSP + tTag);
		tStyle = (tStyle + " { ");
		tNVItems = (fNumItems(tString, vDelim) - 2);	
		for (tNumNV = 0; tNumNV < tNVItems; tNumNV += 2) {
			tName = eval(fGetItem(tString, (tNumNV + 2), vDelim));
			tValue = fGetItem(tString, (tNumNV + 3), vDelim);
			if (tName == sI) {
				if (vPrintColor) {
					tValue = ('url(' + vPath + 'media/all/' + vArea + '_' + tValue + '.gif)');
				} else {
					tValue = ('url(' + vPath + 'media/all/black_' + tValue + '.gif)');
				}
			} else if (tValue >= 0 && tValue < tNumColors) {
				tValue = tColors[tValue];
			}
			tStyle = (tStyle + tName + ":" + tValue + "; ");
		}
		tStyle = (tStyle + "} ");
		if (vPrint && (tClass == "body") && (tName == sI)) {
			;  // nothing
		} else {
			document.write(tStyle + '\n');
		}
	}
	document.write('</style>\n');
	document.close();
}


// ****************************************************************
// CREATE MENUS
// ****************************************************************

function fCreateMenus() {
	var tLeft, tArea, tMItems, tNumM, tNumI, tLabel, tLink, tMenu;
	var tString = new String(vCharNS);
	var tMenuArray = new Array();

	tLeft = 5;
	vMenuLeft[0] = (tLeft + 13);
	for (tNumM = 1; tNumM < vNumMenus; tNumM++) {
		tWidth = parseInt(fGetItem(vMenus[tNumM - 1], 2, vDelim));
		tLeft = (tLeft + tWidth + 10);
		vMenuLeft[tNumM] = tLeft;
	}

	document.open();
	for (tNumM = 0; tNumM < vNumMenus; tNumM++) {
		tArea = fGetItem(vMenus[tNumM], 1, vDelim);
		tMenuArray = eval("vMenu_" + tArea);
		tMItems = tMenuArray.length;
		document.write('<div class="topmenu" id="topmenu-' + tArea + '">');
		for (tNumI = 0; tNumI < tMItems; tNumI++) {
			tString = String(tMenuArray[tNumI]);
			tLabel = (vCharNB + fGetItem(tString, 0, vDelim));
			tLink = (tArea + vCharSL + fGetItem(tString, 1, vDelim));
			fLink(tLabel, tLink, "fMenuMouse", ("1|" + tLabel), "-1|");
		}
		document.write('</div>');
		tMenu = fDOM('topmenu-' + tArea, 1);
		tMenu.left = -999; 
		tMenu.top = -999;
		tMenu.visibility = 'hidden';
		tMenu.zIndex = '0';
	}
	document.close();
}


// ****************************************************************
// CONTROL MENUS
// ****************************************************************

var vMenuCur = null;
var vMenuOld = null;
var vMenuName = vCharNS;
var vMenuNum = 0;
var vMenuTop = 58;
var vMenuState = 0;
var vMenuTicks = 0;
var vDelayTicks = 3;
var vDelayTime = 100;

function fMenuButton(rNumOver) {
	var tLabel;
	var tNumM = parseInt(fGetItem(rNumOver, 0, vDelim));
	var tOver = parseInt(fGetItem(rNumOver, 1, vDelim));
	if (tOver) {
		tArea = fGetItem(vMenus[tNumM], 1, vDelim);	
		fMenuShow(tArea, tNumM);
		fTopButton(rNumOver);
	} else {
		fMenuState(-1);
	}
}

function fMenuButtonOff() {
	if (vMenuName != vCharNS) {
		fTopButton(vMenuNum + vDelim + 0);
		vMenuName = vCharNS;
	}
}

function fMenuShow(rName, rNum) {
	vMenuState = 1;
	if (rName != vMenuName) {
		if (vMenuOld) fMenuHide();
		vMenuCur = fDOM('topmenu-' + rName, 1);
		vMenuCur.left = vMenuLeft[rNum]; 
		vMenuCur.top = vMenuTop;
		vMenuCur.visibility = 'visible';
		vMenuCur.zIndex = '999';
		vMenuOld = vMenuCur;
		vMenuName = rName;
		vMenuNum = rNum;
	}
}

function fMenuHide() {
	if (vMenuOld) {
		vMenuOld.visibility = 'hidden'; 
		vMenuOld.zIndex = '0'; 
        vMenuOld = null;
		vMenuTicks = 0;
		fMenuButtonOff();
	}
}

function fMenuState(rState) {
	if (typeof(rState) == 'undefined') {
		rState = vMenuState;
	} else {
		vMenuState = rState;
	}
    if ((vMenuState == 0) && (vMenuOld)) fMenuHide(); 
    if (vMenuState == 1) vMenuTicks = 0; 
    if (vMenuState == -1) { 
        ++vMenuTicks;
        if (vMenuTicks <= vDelayTicks) {
			setTimeout('fMenuState()', vDelayTime);
		}
        if (vMenuTicks >= vDelayTicks) {
			vMenuState = 0;
		}
    }
}

function fMenuMouse(rStateStatus) {
	var tState = parseInt(fGetItem(rStateStatus, 0, vDelim));
	var tStatus = fGetItem(rStateStatus, 1, vDelim);
	fMenuState(tState);
	fStatus(tStatus);
}

	
// ****************************************************************
// TOP BUTTONS
// ****************************************************************

var vBhome, vBhome0, vBhome1;
var vBtb, vBtb0, vBtb1;
var vBtc, vBtc0, vBtc1;
var vBrt, vBrt0, vBrt1;
var vBcs, vBcs0, vBcs1;
var vBrc, vBrc0 ,vBrc1;
var vBtr, vBtr0, vBtr1;
var vBbz, vBbz0, vBbz1;
var vBsearch, vBsearch0, vBsearch1;
var vBsitemap, vBsitemap0, vBsitemap1;

function fShowTopButtons() {
	var tNumM, tArea, tWidth, tHeight, tGIF, tLink;
	var tGIFsearch = vB0;
	var tGIFsitemap = vB0;
	var tPath = (vPath + "media/top/top_");
	vTopButtOn = -1;
	
	for (tNumM = 0; tNumM < vNumMenus; tNumM++) {
		tArea = fGetItem(vMenus[tNumM], 1, vDelim);
		tLabel = fGetItem(vMenus[tNumM], 0, vDelim);
		fNewTopButton(tNumM, tLabel, tArea)
	}
	fNewTopButton(tNumM,"Search","search")
	fNewTopButton((tNumM+1),"Sitemap","sitemap")
	
	document.open();
	document.write('<table class="toptable" width="100%" cellpadding="0" cellspacing="0" border="0">');
	document.write('<tr><td><table class="toptable topcenter" cellpadding="0" cellspacing="0" border="0"><tr valign="top"><td width="200" align="left"><img src="' + tPath + 'g_left.gif" width="200" height="15" alt="" border="0"></td><td width="100%"></td><td width="200" align="right"><img src="' + tPath + 'g_right.gif" width="200" height="15" alt="" border="0"></td></tr></table></td></tr>');
	document.write('<table class="toptable" cellpadding="0" cellspacing="0" border="0"><tr valign="middle" align="left">');

	for (tNumM = 0; tNumM < vNumMenus; tNumM++) {
		tArea = fGetItem(vMenus[tNumM], 1, vDelim);	
		tWidth = parseInt(fGetItem(vMenus[tNumM], 2, vDelim));
		tGIF = vB0;
		if (tNumM == 0) {
			tHeight = 50;
			tLink = ("index");
		} else {
			tHeight = 36;
			tLink = (tArea + "/menu_" + tArea);
			if (tArea == vArea) {
				tGIF = vB1;
				vTopButtOn = tNumM;
			}
		}
		document.write('<td width="1">');
		fLinkImg(tLink, "fMenuButton", (tNumM + "|1"), (tNumM + "|0"), ('t_' + tNumM), (tPath + 'b_' + tArea + tGIF), tWidth, tHeight, vCharNS, "topbutton");
		document.write('</td>');
	}
	if (vArea == "home") {
		if (vSection == "search") {
			tGIFsearch = vB1;
			vTopButtOn = 8;
		} else if (vSection == "sitemap") {
			tGIFsitemap = vB1;
			vTopButtOn = 9;
		}
	}
	document.write('<td width="5"><img src="' + vPath + 'media/all/blank.gif" width="5" height="1" alt="" border="0"></td><td align="right">');
	fLinkImg("home/search", "fTopButton", "8|1", "8|0", "t_8", (tPath + 'b_search' + tGIFsearch), 60, 18, "Search");
	document.write('<br>');
	fLinkImg("home/sitemap", "fTopButton", "9|1", "9|0", "t_9", (tPath + 'b_sitemap' + tGIFsitemap), 60, 17, "Sitemap");
	document.write('</td><td width="10"><img src="' + vPath + 'media/all/blank.gif" width="10" height="1" alt="" border="0"></td>');
	document.write('</tr></table></td></tr></table></td></tr></table>');
	document.close();
}


// ****************************************************************
// NAV
// ****************************************************************

function fShowNav() {
	var tMItems, tNItems, tNumM, tNumN, tName, tLabel, tLink, tClass, tID, tStatus, tSel;
	var tString = new String(vCharNS);
	var tMenuArray = new Array();
	var tNavArray = new Array();
	
	document.open();
	if ((vSection != "search") && (vSection != "sitemap")) {
		tMenuArray = eval("vMenu_" + vArea);
		tMItems = tMenuArray.length;
		for (tNumM = 0; tNumM < tMItems; tNumM++) {
			tString = String(tMenuArray[tNumM]);
			tName = fGetItem(tString, 0, vDelim);
			if (tName == "END") break;
			tLabel = fReplaceChar(tName, vNavCR, vNavBR);
			tLabel = fGetItem(tLabel, 0, vCharTR);
			tStatus =  fReplaceChar(tName, vNavCR, vCharSP);
			tLink = fGetItem(tString, 1, vDelim);
			tClass = "navarea";
			if (vBrowser == "Netscape") tClass = (tClass + "_ns");
			tID = "navarea-";
			if (tLink == vSection) {
				if ((vPage == vCharNS) || (vSubSel == 2)) {
					tClass = "navareaon";
					tID = "navon-";
				}
				fNavLink(tClass, tID, tLabel, tStatus, tLink);
				tNavArray = eval("vNav_" + vArea + "_" + vSection);
				tNItems = tNavArray.length;
				if (tNItems) {
					tClass = "navsec";
					if (vBrowser == "Netscape") tClass = (tClass + "_ns");
					document.write('<div class="' + tClass + ' navsec-' + vArea + '">');
					for (tNumN = 0; tNumN < tNItems; tNumN++) {
						tString = String(tNavArray[tNumN]);
						tName = fGetItem(tString, 0, vDelim);
						if (tName == "END") break;
						tName = fGetItem(tName, 0, vCharTR);
						tLabel = fReplaceChar(tName, vNavCR, vNavBR);
						tLink = fGetItem(tString, 1, vDelim);
						tSel = fGetItem(tString, 2, vDelim);
						tStatus = fReplaceChar(tName, vCharAP, vCharNS);
						tStatus = fReplaceChar(tStatus, vNavCR, vCharSP);
						if (tLink == vCharNS) {
							document.write('<div class="navlabel navlabel-' + vArea + '">' + tLabel + '</div>');
						} else if ((tLink == vPage) ||
								  ((tSel || vSubSel == 3) && (fGetItem(vPage, 0, vCharSL) == fGetItem(tLink, 0, vCharSL)))) {
							tClass = "navsecon";
							tID = "navon-";
							fNavLink(tClass, tID, tLabel, tStatus, tLink);
						} else {
							tClass = vCharNS;
							tID = vCharNS;
							fNavLink(tClass, tID, tLabel, tStatus, tLink);
						}
					}
					document.write('</div>');
				}
			} else {
				fNavLink(tClass, tID, tLabel, tStatus, tLink);
			}
		}
	}
	tClass = "ppage";
	if (vOnline && !vKiosk && vSection != "search" && vSection != "townmap") {
		if (vSection == "sitemap") tClass = (tClass + "c");
		document.write('<div class="' + tClass + ' ppage-' + vArea + '"><a href="javascript:fPrintPage();">&nbsp;Print This Page</a></div>');
	}
	document.close();
}

function fNavLink(rClass, rID, rLabel, rStatus, rLink) {
	rLink = (vArea + '/' + rLink);
	document.write('<div class="' + rClass + vCharSP + rID + vArea + '">');
	fLink(rLabel, rLink, "fStatus", rStatus, vCharNS);
	document.write('</div>');
}


// ****************************************************************
// BODY
// ****************************************************************

function fBodyTop() {
	var tGIF, tAlt, tAltArea, tAltSec;
	
	if (vSection == "menu") {
		tGIF = (vPath + 'media/' + vArea + '/' + vArea + '_h_menu.gif');
		tAlt = fGetLabel(vMenus, vArea);
	} else {
		if (vArea == "home") {
			tGIF = (vPath + 'media/home/home_h_' + vSection + '.gif');
			tAlt = (fGetLabel(vMenu_home, vSection));
			if (tAlt == vCharNS) {
				if (vSection == "search") {
					tAlt = "Search";
				} else if (vSection == "sitemap") {
					tAlt = "Sitemap";
				} else if (vSection == "privacy") {
					tAlt = "Privacy Policy";
				}
			}
		} else {
			tGIF = (vPath + 'media/' + vArea + '/' + vArea + '_h_' + vSection + '.gif');
			tAlt = (fGetLabel(vMenus, vArea) + " - " + fGetLabel(eval("vMenu_" + vArea), vSection));
		}
	}
	
	document.open();
	document.write('<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr valign="top">');
	if (vPrint) {
		if (vPrintColor) {
			document.write('<td align="right"><img src="' + tGIF + '" width="541" height="60" alt="' + tAlt + '" border="0"></td></tr>');
		} else {
			if (vArea == "home") {
				tAltArea = "Town of Hempstead";
				tAltSec = tAlt;
			} else {
				tAltArea = fGetLabel(vMenus, vArea);
				tAltSec = fGetLabel(eval("vMenu_" + vArea), vSection);
			}
			document.write('<td align="right"><img src="' + vPath + 'media/all/blank.gif" width="1" height="3" alt="" border="0"><br><span class="printharea">' + tAltArea + '</span><br><span class="printhsec">' + tAltSec + '</span><br><img src="' + vPath + 'media/all/blank.gif" width="1" height="4" alt="" border="0"></td></tr>');
		}
		document.write('<tr valign="top"><td class="content content-' + vArea + '">');
		if (vSubHead) fSubHead();
	} else {
		document.write('<td class="leftnav"><img src="' + vPath + 'media/all/blank.gif" width="200" height="1" alt="" border="0"></td>');
		document.write('<td align="right"><img src="' + tGIF + '" width="541" height="60" alt="' + tAlt + '" border="0"></td></tr><tr valign="top">');
		if (vSection == "menu") {
			document.write('<td class="leftblurb">');
			document.write('<p class="areablurb areablurb-' + vArea + '">' + vAreaBlurb + '</p>');
			document.write('</td><td class="content content-' + vArea + '">');
		} else {
			document.write('<td class="leftnav">');
			fShowNav();
			document.write('</td><td class="content content-' + vArea + '">');
			if (vSubHead) fSubHead();
		}
	}
	document.close();
}

function fBodyEnd() {
	document.open();
	document.write('<br>');
	if (vPrint) {
		var tDate = new Date();
		document.write('<div class="printdate" align="center">Printed from TOH.LI&nbsp;&nbsp;-&nbsp;&nbsp;The Official Web Site of the Town of Hempstead&nbsp;&nbsp;-&nbsp;&nbsp;' + (tDate.getMonth() + 1) + '/' + tDate.getDate() + '/' + tDate.getFullYear() + '</div>');
	} else {
		fPageTop();
	}
	document.write('</td></tr></table>');
	fGoogleAnalytics();
	document.close();
}


// ****************************************************************
// SUBHEAD
// ****************************************************************

function fSubHead() {
	var tSub1, tSub2, tPage;
	var tSelArray = new Array();
	
	tArray = eval("vNav_" + vArea + "_" + vSection);
	if (vSubSel >= 1) {
		tSub1 = fGetLabel(tArray, fGetItem(vPage, 0, vCharSL));
	} else {
		tSub1 = fGetLabel(tArray, vPage);
	}
	tSub1 = fReplaceChar(tSub1, vNavCR, vCharSP);
	tSub1 = fReplaceChar(tSub1, vCharTR, vCharSP);
	tSub1 = fReplaceChar(tSub1, vCharSP, vCharNB);
	document.write('<div><form action=""><table width="100%" cellpadding="0" cellspacing="0" border="0"><tr valign="bottom"><td align="left" class="sub1 sub1-' + vArea + '">' + tSub1);
	if ((vSubSel == 1) && !vPrint) {
		document.write('</td><td width="1" align="right">');
		fShowSel();
	}
	document.write('</td></tr></table></form></div>');
	if (vSubSel == 1) {
		var tPage = fGetItem(vPage, 0, vCharSL);
		if (tPage != vPage) {
			tSelArray = eval("vSel_" + vArea + "_" + vSection + "_" + tPage);
			tSub2 = fGetLabel(tSelArray, vPage)
			tSub2 = fReplaceChar(tSub2, vCharTR, vCharSP);
			tSub2 = fReplaceChar(tSub2, vCharSP, vCharNB);
			document.write('<div class="sub2 sub2-' + vArea + '">' + tSub2 + '</div>');
		}
	}
}


// ****************************************************************
// SEL
// ****************************************************************

function fShowSel() {
	var tSItems, tNumS, tLabel, tLink;
	var tSelArray = new Array();
	var tPage = fGetItem(vPage, 0, vCharSL);
	tSelArray = eval("vSel_" + vArea + "_" + vSection + "_" + tPage);
	if (tSelArray.length) {
		document.open();
		document.write('<select class="select-' + vArea + '" name="selmenu" onChange="fSelLink(this.form.elements[0])";>');
		tSItems = tSelArray.length;
		for (tNumS = 0; tNumS < tSItems; tNumS++) {
			tString = String(tSelArray[tNumS]);
			tLabel = fGetItem(tString, 0, vDelim);
			if (tLabel == "END") break;
			tLabel = fGetItem(tLabel, 0, vCharTR);
			tLink = fGetItem(tString, 1, vDelim);
			document.write('<option value="' + tLink + '"');
			if (tNumS == 0) {
				document.write(' class="selchoice seltitle-' + vArea + '"');
			} else if (tLink == vPage) {
				document.write(' SELECTED class="selchoice selchoice-' + vArea + '"');
			}
			document.write('>' + tLabel + vCharNB + '</option>');
		}
		document.write('</select><script type="text/javascript">document.forms[0].reset();</script>');
		document.close();
	}
}

function fSelLink(rElements) {
	var tLink = (vArea + vCharSL + rElements.options[rElements.selectedIndex].value);
	var tLoc = (vPath + "content/" + tLink + ".html");
	window.top.location.href = tLoc;
}


// ****************************************************************
// BUTTONS
// ****************************************************************

var vButtons = new Array();
var vButtons0 = new Array();
var vButtons1 = new Array();
var vButtonsW = new Array();
var vButtonsH = new Array();
var vButtonsLink = new Array();
var vButtonsAbs = new Array();
var vButtonsTarget = new Array();
var vTopButtons = new Array();
var vTopButtons0 = new Array();
var vTopButtons1 = new Array();

function fButtonPath(rPath) {
	vButtonPath = (vPath + "media/" + rPath);
}

function fNewButton(rNum, rStatus, rFile, rWidth, rHeight, rLink, rAbsolute, rTarget, rJPG) {
	var tB0, tB1;
	vButtons[rNum] = rStatus;
	if (rJPG == 1) {
		tB0 = "_0.jpg";
		tB1 = "_1.jpg"; 
	} else {
		tB0 = vB0;
		tB1 = vB1;
	}
	vButtons0[rNum] = new Image(); vButtons0[rNum].src = (vButtonPath + rFile + tB0);
	vButtons1[rNum] = new Image(); vButtons1[rNum].src = (vButtonPath + rFile + tB1);
	vButtonsW[rNum] = rWidth;
	vButtonsH[rNum] = rHeight;
	vButtonsLink[rNum] = rLink;
	if (rAbsolute == 1) {
		vButtonsAbs[rNum] = 1;
	} else {
		vButtonsAbs[rNum] = 0;
	}
	vButtonsTarget[rNum] = rTarget;
}

function fNewTopButton(rNum, rStatus, rFile) {
	var tPath = (vPath + "media/top/top_b_");
	vTopButtons[rNum] = rStatus;
	vTopButtons0[rNum] = new Image(); vTopButtons0[rNum].src = (tPath + rFile + vB0);
	vTopButtons1[rNum] = new Image(); vTopButtons1[rNum].src = (tPath + rFile + vB1);
}

function fShowButton(rNum) {
	fLinkImg(vButtonsLink[rNum], "fButton", (rNum + "|1"), (rNum + "|0"), ('b_' + rNum), vButtons0[rNum].src, vButtonsW[rNum], vButtonsH[rNum], vButtons[rNum], "", vButtonsAbs[rNum], vButtonsTarget[rNum]);
}

function fButton(rNumOn) {
	var tNum = parseInt(fGetItem(rNumOn, 0, vDelim));
	var tOn = parseInt(fGetItem(rNumOn, 1, vDelim));
	if (tOn) {
		document["b_" + tNum].src = vButtons1[tNum].src;
		fStatus(vButtons[tNum]);
	} else {
		document["b_" + tNum].src = vButtons0[tNum].src;
		fStatus();
	}
}

function fTopButton(rNumOn) {
	var tNum = parseInt(fGetItem(rNumOn, 0, vDelim));
	var tOn = parseInt(fGetItem(rNumOn, 1, vDelim));
	if (tOn || (tNum == vTopButtOn)) {
		document["t_" + tNum].src = vTopButtons1[tNum].src;
	} else {
		document["t_" + tNum].src = vTopButtons0[tNum].src;
	}
	if (tOn) {
		fStatus(vTopButtons[tNum]);
	} else {
		fStatus();
	}
}


// ****************************************************************
// PAGE TOP
// ****************************************************************

var vPageTop = "Top";
var vPageTopNum = 0;
var vPageTopTransNum = 0;
var vPageTop0, vPageTop1
var vPageTopTrans0, vPageTopTrans1;

function fPageTop(rBR, rTransparent) {
	if (!vPrint) {
		tPath = (vPath + "media/all/");
		if (rTransparent) {
			if (vPageTopTransNum == 0) {
				vPageTopTrans0 = new Image(); vPageTopTrans0.src = (tPath + vArea + "_b_topt" + vB0);
				vPageTopTrans1 = new Image(); vPageTopTrans1.src = (tPath + vArea + "_b_topt" + vB1);
			}
			document.write('<div align="right"><a href="#pagetop" onMouseOver="fPageTopTransButton(' + vPageTopTransNum + ', 1); return true" onMouseOut="fPageTopTransButton(' + vPageTopTransNum + ', 0); return true"><img name="ptt_' + vPageTopTransNum + '" src="' + tPath + vArea + '_b_topt_0.gif" width="29" height="15" alt="Top" border="0"></a></div>');
			++vPageTopTransNum;
		} else {
			if (vPageTopNum == 0) {
				vPageTop0 = new Image(); vPageTop0.src = (tPath + vArea + "_b_top" + vB0);
				vPageTop1 = new Image(); vPageTop1.src = (tPath + vArea + "_b_top" + vB1);
			}
			document.write('<div align="right"><a href="#pagetop" onMouseOver="fPageTopButton(' + vPageTopNum + ', 1); return true" onMouseOut="fPageTopButton(' + vPageTopNum + ', 0); return true"><img name="pt_' + vPageTopNum + '" src="' + tPath + vArea + '_b_top_0.gif" width="29" height="15" alt="Top" border="0"></a></div>');
			++vPageTopNum;
		}
		if (rBR != 0) document.write('<br>');
	}
}

function fPageTopButton(rNum, rOn) {
	if (rOn) {
		document["pt_" + rNum].src = vPageTop1.src;
		fStatus(vPageTop);
	} else {
		document["pt_" + rNum].src = vPageTop0.src;
		fStatus();
	}
}

function fPageTopTransButton(rNum, rOn) {
	if (rOn) {
		document["ptt_" + rNum].src = vPageTopTrans1.src;
		fStatus(vPageTop);
	} else {
		document["ptt_" + rNum].src = vPageTopTrans0.src;
		fStatus();
	}
}


// ****************************************************************
// LINK
// ****************************************************************

function fLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget) {
	document.write(fMakeLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget));
}
		
function fLinkImg(rLink, rMouse, rOver, rOut, rName, rSrc, rWidth, rHeight, rAlt, rClass, rAbsolute, rTarget) {
	if (typeof(rAlt) == 'undefined') rAlt = vCharNS;
	if (typeof(rClass) == 'undefined') rClass = vCharNS;
	var tLinkStr = fMakeLink(vCharNS, rLink, rMouse, rOver, rOut, rAbsolute, rTarget, 0);
	var tImgStr = ('<img class="' + rClass + '" name="' + rName + '" src="' + rSrc + '" width="' + rWidth + '" height="' + rHeight + '" alt="' + rAlt + '" border="0"></a>');
	document.write(tLinkStr + tImgStr);
}

function fMakeLink(rLabel, rLink, rMouse, rOver, rOut, rAbsolute, rTarget, rEndTag) {
	var tLoc, tLinkStr;
	if ((typeof(rTarget) == 'undefined') || (rTarget == 0)) rTarget = vCharNS;
	if (typeof(rEndTag) == 'undefined') rEndTag = 1;
	if (rAbsolute == 1) {
		tLoc = rLink;
	} else if (rLink == "index") {
		tLoc = (vPath + "index.html");
	} else {
		tLoc = (vPath + "content/" + rLink + ".html");
	}
	if ((typeof(rMouse) == 'undefined') || (rMouse == vCharNS)) {
		tLinkStr = ('<a href="' + tLoc + '"');
	} else {
		tLinkStr = ('<a href="' + tLoc + '" onMouseOver="' + rMouse + '(\'' + rOver + '\'); return true" onMouseOut="' + rMouse + '(\'' + rOut + '\'); return true"');
	}
	if (rTarget != vCharNS) tLinkStr = (tLinkStr + ' target=' + rTarget);
	tLinkStr = (tLinkStr + '>' + rLabel);
	if (rEndTag == 1) tLinkStr = (tLinkStr + '</a>');
	return(tLinkStr);
}


// ****************************************************************
// STATUS
// ****************************************************************

function fStatus(rStatus) {
	if (typeof(rStatus) == 'undefined') rStatus = vCharNS;
	vStatus = rStatus;
	setTimeout('fDisplayStatus()', 0);
}

function fDisplayStatus() {
	window.status = vStatus;
}


// ****************************************************************
// OFF SITE
// ****************************************************************

function fOffSite(rLink) {
	if (vOnline && !vKiosk) {
		var tWin = window.open(rLink, "tohLinkWin");
		tWin.focus();
	} else {
		alert("Off-site links are disabled.");
	}
}


// ****************************************************************
// PARK LINK
// ****************************************************************

function fParkLink(rParkID) {
	fSetCookie('parkhi', rParkID);
	window.open(vPath + 'content/rc/parks.html#' + rParkID, '_top');
}


// ****************************************************************
// POPUP
// ****************************************************************

function fPopup(rFile, rPopW, rPopH, rTarget, rPopScroll, rPopRel, rPopLR, rPopTB, rLROff, rTBOff) {
	var vWinW, vWinH, vWinL, vWinT, vWinR, vWinB, vPopX, vPopY, vArgs;
	
	if ((typeof(rTarget) == 'undefined') || (rTarget == 0)) rTarget = 'popWin';
	if (typeof(rPopScroll) == 'undefined') rPopScroll = '0';
	if (typeof(rPopRel) == 'undefined') rPopRel = 'W';
	if (typeof(rPopLR) == 'undefined') rPopLR = 'L';
	if (typeof(rPopTB) == 'undefined') rPopTB = 'T';
	if (typeof(rLROff) == 'undefined') rLROff = 0;
	if (typeof(rTBOff) == 'undefined') rTBOff = 0;

	if (rPopRel == 'W' || rPopRel == 'w') {
		if (vBrowser == "Netscape") {
			vWinL = window.screenX;
			vWinT = window.screenY;
			vWinW = (window.outerWidth - 20);
			vWinH = (window.outerHeight - 55);
		} else {
			vWinL = window.screenLeft;
			if (rPopTB == "T" || rPopTB == "t") {
				vWinT = window.top.screenTop;
			} else {
				vWinT = window.screenTop;
			}
			vWinW = (document.body.clientWidth - 10);
			vWinH = (document.body.clientHeight - 30);
		}
	} else {
		vWinL = 0;
		vWinT = 0;
		if (vBrowser == "Netscape") {
			vWinW = (screen.width - 10);
			vWinH = (screen.height - 0);
		} else {
			vWinW = (screen.width - 10);
			vWinH = (screen.height - 50);
		}
	}
	vWinR = (vWinL + vWinW);
	vWinB = (vWinT + vWinH);
	
	if (rPopLR == 'L' || rPopLR == 'l') {
		vPopX = vWinL;
	} else if (rPopLR == 'R' || rPopLR == 'r') {
		vPopX = (vWinR - rPopW);
	} else { // (rPopLR == 'C') 
		vPopX = (vWinL + ((vWinW / 2) - (rPopW / 2)));
	}
	if (rPopTB == 'T' || rPopTB == 't') {
		vPopY = vWinT;
	} else if (rPopTB == 'B' || rPopTB == 'b') {
		vPopY = (vWinB - rPopH);
	} else { // (rPopTB == 'C') 
		vPopY = (vWinT + ((vWinH / 2) - (rPopH / 2)));
	}
	vPopX = (vPopX + rLROff);
	vPopY = (vPopY + rTBOff);
	if (vBrowser == "Netscape") {
		vArgs = 'width=' + rPopW + ',height=' + rPopH + ',screenX=' + vPopX + ',screenY=' + vPopY + ',resizable=1,scrollbars=' + rPopScroll + ',menubar=0';
	} else {
		vArgs = 'width=' + rPopW + ',height=' + rPopH + ',left=' + vPopX + ',top=' + vPopY + ',resizable=1,scrollbars=' + rPopScroll + ',menubar=0';
	}
	vPopWin = window.open(rFile,rTarget,vArgs);
	vPopWin.focus();
}


// ****************************************************************
// HITD TABLE
// ****************************************************************

var vHiTD = false;

function fHiTD(rNext, rAlign, rClass) {
	var tTD = '<td';
	if ((typeof(rAlign) != 'undefined') && (rAlign != 0)) tTD = (tTD + ' align="' + rAlign + '"'); 
	if (typeof(rClass) != 'undefined') tTD = (tTD + ' class="' + rClass + '"'); 
	if (vHiTD) tTD = (tTD + ' class="hitd-' + vArea + '"'); 
	tTD = (tTD + '>'); 
	if (rNext) vHiTD = !vHiTD;
	return(tTD);
}


// ****************************************************************
// PRINT
// ****************************************************************

function fPrintPage() {
	vPrintPage = ("../" + fPageLoc());
	vPrintTitle = document.title;
	var tWin = window.open(vPath + "control/print.html", "tohPrintWin");
	tWin.focus();
}


// ****************************************************************
// DOWNLOAD PDF
// ****************************************************************

function fPDF(rString, rFile, rSize) {
	if (vPDF) {
	 var tPDF = (rFile + ".pdf");
	 fButtonPath("all/b_");
	 fNewButton(90, "Adobe Acrobat Reader", "adobe", 90, 33, "javascript:fOffSite('http://get.adobe.com/reader/');", 1);
	 document.write('<div align="center"><table align="center" class="boxtable-' + vArea + '" cellpadding="4" cellspacing="0" border="0">');
	 document.write('<tr align="center" valign="middle"><td><span class="note-' + vArea + '"><a href="' + tPDF + '" target="tohPDFWin">' + rString + '</a></span><br><span class="smallb">Approximate size:&nbsp;<span class="c0-' + vArea + '">' + rSize + '</span>&nbsp;&nbsp;&nbsp;&nbsp;Requires Adobe Acrobat Reader</span></td><td align="right">');
	 fShowButton(90);
	 document.write('</td></tr></table></div><br>');
	}
}


// ****************************************************************
// DOM
// ****************************************************************

var vIsDHTML = 0;
var vIsID = 0;
var vIsAll = 0;
var vIsLayers = 0;

if (document.getElementById) {
	vIsID = 1; 
	vIsDHTML = 1;
} else if (document.all) {
	vIsAll = 1; 
	vIsDHTML = 1;
} else if ((navigator.appName.indexOf('Netscape') != -1) && (parseInt(navigator.appVersion) == 4)) {
	vIsLayers = 1; 
	vIsDHTML = 1;
}

function fDOM(rObjectID, rStyle) {
	if (rStyle == 1) {
		if (vIsID) {
			return (document.getElementById(rObjectID).style);
		} else if (vIsAll) {
			return (document.all[rObjectID].style);
		} else if (vIsLayers) {
			return (document.layers[rObjectID]);
		}
	} else {
		if (vIsID) {
			return (document.getElementById(rObjectID));
		} else if (vIsAll) {
			return (document.all[rObjectID]);
		} else if (vIsLayers) {
			return (document.layers[rObjectID]);
		}
	}
}


// ****************************************************************
// COOKIES
// ****************************************************************

function fSetCookie(rName, rValue, rDays) {
	var tDate = new Date();
	tDate.setDate(tDate.getDate() + rDays);
	var tCookie = (rName + '=' + escape(rValue) + '; expires=' + tDate.toGMTString() + '; path=/');
	document.cookie = tCookie;
}

function fGetCookie(rName) {
	var tOffset, tEnd;
	var tSearch = (rName + "=");
	var tValue = vCharNS;
	if (document.cookie.length > 0) {
		tOffset = document.cookie.indexOf(tSearch);
		if (tOffset != -1) {
			tOffset += tSearch.length;
			tEnd = document.cookie.indexOf(";", tOffset);
			if (tEnd == -1) tEnd = document.cookie.length;
			tValue = unescape(document.cookie.substring(tOffset, tEnd));
      }
   }
  return(tValue);
}

function fCheckCookie(rName) {
	if (fGetCookie(rName) != 1) {
		alert("You must have cookies enabled to use this feature.");
		return(false);
	} else {
		return(true);
	}
}


// ****************************************************************
// UTILITIES
// ****************************************************************

function fNumItems(rString, rDelim) {
	var tPos;
	var tCount = 0;
	var tLoop = 1;
	while (tLoop) {
		tPos = rString.indexOf(rDelim);
		if (tPos < 0) tLoop = 0;
		rString = rString.substring(tPos + 1, rString.length);
		++tCount;
	}
	return (tCount);
}

function fGetItem(rString, rNum, rDelim) {
	var tCount, tPos, tItem;
	for (tCount = 0; tCount <= rNum; tCount++) {
		tPos = rString.indexOf(rDelim);
		if (tPos < 0) tPos = rString.length;
		tItem = rString.substring(0, tPos);
		tPos = tItem.length + 1;
		rString = rString.substring(tPos, rString.length);
	}
	return (tItem);
}

function fReplaceChar(rString, rChar, rReplace) {
	var tPos, tLen, tStrL, tStrR;
	while ((tPos = rString.indexOf(rChar)) >= 0) {
		tLen = rString.length;
		tStrL = rString.substring(0, tPos);
		tStrR = rString.substring(tPos + 1, tLen);
		rString = (tStrL + rReplace + tStrR);
	}
	return (rString);
}

function fReplaceStr(rString, rStr, rReplace) {
	var tPos, tLen, tStrL, tStrR, tSlen;
	tSlen = rStr.length;
	while ((tPos = rString.indexOf(rStr)) >= 0) {
		tLen = rString.length;
		tStrL = rString.substring(0, tPos);
		tStrR = rString.substring(tPos + tSlen, tLen);
		rString = (tStrL + rReplace + tStrR);
	}
	return (rString);
}

function fStripZero(rString) {
	var tLen;
	while (rString.indexOf("0") == 0) {
		tLen = rString.length;
		rString = rString.substring(1, tLen);
	}
	return (rString);
}

function fAddZero(rNumber) {
	if ((parseInt(rNumber) > 0) && (parseInt(rNumber) < 10)) rNumber = ("0" + rNumber);
	return (rNumber);
}

function fGetLabel(rArray, rLink, rReturnNum) {
	var tLabel = vCharNS;
	var tItems = rArray.length;
	for (tNum = 0; tNum < tItems; tNum++) {
		tString = String(rArray[tNum]);
		if (fGetItem(tString, 1, vDelim) == rLink) {
			tLabel = fGetItem(tString, 0, vDelim);
			break;
		}
	}
	if (rReturnNum) {
		return(tNum);
	} else {
		return(tLabel);
	}
}

function fPageLoc() {
	var tLoc = vArea;
	if (vPage != vCharNS) {
		tLoc = (tLoc + vCharSL + vPage);
	} else {
		tLoc = (tLoc + vCharSL + vSection);
	}
	tLoc = ("content/" + tLoc + ".html");
	return(tLoc);
}
