//CHANGED 2002/06/25 TESTED FOR NS4.7/IE5/NS6
//CHANGED 2002/03/23 TO ACCOMMODATE STAGING SITE AND PUBLIC SITE
//based on variable isPublicSite (true or false)
//and variable thispage = page url (starting with /, without extension) 
//REGIONS MENU
var regions = new Array("Fraser Valley","Greater Vancouver","Interior","Kootenay","Northern","Vancouver Island");
var regionfolders = new Array("fraservalley","greatervan","interior","kootenay","northern","vanisland");
var imagesfolder;

//backtoroot = "";	//provided in variable list
imagesfolder = backtoroot + "images/";		//path to inside images folder


//FILL OUT MENU ITEM TO SPECIFIED LENGTH by appending non-breaking spaces
function fillitem(item,filllength) {
	var itemlength =item.length;
	for (var i=0;i<filllength-itemlength;i++) item += "&nbsp;";
	return item;
	} 


//STAGING AND PUBLIC REFERENCES TO PAGE
function pageref(pg) {
	if (isPublicSite) {
		if (pg.indexOf(":") != -1 ) ref = pg;	//external reference
		else ref = backtoroot + pg.substr(1).replace("toplevel/","") + ".html";	
		//(prepend backtoroot; remove "/" from front of pg; remove any "toplevel/"; append .html)
		}
	else ref = "page.asp?" + pg;
	return ref;
	}
	

//GENERATE REGION TOP MENU
function regionmenu() {
//generates regions top menu; uses global var 'imagesfolder' for path to iamges folder
	var fill = 20;	//fill menu items to 20 characters by appending nbsp;
	var i;

	menu="";
//	menu += '<div id="divR">';
	menu += '<table border="0" cellpadding="0" cellspacing="0" width="150"  bgcolor="#ffff99">';
	menu += '<tr>';
	menu += '<td width="15"><img src="' + imagesfolder + 'void.gif" width="15" height="5" border="0"></td>';
	menu += '<td width="133"><img src="' + imagesfolder + 'void.gif" width="133" height="5" border="0"></td>';
	menu += '<td width="2"  bgcolor="#0066cc"><img src="' + imagesfolder + 'void.gif" width="2"  bgcolor="#0066cc" height="5" border="0"></td>';
	menu += '</tr>';

	for (i=0; i<regions.length;i++) {
		url = '/' + regionfolders[i] + '/toplevel/index';
		href = 'href="' + pageref(url) + '"';
		href += ' onmouseover="SetImgURL(\'bR' + i + '\',\'' + imagesfolder + 'regb_on.gif' + '\');" onmouseout="SetImgURL(\'bR' + i + '\',\'' + imagesfolder + 'void.gif\');" onclick="pclose();return;"';
		menu += '<tr valign="top" height="12">';
		menu += '<td width="15" height="12">';
		menu += '<!--Bullet bR' + i + ' for region menu-->';
		menu += '<img name="bR' + i + '" ';	
		menu += 'src="' + imagesfolder + 'void.gif' + '" width="15" height="12" border="0">';
		menu += '</td>';
		menu += '<td height="12"><a class="regsubs" ' + href + '>' + fillitem(regions[i],fill) + '</a></td>';
		menu += '<td width="2"  bgcolor="#0066cc"><img src="' + imagesfolder + 'void.gif" width="2"  bgcolor="#0066cc" height="5" border="0"></td>';
		menu += '</tr>';
		menu += '<tr>';
		menu += '<td colspan="3"><img src="' + imagesfolder + 'regrule.gif" width="150" height="5" border="0"></td>';
		menu += '</tr>';
		menu += '';
		}
	menu += '<tr>';
	menu += '<td colspan="3" bgcolor="#0066cc"><img src="' + imagesfolder + 'void.gif" width="150" height="2" border="0"></td>';
	menu += '</tr>';
	menu += '</table>';
//	menu += '</div>';
	return menu;
	}


