
//  several occurances of "summer" need to be changed to "fall" also change common.js 

// ************************************************************************************************
//  
//  NAVIGATION PROCESSOR SCRIPT FOR Village of Pleasant Prairie
//	************************************************************************************************

// ------------------------------------------------------------------------------------------------
//  Refresh window if resized in Netscape 4 																	   
// -------------------------------------------------------------------------------------------------



function nsOnResizeEvent() {
	if ((document.size.initWindowWidth != window.innerWidth) || (document.size.initWindowHeight != window.innerHeight)) {
		window.location.href = document.location;
	}
}

function nsOnResizeInit() {
	if (ns4) {
		if (typeof document.size == 'undefined') {
			document.size = new Object;
			document.size.initWindowWidth = window.innerWidth;
			document.size.initWindowHeight = window.innerHeight;
			window.onresize = nsOnResizeEvent;
		}
	}
}

nsOnResizeInit();


					

// -------------------------------------------------------------------------------------------------
//  Layer activation and visibility 																	   
// -------------------------------------------------------------------------------------------------

function showLayer(id) {
	if (document.all) document.all[id].style.visibility = 'visible';
	else if (ns4) document.layers[id].visibility = 'show';
	else if (dom2) document.getElementById(id).style.visibility = 'visible';
}

function hideLayer(id) {
	if (document.all) document.all[id].style.visibility = 'hidden';
	else if (ns4) document.layers[id].visibility = 'hide';
	else if (dom2) document.getElementById(id).style.visibility = 'hidden';
}

function onmain(id,mainname,parentexists) {
	var mainid = 'main' + id; var parentid = 'parent' + id;

	if (parentexists) {
		showLayer(parentid);
	}
	mainname = mainname.replace(/\s/g,"");
	document.images[mainname].src = linkbase + 'images/season_summer/navigation/' + mainname + '_on.gif';
}

function offmain(id,mainname,parentexists) { 
	var mainid = 'main' + id; var parentid = 'parent' + id;
	
	if (parentexists) {
//		setTimeout('hideLayer(parentid)',0);
		hideLayer(parentid);
	}
	mainname = mainname.replace(/\s/g,"");
	document.images[mainname].src = linkbase + 'images/season_summer/navigation/' + mainname + '_off.gif';
}

function onparentcell(i,id,childexists) {
	if (dom2) {
		//on state background-color WINTER [[F5F2DD]]
		//on state background-color SPRING [[f1e7da]]
		//on state background-color SUMMER [[607296]]
		//on state background-color FALL [[a29c62]]
		document.getElementById('parentcell' + id).style.backgroundColor = '#607296';
		//on state text-color WINTER [[264180]]
		//on state text-color SPRING [[000000]]
		//on state text-color SUMMER [[ffffff]]
		//on state text-color FALL [[5a1616]]
		document.getElementById('parenttext' + id).style.color = '#FFFFFF';
	}
}

function offparentcell(i,id,childexists) {
	if (dom2) {
		//off state background-color after mousing over SUMMER [[F2EABA]]
		//off state background-color after mousing over WINTER [[B1BACF]]
		//off state background-color after mousing over SPRING [[EBDDCA]]
		//off state background-color after mousing over FALL [[aba672]]		
		document.getElementById('parentcell' + id).style.backgroundColor = '#F2EABA';
		
		//off state text-color after mousing over SUMMER [[333333]]
		//off state text-color after mousing over FALL [[333333]]
		document.getElementById('parenttext' + id).style.color = '#333333';
	}
}

function onparent(id,mainname) { onmain(id,mainname,true) }

function offparent(id,mainname) { offmain(id,mainname,true) } 



// -------------------------------------------------------------------------------------------------
//  Page / object building 																	   
// -------------------------------------------------------------------------------------------------

function buildurl(whichurl) {
	whichurl = new String(whichurl);
	if (whichurl.indexOf(':') == -1) {
		//whichurl = linkbase + whichurl;
	}
	return whichurl;
}


function buildstyle(type,id,z) {
	switch (type) {
		case "start": return '<style type="text/css">\n';
		case "end": return '</style>';
		case "main": return (!ns4) ? '#main' + id + ' { position: relative; visibility: visible; z-index: 10 }\n #maincell' + id + ' { position: relative; visibility: visible; z-index: 10 }\n' : '\n';
		case "parent": return (ns4) ? '\n' : '#parent' + id + ' { position: absolute; visibility: hidden; z-index: ' + (10 + z) + '}\n';
		default: return '\n';
	}
}

