/* 
Town of Hempstead (version 4.0)
Website by LaMa Media
Copyright (c) 2011 - All rights reserved
*/
/*global console, navigator, window, document, alert, escape, unescape, setInterval, clearInterval, setTimeout, clearTimeout, fMMInfo, vSecInfo*/

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

var kNULLSTR = '',
	kSPACE = ' ',
	kNBSPC = '&nbsp;',
	kDELIM = '|',
	kCOMMA = ',',
	kEQUAL = '=',
	kMONTHS = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'],
	vPage = { section: '', sid: '', abbrev: '', category: '', title: '', menuname: '', parent: '', base: '', info: '', front: 0 },
	vTopImg = { total: 2, cur: 1, next: 2, PREFIX: 'ti_', TIME: 7000, SPEED: 30, DELTA: 1 },
	vMMInfo = { visible: '', x: '', over: 0, timeout: 0, dir: 1, hcur: 0, SPEED: 20, DELTA: 20, DELAY: 500, HMAX: 195, BOT: 300 },
	vFade = { fadeout: 0, fadein: 0, speed: 30, delta: 1, outopac: 100, inopac: 0, fading: 0, done: '' },
	vNotice = { h: 0, height: 0, SPEED: 3, TIME: 10, DELAY: 1500, ID: 'home-notice' },
	vForm = { page: 0, pages: 0 },
	vSlide = { speed: 0, cur: 0, total: 0, time: 0, timer: 0, fade: 1, starter: 0, SPEED: 10, DELTA: 2 };

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

function fOldBrowser(rBase) {
	window.location = (rBase + 'files/control/oldbrowser.html');
}

function fOpacity(rID, rValue) {
    var tStyle = document.getElementById(rID).style,
		tValue = (rValue / 100);
    tStyle.opacity = tValue;
    tStyle.filter = 'alpha(opacity=' + rValue + ')';
}

function fFadeDo() {
	var tDone;
	vFade.outopac -= vFade.delta;
	vFade.inopac += vFade.delta;
	if (vFade.inopac >= 100) {
		vFade.inopac = 100;
		vFade.outopac = 0;
		vFade.fading = 0;
		if (vFade.done !== kNULLSTR) {
			tDone = window[vFade.done];
			tDone();
		}
	} else {
		setTimeout(fFadeDo, vFade.speed);
	}
	fOpacity(vFade.fadeout, vFade.outopac);
	fOpacity(vFade.fadein, vFade.inopac);
}

function fFade(rOutID, rInID, rSpeed, rDelta, rDone) {
	vFade.fadeout = rOutID;
	vFade.fadein = rInID;
    if (typeof (rSpeed) !== 'undefined') { vFade.speed = rSpeed; }
    if (typeof (rDelta) !== 'undefined') { vFade.delta = rDelta; }
    if (typeof (rDone) !== 'undefined') { vFade.done = rDone; }
	vFade.outopac = 100;
	vFade.inopac = 0;
	fOpacity(vFade.fadeout, vFade.outopac);
	fOpacity(vFade.fadein, vFade.inopac);
	setTimeout(fFadeDo, vFade.time);
	vFade.fading = 1;
}

function fRandom(rMax, rMin) {
    if (typeof (rMin) === 'undefined') { rMin = 1; }
	return (Math.floor((Math.random() * rMax) + rMin));
}

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

