function closeSubMenu(menuID) {
	$('#DIV_'+menuID).unbind().hide('fade', 'fast');
	menutimers[menuID] = false;
}
$(document).ready(function(){
	window.menutimers = {};
	$('#topmenu > .has_menu > a').mouseover(function(){
		var menuID = $(this).attr('id');
		if (menutimers[menuID]) window.clearTimeout(menutimers[menuID]);
		$('#DIV_'+menuID).unbind();
		if ($('#DIV_'+menuID).css('display') != 'block') {
			var pos = $('#'+menuID).offset();
			$('#DIV_'+menuID).css('top', pos.top+$('#'+menuID).innerHeight());
			$('#DIV_'+menuID).css('left', pos.left);
			$('#DIV_'+menuID).show('drop', {direction:'up'});
		}
	});
	$('#topmenu > .has_menu > a').mouseout(function(){
		var menuID = $(this).attr('id');
		if (menutimers[menuID]) window.clearTimeout(menutimers[menuID]);
		menutimers[menuID] = window.setTimeout(function(){closeSubMenu(menuID);}, 500);
		$('#DIV_'+menuID).mouseover(function(){
			if (menutimers[menuID]) window.clearTimeout(menutimers[menuID]);
		});
		$('#DIV_'+menuID).mouseout(function(){
			if (menutimers[menuID]) window.clearTimeout(menutimers[menuID]);
			menutimers[menuID] = window.setTimeout(function(){closeSubMenu(menuID);}, 500);
		});
	});
});
function getByID(id) {
	return document.getElementById(id);
}
function openMenu(id) {
	var div,link;
	if (div = getByID('DIV_' + id)) div.style.display = 'block';
	if (link = getByID('ID_' + id)) replaceClass(link, 'submenu', 'submenu_open');
}
function closeMenu(id) {
	var div,link;
	if (div = getByID('DIV_' + id)) div.style.display = 'none';
	if (link = getByID('ID_' + id)) replaceClass(link, 'submenu_open', 'submenu');
}
function toggleMenu(id) {
	var link;
	if (link = getByID('ID_' + id)) {
		if (hasClass(link, 'submenu_open')) closeMenu(id); else openMenu(id);
	}
}