//GENERATE GET MENU FOR DIVISION OR REGIONAL PAGE
function getmenu(which) {	//for both division & region pages
//generate get menu A, B, C or D (which = "A", "B", "C", "D") 
//for a page at given level (0=site root, 1=nested 1 deep etc)
	var fill = 25;	//fill get items to 25 characters by appending nbsp;
	var i;

	//evaluate eg Aempty or RAempty, if true, no menu to be generated
	if ( eval( (regionalPage ? "R" : "") + which + "empty") ) return;

	//if regional page, get region name by parsing 'thispage'
	mywhere = "div";
//	alert(thispage);
	for(i=0;i<regionfolders.length;i++) {
		if (thispage.substring(0,regionfolders[i].length+1) == "/" + regionfolders[i]) mywhere = regionfolders[i];	//the actual region folder name
		}
	 where = "div";	//use divA... etc for menu array names for both division and regional pages

	//set get menu width for divisional or regional pages
	menuwidth = (mywhere == "div") ? "198" : "242";	//width of get menu, div=198, regional=176
	itemwidth = (mywhere == "div") ? "181" : "225";	//width of item field in get menu
	
	menu="";

	menu += '<table border="0" cellpadding="0" cellspacing="0" width="' + menuwidth + '" bgcolor="#5f87c8">';	
	menu += '<tr>';
	menu += '<td width="15"><img src="' + imagesfolder + 'void.gif" width="15" height="5" border="0"></td>';
	menu += '<td width="' + itemwidth + '"><img src="' + imagesfolder + 'void.gif" width="' + itemwidth + '" height="5" border="0"></td>';
	menu += '<td width="2"  bgcolor="#ffff99"><img src="' + imagesfolder + 'void.gif" width="2" height="5" border="0"></td>';
	menu += '</tr>';

	menuarray = where + which + "menu";	//eg divAmenu
	urlarray = where + which + "url";	//eg divAurl
	
	switch (which) {
		case "A": bullet = "getsupb_on.gif"; break;
		case "B": bullet = "getinfb_on.gif"; break;
		case "C": bullet = "getinvb_on.gif"; break;
		case "D": bullet = "getcalb_on.gif"
		}
	for(i=0;i<eval(menuarray).length;i++) {
		url = eval(urlarray)[i];
		if (url.indexOf(":") == -1 && mywhere != "div") {	//if internal link to a regional page
			url = "/" + mywhere + url;	//precede regional url by /regionname
			}
		href = 'href="' + pageref(url) + '"';
		if (url.indexOf(":") != -1) href += ' target="new"';	//open external url in new window
		href += ' onmouseover="SetImgURL(\'b' + which + i + '\',\'' + imagesfolder + bullet + '\');" onmouseout="SetImgURL(\'b' + which + i + '\',\'' + imagesfolder + 'void.gif\');" onclick="pclose();return;"';

		menu += '<tr valign="top">';
		menu += '<td width="15">';
		menu += '<!--Bullet b' + which + i + '-->';
		menu += '<img name="b' + which + i + '" ';	
		menu += 'src="' + imagesfolder + 'void.gif' + '" width="15" height="12" border="0">';
		menu += '</td>';
		menu += '<td><a class="getsubs" ' + href + '>' + fillitem(eval(menuarray)[i],fill) + '</a></td>';
		menu += '<td width="2" bgcolor="#ffff99"><img src="' + imagesfolder + 'void.gif" width="2" height="5" border="0"></td>';
		menu += '</tr>';
		menu += '<tr>';
		menu += '<td colspan="3"><img src="' + imagesfolder + 'getrule.gif" width="' + menuwidth + '" height="5" border="0"></td>';
		menu += '</tr>'
		}

	menu += '<tr>';
	menu += '<td colspan="3" bgcolor="#ffff99"><img src="' + imagesfolder + 'void.gif" width="15" height="2" border="0"></td>';
	menu += '</tr>';
	menu += '</table>';
	return menu;
	}


