// Breadcrumb Links Script, by Nate Baldwin (www.mindpalette.com)

var homePage = "IANN";			// text name for home page link
var sepChars = " &gt; ";		// character(s) to separate links
var linkHome = "/";				// base URL for links
var hideIndex = true;			// hide the index page name at end of links
var UToSpace = true;			// change all underscores to spaces in folder names
var DToSpace = true;			// change all dashes to spaces in folder names
var changeCaps = 1;				// 0 = no change, 1 = Initial Caps, 2 = All Upper, 3 = All Lower
var hideExt = true;				// hide extenion in file name



//-------------------------------------------------------------------------
// SCRIPT FUNCTIONS  (shouldn't need to edit code below)...
//-------------------------------------------------------------------------

// build breadcrumb links...
function MPJSBackLinks() {


var objurl = new Object;
objurl['member'] = 'Membership';
objurl['collectorsitem'] = 'Collectors Item';
objurl['codered'] = 'Code Red';
objurl['lis'] = 'Lost in Space';
objurl['timetunnel'] = 'Time Tunnel';
objurl['giants'] = 'Land of the Giants';
objurl['swissfamily'] = 'Swiss Family Robinson';
objurl['irwinallenshow'] = 'Irwin Allen Show';
objurl['fantasyworlds'] = 'Fantasy Worlds of Irwin Allen';
objurl['irwinallen'] = 'Irwin Allen';
objurl['watchonline'] = 'Watch Online';
objurl['behindscenes'] = 'Behind the Scenes';
objurl['flyingsub'] = 'Flying Sub';
objurl['jupiter2'] = 'Jupiter 2';
objurl['season1'] = 'Season 1';
objurl['season2'] = 'Season 2';
objurl['info'] = 'Information';
objurl['faq'] = 'FAQ';
objurl['dvd'] = 'DVD';
objurl['vhs'] = 'VHS';

var linkHTML = '';
var thisURL = window.location + '';
var urlPair = thisURL.split('//');
if (urlPair.length > 1) thisURL = urlPair[1];
var dirArray = thisURL.split('/');
var linkArray = dirArray.slice(1);
var linkDir = '/';
var currentPage = '';
var currentpagetitle = document.title; // this contains what to show as the current page in the crumb. Set to "" to show nothing

if (linkHome != '' && linkHome != '/') {
// Home not base directory for domain, so substitute which ever directory is considered Home, and determine start of path
	var thisTest = linkHome.split('//');
	if (thisTest.length > 1) linkHome = thisTest[1];
	startArray = linkHome.split('/');
	var backCount = 0;
	for (var n=0; n<startArray.length; n++) {
		if (startArray[n] == '..') backCount++;
		else break;
	}
	if (backCount > 0) {
		var part1 = dirArray.slice(0, (dirArray.length - backCount - 1));
		var part2 = startArray.slice(backCount);
		startArray = part1.concat(part2);
	} else {
		var newStart = new Array(dirArray[0]);
		for (var n=1; n<startArray.length; n++) {
			var thisTest = (typeof dirArray[n] != "undefined") ? dirArray[n] : false;
			if (thisTest && thisTest == startArray[n]) newStart[n] = startArray[n];
			else break;
		}
		startArray = newStart;
	}
	if (startArray.length > 1) {
		var lastOne = startArray[startArray.length - 1];
		if (lastOne != '') {
			var thisTest = lastOne.split('.');
			if (thisTest.length > 1) startArray[startArray.length - 1] = '';
			else startArray[startArray.length] = '';
		}
		if (homePage == '') homePage = startArray[startArray.length-2];
		linkArray = dirArray.slice(startArray.length - 1);
		if (startArray[0] != '') startArray[0] = "http://"+startArray[0];
		linkDir = startArray.join('/');
	} else linkArray = dirArray.slice(1);
} else {
	linkArray = dirArray.slice(1);
	if (homePage == '') homePage = dirArray[0];
}


var backTrack = 1;

// If there is more than one level in link path, find name of current page (or directory with index file)
if (linkArray[linkArray.length - 1] != '') {

	var lastOne = linkArray[linkArray.length - 1];
	// Root part of last name in path
	var testName = lastOne.split('.');
	if (testName[0] == 'index' || testName[0] == 'default') {
		backTrack = 2;
		currentPage = linkArray[linkArray.length - 2];
	} else if (hideExt) currentPage = testName[0]
			else currentPage = lastOne;
	} else {
	backTrack = 2;
	currentPage = linkArray[linkArray.length - 2];
}
	
	
var html = '';
if (linkArray.length >= backTrack) {
	linkArray = linkArray.slice(0, linkArray.length - backTrack);
	var links = new Array();
	if (homePage != '') {
		homePage = MPBCParseText(homePage, UToSpace, DToSpace, changeCaps);
		links[links.length] = '<a href="'+linkDir+'">'+homePage+'</a>';
		}
	var baseDir = linkDir;
	for (var n=0; n<linkArray.length; n++) {
		baseDir += linkArray[n] + '/';

		if (objurl[linkArray[n]])	{
			thisText = objurl[linkArray[n]];
  		} else {
			var thisText = MPBCParseText(linkArray[n], UToSpace, DToSpace, changeCaps);
		}
		links[links.length] = '<a href="'+baseDir+'">'+thisText+'</a>';
		}
	if (currentPage != '') {
//		if (objurl[currentPage])	{
//			links[links.length] = objurl[currentPage];
//  		} else {
//			links[links.length] = MPBCParseText(currentPage, UToSpace, DToSpace, changeCaps);
//		}
// Show document title rather than page name
		links[links.length]=currentpagetitle;
	}
	html = '<div class="mp_backlinks">'+links.join(sepChars)+'<\/div>';
} else {
// If in Home directory, return home page name
	html = '<div class="mp_backlinks">'+homePage+'<\/div>';
}
return html;
}
// parse string through text filters
function MPBCParseText(thisText, UToSpace, DToSpace, changeCaps) {
if (typeof thisText != "undefined" && thisText) {
	if (DToSpace) thisText = MPBCReplaceChar('-', ' ', thisText);
	if (UToSpace) thisText = MPBCReplaceChar('_', ' ', thisText);
	if (changeCaps) thisText = MPBCFixCaps(thisText, changeCaps);
	} else thisText = '';
return thisText;
}
// find and replace single character in string...
function MPBCReplaceChar(oldChar, newChar, thisString) {
var newString = '';
for (var n=0; n<thisString.length; n++) {
	newString += (thisString.charAt(n) == oldChar) ? newChar : thisString.charAt(n);
	}
return newString;
}
// determine changes in capitalization...
function MPBCFixCaps(thisString, changeCaps) {
if (changeCaps == 1) thisString = MPBCUCWords(thisString);
	else if (changeCaps == 2) thisString = thisString.toUpperCase();
	else if (changeCaps == 3) thisString = thisString.toLowerCase();
return thisString;
}
// capitalize the first letter of every word...
function MPBCUCWords(thisString) {
var thisArray = thisString.split(' ');
var newString = '';
for (var n=0; n<thisArray.length; n++) {
	var firstChar = thisArray[n].charAt(0).toUpperCase();
	var theRest = thisArray[n].substring(1, thisArray[n].length);
	newString += firstChar+theRest+' ';
	}
return newString.substring(0, newString.length - 1);
}
document.write(MPJSBackLinks());
