// позиция уровня меню в массиве var Pozition = 0; // задержка по времени перед закрытием, если ушли без выбора var hide_delay = 500; // признак включения таймера var tstat = 0; var levelcount = 50; // массив - перечень видимых уровней меню var MenuSet = new Array(0,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null); /*var MenuSet = new Array(50); MenuSet[0] = 0; for (var i=1; i0; i--){ //if ((MenuSet[i] != null) && (MenuSet[i] != Parent)) { if (MenuSet[i] != Parent) { switchDiv(getelementbyid("menu"+MenuSet[i]),false); MenuSet[i] = null; Pozition = Pozition -1; } else {break;} } } // Если указано название слоя для отображения, // то: // 1) Получить его объект; // 2) определить его положение; // 3) Сделать слой видимым; // 4) сделать запись об открытом слое в массиве MenuSet if (Target!=null) { m=getelementbyid("menu"+Target); if (m == null) {return;} p=getelementbyid("menu"+Parent); m.style.left = getPos(p,"Left")+p.offsetWidth-3+"px"; m.style.top = getPos(cartd,"Top")+"px"; //-getPos(cartd,"Height") //+getPos(cartd,"Top") getPos(p,"Top")+ if (!findParent(Parent)){ Pozition = Pozition + 1; MenuSet[Pozition] = Parent; } Pozition = Pozition + 1; MenuSet[Pozition] = Target; switchDiv(m,true); } } // Функция "закрывающая" меню. // Функция ничего не принимает на вход // и возвращает 1. function hidemenu() { // Устанавливаем задержку hide_delay с помощью // таймера; timer1=setTimeout("show(0,null,null)",hide_delay); // Устанавливаем tstat=1 - признак, того, что таймер запущен. tstat=1; return 1; } // Функция останавливающая таймер запущенный // прошлой функцией. Таким образом, // меню не пропадает. // Функция ничего не принимает на вход // и возвращает 1. function cancelhide() { if (tstat==1) { clearTimeout(timer1); tstat=0; } return 1; }