<!-- Original:  Angus Turnbull, http://gusnz.cjb.net -->
<!-- Improvement:  Avetis Avetisov -->
<!-- 
function getRef(id){
if (NS6) return document.getElementById(id);
if (IE4) return document.all[id];
if (NS4) return document.layers[id];}
function getSty(id) {return (NS4 ? getRef(id) : getRef(id).style);} 
var popTimer = 0;
var popTimer2 = 0;
var pop = 0;
var litNow = new Array();
var parM, parI=1;

function mover(menuNum,itemNum,TcurrTD,TcurrA){ 
objTcurrTD=getRef(TcurrTD);
objTcurrA=getRef(TcurrA)
objTcurrTD.className="Mover1";
objTcurrA.style.color="black";


if(!menuNum)
 if(itemNum!=parI)
  changePrevCol(parI);



clearTimeout(popTimer);
clearTimeout(popTimer2);
hideAllBut(menuNum);
targetNum = menu[menuNum][itemNum].target;
if (targetNum > 0) { 
TtargetTD='td'+targetNum+'1';
TcurrMenu='menu'+menuNum;
objTtargetTD=getRef(TtargetTD);
objTcurrMenu=getRef(TcurrMenu);
with(menu[targetNum][0]){
if(x<0){
if(x==-2)
ref.left=parseInt(objTcurrMenu.offsetLeft-objTtargetTD.offsetWidth+objTcurrTD.offsetWidth+offX); 
else
ref.left=parseInt(objTcurrMenu.offsetLeft-objTtargetTD.offsetWidth+offX);}
else{
if(x==2)
ref.left=parseInt(objTcurrMenu.offsetLeft+objTtargetTD.offsetWidth+offX);
else
ref.left=parseInt(objTcurrMenu.offsetLeft+offX);}   
var currTop=0; 
if (objTcurrTD.offsetParent)
while (objTcurrTD.offsetParent){
currTop+=objTcurrTD.offsetTop;
objTcurrTD=objTcurrTD.offsetParent;}
if(y<0){  
if(y==-2)
ref.top=parseInt(currTop-(objTtargetTD.offsetHeight)*(menu[targetNum].length-1)-(menu[targetNum].length)+offY); 
else
ref.top=parseInt(currTop-(objTtargetTD.offsetHeight)*(menu[targetNum].length-2)-(menu[targetNum].length)+offY);}
else{
if(y==2)
ref.top=parseInt(currTop+objTtargetTD.offsetHeight+offY);
else
ref.top=parseInt(currTop+offY-1);}   
ref.visibility = 'visible';   } }


if(!menuNum)
 parI=itemNum;

 
}


function popOver(menuNum, itemNum){
clearTimeout(popTimer);
hideAllBut(menuNum);
litNow = getTree(menuNum, itemNum);
changeCol(litNow, true);
targetNum = menu[menuNum][itemNum].target;
if (targetNum > 0) {
thisX = parseInt(menu[menuNum][0].ref.left) + parseInt(menu[menuNum][itemNum].ref.left);
thisY = parseInt(menu[menuNum][0].ref.top) + parseInt(menu[menuNum][itemNum].ref.top);
with (menu[targetNum][0].ref) {
left = parseInt(thisX + menu[targetNum][0].x);
top = parseInt(thisY + menu[targetNum][0].y);
visibility = 'visible';}}}





function mout(menuNum,itemNum,TcurrTD,TcurrA){

//var keepMenus = getTree(menuNum,itemNum);
//parO=keepMenus[0];

objTcurrTD=getRef(TcurrTD);
objTcurrA=getRef(TcurrA)

if(menuNum){
objTcurrTD.className="Mnormal1";
objTcurrA.style.color="white";}

if(!menuNum)
 if(itemNum!=parI)
  changePrevCol(parI);


if ((menuNum == 0) && !menu[menuNum][itemNum].target){
 hideAllBut(0);
}
else{
popTimer = setTimeout('hideAllBut(0)', 1000);
popTimer2 = setTimeout('changePrevCol(parI)', 900);
}


if(!menuNum)
 parI=itemNum;


}
function popOut(menuNum, itemNum) {
if ((menuNum == 0) && !menu[menuNum][itemNum].target)
hideAllBut(0)
else
popTimer = setTimeout('hideAllBut(0)', 500);}


function changePrevCol(parI)
{
  TprevTD='td0'+parI.toString();
  TprevA='a0'+parI.toString();
  objTprevTD=getRef(TprevTD);
  objTprevA=getRef(TprevA);
  objTprevTD.className="Mnormal1";
  objTprevA.style.color="white";
}


function getTree(menuNum, itemNum) {
itemArray = new Array(menu.length);
while(1) {
itemArray[menuNum] = itemNum;
if (menuNum == 0) return itemArray;
itemNum = menu[menuNum][0].parentItem;
menuNum = menu[menuNum][0].parentMenu;}}




function changeCol(changeArray, isOver) {
for (menuCount = 0; menuCount < changeArray.length; menuCount++) {
if (changeArray[menuCount]) {
newCol = isOver ? menu[menuCount][0].overCol : menu[menuCount][0].backCol;
with (menu[menuCount][changeArray[menuCount]].ref) {
if (NS4) bgColor = newCol;
else backgroundColor = newCol;}}}}


function hideAllBut(menuNum) {
var keepMenus = getTree(menuNum,1);
for (count = 0; count < menu.length; count++){
if (!keepMenus[count])
 menu[count][0].ref.visibility = 'hidden';}
changeCol(litNow, false);}




function ChangeTextColor (iid,mode,color1,color2){ 
objTcurr=getRef(iid);
if(mode)
 objTcurr.style.color=color1;
else
 objTcurr.style.color=color2;
}



// -->