innerNav = {
	// CSS classes
	dynamicClass: "dyn",
	currentLinkClass: "current",
	showClass: "show",
	
	// IDs
	parentID: "toolinfo",
	tocID: "toolinfotoc",
	
	// Global properties
	current: null,
	currentLink: null,
	
	init: function() {
		if (!document.getElementById || !document.createTextNode) { return; }
		innerNav.parent = document.getElementById(innerNav.parentID);
		innerNav.toc = document.getElementById(innerNav.tocID);
		if (!innerNav.parent || !innerNav.toc) { return; }
		DOMhelp.cssjs("add", innerNav.parent, innerNav.dynamicClass);
		var loc = window.location.hash.replace("#", "");
		var toclinks = innerNav.toc.getElementsByTagName("a");
		for (var i=0; i < toclinks.length; i++) {
			if (toclinks[i].getAttribute("href").replace(/.*#/, "") == loc) {
				innerNav.currentLink = toclinks[i];
			}
			DOMhelp.addEvent(toclinks[i], "click", innerNav.getSection, false);
		}
		if (!innerNav.currentLink) {
			innerNav.currentLink = toclinks[0];
		}
		innerNav.showSection(innerNav.currentLink);
	},

	getSection: function(e) {
		var t = DOMhelp.getTarget(e);
		innerNav.showSection(t);
	},
	
	showSection: function(o) {
		var targetName = o.getAttribute("href").replace(/.*#/, "");
		var section = document.getElementById(targetName).parentNode;
		if (innerNav.current != null) {
			DOMhelp.cssjs("remove", innerNav.current, innerNav.showClass);
			DOMhelp.cssjs("remove", innerNav.currentLink, innerNav.currentLinkClass);
		}
		DOMhelp.cssjs("add", section, innerNav.showClass);
		DOMhelp.cssjs("add", o, innerNav.currentLinkClass);
		innerNav.current = section;
		innerNav.currentLink = o;
	}
}

DOMhelp.addEvent(window, "load", innerNav.init, false);