function buildcss(stylestring){
	stylestring = buildstyle('start') + stylestring + buildstyle('end');
	document.write(stylestring);
}

function buildmaincell(mainname,mainlink,mainurl,i,parentexists) {
	var theimg = new Image();
	mainname = mainname.replace(/\s/g,"");
	theimg.src = linkbase + 'images/season_summer/navigation/' + mainname + '_on.gif';

	if (ns4) { 
		return '<td><ilayer id="main' + i + '" visibility="visible" onmouseover="onmain(' + i + ',\'' + mainname + '\',' + parentexists +');" onmouseout="offmain(' + i + ',\'' + mainname + '\',' + parentexists +');"><table cellspacing="0" cellpadding="0" border="0"><tr><td><a id="mainlink' + i + '" href="' + mainurl + '" onmouseover="onmain(' + i + ',\'' + mainname + '\',' + parentexists +');" onmouseout="offmain(' + i + ',\'' + mainname + '\',' + parentexists +');"><img src="' + linkbase + 'images/season_summer/navigation/' + mainname + '_off.gif" alt="" border="0" name="' + mainname + '"></a></td></tr></table></ilayer></td>';
	} else {
		return '<td id="maincell' + i + '"><div id="main' + i + '"><table cellspacing="0" cellpadding="0" border="0"><tr><td><a id="mainlink' + i + '" href="' + mainurl + '" onmouseover="onmain(' + i + ',\'' + mainname + '\',' + parentexists +');" onmouseout="offmain(' + i + ',\'' + mainname + '\',' + parentexists +');"><img src="' + linkbase + 'images/season_summer/navigation/' + mainname + '_off.gif" alt="" border="0" name="' + mainname + '"></a></td></tr></table></div></td>\n\n'; 
	}
}

function buildactivemaincell(mainname,mainlink,mainurl,i) {
	var theimg = new Image();
	mainname = mainname.replace(/\s/g,"");
	theimg.src = linkbase + 'images/season_summer/navigation/' + mainname + '_off.gif';

	if (ns4) {
		return '<td><ilayer id="main' + i + '"><table cellspacing="0" cellpadding="0" border="0"><tr><td><a id="mainlink' + i + '" href="' + mainurl + '"><img src="' + linkbase + 'images/season_summer/navigation/' + mainname + '_on.gif" alt="" border="0" name="' + mainname + '"></a></td></tr></table></ilayer></td>';
	} else {
		return '<td id="maincell' + i + '"><div id="main' + i + '"><table cellspacing="0" cellpadding="0" border="0"><tr><td><a id="mainlink' + i + '" href="' + mainurl + '"><img src="' + linkbase + 'images/season_summer/navigation/' + mainname + '_on.gif" alt="" border="0" name="' + mainname + '"></a></td></tr></table></div></td>\n\n'; 
	}
}

function buildparentmenu(parenttablerows,parentnumber,mainname) {
	
	var parenttable = '<table cellspacing="0" cellpadding="0" border="0" class="nav_menu_border">\n'
	parenttable += '<tr><td class="nav_background_off"><table width="100%" cellspacing="0" cellpadding="0" border="0">';
	parenttable += parenttablerows;
	parenttable += '</table></td></tr>\n';
	parenttable += '</table>'

	var parentlayerstart = (ns4) ? '<layer id="parent' + parentnumber + '" z-index="'+ eval(7 + parentnumber) +'" left="175" top="120" width="148" visibility="hidden" onmouseover="onparent(' + parentnumber + ',\'' + mainname + '\');" onmouseout="offparent(' + parentnumber + ',\'' + mainname + '\');">' : '<div id="parent' + parentnumber + '" onmouseover="onparent(' + parentnumber + ',\'' + mainname + '\');" onmouseout="offparent(' + parentnumber + ',\'' + mainname + '\');">';
	var parentlayerend = (ns4) ? '</layer>\n\n' : '</div>\n\n';
	return parentlayerstart + parenttable + parentlayerend;
}

