var menutext = "";
var mainmenudiv;
var overrideHref = "";
var overrideItem = -1;

function drawMenu() {

	buildMenu();
	mainmenudiv = document.getElementById("mainmenu");
	mainmenudiv.innerHTML = menutext;
	openCurrentPageDiv();
	mainmenudiv.style.display = "";	
}

function openCurrentPageDiv() {
	var currenthref = (window.location.href.replace(window.location.hash, "")).replace(window.location.search, "");
	if (currenthref.substring(currenthref.length - 1) == "/")
		currenthref += "index.htm";
	openDivByFilename(currenthref);
	if (overrideItem != -1) {
		menuItemDiv = document.getElementById("chitem" + overrideItem);
		// make sure all menus are open above it.
		parentdiv = menuItemDiv.parentNode;
		while (parentdiv != mainmenudiv) {
			showdivsindiv(parentdiv, true);
			parentdiv = parentdiv.parentNode;
		}
		menuItemDiv.getElementsByTagName("A")[0].className = "menuitemselected";
	}
}

function overrideNext(url) {
	// opens the next menu item if the current url is url
	var currenthref = (window.location.href.replace(window.location.hash, "")).replace(window.location.search, "");
	if (currenthref.substring(currenthref.length - 1) == "/")
		currenthref += "index.htm";
		
	if (currenthref.indexOf(url) >= 0) {
		overrideHref = url;
	}
}

function openDivByFilename(href) {
	// opens a menu div with the specified href set to filename
	var atags = document.getElementById("mainmenu").getElementsByTagName("A");
	var i;
	for (i=0; i < atags.length; i++) {
		if (atags[i].href == href) {
		// need to open all divs from parent
			atags[i].className = "menuitemselected";
			parentdiv = atags[i].parentNode.parentNode;
			while (parentdiv != mainmenudiv) {
				showdivsindiv(parentdiv, true);
				parentdiv = parentdiv.parentNode;
			}
		}
	}	
}

var menus = 0;
var items = 0;

var indentlevel = 0;
var indentpx = 6;

//function debug(x) {
//	document.getElementById("debugBox").innerHTML += ":: " + x + "<br />";
//}

function output(sometext) {
	menutext += sometext + "\n";
}

function m(title, url, target) {
	if (title) {

		strindent = "padding-left: " + ((indentlevel > 0) ? indentpx : "0") + "px;";
		strdisplay = (indentlevel > 0) ? "display: none;" : "";
		strsub = (indentlevel > 0) ? "sub" : "";

		output('<div class="menublock" style="' + strindent + strdisplay +
			   '" id="chmenu' + menus + '">');
		if (url) {
			href = url;
		} else {
			href = "javascript:void(0);";
		}
		txt = '<a href="' + href + '" onmouseover="window.status=\'' + title + '\'; return true;" ' +
			   'onmouseout="window.status=\'\'; return true;" class="' + strsub + 'menuheader" ';


		if (url) {
			if (target) {
				txt += " target='" + target + "'";
			}
			txt += '>';
		} else {
			txt += 'onclick="toggleMenu(' + menus + '); window.status=\'' + title + '\'; return false;">';
		}
		output(txt);

		output(title);
//		output('<table border=0><tr><td> ' + title + '</td>');
//		output('<td align=right><img border="0" style="float:right" src="arrow-right.gif"></td></tr></table>');
			  
		output('</a>');
		menus++;
		indentlevel++;
	} else {
		indentlevel--;
		output('</div>');
	}
}

function i(title, href, target) {
	var strtarget = "";
	if (target) {
		strtarget = ' target="' + target + '"';
	}
	strindent = "padding-left: " + ((indentlevel > 0) ? indentpx : "0") + "px;";
	strdisplay = (indentlevel > 0) ? "display: none;" : "";
	
	output('<div style="' + strdisplay + '" id="chitem' + items + '">' + 
		'<a style="' + strindent + '" class="menuitem" onmouseover="window.status=\'' + title + '\'; return true;" onmouseout="window.status=\'\'; return true;" href="' + href + '"' + strtarget + '>');
	output('<img src="../files/navmenu/arrow-right.gif" border="0">');
	output(title + '<br style="clear:both"></a></div>');
	
	if (overrideHref != "") {
		overrideItem = items;
		overrideHref = "";
	}

	items++;
}

function showdivsindiv(o, show) {
//	alert(show);
	// shows or hides all divs within the element "o"
//	alert(o.id);
//	alert(o.tagName);
	var f = o.getElementsByTagName("A")[0];
	if (f.className == "menuheader" + (show ? "" : "selected")) {
		f.className = "menuheader" + (show ? "selected" : "");
	}
	if (f.className == "submenuheader" + (show ? "" : "selected")) {
		f.className = "submenuheader" + (show ? "selected" : "");
	}
	
	o.className = "menublock" + (show ? "selected" : "");
	children = o.childNodes;
	for (var j = 0; j < children.length; j++) {
		if (children[j].tagName == "DIV") {
			children[j].style.display = (show ? "block" : "none");
		}
	}
}

function toggleMenu(id) {
	var menudiv = document.getElementById("chmenu" + id);
	if (menudiv.getElementsByTagName("A")[0].className == "menuheaderselected" || menudiv.getElementsByTagName("A")[0].className == "submenuheaderselected") {
		showdivsindiv(menudiv, false);
	} else {
		showdivsindiv(menudiv, true);
	}
	if (navigator.appName == 'Microsoft Internet Explorer') {
		menudiv.getElementsByTagName("A")[0].blur();
	}
}


