/*------------------------------------------------------------------------------------------ / JAVASCRIPT BREADCRUMBS / VERSION 1.0 / FILENAME: brdcrmb.asp / AUTHORED BY: Rob Notrica and Jeff Fox / LAST MODIFIED: 9/21/04 / DESCRIPTION: This script reads the users document.location.href value, parses it and / contructs a breadcrumb to a DHTML layer. The calling / page the pages Title and the name of the layer to write to. / / TO DO: Handle intsances where directories cannot be resolved. / / CHANGE LOG: /------------------------------------------------------------------------------------------*/ var isN4 = document.layers ? true : false; var isMSIE = document.all ? true : false; var isN6 = (document.getElementById && !document.all) ? true : false; function breadcrumbs(pgTitle,lyr) { var bcmDelimiter = ' > '; // BREADCRUMB ITEM DELIMITER // CAPTURE THE PAGE LOCATION URL, PARSE IT INTO AN ARRAY var location = window.location.href; var level = new Array(); level = location.substring(location.indexOf(root) + root.length - 1).split("/"); // CAPTURE THE CURRENT PAGE NAME var thisPage = location.substring(location.lastIndexOf("/") + 1); // STRIP OUT ANY QUERY STRING VARS FROM THE PAGE NAME IF THEY ARE ATTACHED if (thisPage.indexOf("?") != -1) thisPage = location.substring(0,location.indexOf("?") - 1); // FONT TAGS ASSURE BREADCRUMB WILL LOOK AS IT SHOULD IN NETSCAPE var fntOpen = ''; var fntClose = ''; //var sPath = '/' + root; ### ACTIVATE AFTER MIGRATION if (isN4) { fntOpen = ''; fntClose = ''; } // BEGIN OUTPUT CONTRUCTION // ATTACH THE OPEN FONT TAG, PATH, AND ROOT LABEL WITH LINK var outMsg = fntOpen + '' + fntOpen + rootDir + fntClose + ''; if (level) { outMsg += bcmDelimiter; var i; for (i = 0; i < level.length; i++) { // CONTINUE ONLY IF NOT A BLANK SLOT IN THE ARRAY WHICH IS POSSIBLE if (level[i]) { // DON'T CONTINUE IF A FILE NAME IS FOUND if (level[i].indexOf(".") == -1) { // APPEND THE CURRENT DIRECTORY TO THE BREADCUMB TRAIL //root += level[i] + "/"; // START A LINK IF THIS IS NOT A SECTION LANDING PAGE if (thisPage != pgList[level[i]]) outMsg += fntOpen; // WRITE THE CURRENT DIRECTORY LABEL outMsg += descList[level[i]]; // CLOSE THE LINK IF THIS IS NOT A SECTION LANDING PAGE if (thisPage != pgList[level[i]]) outMsg += fntClose + bcmDelimiter; } } } // IF THIS IS NOT THE SECTION LANDING PAGE, DISPAY IT'S TITLE if (pgTitle && thisPage != pgList[level[i - 2]]) outMsg += pgTitle.substring(pgTitle.lastIndexOf(" - ") + 1, pgTitle.length); // COMPLETE THE OUT STRING BY CLOSING THE ORIGINAL FONT TAG outMsg += fntClose; // BEGIN BREADCRUMB UPDATE if (isN4) { var thisLayer = eval("document."+lyr); thisLayer.document.write(outMsg); thisLayer.document.close(); } else if (isMSIE) { var thisLayer = eval("document.all." + lyr + "_div"); thisLayer.innerHTML = outMsg; } else if (isN6) { var thisLayer = document.getElementById(lyr + "_div"); thisLayer.innerHTML = outMsg; } } }