var strHomePage = "Home";		// Text for Home Page link.
var crumbSep = " &raquo; ";		// Character used to seperate breadcrumbs.
var linkHome = "/";				// The base URL for breadcrumb links.
var uToSpace = true;			// Changes all underscores to spaces for folder names.
var dToSpace = false;			// Change all dashes or underscores to spaces for folder names
var changeCaps = 1;				// 0 = no change, 1 = Initial Caps, 2 = All Upper, 3 = All Lower
var hideExt = true;				// Hide the file extenion in the breadcrumb when using the filename.

//Build as needed. Use for both folder names or filenames
var objurl = new Object;
objurl['404'] = "Ooops"
objurl['alessonlearned'] = "A Lesson Learned"
objurl['asktheexperts'] = "Ask The Experts"
objurl['assistantppnc'] = "Assistant PPNC"
objurl['championstour'] = "Champions Tour"
objurl['courses'] = "Find Courses"
objurl['contests'] = "Contests &amp; Promotions"
objurl['etiquette'] = "Golf Etiquette"
objurl['europeantour'] = "European Tour"
objurl['golfontv'] = "Golf On TV"
objurl['golftips'] = "Golf Tips"
objurl['grantmethis'] = "Grant Me This"
objurl['gsogsweeps'] = "Sweepstakes"
objurl['holeinone'] = "Hole-In-One"
objurl['industry'] = "Industry News"
objurl['industrynews'] = "Industry News"
objurl['instructors'] = "Find a PGA Instructor"
objurl['juniorchampionship'] = "Jr. Championship"
objurl['juniorrydercup'] = 'Jr. Ryder Cup'
objurl['localknowledge'] = "Local Knowledge"
objurl['lpga'] = "LPGA"
objurl['lpgatour'] = "LPGA Tour"
objurl['nationwidetour'] = "Nationwide Tour"
objurl['ncaa'] = "NCAA"
objurl['pga'] = "PGA"
objurl['pgainstructor'] = "PGA Instructor"
objurl['pgaofamerica'] = "PGA of America";
objurl['pgaprofessionals'] = "Professionals Search"
objurl['pgatour'] = "PGA Tour"
objurl['rickmartino'] = "Rick Martino"
objurl['rss'] = "RSS Feeds"
objurl['sections'] = "PGA Sections"
objurl['seniorppnc'] = "Senior PPNC"
objurl['specialevents'] = "Special Events"
objurl['thankyou'] = "Thank You"
objurl['tournews'] = "Tour News"