function buildparenttablerow(mainname,parentlink,parenturl,i,j,childexists) {
	parentlink = new String(parentlink);
		return '<tr><td class="nav_border_top" id="parentcell' + j + '" onmouseover="onparentcell(' + i + ',' + j + ',' + childexists + ')" onmouseout="offparentcell(' + i + ',' + j + ',' + childexists + ')" onclick="document.location = \'' + parenturl + '\'"><div id="parentdiv' + j + '"><table width="100%" cellspacing="0" cellpadding="0" border="0" style="padding: 3px 8px;"><tr><td><div class="subnav"><a href="' + parenturl + '" id="parenttext' + j + '" onmouseover="onparentcell(' + i + ',' + j + ',' + childexists + ')" >' + parentlink + '</a></div></td></tr></table></div></td></tr>';
}

function buildactiveparenttablerow(parentname,parentlink,parenturl) {
	if (activemain == parentname) {
		return '<tr><td align="right"><span class="subnav"><a href="' + parenturl +'">&gt; '+ parentlink + '</a></span></td></tr>\n';
	} else {
		return '<tr><td align="right"><span class="subnavon"><a href="' + parenturl +'">'+ parentlink + '</a></span></td></tr>\n';
	}
}

function buildchildtablerow(mainname,childlink,childurl,i,j,k) {
	childlink = new String(childlink);
	return '<tr bgcolor="#B7CFE7"><td><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="50" height="1" border="0"></td></tr><tr><td id="childcell' + k + '" onclick="document.location = \'' + childurl + '\'" onmouseover="onchildcell(' + i + ',' + j + ',' + k + ')" onmouseout="offchildcell(' + i + ',' + j + ',' + k + ')"><table width="100%" cellspacing="0" cellpadding="0" border="0" style="padding: 2px 10px;"><tr><td><div class="subnav"><a href="' + childurl + '" id="childtext' + k + '">' + childlink + '</a></div></td></tr></table></td></tr>';
}

function buildchildmenu(childtablerows,i,j,parentname,mainname) {
	
	var childtable = '<table cellspacing="0" cellpadding="0" border="0"><tr><td colspan="4" bgcolor="#E6F5FC"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="105" height="1" border="0"></td></tr>\n'
	childtable += '<tr><td bgcolor="#E6F5FC" width="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="2" height="5" border="0"></td><td bgcolor="#E6F5FC"><table width="100%" cellspacing="0" cellpadding="0" border="0">';
	childtable += childtablerows;
	childtable += '</table></td><td bgcolor="#E6F5FC" width="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="2" height="5" border="0"></td><td bgcolor="#B7CFE7" width="1"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="1" height="5" border="0"></td></tr>\n';
	childtable += '<tr><td colspan="3" bgcolor="#E6F5FC"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="104" height="2" border="0"></td><td bgcolor="#B7CFE7"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="1" height="2" border="0"></td></tr>'
	childtable += '<tr><td colspan="4" bgcolor="#B7CFE7"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="105" height="1" border="0"></td></tr></table>'

	var childlayerstart = (ns4) ? '<layer id="child' + j + '" z-index="'+ eval(7 + j) +'" left="175" top="120" width="148" visibility="hidden" onmouseover="onchild(' + i + ',' + j + ',\'' + mainname + '\');" onmouseout="offchild(' + i + ',' + j + ',\'' + mainname + '\');">' : '<div id="child' + j + '" onmouseover="onchild(' + i + ',' + j + ',\'' + mainname + '\');" onmouseout="offchild(' + i + ',' + j + ',\'' + mainname + '\');">';
	var childlayerend = (ns4) ? '</layer>\n\n' : '</div>\n\n';
	return childlayerstart + childtable + childlayerend;
}

function buildsidenavactiveparentrow(parentname,parentlink,parenturl,i,childexists,childtablerows) {
	parentlink = new String(parentlink);

	var rowstring;

	rowstring = '<tr valign="top">';
	rowstring += '<td><table width="157" cellspacing="0" cellpadding="0" border="0">';
	rowstring += '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="3" border="0"></td></tr>';

	if (childexists) {
		rowstring += '<tr valign="top"><td width="12"><img src="' + linkbase + 'images/season_summer/navigation/sidenav_arrowdown_on.gif" alt="" width="8" height="8" border="0"></td><td width="145"><div class="sidenavon"><a href="' + parenturl + '"><strong>' + parentlink + '</strong></a></div></td></tr>';
	} else {
		rowstring += '<tr valign="top"><td width="12"><img src="' + linkbase + 'images/season_summer/navigation/sidenav_arrow_on.gif" alt="" width="8" height="8" border="0"></td><td width="145"><div class="sidenavon"><a href="' + parenturl + '"><strong>' + parentlink + '</strong></a></div></td></tr>';
	}

	rowstring += '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="3" border="0"></td></tr>';

	if (childexists) {
		rowstring += buildsidenavchildmenu(childtablerows,i,parentname);
	}

	rowstring += '</table></td>';
	rowstring += '</tr>';

	return rowstring;
}

