// using menu-out.js // menu-core.js function NewWindow(mypage, myname, w, h, scroll, resizable) { var winl = (screen.width - w) / 2; var wint = (screen.height - h) / 2; winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+', resizable='+resizable+''; win = window.open(mypage, myname, winprops) if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); } } function MM_preloadImages() { var d=document; if(d.images) { if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i'); else if (obj[AC]) { var newL=document.createElement('div'); obj[AC](newL); newL.id=newID; newL.style.position='absolute'; } else if (isNS4) { var newL=new Layer(docW, obj); newID=newL.id; } var lObj=getLyr(newID, par); with (lObj) if (ref) { vis(lVis); x(0); y(0); sty.width=docW+(isNS4?0:'px') } return lObj; } var CSSmode=document.compatMode; CSSmode=(CSSmode&&CSSmode.indexOf('CSS')!=-1)||isDOM&&!isIE||isOp?1:0; if (!window.page) var page = { win: window, minW: 0, minH: 0, MS: isIE&&!isOp, db: CSSmode?'documentElement':'body' } page.winW=function() { with (this) return Math.max(minW, MS?win.document[db].clientWidth:win.innerWidth) } page.winH=function() { with (this) return Math.max(minH, MS?win.document[db].clientHeight:win.innerHeight) } page.scrollX=function() { with (this) return MS?win.document[db].scrollLeft:win.pageXOffset } page.scrollY=function() { with (this) return MS?win.document[db].scrollTop:win.pageYOffset } // *** MOUSE EVENT CONTROL FUNCTIONS *** function popOver(mN, iN) { with (this) { // Cancel any pending menu hides from a previous mouseout. clearTimeout(hideTimer); // Set the 'over' variables to point to this item. overM = mN; overI = iN; // Call the 'onMouseOver' event if it exists, and the item number is 1 or more. if (iN && this.onmouseover) onmouseover(mN, iN); // Remember what was lit last time, and compute a new hierarchy. litOld = litNow; litNow = new Array(); var litM = mN, litI = iN; while(1) { litNow[litM] = litI; // If we've reached the top of the hierarchy, exit loop. if (litM == 'root') break; // Otherwise repeat with this menu's parent. litI = menu[litM][0].parentItem; litM = menu[litM][0].parentMenu; } // If the two arrays are the same, return... no use hiding/lighting otherwise. var same = true; for (var z in menu) if (litNow[z] != litOld[z]) same = false; if (same) return; // If this is a different menu, clear another pending show. clearTimeout(showTimer); // Cycle through menu array, lighting and hiding menus as necessary. for (thisM in menu) with (menu[thisM][0]) { // Doesn't exist yet? Keep rollin'... if (!lyr) continue; // The number of this menu's item that is to be lit, undefined if none. litI = litNow[thisM]; oldI = litOld[thisM]; // If it's lit now and wasn't before, highlight... if (litI && (litI != oldI)) changeCol(thisM, litI, true); // If another item was lit but isn't now, dim the old item. if (oldI && (oldI != litI)) changeCol(thisM, oldI, false); // Make sure if it's lit, it's shown, and set the visNow flag. if (litI && !visNow && (thisM != 'root')) { showMenu(thisM); visNow = true; } // If this menu has no items from the current hierarchy in it, and is currently // onscreen, call the hide function. if (isNaN(litI) && visNow) { hideMenu(thisM); visNow = false; } } // Get target menu to show - if we've got one, position & show it. // If this menu is set to show submenus on click, skip this. nextMenu = ''; if ((menu[mN][iN].type == 'sm:') && !menu[mN][0].subsOnClick) { // The target menu and the layer object of the current menu itself (not this item). var targ = menu[mN][iN].href, lyrM = menu[mN][0].lyr; // LOADS ROOT MENU BY DEFAULT, ENABLES OTHERS TO BE CALLED ON THE FLY if (!menu[targ][0].lyr) update(false, targ); if (!menu[targ][0].lyr) return; // Either show immediately or after a delay if set by passing it to the position and show functions. // Set nextMenu to the impending show, so the popOut() function knows when not to cancel it. var showStr = 'with ('+myName+') { menu.'+targ+'[0].visNow = true; ' + 'position("'+targ+'"); showMenu("'+targ+'") }'; nextMenu = targ; if (showDelay) showTimer = setTimeout(showStr, showDelay); else eval(showStr); } }} function popOut(mN, iN) { with (this) { // Sometimes, across frames, overs and outs can get confused. // So, return if we're exiting an item we have yet to enter... if ((mN != overM) || (iN != overI)) return; // Evaluate the onmouseout event, if any. if (this.onmouseout) onmouseout(mN, iN); var thisI = menu[mN][iN]; // Stop showing another menu if this item isn't pointing to the same one. if (thisI.href != nextMenu) { clearTimeout(showTimer); nextMenu = ''; } // Hide all menus rapidly (if it's a root menu item without a popout) or as specified. // If hideDelay equals zero the menus are never hidden. if (hideDelay) { var delay = ((mN == 'root') && (thisI.type != 'sm:')) ? 50 : hideDelay; hideTimer = setTimeout(myName + '.over("root", 0)', delay); } // Clear the 'over' variables. overM = 'root'; overI = 0; }} function popClick(mN, iN) { with (this) { // Evaluate the onclick event, if any. if (this.onclick) onclick(mN, iN); var thisI = menu[mN][iN], hideM = true; with (thisI) switch (type) { // Targeting another popout? Either activate show-on-click or skip to the end. case 'sm:': { if (menu[overM][0].subsOnClick) { menu[href][0].visNow = true; position(href); showMenu(href); hideM = false; } break; } // A JavaScript function? Eval() it and break out of switch. case 'js:': { eval(href); break } // Otherwise, point to the window if nothing else and navigate. case '': type = 'window'; default: if (href) eval(type + '.location.href = "' + href + '"'); } // Hide all menus if we're supposed to. if (hideM) over('root', 0); }} function popChangeCol(mN, iN, isOver) { with (this.menu[mN][iN]) { if (!lyr || !lyr.ref) return; // Pick a new background colour, and decide on whether it's an image (contains a period?). var col = isOver?overCol:outCol; var bgFn = (col.indexOf('.')==-1) ? 'bgColor' : 'bgImage'; // Then we do it before or after the text/border change due to Netscape bugs. if (isNS4) lyr[bgFn](col); // Test for CSS text/border style changes, we can skip them if not needed. // Otherwise manipulate the DOM tree for IE/NS6+ (faster than rewriting contents). if ((overClass != outClass) || (outBorder != overBorder)) with (lyr) { if (isNS4) write(this.getHTML(mN, iN, isOver)); else { ref.className = (isOver ? overBorder : outBorder); var chl = (isDOM ? ref.childNodes : ref.children) if (chl) for (var i = 0; i < chl.length; i++) chl[i].className = isOver?overClass:outClass; } } if (!isNS4) lyr[bgFn](col); // Alpha filtering activated? Might as well set that then too... // Weirdly it has to be done after the border change, another random Mozilla bug... if (outAlpha != overAlpha) lyr.alpha(isOver ? overAlpha : outAlpha); }} function popPosition(posMN) { with (this) { // Pass a menu name to position, or nothing to position all menus. for (mN in menu) { if (posMN && (posMN != mN)) continue; with (menu[mN][0]) { // If the menu hasn't been created or is not set to be visible, loop. if (!lyr || !lyr.ref || !visNow) continue; // Set up some variables and the initial calculated positions. var pM, pI, newX = eval(offX), newY = eval(offY); // Find its parent menu references, if its not the topmost root menu. if (mN != 'root') { pM = menu[parentMenu]; pI = pM[parentItem].lyr; // Having no parent item is a bad thing, especially in cross-frame code. if (!pI) continue; } // Find parent window for correct page object, or this window if not. var eP = eval(par); var pW = (eP && eP.navigator ? eP : window); // Find proper numerical values for the current window position + edges, so menus // don't make a beeline for the upper-left corner of the page. with (pW.page) var sX=scrollX(), wX=sX+winW(), sY=scrollY(), wY=winH()+sY; wX = isNaN(wX)||!wX ? 9999 : wX; wY = isNaN(wY)||!wY ? 9999 : wY; // Relatively positioned submenus? Add parent menu/item position & check screen edges. if (pM && typeof(offX)=='number') newX = Math.max(sX, Math.min(newX+pM[0].lyr.x()+pI.x(), wX-menuW-(isIE?5:20))); if (pM && typeof(offY)=='number') newY = Math.max(sY, Math.min(newY+pM[0].lyr.y()+pI.y(), wY-menuH-(isIE?5:20))); // Assign the final calculated positions. lyr.x(newX); lyr.y(newY); } } }} // *** MENU OBJECT CONSTRUCTION FUNCTIONS *** // This takes arrays of data and names and assigns the values to a specified object. function addProps(obj, data, names, addNull) { for (var i = 0; i < names.length; i++) if(i < data.length || addNull) obj[names[i]] = data[i]; } function ItemStyle() { // Like the other constructors, this passes a list of property names that correspond to the list // of arguments. var names = ['len', 'spacing', 'popInd', 'popPos', 'pad', 'outCol', 'overCol', 'outClass', 'overClass', 'outBorder', 'overBorder', 'outAlpha', 'overAlpha', 'normCursor', 'nullCursor']; addProps(this, arguments, names, true); } function popStartMenu(mName) { with (this) { // Create a new array within the menu object if none exists already, and a new menu object within. if (!menu[mName]) { menu[mName] = new Array(); menu[mName][0] = new Object(); } // Clean out existing items in this menu in case of a menu update. // actMenu is a reference to this menu for addItem() function later, while the local variable // aM is a quick reference to the current menu descriptor -- array index 0, 1+ are items. actMenu = menu[mName]; aM = actMenu[0]; actMenu.length = 1; // Not all of these are actually passed to the constructor -- the last few are null. // N.B: I pass 'isVert' twice so the first parameter (the menu name) is overwritten & ignored. var names = ['isVert', 'isVert', 'offX','offY', 'width', 'itemSty', 'par', 'parentMenu', 'parentItem', 'visNow', 'oncreate', 'subsOnClick']; addProps(aM, arguments, names, true); // extraHTML is a string added to menu layers for things like dropshadows, backgrounds etc. aM.extraHTML = ''; // Set the menu dimensions to zero initially. Also these are used to position items. aM.menuW = aM.menuH = 0; // Reuse old layers if we can, no use creating new ones every time the menus refresh. if (!aM.lyr) aM.lyr = null; // Assign a default oncreate event to the root menu to show it. if (mName == 'root') menu.root[0].oncreate = new Function('this.visNow=true; ' + myName + '.position("root"); this.lyr.vis("visible")'); }} function popAddItem() { with (this) with (actMenu[0]) { // 'with' the current menu object and active menu descriptor object from startMenu(). // Add these properties onto a new 'active Item' at the end of the active menu. var aI = actMenu[actMenu.length] = new Object(); // Add function parameters to object. Again, the last few are undefined, set later. var names = ['text', 'href', 'type', 'itemSty', 'len', 'spacing', 'popInd', 'popPos', 'pad', 'outCol', 'overCol', 'outClass', 'overClass', 'outBorder', 'overBorder', 'outAlpha', 'overAlpha', 'normCursor', 'nullCursor', 'iX', 'iY', 'iW', 'iH', 'lyr']; addProps(aI, arguments, names, true); // Find an applicable itemSty -- either passed to this item or the menu[0] object. var iSty = (arguments[3] ? arguments[3] : actMenu[0].itemSty); // Loop through its properties, add them if they don't already exist (overridden e.g. length). for (prop in iSty) if (aI[prop]+'' == 'undefined') aI[prop] = iSty[prop]; // In NS4, since borders are assigned to the contents rather than the layer, increase padding. if (aI.outBorder) { if (isNS4) aI.pad++; } // The actual dimensions of the items, store here as properties so they can be accessed later. aI.iW = (isVert ? width : aI.len); aI.iH = (isVert ? aI.len : width); // The spacing of the previous menu item in this menu, if relevant. var lastGap = (actMenu.length > 2) ? actMenu[actMenu.length - 2].spacing : 0; // 'spc' is the amount we subtract from this item's position so borders overlap a little. // Of course we don't do it to the first item. var spc = ((actMenu.length > 2) && aI.outBorder ? 1 : 0); // We position this item at the end of the current menu's dimensions, // and then increase the menu dimensions by the size of this item. if (isVert) { menuH += lastGap - spc; aI.iX = 0; aI.iY = menuH; menuW = width; menuH += aI.iH; } else { menuW += lastGap - spc; aI.iX = menuW; aI.iY = 0; menuW += aI.iW; menuH = width; } // When we are running in proper 'CSS1Compat' mode, borders affect widths differently, so we // subtract some pixels here to go with the old 'loose' specification. Swap this around if you // want your documents to conform with the new specs. if (aI.outBorder && CSSmode) { aI.iW -= 2; aI.iH -= 2; } }} // *** MAIN MENU CREATION/UPDATE FUNCTIONS *** // Returns the inner HTML of an item, used for menu generation, and highlights in NS4. function popGetHTML(mN, iN, isOver) { with (this) { var itemStr = ''; with (menu[mN][iN]) { var textClass = (isOver ? overClass : outClass); // If we're supposed to add a popout indicator, add it before text so it appears below in NS4. if ((type == 'sm:') && popInd) { if (isNS4) itemStr += '' + popInd + ''; else itemStr += '
' + popInd + '
'; } // For NS4, if a border is assigned, add a spacer to push border out to layer edges. // Add a link both to generate an onClick event and to stop the ugly I-beam text cursor appearing. if (isNS4) itemStr += (outBorder ? '' : '') + '' + text + ''; // IE4+/NS6 is an awful lot easier to work with sometimes. else itemStr += '
' + text + '
'; } return itemStr; }} // The main menu creation/update routine. function popUpdate(docWrite, upMN) { with (this) { // 'isDyn' (set at the very top of the script) signifies a DHTML-capable browser. if (!isDyn) return; // Loop through menus, using properties of menu description object (array index 0)... for (mN in menu) with (menu[mN][0]) { // If we're updating one specific menu, only run the code for that. if (upMN && (upMN != mN)) continue; // Variable for holding HTML for items. var str = ''; // Remember, items start from 1 in the array (0 is menu object itself, above). // Also use properties of each item nested in the other with() for construction. for (var iN = 1; iN < menu[mN].length; iN++) with (menu[mN][iN]) { // An ID for divs/layers contained within the menu. var itemID = myName + '_' + mN + '_' + iN; // Now is a good time to assign another menu's parent to this if we've got a popout item. var targM = menu[href]; if (targM && (type == 'sm:')) { targM[0].parentMenu = mN; targM[0].parentItem = iN; } // Have we been given a background image? It'll have a period in its name if so... var isImg = (outCol.indexOf('.') != -1) ? true : false; // NS6 uses a different cursor name for the 'hand' cursor than IE. if (!isIE && normCursor=='hand') normCursor = 'pointer'; // Create a div or layer text string with appropriate styles/properties. // OK, OK, I know this is a little obtuse in syntax, but it's small... // At the end we set the alpha transparency (if specified) and the mouse cursor. if (isDOM || isIE4) { str += '
' + getHTML(mN, iN, false) + (isNS4 ? '' : '
'); // End loop through items and with(menu[mN][iN]). } // The parent frame for this menu, if any. var eP = eval(par); setTimeout(myName + '.setupRef(' + docWrite + ', "' + mN + '")', 50); // Initial menu visibility, hidden unless tweaked otherwise. var mVis = visNow ? 'visible' : 'hidden'; if (docWrite) { // Find the right target frame. var targFr = (eP && eP.navigator ? eP : window); targFr.document.write('
' + str + extraHTML + '
'); } else { // Create a new layer/div object dynamically using my setLyr() function above. if (!lyr || !lyr.ref) lyr = setLyr(mVis, menuW, eP); else if (isIE4) setTimeout(myName + '.menu.' + mN + '[0].lyr.sty.width=' + (menuW+2), 50); // Give it a high Z-index, and write its content. with (lyr) { sty.zIndex = 1000; write(str + extraHTML) } } // End loop through menus and with (menu[mN][0]). } }} function popSetupRef(docWrite, mN) { with (this) with (menu[mN][0]) { // Get a reference to a div, only needed for Fast creation mode. if (docWrite || !lyr || !lyr.ref) lyr = getLyr(myName + '_' + mN + '_Div', eval(par)); // Loop through menu items again to set up individual references. for (var i = 1; i < menu[mN].length; i++) menu[mN][i].lyr = getLyr(myName + '_' + mN + '_' + i, (isNS4?lyr.ref:eval(par))); // Call the 'oncreate' method of this menu if it exists (e.g. to show root menu). if (menu[mN][0].oncreate) oncreate(); }} // *** POPUP MENU MAIN OBJECT CONSTRUCTOR *** function PopupMenu(myName) { // These are the properties of any PopupMenu objects you create. this.myName = myName; // Manage what gets lit and shown when. this.showTimer = 0; this.hideTimer = 0; this.showDelay = 0; this.hideDelay = 500; this.showMenu = ''; // 'menu': the main data store, contains subarrays for each menu e.g. pMenu.menu['root'][]; this.menu = new Array(); // litNow and litOld arrays control what items get lit in the hierarchy. this.litNow = new Array(); this.litOld = new Array(); // The item the mouse is currently over. Used by click processor to help NS4. this.overM = 'root'; this.overI = 0; // The active menu, to which addItem() will assign its results. this.actMenu = null; // Functions to create and manage the menu. this.over = popOver; this.out = popOut; this.changeCol = popChangeCol; this.position = popPosition; this.click = popClick; this.startMenu = popStartMenu; this.addItem = popAddItem; this.getHTML = popGetHTML; this.update = popUpdate; this.setupRef = popSetupRef; // Default show and hide functions, overridden in the example script by the clipping routine. this.showMenu = new Function('mName', 'this.menu[mName][0].lyr.vis("visible")'); this.hideMenu = new Function('mName', 'this.menu[mName][0].lyr.vis("hidden")'); } // *** START EDITING HERE, READ THIS SECTION CAREFULLY! *** // *** (1) ITEMSTYLES *** var hBar = new ItemStyle(18, 20, '', 0, 0, '#000000', '#996633', 'highText', 'highText', '', '',null, null, 'hand', 'default'); var vBar = new ItemStyle(18, 0, '.', -7, 0, '#000000', '#996633', 'highText', 'highText', '', '',null, null, 'hand', 'default'); var xBar = new ItemStyle(18, 20, '.', -7, 0, '#000000', '#996633', 'highText', 'highText', '', '',null, null, 'hand', 'default'); var subM = new ItemStyle(22, 0, '.', -7, 3, '#000000', '#996633', 'lowText', 'highText','itemBorder', 'itemBorder', null, null, 'hand', 'default'); // *** (2) MENU DATA *** var pMenu = new PopupMenu('pMenu'); with (pMenu) { // *** MOVE OR CENTRE THE MENU HERE *** //ROOT MENU startMenu('root', true, 42, 98, 130, vBar); addItem('  GENERAL', '../main/home.html', ''); addItem('  Introduction', 'mIntro', 'sm:'); addItem('  Project Overview', 'mProj', 'sm:'); addItem('  Services', 'mServ', 'sm:', xBar); addItem('  REFERENCE', '../main/home.html', ''); addItem('  Property Profiles', '../profiles/home.html', ''); addItem('  Tenants', '../tenants/home.html', ''); addItem('  Service Locator', '../locator/home.html', ''); addItem('  Presentations','../presentations/home.html', ''); addItem('  Resources', 'mReso', 'sm:'); addItem('  Hacienda Online!', 'mHacOn', 'sm:'); addItem('  Calendar', '../main/main_calendar.html', '', xBar); addItem('  BUSINESS', '../main/home.html', ''); addItem('  Networking', 'mNet', 'sm:'); addItem('  Opportunities', 'mOpp', 'sm:', xBar); addItem('  TOOLS', '../main/home.html', ''); addItem('  Contact', 'mCon', 'sm:'); addItem('  Search', '../main/main_search.html', ''); addItem('  Order Materials', 'mOrdr', 'sm:'); addItem('  Site Map', '../main/main_sitemap.html', ''); addItem('  Privacy Policy', '../main/main_privacy.html', '', xBar); // // menu-out.js addItem('  Login', "NewWindow('/index.php/smc/login_user_form','Login','550','300','yes','1')", 'js:'); // //INTRODUCTION Menu startMenu('mIntro', true, 134, -1, 130, subM); addItem('  Overview', '../introduction/introduction_overview.html', ''); addItem('  Access', '../introduction/introduction_access.html', ''); addItem('  Labor', '../introduction/introduction_labor.html', ''); addItem('  Support', '../introduction/introduction_support.html', ''); addItem('  Locale', '../introduction/introduction_locale.html', ''); addItem('  Features', '../introduction/introduction_features.html', ''); //PROJECT OVERVIEW Menu startMenu('mProj', true, 134, -1, 130, subM); addItem('  Background', 'mBack', 'sm:'); addItem('  Description', 'mDesc', 'sm:'); addItem('  Location', 'mLoct', 'sm:'); addItem('  Infrastructure', '../project/project_infrastructure.html', ''); addItem('  Amenities', '../project/project_amenities.html', ''); addItem('  Economy', '../project/project_economy.html', ''); addItem('  Sustainability', 'mSust', 'sm:'); //PROJECT OVERVIEW/BACKGROUND Menu startMenu('mBack', true, 134, -1, 130, subM); addItem('  Developers', '../project/project_background_developers.html', ''); addItem('  Users', '../project/project_background_users.html', ''); addItem('  Management', '../project/project_background_management.html', ''); //PROJECT OVERVIEW/DESCRIPTION Menu startMenu('mDesc', true, 134, -1, 130, subM); addItem('  Construction', '../project/project_description_construction.html', ''); addItem('  Demographics', '../project/project_description_demographics.html', ''); addItem('  Land', '../project/project_description_land.html', ''); addItem('  Map', '../project/project_description_map.html', ''); addItem('  Population', '../project/project_description_population.html', ''); addItem('  Valuation', '../project/project_description_valuation.html', ''); //PROJECT OVERVIEW/LOCATION Menu startMenu('mLoct', true, 134, -1, 130, subM); addItem('  Region', '../project/project_location_region.html', ''); addItem('  Area', '../project/project_location_area.html', ''); addItem('  Community', '../project/project_location_community.html', ''); //PROJECT OVERVIEW/SUSTAINABILITY Menu startMenu('mSust', true, 134, -1, 130, subM); addItem('  Air', '../project/project_sustainability_air.html', ''); addItem('  Water', '../project/project_sustainability_water.html', ''); addItem('  Energy', '../project/project_sustainability_energy.html', ''); addItem('  Waste', '../project/project_sustainability_waste.html', ''); addItem('  Design', '../project/project_sustainability_design.html', ''); addItem('  Operations', '../project/project_sustainability_operations.html', ''); //SERVICES Menu startMenu('mServ', true, 134, -1, 130, subM); addItem('  Commute Solutions', 'mComm', 'sm:'); addItem('  Security Services', '../services/services_security.html', ''); addItem('  Childcare-Education', '../services/services_childcare.html', ''); addItem('  Special Offers', '../services/services_special.html', ''); addItem('  Housing', '../services/services_housing.html', ''); addItem('  Recreation', '../services/services_recreation.html', ''); //SERVICES/COMMUTE SOLUTIONS Menu startMenu('mComm', true, 134, -1, 130, subM); addItem('  Free WHEELS Pass', '../services/services_commute_pass.html',''); addItem('  New Rider Program', '../services/services_commute_rider.html', ''); addItem('  Transit', '../services/services_commute_transit.html', ''); addItem('  Carpool/Vanpool', '../services/services_commute_carpool.html', ''); addItem('  Guaranteed Ride Home', '../services/services_commute_grh.html', ''); addItem('  Biking and Walking', '../services/services_commute_walking.html', ''); addItem('  Commuter Choice', '../services/services_commute_choice.html', ''); addItem('  Assistance', '../services/services_commute_assistance.html', ''); //CONTACT Menu startMenu('mCon', true, 134, -1, 130, subM); addItem('  e-mail', 'mailto:info@hacienda.org',''); addItem('  Staff', '../contact/contact_staff.html', ''); addItem('  Hotline', '../contact/contact_hotline.html', ''); //RESOURCES Menu startMenu('mReso', true, 134, -1, 130, subM); addItem('  Community', 'mCommunity', 'sm:'); addItem('  Education', 'mEducation','sm:'); addItem('  Entertainment', 'mEntertainment','sm:'); addItem('  Facilities', '../resources/resources_facilities.html', ''); addItem('  Government', 'mGovernment', 'sm:'); addItem('  Health', 'mHealth', 'sm:'); addItem('  Media', 'mMedia', 'sm:'); addItem('  Relocation', '../resources/resources_relocation.html', ''); addItem('  Security/Safety', '../resources/resources_security.html', ''); addItem('  Transportation', 'mTransportation','sm:'); addItem('  Utilities', 'mUtilities', 'sm:'); //RESOURCES/COMMUNITY Menu startMenu('mCommunity', true, 134, -1, 130, subM); addItem('  Arts', '../resources/resources_community_arts.html',''); addItem('  Business', '../resources/resources_community_business.html', ''); addItem('  Civic', '../resources/resources_community_civic.html', ''); addItem('  Service', '../resources/resources_community_service.html', ''); //RESOURCES/EDUCATION Menu startMenu('mEducation', true, 134, -1, 130, subM); addItem('  Administration', '../resources/resources_education_administration.html', ''); addItem('  Continuing', '../resources/resources_education_adult.html', ''); addItem('  Elementary Schools', '../resources/resources_education_elementary.html',''); addItem('  High Schools', '../resources/resources_education_high.html', ''); addItem('  Middle Schools', '../resources/resources_education_middle.html', ''); //RESOURCES/ENTERTAINMENT Menu startMenu('mEntertainment', true, 134, -1, 130, subM); addItem('  Area Attractions', '../resources/resources_entertainment_areaattractions.html',''); addItem('  Local Activities', '../resources/resources_entertainment_localactivities.html', ''); addItem('  Organizations', '../resources/resources_entertainment_organizations.html', ''); addItem('  Sports', '../resources/resources_entertainment_sports.html', ''); addItem('  Wineries', '../resources/resources_entertainment_wineries.html', ''); //RESOURCES/GOVERNMENT Menu startMenu('mGovernment', true, 134, -1, 130, subM); addItem('  County', '../resources/resources_government_county.html', ''); addItem('  Federal', '../resources/resources_government_federal.html', ''); addItem('  Local', '../resources/resources_government_local.html',''); addItem('  Regional', '../resources/resources_government_regional.html', ''); addItem('  State', '../resources/resources_government_state.html', ''); //RESOURCES/HEALTH Menu startMenu('mHealth', true, 134, -1, 130, subM); addItem('  Facilities', '../resources/resources_health_facilities.html',''); addItem('  Services', '../resources/resources_health_services.html', ''); //RESOURCES/MEDIA Menu startMenu('mMedia', true, 134, -1, 130, subM); addItem('  Print', '../resources/resources_media_print.html',''); addItem('  Radio', '../resources/resources_media_radio.html', ''); addItem('  Television', '../resources/resources_media_television.html', ''); //RESOURCES/TRANSPORTATION Menu startMenu('mTransportation', true, 134, -1, 130, subM); addItem('  Airports', '../resources/resources_transportation_airports.html',''); addItem('  Buses', '../resources/resources_transportation_buses.html', ''); addItem('  Commuter Choice', '../resources/resources_transportation_choice.html', ''); addItem('  Cycling', '../resources/resources_transportation_cycling.html', ''); addItem('  Ferries', '../resources/resources_transportation_ferry.html', ''); addItem('  Paratransit', '../resources/resources_transportation_paratransit.html', ''); addItem('  Rail', '../resources/resources_transportation_rail.html', ''); addItem('  Regional Programs', '../resources/resources_transportation_regional.html', ''); addItem('  Rideshare', '../resources/resources_transportation_rideshare.html', ''); addItem('  Taxi/Shuttle', '../resources/resources_transportation_taxi.html', ''); addItem('  Telecommute', '../resources/resources_transportation_telecommute.html', ''); addItem('  Walking', '../resources/resources_transportation_walking.html', ''); //RESOURCES/UTILITIES Menu startMenu('mUtilities', true, 134, -1, 130, subM); addItem('  Power', '../resources/resources_utilities_power.html',''); addItem('  Telecommunications', '../resources/resources_utilities_telecommunications.html', ''); addItem('  Water and Sewer', '../resources/resources_utilities_waterandsewer.html', ''); //HACIENDA ONLINE Menu startMenu('mHacOn', true, 134, -1, 130, subM); addItem('  Pathways', '../ho/ho_pathways.html', ''); addItem('  NETWORK', '../ho/ho_network.html', ''); addItem('  Connection', '../ho/ho_connection.html', ''); addItem('  Community News', '../ho/ho_community.html', ''); addItem('  Development Update', '../ho/ho_development.html', ''); addItem('  Property Resource', '../ho/ho_property.html', ''); //NETWORKING Menu startMenu('mNet', true, 134, -1, 130, subM); addItem('  Ambassadors', '../networking/networking_ambassadors.html', ''); addItem('  nuAlerts', '../networking/networking_nualerts.html', ''); //OPPORTUNITIES Menu startMenu('mOpp', true, 134, -1, 130, subM); addItem('  Referrals', '../opportunities/opportunities_referrals.html', ''); addItem('  Park Contracts', '../opportunities/opportunities_contracts.html', ''); //ORDER Menu startMenu('mOrdr', true, 134, -1, 130, subM); addItem('  Commute Assistance', '../order/order_commute.html', ''); addItem('  Development', '../order/order_development.html', ''); addItem('  General', '../order/order_general.html', ''); addItem('  Housing', '../order/order_housing.html', ''); addItem('  Networking', '../order/order_networking.html', ''); addItem('  Security', '../order/order_security.html', ''); addItem('  Services', '../order/order_services.html', ''); // End of 'with (pMenu)' block. That's one menu object created, now we have to activate it... } // YEAR SELECT MENU AND SCRIPT FOR HO_ARCHIVES_PATHWAYS var pubPMenu = new PopupMenu('pubPMenu'); with (pubPMenu) { startMenu('root', true, 600, 160, 100, vBar); addItem('  Select a Year', 'mYear', 'sm:'); startMenu('mYear', true, 0, 20, 100, subM); addItem('  1983','loadPubdoc("8300")', 'js:'); addItem('  1984','loadPubdoc("8400")', 'js:'); addItem('  1985','loadPubdoc("8500")', 'js:'); addItem('  1986','loadPubdoc("8600")', 'js:'); addItem('  1987','loadPubdoc("8700")', 'js:'); addItem('  1988','loadPubdoc("8800")', 'js:'); addItem('  1989','loadPubdoc("8900")', 'js:'); addItem('  1990','loadPubdoc("9000")', 'js:'); addItem('  1991','loadPubdoc("9100")', 'js:'); } // YEAR SELECT MENU AND SCRIPT FOR HO_ARCHIVES_CONNECTIONS AND COMMUNITY var pubMenu = new PopupMenu('pubMenu'); with (pubMenu) { startMenu('root', true, 600, 160, 100, vBar); addItem('  Select a Year', 'mYear', 'sm:'); startMenu('mYear', true, 0, 20, 100, subM); addItem('  1998','loadPubdoc("9800")', 'js:'); addItem('  1999','loadPubdoc("9900")', 'js:'); addItem('  2000','loadPubdoc("0000")', 'js:'); addItem('  2001','loadPubdoc("0100")', 'js:'); addItem('  2002','loadPubdoc("0200")', 'js:'); addItem('  2003','loadPubdoc("0300")', 'js:'); addItem('  2004','loadPubdoc("0400")', 'js:'); addItem('  2005','loadPubdoc("0500")', 'js:'); addItem('  2006','loadPubdoc("0600")', 'js:'); addItem('  2007','loadPubdoc("0700")', 'js:'); addItem('  2008','loadPubdoc("0800")', 'js:'); addItem('  2009','loadPubdoc("0900")', 'js:'); addItem('  2010','loadPubdoc("1000")', 'js:'); } var pub; function loadPubdoc(date) { if (document.title == "Hacienda Online! Archives Pathways Page"){ pub="pw"; } if (document.title == "Hacienda Online! Archives Hacienda Connection Page"){ pub="cn"; } if (document.title == "Hacienda Online! Archives Community News Page"){ pub="cm"; } if (document.title == "Hacienda Online! Archives NETWORK Page"){ pub="nw"; } if (document.title == "Hacienda Online! Archives Development Update Page"){ pub="du"; } if (document.title == "Hacienda Online! Archives Property Resource Page"){ pub="pr"; } window.location = pub+date+"_main.html"; } // YEAR/MONTH SELECT MENU AND SCRIPT FOR HO_ARCHIVES_NETWORK var pubNWMenu = new PopupMenu('pubNWMenu'); with (pubNWMenu) { startMenu('root', true, 600, 160, 100, vBar); addItem('  Select a Year', 'mYear', 'sm:'); startMenu('mYear', true, 0, 20, 100, subM); addItem('  1997', 'mMonth97', 'sm:'); addItem('  1998', 'mMonth98', 'sm:'); addItem('  1999', 'mMonth99', 'sm:'); addItem('  2000', 'mMonth00', 'sm:'); addItem('  2001', 'mMonth01', 'sm:'); addItem('  2002', 'mMonth02', 'sm:'); addItem('  2003', 'mMonth03', 'sm:'); addItem('  2004', 'mMonth04', 'sm:'); addItem('  2005', 'mMonth05', 'sm:'); addItem('  2006', 'mMonth06', 'sm:'); addItem('  2007', 'mMonth07', 'sm:'); addItem('  2008', 'mMonth08', 'sm:'); addItem('  2009', 'mMonth09', 'sm:'); addItem('  2010', 'mMonth10', 'sm:'); //1997 months startMenu('mMonth97', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("9701")', 'js:'); addItem('  February','loadPubdoc("9702")', 'js:'); addItem('  March','loadPubdoc("9703")', 'js:'); addItem('  April','loadPubdoc("9704")', 'js:'); addItem('  May','loadPubdoc("9705")', 'js:'); addItem('  June','loadPubdoc("9706")', 'js:'); addItem('  July','loadPubdoc("9707")', 'js:'); addItem('  August','loadPubdoc("9708")', 'js:'); addItem('  September','loadPubdoc("9709")', 'js:'); addItem('  October','loadPubdoc("9710")', 'js:'); addItem('  November','loadPubdoc("9711")', 'js:'); addItem('  December','loadPubdoc("9712")', 'js:'); //addItem('  Executive Profile','loadPubdoc("97ep")', 'js:'); //addItem('  Company Profile','loadPubdoc("97cp")', 'js:'); //1998 months startMenu('mMonth98', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("9801")', 'js:'); addItem('  February','loadPubdoc("9802")', 'js:'); addItem('  March','loadPubdoc("9803")', 'js:'); addItem('  April','loadPubdoc("9804")', 'js:'); addItem('  May','loadPubdoc("9805")', 'js:'); addItem('  June','loadPubdoc("9806")', 'js:'); addItem('  July','loadPubdoc("9807")', 'js:'); addItem('  August','loadPubdoc("9808")', 'js:'); addItem('  September','loadPubdoc("9809")', 'js:'); addItem('  October','loadPubdoc("9810")', 'js:'); addItem('  November','loadPubdoc("9811")', 'js:'); addItem('  December','loadPubdoc("9812")', 'js:'); addItem('  Executive Profile','loadPubdoc("98ep")', 'js:'); addItem('  Company Profile','loadPubdoc("98cp")', 'js:'); //1999 months startMenu('mMonth99', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("9901")', 'js:'); addItem('  February','loadPubdoc("9902")', 'js:'); addItem('  March','loadPubdoc("9903")', 'js:'); addItem('  April','loadPubdoc("9904")', 'js:'); addItem('  May','loadPubdoc("9905")', 'js:'); addItem('  June','loadPubdoc("9906")', 'js:'); addItem('  July','loadPubdoc("9907")', 'js:'); addItem('  August','loadPubdoc("9908")', 'js:'); addItem('  September','loadPubdoc("9909")', 'js:'); addItem('  October','loadPubdoc("9910")', 'js:'); addItem('  November','loadPubdoc("9911")', 'js:'); addItem('  December','loadPubdoc("9912")', 'js:'); addItem('  Executive Profile','loadPubdoc("99ep")', 'js:'); addItem('  Company Profile','loadPubdoc("99cp")', 'js:'); //2000 months startMenu('mMonth00', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0001")', 'js:'); addItem('  February','loadPubdoc("0002")', 'js:'); addItem('  March','loadPubdoc("0003")', 'js:'); addItem('  April','loadPubdoc("0004")', 'js:'); addItem('  May','loadPubdoc("0005")', 'js:'); addItem('  June','loadPubdoc("0006")', 'js:'); addItem('  July','loadPubdoc("0007")', 'js:'); addItem('  August','loadPubdoc("0008")', 'js:'); addItem('  September','loadPubdoc("0009")', 'js:'); addItem('  October','loadPubdoc("0010")', 'js:'); addItem('  November','loadPubdoc("0011")', 'js:'); addItem('  December','loadPubdoc("0012")', 'js:'); addItem('  Executive Profile','loadPubdoc("00ep")', 'js:'); addItem('  Company Profile','loadPubdoc("00cp")', 'js:'); //2001 months startMenu('mMonth01', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0101")', 'js:'); addItem('  February','loadPubdoc("0102")', 'js:'); addItem('  March','loadPubdoc("0103")', 'js:'); addItem('  April','loadPubdoc("0104")', 'js:'); addItem('  May','loadPubdoc("0105")', 'js:'); addItem('  June','loadPubdoc("0106")', 'js:'); addItem('  July','loadPubdoc("0107")', 'js:'); addItem('  August','loadPubdoc("0108")', 'js:'); addItem('  September','loadPubdoc("0109")', 'js:'); addItem('  October','loadPubdoc("0110")', 'js:'); addItem('  November','loadPubdoc("0111")', 'js:'); addItem('  December','loadPubdoc("0112")', 'js:'); addItem('  Executive Profile','loadPubdoc("01ep")', 'js:'); addItem('  Company Profile','loadPubdoc("01cp")', 'js:'); //2002 months startMenu('mMonth02', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0201")', 'js:'); addItem('  February','loadPubdoc("0202")', 'js:'); addItem('  March','loadPubdoc("0203")', 'js:'); addItem('  April','loadPubdoc("0204")', 'js:'); addItem('  May','loadPubdoc("0205")', 'js:'); addItem('  June','loadPubdoc("0206")', 'js:'); addItem('  July','loadPubdoc("0207")', 'js:'); addItem('  August','loadPubdoc("0208")', 'js:'); addItem('  September','loadPubdoc("0209")', 'js:'); addItem('  October','loadPubdoc("0210")', 'js:'); addItem('  November','loadPubdoc("0211")', 'js:'); addItem('  December','loadPubdoc("0212")', 'js:'); addItem('  Executive Profile','loadPubdoc("02ep")', 'js:'); addItem('  Company Profile','loadPubdoc("02cp")', 'js:'); //2003 months startMenu('mMonth03', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0301")', 'js:'); addItem('  February','loadPubdoc("0302")', 'js:'); addItem('  March','loadPubdoc("0303")', 'js:'); addItem('  April','loadPubdoc("0304")', 'js:'); addItem('  May','loadPubdoc("0305")', 'js:'); addItem('  June','loadPubdoc("0306")', 'js:'); addItem('  July','loadPubdoc("0307")', 'js:'); addItem('  August','loadPubdoc("0308")', 'js:'); addItem('  September','loadPubdoc("0309")', 'js:'); addItem('  October','loadPubdoc("0310")', 'js:'); addItem('  November','loadPubdoc("0311")', 'js:'); addItem('  December','loadPubdoc("0312")', 'js:'); addItem('  Executive Profile','loadPubdoc("03ep")', 'js:'); addItem('  Company Profile','loadPubdoc("03cp")', 'js:'); //2004 months startMenu('mMonth04', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0401")', 'js:'); addItem('  February','loadPubdoc("0402")', 'js:'); addItem('  March','loadPubdoc("0403")', 'js:'); addItem('  April','loadPubdoc("0404")', 'js:'); addItem('  May','loadPubdoc("0405")', 'js:'); addItem('  June','loadPubdoc("0406")', 'js:'); addItem('  July','loadPubdoc("0407")', 'js:'); addItem('  August','loadPubdoc("0408")', 'js:'); addItem('  September','loadPubdoc("0409")', 'js:'); addItem('  October','loadPubdoc("0410")', 'js:'); addItem('  November','loadPubdoc("0411")', 'js:'); addItem('  December','loadPubdoc("0412")', 'js:'); addItem('  Executive Profile','loadPubdoc("04ep")', 'js:'); addItem('  Company Profile','loadPubdoc("04cp")', 'js:'); //2005 months startMenu('mMonth05', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0501")', 'js:'); addItem('  February','loadPubdoc("0502")', 'js:'); addItem('  March','loadPubdoc("0503")', 'js:'); addItem('  April','loadPubdoc("0504")', 'js:'); addItem('  May','loadPubdoc("0505")', 'js:'); addItem('  June','loadPubdoc("0506")', 'js:'); addItem('  July','loadPubdoc("0507")', 'js:'); addItem('  August','loadPubdoc("0508")', 'js:'); addItem('  September','loadPubdoc("0509")', 'js:'); addItem('  October','loadPubdoc("0510")', 'js:'); addItem('  November','loadPubdoc("0511")', 'js:'); addItem('  December','loadPubdoc("0512")', 'js:'); addItem('  Executive Profile','loadPubdoc("05ep")', 'js:'); addItem('  Company Profile','loadPubdoc("05cp")', 'js:'); //2006 months startMenu('mMonth06', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0601")', 'js:'); addItem('  February','loadPubdoc("0602")', 'js:'); addItem('  March','loadPubdoc("0603")', 'js:'); addItem('  April','loadPubdoc("0604")', 'js:'); addItem('  May','loadPubdoc("0605")', 'js:'); addItem('  June','loadPubdoc("0606")', 'js:'); addItem('  July','loadPubdoc("0607")', 'js:'); addItem('  August','loadPubdoc("0608")', 'js:'); addItem('  September','loadPubdoc("0609")', 'js:'); addItem('  October','loadPubdoc("0610")', 'js:'); addItem('  November','loadPubdoc("0611")', 'js:'); addItem('  December','loadPubdoc("0612")', 'js:'); addItem('  Executive Profile','loadPubdoc("06ep")', 'js:'); addItem('  Company Profile','loadPubdoc("06cp")', 'js:'); //2007 months startMenu('mMonth07', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0701")', 'js:'); addItem('  February','loadPubdoc("0702")', 'js:'); addItem('  March','loadPubdoc("0703")', 'js:'); addItem('  April','loadPubdoc("0704")', 'js:'); addItem('  May','loadPubdoc("0705")', 'js:'); addItem('  June','loadPubdoc("0706")', 'js:'); addItem('  July','loadPubdoc("0707")', 'js:'); addItem('  August','loadPubdoc("0708")', 'js:'); addItem('  September','loadPubdoc("0709")', 'js:'); addItem('  October','loadPubdoc("0710")', 'js:'); addItem('  November','loadPubdoc("0711")', 'js:'); addItem('  December','loadPubdoc("0712")', 'js:'); addItem('  Executive Profile','loadPubdoc("07ep")', 'js:'); addItem('  Company Profile','loadPubdoc("07cp")', 'js:'); //2008 months startMenu('mMonth08', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0801")', 'js:'); addItem('  February','loadPubdoc("0802")', 'js:'); addItem('  March','loadPubdoc("0803")', 'js:'); addItem('  April','loadPubdoc("0804")', 'js:'); addItem('  May','loadPubdoc("0805")', 'js:'); addItem('  June','loadPubdoc("0806")', 'js:'); addItem('  July','loadPubdoc("0807")', 'js:'); addItem('  August','loadPubdoc("0808")', 'js:'); addItem('  September','loadPubdoc("0809")', 'js:'); addItem('  October','loadPubdoc("0810")', 'js:'); addItem('  November','loadPubdoc("0811")', 'js:'); addItem('  December','loadPubdoc("0812")', 'js:'); addItem('  Executive Profile','loadPubdoc("08ep")', 'js:'); addItem('  Company Profile','loadPubdoc("08cp")', 'js:'); //2009 months startMenu('mMonth09', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("0901")', 'js:'); addItem('  February','loadPubdoc("0902")', 'js:'); addItem('  March','loadPubdoc("0903")', 'js:'); addItem('  April','loadPubdoc("0904")', 'js:'); addItem('  May','loadPubdoc("0905")', 'js:'); addItem('  June','loadPubdoc("0906")', 'js:'); addItem('  July','loadPubdoc("0907")', 'js:'); addItem('  August','loadPubdoc("0908")', 'js:'); addItem('  September','loadPubdoc("0909")', 'js:'); addItem('  October','loadPubdoc("0910")', 'js:'); addItem('  November','loadPubdoc("0911")', 'js:'); addItem('  December','loadPubdoc("0912")', 'js:'); addItem('  Executive Profile','loadPubdoc("09ep")', 'js:'); addItem('  Company Profile','loadPubdoc("09cp")', 'js:'); //2010 months startMenu('mMonth10', true, 103, 0, 100, subM); addItem('  January','loadPubdoc("1001")', 'js:'); addItem('  February','loadPubdoc("1002")', 'js:'); addItem('  March','loadPubdoc("1003")', 'js:'); addItem('  April','loadPubdoc("1004")', 'js:'); addItem('  May','loadPubdoc("1005")', 'js:'); addItem('  June','loadPubdoc("1006")', 'js:'); addItem('  July','loadPubdoc("1007")', 'js:'); addItem('  August','loadPubdoc("1008")', 'js:'); //addItem('  September','loadPubdoc("1009")', 'js:'); //addItem('  October','loadPubdoc("1010")', 'js:'); //addItem('  November','loadPubdoc("1011")', 'js:'); //addItem('  December','loadPubdoc("1012")', 'js:'); addItem('  Executive Profile','loadPubdoc("10ep")', 'js:'); addItem('  Company Profile','loadPubdoc("10cp")', 'js:'); } // SPECIAL SERVICES MENU var SSMenu = new PopupMenu('SSMenu'); with (SSMenu) { startMenu('root', true, 600, 160, 100, vBar); addItem('  Select An Offer', 'mOffer', 'sm:'); startMenu('mOffer', true, 0, 20, 180, subM); addItem('  Blue and Gold Fleet','../services/services_special_offers_blueandgold.html', ''); addItem('  Cal Athletics','../services/services_special_offers_cal.html', ''); addItem('  CarrCorporate Center','../services/services_special_offers_CarrConference.html', ''); addItem('  Golden State Warriors','../services/services_special_offers_warriors.html', ''); addItem('  Great America-Gilroy Gardens','../services/services_special_offers_great.html', ''); addItem('  Knotts Berry Farm','../services/services_special_offers_knotts.html', ''); addItem('  LegoLand','../services/services_special_offers_legoland.html', ''); addItem('  Monterey Bay Aquarium','../services/services_special_offers_montereyaquarium.html', ''); addItem('  Northstar and Sierra at Tahoe','../services/services_special_offers_northstarsierra.html', ''); addItem('  nuAlerts','../services/services_special_offers_nuAlerts.html', ''); addItem('  Oakland As','../services/services_special_offers_as.html', ''); addItem('  Oracle Arena','../services/services_special_offers_oraclearena.html', ''); addItem('  Pier 39','../services/services_special_offers_pier39.html', ''); addItem('  Raging Waters','../services/services_special_offers_ragingwaters.html', ''); addItem('  San Jose Earthquakes','../services/services_special_offers_earthquakes.html', ''); addItem('  Santa Cruz Beach Boardwalk','../services/services_special_offers_santacruz.html', ''); addItem('  Sea World','../services/services_special_offers_seaworld.html', ''); addItem('  Six Flags Discovery Kingdom','../services/services_special_offers_sfdk.html', ''); addItem('  Six Flags Magic Mountain','../services/services_special_offers_sfmm.html', ''); addItem('  Tickets 2 Fun','../services/services_special_offers_ticketstofun.html', ''); addItem('  Universal Studios','../services/services_special_offers_universal.html', ''); addItem('  Waterworld','../services/services_special_offers_waterworld.html', ''); addItem('  Wente Vineyards Concerts','../services/services_special_offers_wente.html', ''); addItem('  Hacienda Discounts','../services/services_special_offers_discounts.html', ''); } // Then remember to add it to the event section below... // *** (3) MENU EFFECTS AND ANIMATION *** if (!isOp && navigator.userAgent.indexOf('rv:0.')==-1) { pMenu.showMenu = new Function('mN','menuAnim(this, mN, 10)'); pMenu.hideMenu = new Function('mN','menuAnim(this, mN, -10)'); pubMenu.showMenu = new Function('mN','menuAnim(this, mN, 10)'); pubMenu.hideMenu = new Function('mN','menuAnim(this, mN, -10)'); pubPMenu.showMenu = new Function('mN','menuAnim(this, mN, 10)'); pubPMenu.hideMenu = new Function('mN','menuAnim(this, mN, -10)'); pubNWMenu.showMenu = new Function('mN','menuAnim(this, mN, 10)'); pubNWMenu.hideMenu = new Function('mN','menuAnim(this, mN, -10)'); SSMenu.showMenu = new Function('mN','menuAnim(this, mN, 10)'); SSMenu.hideMenu = new Function('mN','menuAnim(this, mN, -10)'); } // *** (4) EVENTS *** var nsWinW = window.innerWidth, nsWinH = window.innerHeight, popOldOR = window.onresize; window.onresize = function() { if (popOldOR) popOldOR(); if (isNS4 && (nsWinW!=innerWidth || nsWinH!=innerHeight)) history.go(0); pMenu.position(); pubMenu.position(); pubPMenu.position(); pubNWMenu.position(); SSMenu.position(); } window.onscroll = function() { pMenu.position(); pubMenu.position(); pubPMenu.position(); pubNWMenu.position(); SSMenu.position(); } // NS4 can't reliably capture clicks on layers, so here's a workaround. if (isNS4) { document.captureEvents(Event.CLICK); document.onclick = function(evt) { with (pMenu) if (overI) click(overM, overI); with (pubMenu) if (overI) click(overM, overI); with (pubPMenu) if (overI) click(overM, overI); with (pubNWMenu) if (overI) click(overM, overI); with (SSMenu) if (overI) click(overM, overI); return document.routeEvent(evt); } } // MOUSE EVENTS AND LINKS FOR MAIN MENU ITEMS: pMenu.onclick = function(mN, iN) { with (this) { // Do actions depending on the item that the mouse was over at the time of the click. //LINKS FOR ITEMS WITH SUBMENUS; mN = MENU TITLE if (mN == 'root') { if (iN == 2) location.href = '../introduction/home.html'; if (iN == 3) location.href = '../project/home.html'; if (iN == 4) location.href = '../services/home.html'; if (iN == 10) location.href = '../resources/home.html'; if (iN == 11) location.href = '../ho/home.html'; if (iN == 14) location.href = '../networking/home.html'; if (iN == 15) location.href = '../opportunities/home.html'; if (iN == 17) location.href = '../contact/home.html'; if (iN == 19) location.href = '../order/home.html'; } if (mN == 'mProj') { if (iN == 1) location.href = '../project/project_background.html'; if (iN == 2) location.href = '../project/project_description.html'; if (iN == 3) location.href = '../project/project_location.html'; if (iN == 7) location.href = '../project/project_sustainability.html'; } if (mN == 'mServ') { if (iN == 1) location.href = '../services/services_commute.html'; } if (mN == 'mReso') { if (iN == 1) location.href = '../resources/resources_community.html'; if (iN == 2) location.href = '../resources/resources_education.html'; if (iN == 3) location.href = '../resources/resources_entertainment.html'; if (iN == 5) location.href = '../resources/resources_government.html'; if (iN == 6) location.href = '../resources/resources_health.html'; if (iN == 7) location.href = '../resources/resources_media.html'; if (iN == 10) location.href = '../resources/resources_transportation.html'; if (iN == 11) location.href = '../resources/resources_utilities.html'; } }} pMenu.onmouseover = function(mN, iN) { with (this) { with (menu[mN][iN]) if (!type) status = href; }} pMenu.onmouseout = function() { status = '' } // ANIMATION: function menuAnim(menuObj, menuName, dir) { // The array index of the named menu (e.g. 'mFile') in the menu object (e.g. 'pMenu'). var mD = menuObj.menu[menuName][0]; // Add timer and counter variables to the menu data structure, we'll need them. if (!mD.timer) mD.timer = 0; if (!mD.counter) mD.counter = 0; with (mD) { // Stop any existing animation. clearTimeout(timer); // If the layer doesn't exist (cross-frame navigation) quit. if (!lyr || !lyr.ref) return; // Show the menu if that's what we're doing. if (dir>0) lyr.vis('visible'); // Also raise showing layers above hiding ones. lyr.sty.zIndex = 1001 + dir; // Alpha fade in IE5.5+. lyr.clip(0, 0, menuW+2, (menuH+2)*Math.pow(Math.sin(Math.PI*counter/200),0.75) ); // Remove clipping in NS6 on completion, seems to help old versions. if ((isDOM&&!isIE) && (counter>=100)) lyr.sty.clip=''; // Increment the counter and if it hasn't reached the end (10 steps either way), // set the timer to call the show/hide function again in 40ms. counter += dir; if (counter>100) counter = 100; else if (counter<0) { counter = 0; lyr.vis('hidden') } else timer = setTimeout(menuObj.myName+'.'+(dir>0?'show':'hide')+'Menu("'+menuName+'")', 40); } } // Here's the alternative IE5.5+ filter animation function. function menuFilterShow(menuObj, menuName, filterName) { var mD = menuObj.menu[menuName][0]; with (mD.lyr) { sty.filter = filterName; var f = ref.filters; if (f&&f.length&&f[0]) f[0].Apply(); vis('visible'); if (f&&f.length&&f[0]) f[0].Play(); } } // BORDERS AND DROPSHADOWS FUNCTIONS: function addMenuBorder(mObj, iS, alpha, bordCol, bordW, backCol, backW) { // Loop through the menu array of that object, finding matching ItemStyles. for (var mN in mObj.menu) { var mR=mObj.menu[mN], dS='
'; else mR[0].extraHTML += dS+bordCol+'; left:0px; top:0px; width:'+mW+'px; height:'+mH+ 'px; z-index:980; '+(alpha!=null?'filter:alpha(opacity='+alpha+'); -moz-opacity:'+(alpha/100):'')+ '">'+dS+backCol+'; left:'+bordW+'px; top:'+bordW+'px; width:'+(mW-2*bordW)+'px; height:'+ (mH-2*bordW)+'px; z-index:990">
'; } } // End -->