function dynamicBreadcrumbs()
{
	var linkHTML = "";
	var thisURL = window.location.pathname + "";
	var urlArr = thisURL.split("//");
	if (urlArr.length > 1) thisURL = urlArr[1];
	var dirArr = thisURL.split("/");
	var linkArr = dirArr.slice(1);
	var linkDir = "/";
	var currentPage = "";

	/** Article bypass for Travel Insert **/
	/** Short Cut to get Travel to show **/
	//var articleURLRegEx = /\d{4}\/(.+?)\/(\D+?)?\/?\d{2}/;
	var articleURLRegEx = /\d{4}\/(.+?)\/(\D+?)?\/?\d{2}/;
	var goodMatch_A = window.location.href.match(articleURLRegEx);
	if (goodMatch_A) {
		var html_ = '<div><a href="/">Home</a> ' + crumbSep;
		var writeCount = 0;
		//for (var ii = 1; ii < goodMatch_A.length; ii++) {
			if (goodMatch_A[1]) {
				// if (writeCount > 0) { html_ += crumbSep; }
				var firstLetterCap = goodMatch_A[1].charAt(0).toUpperCase();
				html_ += ' <a href=\"/' + goodMatch_A[1] + '\">' + goodMatch_A[1].replace(/^./, firstLetterCap) + '</a>';
				// writeCount++;
			}
		//}
		html_ += '</div>'

		return html_;
	}

	if (linkHome != "" && linkHome != "/")
	{
		var thisTest = linkHome.split("//");
		if (thisTest.length > 1) linkHome = thisTest[1];
		var startArr = linkHome.split("/");
		var intCount = 0;
		for (var n = 0; n < startArr.length; n++)
		{
			if (startArr[n] == "..") intCount++;
				else break;
		}
		if (intCount > 0)
		{
			var part1 = dirArr.slice(0, (dirArr.length - intCount - 1));
			var part2 = startArr.slice(intCount);
			startArr = part1.concat(part2);
		} else {
			var newStart = new Array(dirArr[0]);
			for (var n = 1; n < startArr.length; n++)
			{
				var thisTest = (typeof dirArr[n] != "undefined") ? dirArr[n] : false;
				if (thisTest && thisTest == startArr[n]) newStart[n] = startArr[n];
					else break;
			}
			startArr = newStart;
		}
		if (startArr.length > 1)
		{
			var lastOne = startArr[startArr.length - 1];
			if (lastOne != "")
			{
				var thisTest = lastOne.split(".");
				if (thisTest.length > 1) startArr[startArr.length - 1] = '';
					else startArr[startArr.length] = "";
			}
			if (strHomePage == "") strHomePage = startArr[startArr.length - 2];
			linkArr = dirArr.slice(startArr.length - 1);
			if (startArr[0] != "") startArr[0] = "http://" + startArr[0];
			linkDir = startArr.join("/");
		} else linkArr = dirArr.slice(1);
	} else {
		linkArr = dirArr.slice(1);
		if (strHomePage == "") strHomePage = dirArr[0];
	}
	if (linkArr[1] == "leaders") linkArr.splice(1,1);
	if (linkArr[1] == "events") linkArr.splice(3,1);
	if (linkArr[2] == "gsogsweeps") linkArr.splice(3,1);
	if (linkArr[0] == "searchtools")
	{
		linkArr.splice(0,1);
	} else if (linkArr[0] == "2007" || linkArr[0] == "2008" || linkArr[0] == "2009"){
		var strDtFolder = linkArr.splice(0,1);
		for (var d = 0; d < linkArr.length; d++)
		{
			if (linkArr[d] < "13") linkArr.splice(d+1,3);
		}
		if (linkArr[1] == "features") linkArr.splice(1,1);
		if (linkArr[0] == "instruction") linkArr.splice(1,1);
	}
	var backTrack = 1;
	if (linkArr[linkArr.length - 1] != "")
	{
		var lastOne = linkArr[linkArr.length - 1];
		var testName = lastOne.split(".");
		if (testName[0] == "index" || testName[0] == "default")
		{
			backTrack = 2;
			currentPage = linkArr[linkArr.length - 2];
		} else if (hideExt) currentPage = testName[0];
			else currentPage = lastOne;
			if (objurl[currentPage]) currentPage = objurl[currentPage];
	} else {
		backTrack = 2;
		currentPage = linkArr[linkArr.length - 2];
		if (objurl[currentPage]) currentPage = objurl[currentPage];
	}

	var html = "";
	if (linkArr.length >= backTrack)
	{
		linkArr = linkArr.slice(0, linkArr.length - backTrack);
		var links = new Array();
		if (strHomePage != "")
		{
			strHomePage = strParseText(strHomePage, uToSpace, dToSpace, changeCaps);
			links[links.length] = '<a href="'+linkDir+'">'+strHomePage+'</a>';
		}
		var baseDir = linkDir;
		for (var n = 0; n < linkArr.length; n++)
		{
			baseDir += linkArr[n] + "/";
			var thisText = strParseText(linkArr[n], uToSpace, dToSpace, changeCaps);
			if (objurl[linkArr[n]]) thisText = objurl[linkArr[n]];
			links[links.length] = '<a href="'+baseDir+'">'+thisText+'</a>';
		}
		if (currentPage != "") links[links.length] = strParseText(currentPage, uToSpace, dToSpace, changeCaps);
		if (strDtFolder == "2007" || strDtFolder == "2008" || strDtFolder == "2009") {
			for (var p = 0; p < links.length; p++)
			{
				if (links[p] < "13") links.splice(p,1);
			}
			html = "<div>" + links.join(crumbSep) + crumbSep + " Article" + "<\/div>";
		} else {
			html = "<div>" + links.join(crumbSep) + "<\/div>";
		}
	}
	return html;
}
// parse string through text filters
function strParseText(thisText, uToSpace, dToSpace, changeCaps)
{
	if (typeof thisText != "undefined" && thisText) {
		if (dToSpace) thisText = strReplaceChar("-", " ", thisText);
		if (uToSpace) thisText = strReplaceChar("_", " ", thisText);
		if (changeCaps) thisText = strFixCaps(thisText, changeCaps);
		} else thisText = "";
	return thisText;
}
// find and replace single character in string...
function strReplaceChar(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 strFixCaps(thisString, changeCaps)
{
	if (changeCaps == 1) thisString = strWords(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 strWords(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(dynamicBreadcrumbs());

