/*
 * Dynamic Menu
 * Written by Andy Peatling - http://www.cssdev.com/
 * April 1, 2006.
 */
var keepNodeOpen = false;
function doCollapseMenu(){
	if(document.getElementById("currentPage")){
		getTopNode();
	}
	for(i = 0; i < expandMenu; i++){
		doCollapse = true;
		if(doCollapse){
			nodeName = "navmenu-"+i;
			linkName = "navLink-"+i;
			if(document.getElementById(linkName)){
				document.getElementById(linkName).className="header pointRight";
				collapseMenu(document.getElementById(nodeName));
			}
		}
	}
}

function collapseMenu(node) {
	if (!document.getElementById) return false;
	if (node.childNodes.length > 0) {
		for (var i=0; i<node.childNodes.length; i++) {
			var child = node.childNodes[i];
			if (child.nodeName == "UL") {
					child.style.display = "none";
			}
			collapseMenu(child);
		}		
	}

}

function prepareMenu() {
	for(i = 0; i < expandMenu; i++){
		if (!document.getElementById || !document.getElementsByTagName) return false;
		if (!document.getElementById("navmenu-"+i)) return false;

		var links = document.getElementById("navmenu-"+i).getElementsByTagName("a");
		for (var j=0; j<links.length; j++) {		
			links[j].onclick = function() {
				toggleMenu(this.parentNode.getElementsByTagName("UL")[0], this.href, this);
				return false;
			}
		}
	}
}

function toggleMenu(node, link, linkElement) {

	if (!document.getElementById) return false;
	if (!link) return false;

	if (!node) {
		location.href = link;
		return true;
	}

	// Collapse all nodes, and only show clicked node (when clicking top level of menu)
	if (node && node.parentNode.id.substring(0,7) == "navmenu") {
		hideTopLevels();
	}
	
	if (node && node.style.display == "") {
		Effect.BlindUp(node, {duration: 0.2});
		if(linkElement.className == "header pointDown"){
			linkElement.className = "header pointRight";
		}
	} else if(node) {
		if(linkElement.className == "header pointRight"){
			linkElement.className = "header pointDown";
		}
		Effect.BlindDown(node, {duration: 0.2});
	}
}

function hideTopLevels() {
	if (!document.getElementById) return false;
	for(i = 0; i < expandMenu; i++){
		if (!(node = document.getElementById("navmenu-"+i))) return false;	
	}
	
	if (node.childNodes.length > 1) {
		for (var i=0; i<node.childNodes.length; i++) {
			var child = node.childNodes[i];
			for(var j=0; j<child.childNodes.length; j++) {
				var grandchild = child.childNodes[j];
				if (grandchild.nodeName == "UL") {
					if (grandchild.style.display == '') {
						Effect.BlindUp(grandchild, {duration: 0.2});
					}
				}
			}
		}		
	}
}

function getTopNode(){
	currentSpot = document.getElementById("currentPage");
	while(currentSpot && currentSpot.parentNode){
		if(currentSpot.id.substring(0,7) == "navmenu"){
			keepNodeOpen = currentSpot.id;
		}
		currentSpot = currentSpot.parentNode;
	}
}

function autoExpand(){
	if(document.getElementById("currentPage")){
		currentSpot = document.getElementById("currentPage");
		while(currentSpot && (currentSpot.nodeName != "UL") && (currentSpot.parentNode)){
			currentSpot = currentSpot.parentNode;
		}
		while(currentSpot && currentSpot.parentNode.style.display != "block"){
			Effect.BlindDown(currentSpot, {duration: 0});
			currentSpot = currentSpot.parentNode;
			while(currentSpot && currentSpot.nodeName != "UL"){
				currentSpot = currentSpot.parentNode;
			}
		}
	} else {
		if(document.getElementById("navLink-0")){
			toggleMenu(document.getElementById("navLink-0").parentNode.getElementsByTagName("UL")[0],"#",document.getElementById("navLink-0").className);
			document.getElementById("navLink-0").className = "header pointDown";
			totalParts = document.getElementById("navLink-0").parentNode.childNodes[2].childNodes.length;
			if(totalParts > 0 && totalParts < 3){
				for(i = 0; i < totalParts; i++){
					currentSpot = document.getElementById("navLink-0").parentNode.childNodes[2].childNodes[i].childNodes[1];
					Effect.BlindDown(currentSpot, {duration: 0});
				}
			}
		}
	}
}
