//global vars begin var flyoutClosingTime = 300; // time to wait after moving of a flyout before closing it var SB_NAV_STATE_SET = 0; var SB_CURRENT_NAV = ""; var SB_CURRENT_FLOAT = null; var SB_CURRENT_ROLLOVER = ""; var SB_CURRENT_SECTION_ROLLOVER = null; var SB_CURRENT_EXPAND_NAV = null; var SB_BROWSER = sb_getBrowserType(); var SB_FLOAT_TIMEOUT; //global vars end //prototypes begin sb_nodeObject.prototype.sb_add = function(sb_sectionObject) { this.nodeCollection[this.nodeCounter] = sb_sectionObject; this.nodeCounter ++; } sb_topNavObject.prototype.sb_add = function(sb_topNavImageObject) { this.imageCollection[this.imageCounter] = sb_topNavImageObject; this.imageCounter ++; } sb_sitemapObj.prototype.a = function(sb_siteAreaObj) { this.n[this.nodeCounter] = sb_siteAreaObj; this.nodeCounter ++; } sb_siteAreaObj.prototype.a = function(sb_n) { this.nodeCollection[this.nodeCounter] = sb_n; this.nodeCounter ++; } //prototypes end /* ------------------------------------------ Function name - sb_getBrowserType Description - queries the user's SB_BROWSER and sets properties in an object for a specific type of SB_BROWSER look at the objects properties ------------------------------------------ */ function sb_getBrowserType() { var myAgent = navigator.userAgent; var isMac = myAgent.toString().toUpperCase().indexOf("MAC") != -1; var isNS = myAgent.toString().toUpperCase().indexOf("MOZILLA") != -1; var isNS6 = myAgent.toString().toUpperCase().indexOf("NETSCAPE6/6") != -1; var isNS7 = myAgent.toString().toUpperCase().indexOf("NETSCAPE/7") != -1; var isMoz = ((parseInt(navigator.appVersion) >= 5) && myAgent.toString().toUpperCase().indexOf("NETSCAPE") == -1); this.ie = document.all ? 1 : 0; this.ns4 = document.layers ? 1 : 0; this.dom = document.getElementById ? 1 : 0; this.iemac = ((ie) && (isMac)) ? 1 : 0; this.ns6 = ((!ie) && (isNS6)) ? 1 : 0; this.ns7 = ((!ie) && (isNS7)) ? 1 : 0; this.moz = ((!ie) && (isNS) && (isMoz)) ? 1 : 0; this.ns = ((!ie) && (isNS) && (!isNS6) && (!isNS7) && (!isMoz) ) ? 1 : 0; this.ns6plus = ((!ie) && (isNS) && (!this.ns4) ) ? 1 : 0; return this; } /*------------------------------------------ Function name - sb_getNavRef Description - looks up a div or layer in the document and returns a reference to it ------------------------------------------*/ function sb_getNavRef(nav) { var navRef; if (SB_BROWSER.dom) return document.getElementById(nav); if (SB_BROWSER.ns4) { navRef = eval(document.layers[nav]); return navRef; } } /* ------------------------------------------ Function name - sb_sectionObject Description - used to create section objects and set its properties this allows a section to live in a directory that is named something different from the section name ------------------------------------------ */ function sb_sectionObject(sectionName, sectionDiv) { this.sectionName = sectionName; this.sectionDiv = sectionDiv; return this; } /* ------------------------------------------ Function name - sb_nodeObject Description - used to create a collection of nodes ------------------------------------------ */ function sb_nodeObject() { this.nodeCollection = new Array(); this.nodeCounter = 0; return this; } /* ------------------------------------------ Function name - sb_topImageObject Description - used to create top nav image objects and set its properties this is used to highlight the image for the section you are in ------------------------------------------ */ function sb_topNavImageObject(dirName, imageId, divId, onSrc) { this.dirName = dirName; this.imageId = imageId; this.divId = divId; this.onSrc = onSrc; return this; } /* ------------------------------------------ Function name - sb_topNavObject Description - used to create a collection of Top Nav Images ------------------------------------------ */ function sb_topNavObject() { this.imageCollection = new Array(); this.imageCounter = 0; return this; } /*------------------------------------------ Function name - sb_currentFloat Description - used to store properties of the current floater ------------------------------------------*/ function sb_currentFloat(navName) { this.navName = navName; } /*------------------------------------------ Function name - sb_currentExpandNav Description - used to store properties of the current floater ------------------------------------------*/ function sb_currentExpandNav(sourceNav,navName) { this.sourceNav = sourceNav; this.navName = navName; } /*------------------------------------------ Function name - sb_currentRollOver Description - used to store properties of the current rollover ------------------------------------------*/ function sb_currentRollOver(navName) { this.navName = navName; } /*------------------------------------------ Function name - sb_currentSectionRollOver Description - used to store properties of the current rollover ------------------------------------------*/ function sb_currentSectionRollOver(navName) { this.navName = navName; } /*------------------------------------------ Function name - sb_rollOverObject Description - used to store the properties of a rollover object the properties include the owner of this object, the on state and the off state ------------------------------------------ */ function sb_rollOverObject(onClass,offClass) { this.onClass = onClass; this.offClass = offClass; return this; } /*------------------------------------------ Function name - sb_navRollOver Description - used to handle the on and off state of nav items there is no on or off state switch the swtiching is done by querying the rollOver object ------------------------------------------*/ function sb_navRollOver(nav) { if (! SB_BROWSER.dom) return; if (SB_FLOAT_TIMEOUT) window.clearTimeout(SB_FLOAT_TIMEOUT); //sb_floatShow(); var navRef = null; navRef = sb_getNavRef(nav); if (! navRef) return; if((SB_CURRENT_SECTION_ROLLOVER) && (SB_CURRENT_SECTION_ROLLOVER.navName.toString() == nav)) return; //if (SB_CURRENT_EXPAND_NAV) sb_rollOverClear(SB_CURRENT_EXPAND_NAV.sourceNav); var rollObject = new Array(); rollObject[0] = new sb_rollOverObject("navItem1on","navItem1off"); rollObject[1] = new sb_rollOverObject("navItem2on","navItem2off"); rollObject[2] = new sb_rollOverObject("navItem3on","navItem3off"); //window.status = "navRef.parentNode.parentNode.parentNode.nodeName " + navRef.parentNode.parentNode.parentNode.parentNode.className; var objChildNodes = navRef.childNodes; for (c=0;c 1) return; if (! waitTime) { wt = flyoutClosingTime; } else { wt = waitTime; } if (window.setTimeout) { if (SB_FLOAT_TIMEOUT) window.clearTimeout(SB_FLOAT_TIMEOUT); SB_FLOAT_TIMEOUT = window.setTimeout('sb_hideCurrentFloat() ; sb_rollOverClear(SB_CURRENT_ROLLOVER.navName)',wt); } else { sb_hideCurrentFloat() } } /*------------------------------------------ Function name - sb_floatShow Description - used to keep a float afloat ------------------------------------------ */ function sb_floatShow() { if (! SB_BROWSER.dom) return; if (arguments.length > 0) return; if ((window.clearTimeOut) && (SB_FLOAT_TIMEOUT)) window.clearTimeout(SB_FLOAT_TIMEOUT); } /*------------------------------------------ Function name - sb_floatClear Description - used to clear the bgcolor of the float ------------------------------------------ */ function sb_floatClear(destNav) { if (! SB_BROWSER.dom) return; if (arguments.length > 1) return; var destNavRef = null; if (destNav != "") destNavRef = sb_getNavRef(destNav); if (! destNavRef) return; return; } /*------------------------------------------ Function name - sb_navFloat Description - used to float a div ------------------------------------------ */ function sb_navFloat(sourceNav,destNav) { if (! SB_BROWSER.dom) return; if (arguments.length == 0) return; var sourceNavRef = null; var destNavRef = null; if (sourceNav != "") sourceNavRef = sb_getNavRef(sourceNav); if (destNav != "") destNavRef = sb_getNavRef(destNav); if (! sourceNavRef) return; if (arguments.length == 1) { if (SB_CURRENT_FLOAT) sb_hideCurrentFloat(); sb_rollOverClear(); sb_navRollOver(sourceNav); return; } else if(((SB_CURRENT_SECTION_ROLLOVER) && (SB_CURRENT_SECTION_ROLLOVER.navName.toString() != sourceNav)) || (!SB_CURRENT_SECTION_ROLLOVER)) { sb_rollOverClear(); sb_navRollOver(sourceNav); SB_CURRENT_ROLLOVER = new sb_currentRollOver(sourceNav); } if (SB_CURRENT_ROLLOVER.navName) sb_rollOverClear(); sb_navRollOver(sourceNav); if (SB_CURRENT_FLOAT) sb_hideCurrentFloat(); if(destNav != "") SB_CURRENT_FLOAT = new sb_currentFloat(destNav); if ((sourceNavRef) && (destNavRef)) { if ((SB_CURRENT_EXPAND_NAV) && (SB_CURRENT_EXPAND_NAV.navName == destNav)) return; destNavRef.style.left = "153px"; if ((SB_BROWSER.ie) && (!SB_BROWSER.iemac)) destNavRef.style.top = (sourceNavRef.offsetParent.offsetTop) + 71; if (SB_BROWSER.ns7) destNavRef.style.top = ((sourceNavRef.parentNode.parentNode.offsetTop) + 71); if (SB_BROWSER.ns6) destNavRef.style.top = ((sourceNavRef.parentNode.parentNode.offsetTop) - 1); if (SB_BROWSER.moz) destNavRef.style.top = ((sourceNavRef.parentNode.parentNode.offsetTop) + 71); if (SB_BROWSER.ns) destNavRef.style.top = ((sourceNavRef.parentNode.parentNode.offsetTop) + 72); if (SB_BROWSER.iemac) return; destNavRef.style.visibility = "visible"; //destNavRef.parentNode.className = "navfloat"; //destNavRef.className = "navfloat"; } } /*------------------------------------------ Function name - sb_navExpand Description - forwards to a url ------------------------------------------ */ function sb_navExpand(destUrl) { document.location = destUrl; return; } /*------------------------------------------ Function name - sb_navExpandItem Description - used to expand a nav item ------------------------------------------ */ function sb_navExpandItem(sourceNav,destNav,destUrl){ if (! SB_BROWSER.dom) return; var navRef = null; navRef = sb_getNavRef(destNav); if (! navRef) return; //navRef = document.getElementById(destNav); if ((SB_CURRENT_EXPAND_NAV)) sb_navCollapse(destNav); if((sourceNav != "") && (destNav != "")) SB_CURRENT_EXPAND_NAV = new sb_currentExpandNav(sourceNav,destNav); // Set style for table containing a Docked Flyout var objChildNodes = navRef.childNodes; for (c=0; c 1)) { clickedNav = sourceNav; sourceNav = sn.match(/([a-zA-Z]+_\d+)/gi); destNav = sn.match(/([a-zA-Z]+_\d+_\d+)/gi); } destNavRef = sb_getNavRef(destNav); //alert("tm.length " + tm.length + "\n clickedNav " + clickedNav + "\n sourceNavRef " + sourceNavRef + "\n" + "sourceNav" + sourceNav + "\n destNavRef " + destNavRef + "\n" + "destNav" + destNav); if (destNavRef) { SB_CURRENT_EXPAND_NAV = new sb_currentExpandNav(sourceNav,destNav); sb_navExpandItem(sourceNav,destNav); if (clickedNav && sourceNav) { if (SB_CURRENT_SECTION_ROLLOVER) sb_sectionClear(SB_CURRENT_SECTION_ROLLOVER.navName); //sb_navRollOver(clickedNav); sb_sectionHighLight(clickedNav); SB_CURRENT_SECTION_ROLLOVER = new sb_currentSectionRollOver(clickedNav); return; } if (sourceNav && !clickedNav) { //sb_sectionHighLight(sourceNav); sb_navRollOver(sourceNav); SB_CURRENT_SECTION_ROLLOVER = new sb_currentSectionRollOver(sourceNav); return; } } else { sb_navRollOver(sourceNav); SB_CURRENT_SECTION_ROLLOVER = new sb_currentSectionRollOver(sourceNav); return; } } /* ------------------------------------------ Function name - sb_getSectionName2 Description - Called by sb_setNavState when the page first loads. This function returns the folder name (or the names of two consecutive folders) at various depths. ------------------------------------------ */ function sb_getSectionName2(depth) { // MAKE REGEX var serverURL = new String(document.location); //remove http:// serverURL = serverURL.substring(7); var lBound; if (serverURL.indexOf("/jsp/") != -1) { lBound = serverURL.indexOf("/jsp/") + 5; } else if ((typeof baseHTMLDir_FromSiteConfig != 'undefined') && (baseHTMLDir_FromSiteConfig != "") && (serverURL.indexOf(baseHTMLDir_FromSiteConfig+"/") != -1)) { lBound = serverURL.indexOf(baseHTMLDir_FromSiteConfig+"/") + baseHTMLDir_FromSiteConfig.length + 1; } else if (serverURL.indexOf("/content/") != -1) { lBound = serverURL.indexOf("/content/") + 9; } var dest1 = serverURL.substring(lBound); var dest2; var rBound = dest1.indexOf("/"); var dirName; // Look for a combination of the first folder name and the second if (depth == 0) { dirName = dest1.substring(0,rBound); dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dirName + "___" + dest2.substring(0,rBound); // Look for a combination of the second folder name and the third } else if (depth == 1) { dest1 = dest1.substring(rBound+1); rBound = dest1.indexOf("/"); dirName = dest1.substring(0,rBound); dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dirName + "___" + dest2.substring(0,rBound); // Look for a combination of the second folder name and the third } else if (depth == 2) { dest1 = dest1.substring(rBound+1); rBound = dest1.indexOf("/"); dirName = dest1.substring(0,rBound); rBound = dest1.indexOf("/"); dirName = dest1.substring(0,rBound); dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dirName + "___" + dest2.substring(0,rBound); // Look for a combination of the third folder name and the fourth } else if (depth == 3) { dest1 = dest1.substring(rBound+1); rBound = dest1.indexOf("/"); dest1 = dest1.substring(rBound+1); rBound = dest1.indexOf("/"); dirName = dest1.substring(0,rBound); rBound = dest1.indexOf("/"); dirName = dest1.substring(0,rBound); dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dirName + "___" + dest2.substring(0,rBound); // Look for a combination of the fourth folder name and the fifth } else if (depth == 4) { dest1 = dest1.substring(rBound+1); rBound = dest1.indexOf("/"); dest1 = dest1.substring(rBound+1); rBound = dest1.indexOf("/"); dest1 = dest1.substring(rBound+1); rBound = dest1.indexOf("/"); dirName = dest1.substring(0,rBound); rBound = dest1.indexOf("/"); dirName = dest1.substring(0,rBound); dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dirName + "___" + dest2.substring(0,rBound); // Look for the first folder name } else if (depth == 5) { dirName = dest1.substring(0,rBound); // Look for the second folder name } else if (depth == 6) { var dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dest2.substring(0,rBound); // Look for the third folder name } else if (depth == 6) { var dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dest2 = dest2.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dest2.substring(0,rBound); // Look for the fourth folder name } else if (depth == 7) { var dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dest2 = dest2.substring(rBound+1); rBound = dest2.indexOf("/"); dest2 = dest2.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dest2.substring(0,rBound); // Look for the fifth folder name } else { var dest2 = dest1.substring(rBound+1); rBound = dest2.indexOf("/"); dest2 = dest2.substring(rBound+1); rBound = dest2.indexOf("/"); dest2 = dest2.substring(rBound+1); rBound = dest2.indexOf("/"); dest2 = dest2.substring(rBound+1); rBound = dest2.indexOf("/"); dirName = dest2.substring(0,rBound); } return dirName; } /*------------------------------------------ Function name - sb_navShow2 Description - Attempts to find the div with the id specified by 'nav'. If found, the div is shown, a "shim" div is hidden, and the function returns true. Else it returns false. ------------------------------------------ */ function sb_navShow2 (nav) { var navRef; var shimRef; // Get References to Objects if (SB_BROWSER.dom) { navRef = document.getElementById(nav); shimRef = document.getElementById("shimDiv"); } else { navRef = eval(document.layers[nav]); shimRef = eval(document.layers["shimDiv"]); } if (! navRef) { // Can't fint objects, so return return false; } // Objects found, show objects navRef.style.display = "";// : navRef.visibility = "hide"; shimRef.style.display = "none"; return true; } function sb_getHighlightName() { // MAKE REGEX var serverURL = new String(document.location); // remove http:// serverURL = serverURL.substring(7); var lBound; if ((typeof baseHTMLDir_FromSiteConfig != 'undefined') && (baseHTMLDir_FromSiteConfig != "")) { lBound = serverURL.indexOf(baseHTMLDir_FromSiteConfig+"/"); } else { lBound = serverURL.indexOf("/content/"); } var pathName = serverURL.substring(lBound); return pathName; } /* ------------------------------------------ Function name - sb_setNavState Description - Obsolete ------------------------------------------ */ function sb_setNavState() { } /*------------------------------------------ Function name - sb_getCurrentPage Description - used to return the current page ------------------------------------------*/ function sb_getCurrentPage() { if (! SB_BROWSER.dom) return; var serverURL = new String(document.location); //var serverURL = new String("http://merck-dev/dir1/dir2/dir3/alpha_index.html"); //var pathMatches = serverURL.match(/\/[a-zA-Z0-9_.]+/gi); //var pathMatches = serverURL.match(/\/\/.+/gi); //var pathMatches = serverURL.match(/\/\/[a-zA-Z0-9_.]+/gi); var pathMatches = serverURL.match(/\/\/([a-zA-Z0-9\W][^\/]+)\/([a-zA-Z0-9\W][^\/].+)/gi); var currentDir = ""; window.status = "currentDir " + pathMatches + "length " + pathMatches.length; //alert("serverURL " + serverURL + "\n currentDir " + currentDir + "\n pathMatches " + pathMatches + "\n pathMatches.length " + pathMatches.length ); return currentDir; } /*------------------------------------------ Function name - sb_getCurrentDir Description - used to return the current directory ------------------------------------------*/ function sb_getCurrentDir() { if (! SB_BROWSER.dom) return; var serverURL = new String(document.location); //var serverURL = new String("http://merck-dev/dir1/dir2/dir3/alpha_index.html"); var pathMatches = serverURL.match(/\/[a-zA-Z0-9_]+/gi); var currentDir = ""; if (pathMatches.length > 3) { var offset = (pathMatches.length -2); currentDir = new String(pathMatches[offset]); currentDir = currentDir.substr(1,currentDir.length); } else { currentDir = "home"; } //alert("serverURL " + serverURL + "\n currentDir " + currentDir + "\n pathMatches " + pathMatches + "\n pathMatches.length " + pathMatches.length ); return currentDir; } /* ------------------------------------------ Function name - sb_getSelectedNode Description - used to return the currently selected node from the URL ------------------------------------------ */ function sb_getSelectedNode() { if (! SB_BROWSER.dom) return; var serverURL = new String(document.location); var selectedNode = new String(serverURL.match(/\?SN=\w+/gi)); if ((selectedNode) && (selectedNode != "")) { selectedNode = selectedNode.substr(4,selectedNode.length); } return selectedNode; } /* ------------------------------------------ Function name - sb_sitemapObj Description - used to create a collection of nav items ------------------------------------------ */ function sb_sitemapObj(){ this.n = new Array(); this.nodeCounter = 0; return this; } /* ------------------------------------------ Function name - sb_siteAreaObj Description - used to create a collection of nav items ------------------------------------------ */ function sb_siteAreaObj(sectionName) { this.sectionName = sectionName; this.nodeCollection = new Array(); this.nodeCounter = 0; return this; } /* ------------------------------------------ Function name - sb_n (navObj) Description - used to create nav item objects and set its properties This helps keep the include size down. ------------------------------------------ */ function sb_n(itemLabel, itemUrl, itemLevel) { this.itemLabel = itemLabel; this.itemUrl = itemUrl; this.itemLevel = itemLevel; return this; } /* ------------------------------------------ Function name - sb_writeLeftNav Description - Writes out the HTML for the left nav for the section. ------------------------------------------ */ function sb_writeLeftNav(sitemap, navIndex) { var nodeRef = new sb_nodeObject(); var sectionCount = 0; var level1Count = 0; var level2Count = 0; var level3Count = 0; var navHtml = ""; if (navIndex == -1) { navHtml += "\n" + '
'; } else { navHtml += "\n" + '
'; navHtml += "\n" + ''; sectionLength = sitemap.n[navIndex].nodeCollection.length; for (i=0; i < sectionLength; i++) { currItem = sitemap.n[navIndex].nodeCollection[i]; if (currItem.itemLevel == 0) { navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; sectionCount++; level1Count = 0; } else if (currItem.itemLevel == -1) { if (level1Count > 0) { // Space above subsection navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; } navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; } else if (currItem.itemLevel == 1) { nodeRef.sb_add(new sb_sectionObject(currItem.itemUrl,"home_"+level1Count)); navHtml += "\n" + ''; navHtml += "\n" + ''; if (((i+1) >= sectionLength) || (sitemap.n[navIndex].nodeCollection[i+1].itemLevel < 2)) { navHtml += "\n" + ''; } else { navHtml += "\n" + ''; } navHtml += "\n" + ''; // If this is not the last item... if ((i+1) < sectionLength) { // If there are no flyouts, create dummy row and draw bottom rule if (sitemap.n[navIndex].nodeCollection[i+1].itemLevel < 2) { navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; level1Count++; // Start flyout } else { navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; level1Count++; } level2Count++; } else if (currItem.itemLevel == 3) { nodeRef.sb_add(new sb_sectionObject(currItem.itemUrl,"home_"+level1Count+"_0_"+level2Count+"_"+level3Count)); navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; // If this is the last Item in the flyout, close the flyout if (((i+1) >= sectionLength) || (sitemap.n[navIndex].nodeCollection[i+1].itemLevel < 2)) { navHtml += "\n" + ''; navHtml += "\n" + '
'; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; level1Count++; } level3Count++; } } // end for navHtml += "\n" + ''; if (level1Count > 0) { navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + ''; navHtml += "\n" + '
'; } navHtml += "\n" + ''; } //alert(navHtml); document.write(navHtml); document.close(); return nodeRef; } /* ------------------------------------------ Function name - sb_genLeftNav Description - Writes out the correct left nav for the section. Takes an array of left navs as an arguement. ------------------------------------------ */ function sb_genLeftNav(sNav) { var sectionName = ""; var foundNav = false; var foundNum = -1; var sitemap = getSitemap(); var sitemapLength = sitemap.n.length; for (i=0; i < 7 && !foundNav; i++) { sectionName = sb_getSectionName2(i); if (sectionName != "") { for (j=0; j < sitemapLength && !foundNav; j++) { if (sectionName == sitemap.n[j].sectionName) { foundNav = true; foundNum = j; } } } } var pageMappings = sb_writeLeftNav (sitemap, foundNum); var currentPage = new String(document.location); var linkPath = sb_getHighlightName(); var linkPath = "/licensing/"; var linkNode; if (SB_BROWSER.dom) { linkNode = document.getElementById(linkPath); //alert(linkNode); } else { linkNode = eval(document.layers[linkPath]); if (! linkNode) linkNode = document.layers[SB_CURRENT_NAV.navName].layers[linkPath]; } if (linkNode) { if (linkNode.name == "childNode") { if (SB_BROWSER.dom) { linkNode = document.getElementById(linkNode.parent); } else { linkNode = eval(document.layers[linkNode.parent]); if (! linkNode) linkNode = document.layers[SB_CURRENT_NAV.navName].layers[linkNode.parent]; } } sb_navRollOver(linkNode); // Show child node if it exists sb_navShow2(linkNode.id+"_childNode"); } // Search through the pageMappings for the current page // Expand and highlight the correct Div if the current page is found for (c=0;c