﻿
function findFirstPrevByTagName(elm, tagName) {
	for(var prev = elm.previousSibling; prev; prev = prev.previousSibling) {
		if(prev.tagName == tagName)
			return prev;
	}
	return null;
}

function findAusMenu() {
	var divs = document.getElementsByTagName('DIV');
	for(var i = 0; i < divs.length; i++) {
		var div = divs[i];
		if(div.className.indexOf('ausmenu') == 0)
			return div;
	}
}

function breadcrumbsFromMenu(base, a) {
	var ul = findFirstParentByTagName(a, "UL");
	if(!ul)
		return [];

	var p = findFirstPrevByTagName(ul, "P");
	if(!p) {
		// link to Home
		var li = findFirstChildByTagName(ul, "LI");
		if(!li)
			return [];

		var p = findFirstChildByTagName(li, "P");
		if(!p)
			return [];

		var a = findFirstChildByTagName(p, "A");
		if(!a)
			return [];

		// no link if we're already Home
		if(a.href == base)
			return [];

		var html = "<a href='" + a.href + "'>" + a.innerHTML + "</a>";
		return [html];
	}

	var a = findFirstChildByTagName(p, "A");
	if(!a)
		return [];

	var html = "<a href='" + a.href + "'>" + a.innerHTML + "</a>";

	var bc = breadcrumbsFromMenu(base, a);
	bc.push(html);
	return bc;
}

function breadcrumbs() {
	var div = findAusMenu();
	if(!div)
		return;

	var base = window.location.toString();

	if(base.lastIndexOf("/") == base.length - 1)
		base = base + "index.html";

	var as = div.getElementsByTagName('A');
	for(var i = 0; i < as.length; i++) {
		if(as[i].href != base)
			continue;

		var bc = breadcrumbsFromMenu(base, as[i]);
		var html = "<p>" + bc.join(" &gt ") + "</p>\n";
		document.write(html);
		return;
	}

	// this page isn't in the main menu
	document.write("<a href='#' onClick='history.back()'>Home</a>");
}