function fDeMark(rString) {
	var t;
	rString = rString.replace(/~/gi, '<br />');
	rString = rString.replace(/{/gi, '<strong>');
	rString = rString.replace(/}/gi, '</strong>');
	for (t = 0; t <= 4; t += 1) {
		rString = rString.replace(/"/, '<em>');
		rString = rString.replace(/"/, '</em>');
	}
	return(rString);
}

function fPosition(rID) {
    var tL = 0, tT = 0,
		tE = document.getElementById(rID);
	while (tE) {
		tL += tE.offsetLeft;
		tT += tE.offsetTop;
		tE = tE.offsetParent;
	}
    return ([tL, tT]);
}

function fScrollBottomDo() {
	window.scrollTo(0, document.body.scrollHeight);
}

function fScrollBottom(rDelay) {
	if (rDelay === 0) {
		fScrollBottomDo();
	} else {
		setTimeout(fScrollBottomDo, rDelay);
	}
}

String.prototype.fTrim = function () {
	return this.replace(/^\s+|\s+$/g, '');
};

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

function fCookieSet(rName, rValue, rDays) {
	var tDate;
	if (typeof (rDays) !== 'undefined') {
		tDate = new Date();
		tDate.setDate(tDate.getDate() + rDays);
		document.cookie = (rName + '=' + escape(rValue) + '; expires=' + tDate.toGMTString() + '; path=/');
	} else {
		document.cookie = (rName + '=' + escape(rValue) + '; path=/');
	}
}

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

// ****************************************************************
// CSS RULES
// ****************************************************************

function fCSSRule(rName) {
	var tSNum, tSheet, tRNum, tRule, tLast;
	rName = rName.toLowerCase();
	if (document.styleSheets) {
		for (tSNum = 0; tSNum < document.styleSheets.length; tSNum += 1) {
			tRNum = 0;
			tRule = false;
			tLast = false;
			tSheet = document.styleSheets[tSNum];
			do {
				if (tSheet.cssRules) {
					tRule = tSheet.cssRules[tRNum];
				} else {
					tRule = tSheet.rules[tRNum];
				}
				if (tRule) {
					if (tRule.selectorText.toLowerCase() === rName) {
						return tRule;
					}
					// Chrome Fix
					if (tRule === tLast) {
						tRule = false;
					}
					tLast = tRule;
				}
				tRNum += 1;
			} while (tRule);
		}
	}
	return false;
}

function fCSSRuleAdd(rName) {
	if (document.styleSheets) {
		if (!fCSSRule(rName)) {
			if (document.styleSheets[0].addRule) {
				document.styleSheets[0].addRule(rName, null, 0);
			} else {
				document.styleSheets[0].insertRule(rName + ' { }', 0);
			}
		}
	}
	return fCSSRule(rName);
}

// ****************************************************************
// DATE/TIME
// ****************************************************************

function fCalEndTime() {
	if (document.getElementById('cal-end')) {
		document.getElementById('cal-end').style.display = 'inline';
	}
}

// ****************************************************************
// TOP IMAGES
// ****************************************************************

function fTopImgClear() {
	var t;
	for (t = 1; t <= vTopImg.total; t += 1) {
		if (t !== vTopImg.cur) {
			fOpacity((vTopImg.PREFIX + t), 0);
		}
	}
}

function fTopImg() {
	fFade((vTopImg.PREFIX + vTopImg.cur), (vTopImg.PREFIX + vTopImg.next), vTopImg.SPEED, vTopImg.DELTA, 'fTopImgClear');
	vTopImg.cur = vTopImg.next;
	if ((vTopImg.next += 1) > vTopImg.total) { vTopImg.next = 1; }
	setTimeout(fTopImg, vTopImg.TIME);
}

function fTopImgInit() {
	var t, tPos,
		tHTML = '',
		tStaticImg = 0;

	vTopImg.total = fItem(vPage.info, 1, kCOMMA);
	tPos = vPage.info.indexOf(vPage.category);
	if (tPos !== -1) {
		tPos = vPage.info.indexOf(kEQUAL, tPos) + 1;
		tStaticImg = parseInt(vPage.info.substr(tPos, 2), 10);
	}
	if (tStaticImg === 0) {
		vTopImg.cur = fRandom(vTopImg.total);
		vTopImg.next = vTopImg.cur + 1;
		if (vTopImg.next > vTopImg.total) { vTopImg.next = 1; }
		for (t = 1; t <= vTopImg.total; t += 1) {
			tHTML += '<img id="ti_' + t + '" class="topimg" src="' + vPage.base + 'files/images/iface/top/' + vPage.abbrev + t + '.jpg" alt="" />';
		}
		document.getElementById('topimgs').innerHTML = tHTML;
		for (t = 1; t <= vTopImg.total; t += 1) {
			fOpacity((vTopImg.PREFIX + t), t === vTopImg.cur ? 100 : 0);
			document.getElementById(vTopImg.PREFIX + t).style.display = 'block';
		}
		setTimeout(fTopImg, (vTopImg.TIME / 2));
	} else {
		tHTML += '<img id="ti_' + tStaticImg + '" class="topimg" src="' + vPage.base + 'files/images/iface/top/' + vPage.abbrev + tStaticImg + '.jpg" alt="" />';
		document.getElementById('topimgs').innerHTML = tHTML;
		document.getElementById(vTopImg.PREFIX + tStaticImg).style.display = 'block';
	}
}

// ****************************************************************
// MAIN MENU
// ****************************************************************

function fMMOn() {
	var tID = ('mm_' + vMMInfo.visible);
	switch (vMMInfo.visible) {
	case 'tb':
		vMMInfo.x = '0';
		break;
	case 'tc':
		vMMInfo.x = '-103px';
		break;
	case 'rt':
		vMMInfo.x = '-201px';
		break;
	case 'tr':
		vMMInfo.x = '-338px';
		break;
	case 'cs':
		vMMInfo.x = '-467px';
		break;
	case 'rn':
		vMMInfo.x = '-592px';
		break;
	case 'cn':
		vMMInfo.x = '-685px';
		break;
	case 'bz':
		vMMInfo.x = '-790px';
		break;
	}
	document.getElementById(tID).style.backgroundPosition = vMMInfo.x + ' -27px';
	document.getElementById(tID).style.color = '#fff';
}

function fMMOff() {
	document.getElementById('mm_' + vMMInfo.visible).style.backgroundPosition = vMMInfo.x + ' 0px';
	document.getElementById('mm_' + vMMInfo.visible).style.color = '#666';
}

function fMMOpenClose() {
	var tDone = 0;
	vMMInfo.hcur += (vMMInfo.DELTA * vMMInfo.dir);
	if (vMMInfo.dir === 1) {
		if (vMMInfo.hcur >= vMMInfo.HMAX) {
			vMMInfo.hcur = vMMInfo.HMAX;
			tDone = 1;
		}
	} else { // vMMInfo.dir === -1
		if (vMMInfo.hcur <= 0) {
			vMMInfo.hcur = 0;
			tDone = 1;
		}
	}
	document.getElementById('mminfos').style.height = (vMMInfo.hcur + 'px');
	document.getElementById('mminfos').style.top = ((vMMInfo.BOT - vMMInfo.hcur) + 'px');
	if (!tDone) {
		vMMInfo.timeout = setTimeout(fMMOpenClose, vMMInfo.SPEED);
	} else if (vMMInfo.dir === -1) {
		document.getElementById('mminfos').style.display = 'none';
		fMMOff();
	}
}

function fMMClose() {
	if (vMMInfo.over === 0) {
		clearTimeout(vMMInfo.timeout);
		vMMInfo.dir = -1;
		fMMOpenClose();
	}
}

function fMMOverInfo() {
	vMMInfo.over = 1;
}

function fMMOut() {
	vMMInfo.over = 0;
	setTimeout(fMMClose, vMMInfo.DELAY);
}

function fMMOver(rObj) {
	var tSection =  rObj.id.substr(3, 2);
	if (vMMInfo.visible !== tSection) {
		if (vMMInfo.visible !== '') {
			document.getElementById('mmi_' + vMMInfo.visible).style.display = 'none';
			fMMOff();
		}
		vMMInfo.visible = tSection;
		document.getElementById('mmi_' + vMMInfo.visible).style.display = 'block';
	}
	clearTimeout(vMMInfo.timeout);
	fMMOverInfo();
	vMMInfo.dir = 1;
	document.getElementById('mminfos').style.display = 'block';
	fMMOpenClose();
	fMMOn();
}

function fMMLink(rLink) {
	window.open(vPage.base + rLink, '_top');
}

// ****************************************************************
// FOOTER BUTTONS
// ****************************************************************

function fFBSet(rID, rText, rColor) {
	document.getElementById(rID).innerHTML = rText;
	document.getElementById(rID).style.color = rColor;
}

function fFBOver(rID, rWhich) {
	fFBSet(rID, rWhich, '#296eb4');
}

function fFBOut(rID) {
	fFBSet(rID, rID, '#777');
}

// ****************************************************************
// EMAIL LINK
// ****************************************************************

function fELink(rName, rDisplay, rDomain, rID) {
	var tDomain = ((typeof (rDomain) === 'undefined') || rDomain === 0) ? 'tohmail.org' : rDomain,
		tAddress = rName + String.fromCharCode(64) + tDomain,
		tDisplay = ((typeof (rDisplay) === 'undefined') || rDisplay === 0) ? tAddress : rDisplay,
		tID = (typeof (rID) === 'undefined') ? 'elink' : rID;
	document.getElementById(tID).innerHTML = '<a href="mailto:' + tAddress + '">' + tDisplay + '</a>';
}

// ****************************************************************
// PDF LINK
// ****************************************************************

function fPDF(rFile, rMessage, rID, rOffsite) {
	var tHTML,
		tBase = (typeof (rOffsite) === 'undefined' || rOffsite === 0) ? vPage.base : kNULLSTR;
	rID = (typeof (rID) === 'undefined') ? 'pdf' : rID;
	tHTML = '<table class="pdfbox" cellpadding="0" cellspacing="0" border="0">';
	tHTML += '<tr><td class="pdflink">';
	tHTML += '<a href="' + tBase + rFile + '.pdf" target="_blank">' + fDeMark(rMessage) + '</a>';
	tHTML += '<div class="pdfreq">Requires Adobe Reader</div>';
	tHTML += '</td><td><a class="getreader" href="http://get.adobe.com/reader" target="_blank"></a></td></tr></table>';
	if (rID !== 0) {
		document.getElementById(rID).innerHTML = tHTML;
	} else {
		return tHTML;
	}
}

// ****************************************************************
// ACTIVITY TABLE
// ****************************************************************

function fActivity(rHeader, rFooter, rFVPairs) {
	var t, tPair, tLCol, tRCol,
		tLen = rFVPairs.length - 1;
		tHTML = '<table class="rowtable fcol-bold" cellpadding="0" cellspacing="0" border="0">';
	if (rHeader !== '') {
		tHTML += '<thead><tr><td colspan="2">' + fDeMark(rHeader) + '</td></tr></thead>';
	}
	if (rFooter !== '') {
		tHTML += '<tfoot><tr><td colspan="2">' + fDeMark(rFooter) + '</td></tr></tfoot>';
	}
	tHTML += '<tbody>';
	for (t = 0; t < tLen; t += 1) {
		tPair = rFVPairs[t];
		tLCol = fItem(tPair, 0, kDELIM);
		tRCol = fItem(tPair, 1, kDELIM);
		if (tLCol === "HEAD") {
			tHTML += '<tr class="thead"><td colspan="2">' + fDeMark(tRCol) + '</td></tr>';
		} else if (tLCol === "SUBHEAD") {
			tHTML += '<tr class="tsubhead"><td colspan="2">' + fDeMark(tRCol) + '</td></tr>';
		} else if (tLCol === "SPACE") {
			tHTML += '<tr><td class="tspace" colspan="2">&nbsp;</td></tr>';
		} else {
			tHTML += '<tr><td>' + fDeMark(tLCol) + '</td><td>' + fDeMark(tRCol) + '</td></tr>';
		}
	}
	tHTML += '</tbody></table>';
	document.write(tHTML);
}

function XfActivity(rHeader, rFooter, rFVPairs) {
	var tKey,
		tHTML = '<table class="rowtable fcol-bold" cellpadding="0" cellspacing="0" border="0">';
	if (rHeader !== '') {
		tHTML += '<thead><tr><td colspan="2">' + fDeMark(rHeader) + '</td></tr></thead>';
	}
	if (rFooter !== '') {
		tHTML += '<tfoot><tr><td colspan="2">' + fDeMark(rFooter) + '</td></tr></tfoot>';
	}
	tHTML += '<tbody>';
	for (tKey in rFVPairs) {
		if (rFVPairs.hasOwnProperty(tKey) && tKey !== 'END') {
				tHTML += '<tr><td>' + tKey + ':</td><td>' + fDeMark(rFVPairs[tKey]) + '</td></tr>';
		}
	}
	tHTML += '</tbody></table>';
	document.write(tHTML);
}

// ****************************************************************
// FORMS
// ****************************************************************

function fFormPage(rPrevNext) {
	document.getElementById('fpage' + vForm.page).style.display = 'none';
	vForm.page += rPrevNext;
	if (vForm.page < 1) { vForm.page = vForm.pages; }
	if (vForm.page > vForm.pages) { vForm.page = 1; }
	document.getElementById('fpage' + vForm.page).style.display = 'block';
	document.getElementById('fpage-info').innerHTML = 'page ' + vForm.page + ' of ' + vForm.pages;
}

function fFormContact(rSection, rName) {
	var tHTML = '<div class="pdfbox cen">Contact ';
	switch (rSection) {
	case 'tc':
		tHTML += 'the <a href="' + vPage.base + 'town-clerks-office">Town Clerk\'s Office</a>'; break;
	case 'cn':
		tHTML += 'the <a href="' + vPage.base + 'conservation-and-waterways">Dept. of Conservation &amp; Waterways</a>'; break;
	case 'bz':
		tHTML += 'the <a href="' + vPage.base + 'building-department">Building Department</a>'; break;
	default:
		tHTML += '<a href="' + vPage.base + '">Town Hall</a>';
	}
	tHTML += ' for the <em>' + rName + '</em> form.</div>';
	return tHTML;
}

function fFormMultipage() {
	var tHTML = '<table class="multiform" cellpadding="0" cellspacing="0" border="0"><tr valign="middle">';
	tHTML += '<td align="right"><a class="arrow prev" href="javascript:fFormPage(-1);"></a></td>';
	tHTML += '<td align="center" width="80" id="fpage-info"></td>';
	tHTML += '<td align="left"><a class="arrow next" href="javascript:fFormPage(1);"></a></td>';
	tHTML += '</tr></table>';
	return tHTML;
}

function fForm(rDownload, rName, rPages, rSection, rFile, rID, rMessage) {
	var t, tFile, tHTML, 
		tNext = (rPages > 1) ? 'onclick="fFormPage(1);" style="cursor:pointer"' : '';
	rID = (typeof (rID) !== 'undefined') ? rID : 'form';
	rName = rName.replace(/~/gi, '<br />');
	rMessage = (typeof (rMessage) !== 'undefined') ? rMessage : 'View a printable <em>' + rName + '</em> form.';
	vForm.page = 1;
	vForm.pages = rPages;

	if (rDownload) {
		tFile = 'files/forms/print/' + rSection + '/' + rFile;
		tHTML = fPDF(tFile, rMessage, 0);
	} else {
		tHTML = fFormContact(rSection, rName);
	}
	if (rPages > 1) {
		tHTML += fFormMultipage();
	}
	for (t = 1; t <= rPages; t += 1) {
		tFile = vPage.base + 'files/forms/sample/' + rSection + '/' + rFile;
		if (t > 1) { tFile += t; }
		tFile += '.gif';
		tHTML += '<div class="sample-form" id="fpage' + t + '">';
		tHTML += '<img src="' + tFile + '" ' + tNext + ' alt="' + rName + '"></div>';
	}
	document.getElementById(rID).innerHTML = tHTML;
	if (rPages > 1) {
		fFormPage(0);
	}
}

// ****************************************************************
// AUTO SLIDE SHOW
// ****************************************************************

function fSlideShowDo() {
	var tCur = vSlide.cur,
		tNext = tCur + 1;
	if (tNext > vSlide.total) { tNext = 1; }
	if (vSlide.fade) {
		fFade('slide' + tCur, 'slide' + tNext, vSlide.SPEED, vSlide.DELTA);
	} else {
		document.getElementById('slide' + tCur).style.display = 'none';
		document.getElementById('slide' + tNext).style.display = 'inline';
	}
	vSlide.cur = tNext;
}

function fSlideShowStart() {
	if (vFade.fading) {
		if (vSlide.starter) {
			clearTimeout(vSlide.starter);
		}
		vSlide.starter = setTimeout(fSlideShowStart, vSlide.time);
	} else {
		clearInterval(vSlide.timer);
		vSlide.timer = setInterval(fSlideShowDo, vSlide.time);
	}
}

function fSlideShow(rPath, rTotal, rTime, rSuffix, rID, rFade, rPause) {
	var t,
		tHTML = '<div class="slideshow">';
	if ((typeof (rTime) === 'undefined') || (rTime === 0)) { rTime = 3000; }
	if ((typeof (rSuffix) === 'undefined') || (rSuffix === 0)) { rSuffix = 'jpg'; }
	if ((typeof (rID) === 'undefined') || (rID === 0)) { rID = 'slideshow'; }
	if (typeof (rFade) === 'undefined') { rFade = 1; }
	if (typeof (rPause) === 'undefined') { rPause = 1; }
	if (rPause === 1) {
		rPause = 'onmouseover="clearInterval(vSlide.timer)" onmouseout="fSlideShowStart()"';
	} else {
		rPause = kNULLSTR;
	}
	vSlide.cur = 1;
	vSlide.total = rTotal;
	vSlide.time = rTime;
	vSlide.fade = rFade;
	for (t = 1; t <= rTotal; t += 1) {
		tHTML += '<div ' + rPause + ' class="hide" id="slide' + t + '"><img src="' + rPath + t + '.' + rSuffix + '" alt =""></div>';
	}
	tHTML += '</div>';
	document.getElementById(rID).innerHTML = tHTML;
	if (rFade) {
		for (t = 1; t <= rTotal; t += 1) {
			fOpacity(('slide' + t), t === 1 ? 100 : 0);
			document.getElementById('slide' + t).style.position = 'absolute';
			document.getElementById('slide' + t).style.display = 'inline';
		}
	} else {
		document.getElementById('slide1').style.display = 'inline';
	}
	fSlideShowStart();
}

// ****************************************************************
// HOME NOTICE
// ****************************************************************

function fHomeNoticeLoop() {
	vNotice.h += vNotice.SPEED;
	if (vNotice.h > vNotice.height) {
		vNotice.h = vNotice.height;
	} else {
		setTimeout(fHomeNoticeLoop, vNotice.TIME);
	}
	document.getElementById(vNotice.ID).style.height = vNotice.h + 'px';
}

function fHomeNotice() {
	if (document.getElementById(vNotice.ID).innerHTML != kNULLSTR) {
		document.getElementById(vNotice.ID).style.display = "block";
		vNotice.height = (document.getElementById(vNotice.ID).offsetHeight) - 3;
		document.getElementById(vNotice.ID).style.height = 0;
		setTimeout(fHomeNoticeLoop, vNotice.DELAY);
	}
}

// ****************************************************************
// PAGES
// ****************************************************************

function fPetfinder() {
	document.write('<script type="text/javascript" src="http://fpm.petfinder.org/fp/modpet.cgi?font=arial&fontsize=2&fontcolor=333333&shelter=ny359"></script>');
}

function fWeather() {
	var wx_locID = '11550',
		wx_targetDiv = 'wx_module_2623',
		wx_config = 'SZ=180x150*WX=FHW*LNK=SSNL*UNT=F*BGI=winter*MAP=null|null*DN=toh.li*TIER=0*PID=1292763235*MD5=27a9a7f4004046b2cd8ac1201692df15';
	document.write('<script type="text/javascript" src="' + document.location.protocol + '//wow.weather.com/weather/wow/module/' + wx_locID + '?config=' + wx_config + '&proto=' + document.location.protocol + '&target=' + wx_targetDiv + '"></script>');
}

function fNoticeStart(rNotices, rWhich) {
	if (rNotices) {
		return ('<br /><table class="rowtable vmid" cellpadding="0" cellspacing="0" border="0"><tr class="thead"><td>' + rWhich + ' Notices</td><td>Posted&nbsp;Date</td></tr>');
	} else {
		return ('<br /><p class="note"">There are not any ' + rWhich + ' notices available at this time.</p>');
	}
}

function fNotice(rTitle, rFile, rPDate) {
	return ('<tr><td><a class="block-pad" href="' + vPage.base + 'files/pdfs/cs_districts/' + rFile + '.pdf" target="_blank">' + rTitle + '</a></td><td align="right">' + rPDate + '</td></tr>');
}

function fNoticeEnd() {
	return ('<tr class="tfoot"><td colspan="2">The documents above require <a href="http://get.adobe.com/reader/" target="_blank">Adobe Reader</a>.</td></tr></table>');
}

function fStormResponseForm() {
	window.location = vPage.base + 'storm-response-form';

}

// ****************************************************************
// PAGE
// ****************************************************************

function fFixURL(rPath) {
	var tPathname = window.location.pathname.substr(1);
	if (tPathname !== rPath) {
		window.location = vPage.base + rPath;
	}
}

function fFixPageString(rString) {
	rString = rString.toLowerCase();
	rString = rString.replace(/&amp;/g, 'and');
	rString = rString.replace(/&/g, 'and');
	rString = rString.replace(/ /g, '-');
	return (rString);
}

function fLevel3() {
	var tParent = vPage.parent;
	if (tParent !== kNULLSTR) {
		tParent = fFixPageString(tParent);
		if (tParent !== vPage.category) {
			return (vPage.parent);
		}
	}
	return (kNULLSTR);
}

function fHidePrev() {
	document.getElementById('pnprev').style.visibility = 'hidden';
}
function fHideNext() {
	document.getElementById('pnnext').style.visibility = 'hidden';
}
function fHidePrint() {
	var tRule = fCSSRuleAdd('.buttonheading');
	tRule.style.display = 'none';
}
function fHideTitle() {
	document.getElementById('title').style.display = 'none';
}

function fPrevNext(rPrev, rNext) {
	var tHTML = '<div class="prevnext" align="right"><table cellpadding="0" cellspacing="0" border="0"><tr>';
	tHTML += '<td><a id="pnprev" class="arrow prev" href="' + rPrev + '"></a></td>';
	tHTML += '<td><a id="pnnext" class="arrow next" href="' + rNext + '"></a></td>';
	tHTML += '</tr></table></div>';
	document.getElementById('pagenav').innerHTML = tHTML;
	if (rPrev === kNULLSTR) { fHidePrev(); }
	if (rNext === kNULLSTR) { fHideNext(); }
}

function fPageNav() {
	if ((vPage.category === 'news') ||
			(vPage.category === 'events') ||
			(vPage.parent === 'Landmarks Preservation') ||
			(vPage.parent === 'Record Series') ||
			(vPage.parent === 'Bound Archival Volumes')) {
		document.getElementById('pagenav').style.display = 'block';

		if ((vPage.menuname === 'Bedell House') ||
				(vPage.menuname === 'Fire Districts') ||
				(vPage.menuname === 'Town Records')) {
			fHidePrev();
		}

		if ((vPage.menuname === 'Weber House') ||
				(vPage.menuname === 'Parking Districts/Fields') ||
				(vPage.menuname === 'Chattel Mortages')) {
			fHideNext();
		}
	}
}

function fPage(rSection, rSecID, rCategory, rTitle, rMenuName, rParent, rBase) {
	// console.log('s:' + rSection + ' i:' + rSecID + ' c:' + rCategory + ' t:' + rTitle + ' m:' + rMenuName + ' p:' + rParent);
	if (rSection === 'town-hall' || rCategory === 'home') {
		vPage.front = 1;
	}
	if (rCategory === 'homeslide' ||
			rCategory === 'hometabs' ||
			rTitle === 'News' ||
			rTitle === 'Events') {
		window.location = rBase;
	} else {
		if (rTitle === 'Search') {
			rSection = 'town-hall';
			rSecID = 1;
			rCategory = 'search';
		}
		if (rSection === kNULLSTR) {
			rSection = 'town-hall';
			rSecID = 1;
			rCategory = 'home';
			vPage.front = 0;
		}
		if (rTitle === 'Login' ||
				rTitle === 'Test' ||
				rTitle === 'Snippets' ||
				rTitle === 'LaMaQC Pages') {
			rSection = 'town-hall';
			rSecID = 1;
			rCategory = 'test';
			vPage.front = 0;
		}
		vPage.section = rSection;
		vPage.sid = rSecID;
		vPage.category = rCategory;
		vPage.title = rTitle;
		vPage.menuname = rMenuName;
		vPage.parent = rParent;
		vPage.base = rBase;
		vPage.info = vSecInfo[vPage.sid];
		vPage.abbrev = fItem(vPage.info, 0, kCOMMA);
	}
}

function fPageSetup(rMessage) {
	var tTitle, tCategory, tSub, tRule,
		tParent = fLevel3();

	if (rMessage) {
		document.getElementById('home-message').style.display = 'block';
	}
	if (vPage.section === 'town-hall' && vPage.category !== 'contact') {
		document.getElementById('leftmenu').style.display = 'none';
	}
	if (vPage.title.indexOf(kDELIM) !== -1) {
		tTitle = fItem(vPage.title, 0, kDELIM).fTrim();
		tSub = fItem(vPage.title, 1, kDELIM).fTrim();
		if (tParent !== kNULLSTR) {
			document.getElementById('title').innerHTML = tParent + '<span class="sub">' + tTitle + '</span>' + '<span class="sub2">' + tSub + '</span>';
		} else {
			document.getElementById('title').innerHTML = tTitle + '<span class="sub">' + tSub + '</span>';
		}
	} else if ((tParent !== kNULLSTR) && (vPage.title.indexOf('404') === -1)) {
		if (fFixPageString(vPage.title) === fFixPageString(vPage.menuname)) {
			tTitle = tParent;
		} else {
			tTitle = vPage.menuname;
			tCategory = fFixPageString(tParent);
			vPage.category = tCategory;
			document.getElementById('category').innerHTML = '<span>' + tParent + '</span>';
		}
		document.getElementById('title').innerHTML = tTitle + '<span class="sub">' + vPage.title + '</span>';
	}
	switch (vPage.category) {
	case 'home':
		fHideTitle();
		document.getElementById('category').style.display = 'none';
		document.getElementById('c-content').style.marginTop = '0';
		document.getElementById('r-content').style.marginTop = '0';
		if (vPage.front) {
			fHomeNotice();
			document.getElementById('credit').style.display = 'block';
			document.getElementById('copyright').style.display = 'block';
			if (document.getElementById('events').innerHTML === kNULLSTR) {
				document.getElementById('events').innerHTML = '<div class="noevents">There are no events at this time.</div>';
			}
		}
		break;
	case 'news':
		tRule = fCSSRule('.createdate');
		tRule.style.display = 'block';
		document.getElementById('main').style.paddingLeft = '0';
		break;
	case 'events':
		document.getElementById('main').style.paddingLeft = '0';
		break;
	case 'calendar':
		fHidePrint();
		fHideTitle();
		document.getElementById('category').innerHTML = '<span>Town Calendar</span>';
		document.getElementById('main').style.paddingLeft = '40px';
		tRule = fCSSRuleAdd('.yui-calendar .calheader');
		tRule.style.fontSize = '17px';
		tRule = fCSSRuleAdd('.yui-calendar .calnavleft');
		tRule.style.width = '360px';
		tRule = fCSSRuleAdd('.yui-calendar .calnavright');
		tRule.style.width = '360px';
		tRule.style.backgroundPosition = '-30px 0';
		tRule = fCSSRuleAdd('.yui-calendar .calnavright:hover');
		tRule.style.backgroundPosition = '-30px -26px';
		break;
	case 'search':
		fHideTitle();
		document.getElementById('category').innerHTML = '<span>Search</span>';
		document.getElementById('main').style.paddingLeft = '160px';
		break;
	case 'hearings':
		document.getElementById('category').innerHTML = '<span>' + vPage.menuname + '</span>';
		document.getElementById('title').innerHTML = vPage.menuname + '<span class="sub">' + vPage.title + '</span>';
		break;
	case 'test':
		document.getElementById('category').innerHTML = '<span>Administration</span>';
		document.getElementById('main').style.paddingLeft = '0';
		break;
	}
	fTopImgInit();
	fMMInfo();
	fPageNav();
}


