	var currentMenu;

	function menu_hide_all() {
		menuTree = document.getElementById("topmenu");

		var n = 0;
//alert('currentMenu: ' + currentMenu);
		while (n < 50 && n < menuTree.childNodes.length) {
			submenu = menuTree.childNodes[n];
				n++;
				if (submenu && submenu.className == "submenu"){
//						&& submenu.id != currentMenu) {
//			alert ('hiding submenu: ' + submenu.id);
					menu_hide(submenu.id);
				}
		}
		//menu_hide("menu_about");
		//menu_hide("menu_solutions");
		//menu_hide("menu_client");
		//menu_hide("menu_contact");
	}

	function menu_show(mname) {
		menu_hide_all();
		m = document.getElementById(mname);
		m.style.visibility = 'visible';
	}
	function menu_hide(mname) {
		m = document.getElementById(mname);
		m.style.visibility = 'hidden';
	}
	function menu_hide_me(t) {
		t.style.visibility = 'hidden';
	}
		
	function menu_hide_on_event(e) {
		//alert('Event target: ' + e.target.className);
		if (!e) {
			e = window.event;
		}
		target= e.target ? e.target : e.srcElement;
		dest = e.relatedTarget ? e.relatedTarget : e.toElement;
		if (!dest) return;
//o = document.getElementById("messages");
//o.value += 'From ' + target.className + ' To ' + dest.className + '\n';
		if ( dest.className == 'homebanner'
		 	|| dest.className == 'pagecontent'
			) {
			menu_hide_all();
			m = document.getElementById(currentMenu);
			if (m) {
				m.style.visibility = 'visible';
			}
		}
	}

	function setEventListeners() {
		b = document.getElementById("banner");
		if (b.addEventListener) {
			b.addEventListener('mouseout',  menu_hide_on_event, false);
		} else if (b.attachEvent) {
			b.attachEvent('onmouseout',  menu_hide_on_event);
		} else {
			b.onmouseout = menu_hide_all;
		}
	}

	function initPage(pageId) {
		myMenu = document.getElementById(pageId);
		var myParentItem;
		var myMenu;
		if (myMenu) {
			myMenu.className = 'menuhighlight';
			if (myMenu.parentNode) {
				myParentItem = myMenu.parentNode;
			}

			var k = 20;
			while (k-- > 0 && myParentItem && 
					myParentItem.className != 'submenu') {
				if (myParentItem.parentNode) {
					myParentItem = myParentItem.parentNode;
				}
			
			}
			currentMenu = myParentItem.id;
		}
		/*
		*/

		var i = 0;
//alert(i + ' Parent: ' + myParentItem.className);
		while (myParentItem && myParentItem.className != 'menu') {
//alert('Previous: ' + myParentItem.previousSibling);
			myParentItem = myParentItem.previousSibling;
			if (myParentItem && myParentItem.className == 'submenu')  {
				i++;
			}
		}
		var submenu = null;
		if (myParentItem) {
			var j = 0;
			var f = 0;
			while (f >= 0 && f < 50 && f < myParentItem.childNodes.length) {
				submenu = myParentItem.childNodes[f];
				f++;
				if (submenu.nodeName == 'LI') {
					if (j == i) {
						f = -1;
					}
					j++;
				}	
			}
		}

		if (submenu) {
//			alert(' submenu: ' + submenu + '/' + submenu.className);
			submenu.className = 'menuhighlight';
			m = document.getElementById(currentMenu);
			if (m) {
				m.style.visibility = 'visible';
			}
		}
		setEventListeners();
	}


