/**************Created by Tr1aL***************************/
/*-------скрипт для работы нашего всплывающего меню-------*/
/*-------принцип работыменю смотрим в таске #10348--------*/
/********************BEGIN*********************************/

//На всех страницах где пользуется меню обязательно ставить
//<body onmousedown="hideDivMenu(event);">

//Объявляю переменные
var currentMenu = null;
var isOnMenu = null;
var isUlm = null;

//функция возвращает абсолютные координаты x и y любого объекта по его id
function absPosition(obj) {
    var x = 0;
	var y = 0;
	while(obj) {
		x += obj.offsetLeft;
		y += obj.offsetTop;
		obj = obj.offsetParent;
	}
	return {x:x, y:y};
}

//Функция показывает наше меню
//el - элемент по которому жамкаем
//menu - id слоя с меню, который всплывет под el
function showMenu(el, menu){
    if (menu != currentMenu || (isUlm != $F('ulmLogin'))){
        if (currentMenu != null){
            hideDivById(currentMenu);
        }
        moveDivToXY(menu, absPosition(el).x, absPosition(el).y + el.offsetHeight);
        showDivById(menu);
    }
}

//перемещает слой с divId в координаты x, y
function moveDivToXY(divId, x, y){
    $(divId).style.left = x + 'px';
    $(divId).style.top = y + 'px';
}

//функция скрывает слой divId
function hideDivById(divId){
    $(divId).style.display = "none";
    if (currentMenu != null)
        currentMenu = null;
    if (isOnMenu != null)
        isOnMenu = null;
    if (isUlm != null)
        isUlm = null;
}

//функция показывает слой divId
function showDivById(divId){
    $(divId).style.display = "block";
    if (currentMenu == null)
        currentMenu = divId;
    if ($F('ulmLogin') != null)
        isUlm = $F('ulmLogin');
}

//Функция закрывает меню
function hideDivMenu(event){
    if (isOnMenu == null){
        if (event.type == 'mousedown')
            hideDivById(currentMenu);
    } else {//Проверям где была нажата кнопка мышы, если ВНЕ слоя, то скрываем меню
        if (!Position.within(currentMenu, Event.pointerX(event), Event.pointerY(event)))
            hideDivById(currentMenu);
    }
}

//Если навели мышу на слой, то запоминаем это
function onMenu(){
    isOnMenu = true;
}
/*-------скрипт для работы нашего всплывающего меню-------*/
/*-------принцип работыменю смотрим в таске #10348--------*/
/********************END***********************************/
