/*------------------------------------------------------------------------------------------
/ 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;
}
}
}