//	LEFT SUBMENU FOR DIVISION PAGES (new version; white bullets & hilites on lavender)
function leftdivmenu(thispage) {
//	Generate left submenu for page with file name thispage (from root, excluding extension)
//	Set where,which,owner,level:
//	where = "div"
//	which = "A", "B", "C", "D", "E", "F"
//	owner = this page's owner (from root, excluding extension) if page is a submenu item 
//	level = 0 (in the staging site, all files are at root level)
	var regions = new Array("fraservalley","greatervan","interior","kootenay","northern","vanisland");
	var fill = 18;	//fill get items to 18 characters by appending nbsp;
	var i,item;
	var ownerurl,url,indexofperiod,file;

	currentpage = thispage;
	slashedregionname = "";
	for (i=0; i<regions.length; i++) {
		if (thispage.substr(0,regions[i].length+2)  == "/" + regions[i] + "/") {
			slashedregionname = "/" + regions[i];
			thispage = thispage.substr(slashedregionname.length);	//remove the /region name from the front
			break;
			}
		}
	which = "";
	if (slashedregionname == "") {	//so it's a divisional page
		if (thispage.substr(0,10)  == "/toplevel/") return;	//no left menu for toplevel pages
		if (thispage.substr(0,6)  == "/misc/") return;		//no left menu for misc pages
		if (thispage.substr(0,9)  == "/support/") which = "A";
		if (thispage.substr(0,9)  == "/support/") which = "A";
		if (thispage.substr(0,6)  == "/info/") which = "B";
		if (thispage.substr(0,10) == "/involved/") which = "C";
		if (thispage.substr(0,10) == "/calendar/") which = "D";
		if (thispage.substr(0,10) == "/releases/") which = "E";
		if (thispage.substr(0,9) == "/recipes/") which = "F";
		if (which == "") alert("Invalid call to generate leftside menu, current page = '" + currentpage + "'");
		btn = "whiteb";						//white button on lavender 9999cb
		hilitestyle = "leftdivmenuhi"		//bold white
		
		}
	else {	//it's a region page
		if (thispage.substr(0,10)  == "/services/") which = "A";
		if (thispage.substr(0,15)  == "/opportunities/") which = "B";
		if (thispage.substr(0, 8) == "/events/") which = "C";
		if (which == "") alert("Invalid call to generate leftside menu, current page = '" + currentpage + "'");
		btn = "purpleb";					//purple button on light yellow ffffcc
		hilitestyle = "leftregionmenuhi"	//bold purple
		}
	
	//evaluate eg Aempty or RAempty, if true, no left submenu to be generated
	if (which == "A" || which == "B" || which == "C" || which == "D") {
		if (eval( (regionalPage ? "R" : "") + which + "empty") ) {
			menu = "";
			menu += '<img src="' + imagesfolder + 'void.gif" width="192" height="1" border="0">';	//force col width for NS4.7
			document.write(menu);
			return;
			}
		}

//	SEE WHETHER THISPAGE IS A TOP LEVEL MENU ITEM IN THIS DIV
	where = "div";	//div... array names used for both division & regional pages
	owner = "";
	item = -1;
	urlarray = where + which + "url";			//eg divAurl; 
	for (i=0; i<eval(urlarray).length; i++) {
		url = eval(urlarray)[i];
		if (url == thispage) {
			owner = thispage;
			ownerurl = url;
			owneritem = eval(where + which + "menu")[i];
			submenuarray = where + which + (i+1) + "menu";	//eg divA2menu
			suburlarray = where + which + (i+1) + "url";	//eg divA2url
			break;
			}
		}

//	IF NOT, INSPECT SUBMENUS TO LOCATE THIS 2nd LEVEL PAGE AND ITS OWNER
	if (owner == "") {		//so file is not a top level menu item; look beneath
		for (i=0; i<eval(urlarray).length; i++) {
			url = eval(urlarray)[i];
			submenuarray = where + which + (i+1) + "menu";	//eg divA2menu
			suburlarray = where + which + (i+1) + "url";	//eg divA2url; does not exist if divA2menu is empty
			for (j=0; j<eval(submenuarray).length; j++) {
				suburl = eval(suburlarray)[j];
				if (suburl == thispage) {
					owner = url;
					break;
				}
			}
		}
	}
	if (owner == "") alert("'" + thispage + "' can't be found within " + where + which);


	item = -1;
	urlarray = where + which + "url";			//eg divAurl
	for (i=0; i<eval(urlarray).length; i++) {
		url = eval(urlarray)[i];
		if (url == owner) {
			item = i;
			ownerurl = url;
			owneritem = eval(where + which + "menu")[i];
			lastslash = ownerurl.lastIndexOf("/");
			submenuarray = where + which + (i+1) + "menu";	//eg divA2menu
			suburlarray = where + which + (i+1) + "url";	//eg divA2url
			break;
			}
		}
	
	menu = "";
	menu += '<table border="0" cellpadding="0" cellspacing="0" width="192">';
	menu += '<tr>';
	menu += '<td width="8"><img src="' + imagesfolder + 'void.gif" width="8" height="1" border="0"></td>';
	menu += '<td width="15"><img src="' + imagesfolder + 'void.gif" width="15" height="1" border="0"></td>';
	menu += '<td width="152"><img src="' + imagesfolder + 'void.gif" width="152" height="1" border="0"></td>';
	menu += '<td width="17"><img src="' + imagesfolder + 'void.gif" width="17" height="1" border="0"></td>';
	menu += '</tr>';

	menu += '<tr height="15">';
	menu += '<td width="8" valign="bottom" height="15"><img src="' + imagesfolder + 'lefthead_off.gif" width="8" height="15" name="leftheadbull" border="0"></td>';
	menu += '<td colspan="3" height="15">'
	
	if (owner != thispage) {		//this page is not submenu's owner, then make link
		menu += '<a class="leftmenuhd" href="' + pageref(slashedregionname + owner) + '"';
		menu += ' onmouseover="SetImgURL(\'leftheadbull\',\'' + imagesfolder + 'lefthead_on.gif\');"' ;
		menu += ' onmouseout="SetImgURL(\'leftheadbull\',\'' + imagesfolder + 'lefthead_off.gif\');">';
		}
	else menu += '<span class="leftmenuhd">';
	menu += owneritem;
	if (owner != thispage) menu += '</a>';		//this page is not submenu's owner, then close link
	else menu += '</span>';
	menu += '</td>';
	menu += '</tr>';
	menu += '<tr>';
	menu += '<td colspan="4"><img src="' + imagesfolder + 'leftheadurule.gif" width="192" height="8" border="0"></td>';
	menu += '</tr>';
	
	switch (which) {
		case "A":
		case "B":
		case "C":
		case "D":
		case "F":
			for(i=0;i<eval(submenuarray).length;i++) {
				menu += '<tr valign="top">';
				menu += '<td width="8"></td>';
				menu += '<td width="15">';
				menu += '<img name="bS' + i + '" src="' + imagesfolder + 'void.gif" width="15" height="13" border="0">';
				menu += '</td>';
				menu += '<td width="152">'
		
				url = eval(suburlarray)[i];
			
				if (url == thispage) {		//this page, so no link
					menu += '<span class="' + hilitestyle + '">';
					menu += eval(submenuarray)[i];
					menu += '</span></td>';
					}
				else {		//not this page, so link
					menu += '<a class="leftmenu" href="' + pageref(slashedregionname + url) + '"';
					menu += '" onmouseover="SetImgURL(\'bS' + i + '\',\'' + imagesfolder + btn + '_on.gif\');" onmouseout="SetImgURL(\'bS' + i + '\',\'' + imagesfolder + 'void.gif\');">';
					menu += fillitem(eval(submenuarray)[i],fill);
					menu += '</a></td>';
					}
				menu += '<td width="17"></td>';
				menu += '</tr>';
		
				menu += '<tr><td colspan="4"><img src="' + imagesfolder + 'void.gif" height="5" border="0"></td></tr>';
				}
			break;
		case "E": 
			thisrelease = -1;
			firstrelease = eval(submenuarray).length - 1;	//releases are in descending order by date (latest at top)
			lastrelease = 0;
			i=0;
			while ( (i<firstrelease) && (eval(suburlarray)[i] != thispage) ) i++;
			thisrelease = i;
					
			if (thisrelease != lastrelease) menu += nextprevrelease("last",eval(suburlarray)[lastrelease]);
			next = thisrelease-1;		//if <0 then no next release
			if (next >= 0) menu += nextprevrelease("next",eval(suburlarray)[next]);
			previous = thisrelease+1;	//if >firstrelease then there is no previous release
			if (previous <= firstrelease) menu += nextprevrelease("prev",eval(suburlarray)[previous]);
			break;
		}
	

	menu += '</table>';
	document.write(menu);
	}
	
