var tId = null;
var currentSubmenu = null;
var showSubmenu = false;

//
// Получение объекта с подменю, для разных сайтов он может быть разным, поэтому вынесен в отдельную функцию
//
function getSubmenuObj(pObj) {
	return pObj.previousSibling;
}

//
// Мышка наведена на пункт главного меню
//
function menuEnter(pObj) {
	if (currentSubmenu) hideCurrent();
	var objSub = getSubmenuObj(pObj);
	if (objSub.childNodes.length > 0) submenuShow(pObj);
}

//
// Мышка вышла с пункта главного меню
//
function menuExit() {
	showSubmenu = false;
	tId = setTimeout("hideCurrent()",300);
}

//
// Убираем текущее подменю
//
function hideCurrent() {
	if( (showSubmenu) || (!currentSubmenu) ) return;
	if(tId) {
		clearTimeout(tId);
		tId = null;
	}
	currentSubmenu.style.display  = "none";
	currentSubmenu = null;
}

//
// Показываем подменю с ID = pObj.id
// pObj это элемент главного меню, мы вычисляем его координаты на экране(iLeft и iTop),
// чтобы рисовать подменю под ним
//
function submenuShow(pObj) {
	showSubmenu = true;
	var iLeft=0, iTop=0;
	for(var iPos = pObj; iPos; iPos = iPos.offsetParent) {iLeft += iPos.offsetLeft; iTop += iPos.offsetTop;}
	
	var dObj = getSubmenuObj(pObj);
	currentSubmenu = dObj;
	
	dObj.style.top  = iTop;
	dObj.style.left = iLeft + pObj.offsetWidth - 1;
	dObj.style.position = "absolute";
	dObj.style.display  = "inline";
}

//
// Вход в подменю
//
function submenuEnter() {
	showSubmenu = true;
	if(tId) {
		clearTimeout(tId);
		tId = null;
	}
}

//
// Выход из подменю
//
function submenuExit() {
	showSubmenu = false;
	tId = setTimeout("hideCurrent()",300);
}
