
swfobject.addDomLoadEvent(DOMLoaded);

function DOMLoaded () {
	/* first loop find any nodes that are empty, and assign a special function to them
		*/
	var navigation = document.getElementById("navigation");
	var NoHrefs = getElementsByClassName("NoHref", "li", navigation);
	for (var i=0; i<NoHrefs.length; ++i) {
		var NoHref = NoHrefs[i];
		var anchor = NoHref.firstChild;
		var firstChildAnchor = NoHref.getElementsByTagName("a")[1];
		anchor.href = firstChildAnchor.href;
	}
	/* find the active node, and then if it's a subnode, make the parent active instead
		*/
	var Active = getElementsByClassName("Active", "li", navigation)[0];
	var parent = Active.parentNode.parentNode;
	var isSubActive = parent!=navigation;
	if (isSubActive) {
		parent.className = "Node Active";
	}
}

function getElementsByClassName(className, tag, elm){
	var testClass = new RegExp("(^|\\s)" + className + "(\\s|$)");
	var tag = tag || "*";
	var elm = elm || document;
	var elements = (tag == "*" && elm.all)? elm.all : elm.getElementsByTagName(tag);
	var returnElements = [];
	var current;
	var length = elements.length;
	for(var i=0; i<length; i++){
		current = elements[i];
		if(testClass.test(current.className)){
			returnElements.push(current);
		}
	}
	return returnElements;
}