function buildsidenavparentrow(parentname,parentlink,parenturl,i) {
	var rowstring;

	rowstring = '<tr valign="top">';
	rowstring += '<td><table width="157" cellspacing="0" cellpadding="0" border="0">';
	rowstring += '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="3" border="0"></td></tr>';
	rowstring += '<tr valign="top"><td width="12"><img src="' + linkbase + 'images/season_summer/navigation/sidenav_arrow.gif" alt="" width="8" height="8" border="0" vspace="2"></td><td width="145"><div class="sidenav"><a href="' + parenturl + '"><strong>' + parentlink + '</strong></a></div></td></tr>';
	rowstring += '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="3" border="0"></td></tr>';
	rowstring += '</table></td>';
	rowstring += '</tr>';

	return rowstring;
}


function buildsidenavchildmenu(childtablerows,i,parentname) {
	var childtable;

	childtable = '<tr><td colspan="2"><table width="157" cellspacing="0" cellpadding="0" border="0">';
	childtable += childtablerows;
	childtable += '<tr><td><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="3" border="0"></td></tr></table></td></tr>';

	return childtable;
}

function buildsidenavchildtablerow(parentname,childlink,childurl,j) {
	var rowstring;
	
	rowstring = '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="2" border="0"></td></tr>'
	rowstring += '<tr valign="top"><td width="18"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="18" height="8" border="0"></td><td width="100%"><div class="sidenav"><a href="' + childurl + '">' + childlink + '</a></div></td></tr>';
	rowstring += '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="2" border="0"></td></tr>'

	return rowstring;
}

function buildsidenavactivechildtablerow(parentname,childlink,childurl,j) {
	var rowstring;

	rowstring = '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="2" border="0"></td></tr>'
	rowstring += '<tr valign="top"><td width="18"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="18" height="8" border="0"></td><td width="100%"><div class="sidenavon"><a href="' + childurl + '">' + childlink + '</a></div></td></tr>';
	rowstring += '<tr><td colspan="2"><img src="' + linkbase + 'images/common/spacer.gif" alt="" width="3" height="2" border="0"></td></tr>'

	return rowstring;
}


var mainstring = ''; var parentstring = ''; var childstring = ''; var stylestring = ''; var sidenavstring = ''; var breadcrumbstring = '';

var menus = 0; var submenus = 0;

