window.onload=function(){
	$('header').onmouseover=hideMenus;
	$('content').onmouseover=hideMenus;

	// menu
	var menuitems=$$('ul#menu li a');
	for(var i=0; i<menuitems.length; i++) {
		menuitems[i].onmouseover=makeFunction(0,menuitems[i]);
		menuitems[i].onmouseout=makeFunction(1,menuitems[i]);
	}
	// but don't set sub menu links
	var submenuitems=$$('ul#menu li ul li a');
	for(var i=0; i<submenuitems.length; i++) {
		submenuitems[i].onmouseover=null;
		submenuitems[i].onmouseout=null;
	}

	// submenus
	var submenus=$$('ul#menu li ul');
	var menu;
	var parent;
	for(var i=0; i<submenus.length; i++) {
		menu=submenus[i];
		parent=$(submenus[i].parentNode);
		menu.style.top=parent.cumulativeOffset().top + parent.getHeight() + 'px';
		menu.style.left=parent.cumulativeOffset().left + 'px';
	}

}

function hideMenus(except,except1) {
	var submenus=$$('ul#menu li ul');
	for(var i=0; i<submenus.length; i++) {
		if(except != submenus[i] && except1 != submenus[i])
			submenus[i].style.display='none';
	}
}

function makeFunction(type,element) {
	if(type=1) {
		return function() {menuMouseOver(element);}
	} else {
		return function() {menuMouseOut(element);}
	}
}

function menuMouseOver(element) {
	element=$(element.parentNode);
	hideMenus(element.ancestors()[0]);
	element.className='hover';
	if(element.childElements()[1]) {
		element.childElements()[1].style.display='block';
	}
}

function menuMouseOut(element) {
	element=$(element.parentNode);
	hideMenus(element.ancestors()[0],element.ancestors()[0].childElements()[1]);
	element.className='';
}