document.write("<style type=\"text/css\">#sidebar ul ul li { display: none; }</style>");

window.onload = function() {
	
	$$(".hint").each(
		function(value, index) {
			var parent = value.parentNode ? value.parentNode : value.parentElement;
			parent.removeChild(value);
		}
	);
	
	function hasTag(element, tagName) {
		if (!element.tagName) return false;
		return element.tagName.toLowerCase() == tagName.toLowerCase();
	}
	
	function getChild(element, tagName) {
		return $A(element.childNodes).find(
			function(value, index) {
				return hasTag(value, tagName);
			}
		);
	}
	
	function addToggle(ulElement) {
		$A(ulElement.childNodes).each(
			function(value, index) {
				var ulChild;
				if (hasTag(value, "li")) {
					value.className = "child";
					if (ulChild = getChild(value, "ul")) {
						value.className = "parent";
						var divElement = document.createElement("div");
						value.removeChild(ulChild);
						divElement.appendChild(ulChild);
						value.appendChild(divElement);
						getChild(value, "a").onclick = function() {
							new Effect.toggle(divElement, "slide");
							return false;
						}
						Element.hide(divElement);
						addToggle(ulChild);
					}
					value.style.display = "block";
				}
			}
		);
	}
	
	addToggle(getChild($("sidebar"), "ul"));
	
	var re = new RegExp("[^/]*\\.php");
	var filenameArray = re.exec(location.pathname);
	var filename = filenameArray ? filenameArray[0] : "index.php";
	// Detect individual faculty pages
	var isFaculty = filename.match(/faculty-department.*/);
	var sidebar = $("sidebar");
	var current = $$("#sidebar a").find(
		function(value, index) {
			var linknameArray = re.exec(value.getAttribute("href"));
			var linkname = linknameArray ? linknameArray[0] : null;
			// Hack to return faculty-department.php link no matter what
			if (isFaculty) return linkname == "faculty-department.php";
			return filename == linkname;
		}
	);
	current.className = "current";
	while (current != sidebar) {
		current.style.display = "block";
		current = current.parentNode ? current.parentNode : current.parentElement;
	}
	
}