var old_load = window.onload;

window.onload = function() {
	if (old_load) old_load();
	initsubs();
}

function has_current(ul)
{
	var lis = ul.getElementsByTagName('li')
	for (var idx = 0; idx < lis.length; ++idx)
	{
		if (lis[idx].className == "current")
			return true;
	}
	return false;
}


// Finds all submenu's and hides them, gives the anchors onclicks etc.
function initsubs() {
	var leftmenu_ul = document.getElementById('leftmenu_ul');
	var leftlis = leftmenu_ul.getElementsByTagName('li');
	for (var idx = 0; idx < leftlis.length; ++idx) {
		var li = leftlis[idx];
		if (li.parentNode != leftmenu_ul)
			continue;
		var uls = li.getElementsByTagName('ul')
		if (uls.length) {
			li.submenu = uls[0];
			// firstChild is NOT always an anchor (can be a template generated empty line)
			var anchor = li.getElementsByTagName('a')[0];
			anchor.showsubs = li_a_showsubs;
			anchor.hidesubs = li_a_hidesubs;
			if (!has_current(uls[0]))
				anchor.hidesubs()
			else
				// menu holding current page is open on refresh
				current_open = anchor;
		}
	}
}

var current_open = null;

function li_a_hidesubs() {
	this.parentNode.submenu.style.display = 'none';
	this.onclick = this.showsubs;
	return false;
}

function li_a_showsubs() {
	// Close any other open submenus
	if (current_open)
		current_open.hidesubs();
	current_open = this;

	this.parentNode.submenu.style.display = '';
	this.onclick = this.hidesubs;
	return false;
}