//	LEFT SUBMENU FOR NEWS RELEASE PAGES (new version; white bullets & hilites on lavender)
function nextprevrelease(type,url) {	//type is "last", "next" or "prev", url is eg /releases/BCY20011010
//release url is hardcoded as "BCY" + releaseid + ".html"
	var btn = "whiteb";			//bullet for info pages
	var item = "";
	item += '<tr valign="top">';
	item += '<td width="8"></td>';
	item += '<td width="15">';
	item += '<img name="bS' + type + '" src="' + imagesfolder + 'void.gif" width="15" height="13" border="0">';
	item += '</td>';
	item += '<td width="152">'


	item += '<a class="leftmenu" href="' + pageref(url) + '"';
	item += '" onmouseover="SetImgURL(\'bS' + type + '\',\'' + imagesfolder + btn + '_on.gif\');" onmouseout="SetImgURL(\'bS' + type + '\',\'' + imagesfolder + 'void.gif\');">';
	switch (type) {
		case "last": item += "Latest release"; break;
		case "next": item += "Next release"; break;
		case "prev": item += "Previous release"; break;
		}
	item += '</a></td>';
	item += '<td width="17"></td>';
	item += '</tr>';

	item += '<tr><td colspan="4"><img src="' + imagesfolder + 'void.gif"	height="5" border="0"></td></tr>';
	return item;
	}