function buildnav() {
	var i = 0; var j = 0; var k = 0; var parenttablerows = ''; var childtablerows = ''; var parentexists; var childexists;
	
	for (mainname in navigation) {
		for (var mainlink in navigation[mainname]) {
			stylestring += eval('buildstyle(\'main\',' + i + ')');
			for (var mainurl in navigation[mainname][mainlink]) {
				if (mainname != activemain) {
					for (var parentname in navigation[mainname][mainlink][mainurl]) {
						for (var parentlink in navigation[mainname][mainlink][mainurl][parentname]) {
							for (var parenturl in navigation[mainname][mainlink][mainurl][parentname][parentlink]) {

								childtablerows = '';
								
								for (var childname in navigation[mainname][mainlink][mainurl][parentname][parentlink][parenturl]) {
									for (var childlink in navigation[mainname][mainlink][mainurl][parentname][parentlink][parenturl][childname]) {
										var childurl = navigation[mainname][mainlink][mainurl][parentname][parentlink][parenturl][childname][childlink];
										childurl = buildurl(childurl);

										childtablerows += buildchildtablerow(mainname,childlink,childurl,i,j,k);
										k++;
										
									}
								}

								childexists = (childtablerows != '') ? true:false;

//								childexists = false;
								parenturl = buildurl(parenturl);
								parenttablerows += buildparenttablerow(mainname,parentlink,parenturl,i,j,childexists);
								stylestring += eval('buildstyle(\'child\',' + j + ',' + (5 + j) + ')');
								childstring += buildchildmenu(childtablerows,i,j,parentname,mainname);
								childtablerows = '';
							}
						}
						j++;
						submenus++;
					}
					parentexists = (parenttablerows != '') ? true:false;
					mainurl = buildurl(mainurl);
					mainstring += buildmaincell(mainname,mainlink,mainurl,i,parentexists);
					stylestring += eval('buildstyle(\'parent\',' + i + ',' + (7 + i) + ')');
					parentstring += buildparentmenu(parenttablerows,i,mainname);
					parenttablerows = '';
				} else {
					for (var parentname in navigation[mainname][mainlink][mainurl]) {
						for (var parentlink in navigation[mainname][mainlink][mainurl][parentname]) {
							for (var parenturl in navigation[mainname][mainlink][mainurl][parentname][parentlink]) {
								childtablerows = '';
								for (var childname in navigation[mainname][mainlink][mainurl][parentname][parentlink][parenturl]) {
									for (var childlink in navigation[mainname][mainlink][mainurl][parentname][parentlink][parenturl][childname]) {
										var childurl = navigation[mainname][mainlink][mainurl][parentname][parentlink][parenturl][childname][childlink];
										childurl = buildurl(childurl);

//										childtablerows += buildchildtablerow(mainname,childlink,childurl,i,j,k);
										


										if (activechild == childname) {
											breadcrumbstring = ' &gt; <a href="' + childurl + '">' + childlink + '</a>' + breadcrumbstring;
											childtablerows += buildsidenavactivechildtablerow(parentname,childlink,childurl,j);
										} else {
											childtablerows += buildsidenavchildtablerow(parentname,childlink,childurl,j);
										}
									}
								}
								
								if (parentname == activeparent) { 
									childexists = (childtablerows != '') ? true:false;
									parenturl = buildurl(parenturl);
									sidenavstring += buildsidenavactiveparentrow(parentname,parentlink,parenturl,i,childexists,childtablerows);
									childtablerows = '';
								} else {
									parenturl = buildurl(parenturl);
									sidenavstring += buildsidenavparentrow(parentname,parentlink,parenturl,i);
									childtablerows = '';
								}


								childexists = (childtablerows != '') ? true:false;

								k++;

								if (activeparent == parentname) {
									breadcrumbstring = ' &gt; <a href="' + parenturl + '">' + parentlink + '</a>' + breadcrumbstring;
								}
							}
						}
						
						j++;
						submenus++;
					}

					mainurl = buildurl(mainurl);
					breadcrumbstring = '<a href="' + mainurl + '">' + mainlink + '</a>' + breadcrumbstring; 

					mainstring += buildactivemaincell(mainname,mainlink,mainurl,i);
					stylestring += eval('buildstyle(\'parent\',' + i + ',' + (7 + i) + ')');
					parenttablerows = '';
					parentstring += buildparentmenu(parenttablerows,i,mainname);
				}
			}
			i++;
			menus++;
		}
	}
	
	mainstring = '<table cellspacing="0" cellpadding="0" border="0"><tr>' + mainstring + '</tr></table>';
	breadcrumbstring = '<div class="breadcrumbs"><a href="' + linkbase + 'index.asp">Home</a> &gt; ' + breadcrumbstring + '</div>';
	sidenavstring = '<table width="157" cellspacing="0" cellpadding="0" border="0">' + sidenavstring + '</table>';

}



// -------------------------------------------------------------------------------------------------
//  Initialization															   
// -------------------------------------------------------------------------------------------------

function init() {
	var parentid = ""; var mainid = "";
	if (ns4) {
		for (var i = 0; i < menus; i++) {
			mainid = 'main' + i; parentid = 'parent' + i;
			window.document.layers[parentid].pageX = window.document.layers[mainid].pageX;
			window.document.layers[parentid].pageY = 90;
		}
	} else if (ie4) {
		for (var j = 0; j < menus; j++){
			mainid = 'maincell' + j; parentid = 'parent' + j;
			document.all[parentid].style.pixelLeft = document.all[mainid].offsetLeft;
			document.all[parentid].style.pixelTop = 90;
		}
	} else if (dom2) {
		for (var j = 0; j < menus; j++) {
			mainid = 'maincell' + j; parentid = 'parent' + j;
			document.getElementById(parentid).style.left = document.getElementById(mainid).offsetLeft;
			document.getElementById(parentid).style.top = 90;
		}
	}
}

buildnav();
buildcss(stylestring);
