//Nested Side Bar Menu (Mar 20th, 09)
//By Dynamic Drive: http://www.dynamicdrive.com/style/

var menuids = [ "sidebarmenu1" ];
// Enter id(s) of each Side Bar Menu's main UL, separated by commas

function getWindowHeight() {
	var windowHeight = 0;
	if (typeof (window.innerHeight) == 'number')
		windowHeight = window.innerHeight;
	else {
		if (document.documentElement && document.documentElement.clientHeight)
			windowHeight = document.documentElement.clientHeight;
		else {
			if (document.body && document.body.clientHeight)
				windowHeight = document.body.clientHeight;
		}
		;
	}
	;
	return windowHeight;
};

function initsidebarmenu() {
	for ( var i = 0; i < menuids.length; i++) {
		var ultags = document.getElementById(menuids[i]).getElementsByTagName(
				"ul")
		for ( var t = 0; t < ultags.length; t++) {
			ultags[t].parentNode.getElementsByTagName("a")[0].className += " subfolderstyle"
			if (ultags[t].parentNode.parentNode.id == menuids[i]) // if this
				// is a
				// first
				// level
				// submenu
				ultags[t].style.left = ultags[t].parentNode.offsetWidth + "px" // dynamically
						// position
				// first
				// level
				// submenus
				// to
				// be
				// width
				// of
				// main
				// menu
				// item
			else
				// else if this is a sub level submenu (ul)
				ultags[t].style.left = ultags[t - 1].getElementsByTagName("a")[0].offsetWidth
						+ "px" // position menu to the right of menu item that
						// activated it
			ultags[t].parentNode.onmouseover = function() {
				this.getElementsByTagName("ul")[0].style.display = "block";

				var _docHeight = getWindowHeight();
				var submenuHeight = this.getElementsByTagName("ul")[0].offsetHeight;

				var iebody = (document.compatMode && document.compatMode != "BackCompat") ? document.documentElement
						: document.body;
				var dsoctop = document.all ? iebody.scrollTop : pageYOffset;

				// potrzebne zeby wyrownac menu do dolu, moze byc problem jak
				// bedzie wiecej niz jedno zagniezdzenie podmenu lub wiecej niz
				// jedno menu na stronie
				var menuTopOffset = this.parentNode.offsetTop;

				if (submenuHeight + this.offsetTop + menuTopOffset > _docHeight
						+ dsoctop) {
					// odkomentowanie spowoduje "podwyzszanie" menu tak aby nie
					// schodzilo ponizej wydocznego poziomu na stronie
					var sumaX = (_docHeight + dsoctop - submenuHeight - menuTopOffset);
					this.getElementsByTagName("ul")[0].style.top = _docHeight
							+ dsoctop - submenuHeight - menuTopOffset + 'px';
				} else {
					// wyrownuje podmenu do wysokosci najechanego ul
					this.getElementsByTagName("ul")[0].style.top = this.offsetTop + 'px';
				}

			}
			ultags[t].parentNode.onmouseout = function() {
				this.getElementsByTagName("ul")[0].style.display = "none"
			}
		}
		for ( var t = ultags.length - 1; t > -1; t--) { // loop through all sub
			// menus again, and use
			// "display:none" to
			// hide menus (to
			// prevent possible page
			// scrollbars
			ultags[t].style.visibility = "visible"
			ultags[t].style.display = "none"
		}
	}
}

if (window.addEventListener)
	window.addEventListener("load", initsidebarmenu, false)
else if (window.attachEvent)
	window.attachEvent("onload", initsidebarmenu)

	// ------------------


