/*
This code is based on a code example from the article "Javascript navigation - cleaner, not meaner" by Christian Heilmann
URL: http://www.evolt.org/article/Javascript_navigation_cleaner_not_meaner/17/60273/index.html
*/

// If there is enough W3C DOM support for all our show/hide behavior:
// 1. Call the stylesheet that by default hides all toggleable sections 
// 2. Apply the show/hide behavior by calling the initialization function
if (document.getElementById && document.getElementsByTagName && document.createTextNode) {
	document.write('<style type="text/css">#toggle ul.subnav {display: none;}');
	document.write('#toggle ul.current {display: block;}</style>');
	window.onload = initShowHide;
}

function initShowHide() {
	// Hide all toggleable sections with JavaScript for the highly improbable case that CSS is disabled
	// Note that in this case the 'flash of visible content' still will occur
	// For testing purposes you can add the following code to disable CSS: document.getElementsByTagName('link')[0].disabled = true;			
	hide();
	var toggle = document.getElementById('toggle');
	var as = toggle.getElementsByTagName('a');
	for (var i = 0; i < as.length; i++) {
		as[i].onclick = function() {
			show(this);
			return false;
		}
	}
}

function show(s) {
	var id = s.href.match(/#(\w.+)/)[1];
	var showlist = document.getElementById(id);

	if (showlist.className == 'subnav') {
		showlist.className = 'subnav current';
		document.getElementById(id).style.display = 'block';
		hide();
	}
	else if (showlist.className == 'subnav current') {
		showlist.className = 'subnav';
		hide();
	}
}

function hide() {
	var toggleable = document.getElementById('toggle').getElementsByTagName('ul');
	for (var i = 0; i < toggleable.length; i++) {
		if (toggleable[i].className != 'subnav current') {
			toggleable[i].style.display = 'none';
		}
	}
}

