var timer = 0;
var TIME_OUT = 500;

function showSubmenu(topMenu, subMenu) {
	hideAll();
	
	var posX = topMenu.offsetLeft;
	var posY = topMenu.offsetTop + topMenu.offsetHeight;
	
	while((topMenu = topMenu.offsetParent) != null) {
		posY += topMenu.offsetTop;
		posX += topMenu.offsetLeft;
	}

	var submenu = document.getElementById(subMenu);
	submenu.style.left = posX + 'px';
	submenu.style.top = posY + 'px';
}

function swopMenu(topMenu, subMenu) {
	var submenu = document.getElementById(subMenu);
	showSubmenu(topMenu, subMenu);
	
	topMenu.onmouseover = function() {
		resetTimer();
		showSubmenu(topMenu, subMenu);
		stopTimer();
	}
	
	topMenu.onmouseout = function() {
		resetTimer();
	}

	submenu.onmouseout = function() {
		resetTimer();
	}
	
	submenu.onmouseover = function() {
		showSubmenu(topMenu, subMenu);
		stopTimer();
	}
}

function hideAll() {
	var submenus = document.getElementsByTagName('DIV');
	
	for(var i = 0; i < submenus.length; i++) {
		if(submenus[i].className.substring(0, 3) == 'sub') {
			submenus[i].style.left = '-10000px';
		}
	}
}

function resetTimer() {
	stopTimer();
	timer = window.setTimeout("hideAll()", TIME_OUT);
}

function stopTimer() {
	window.clearTimeout(timer);
}