// Высота линейки меню ( нужно подогнать под размер шрифта )
var menuLineHeight = 23;

// Цвет основной линейки ( выделенный )
var menuMainSelected = "#ffffff";

// Цвет основной линейки ( не выделенный )
var menuMainNonSelected = "#ffffff";

// Цвет выпадающего меню ( выделенный )
var menuItemSelected = "#DDDDDD";

// Цвет выпадающего меню ( не выделенный )
var menuItemNonSelected = "#F5F7F4";
                           
// Цвет окантовки выпадающего меню
var menuBorderColor = "#ffffff";

// Цвет разделителя на основной линейке
var menuSeparatorColor = "white";


// Класс шрифта на основной линейке ( ссылка )
var menuA1Class = "topmenu";

// Класс шрифта на выпадающем меню ( ссылка )
var menuA2Class = "topmenu";

// -----------------------------------------------------------------------

var currentDraw = 0;
var currentSubDraw = 0;

var menuHeaders = new Array();
var menuLinks   = new Array();
var menuKeys    = new Array();

//if (navigator.appName=="Netscape") nn4=true; else nn4=false;
nn4 = document.layers ? 1:0;
d=document;

function drawDivTop(n) {
  if(nn4) { 
    d.write('<layer ID=menu',n,' VISIBILITY=HIDE onMouseOver="showMenu(',n,');" onMouseOut="hideMenu(',n,');">&nbsp;');
  } else {
    d.write('<div ID=menu',n,' style="z-index:99;top:53;position:absolute;visibility:hidden;" onMouseOver="showMenu(',n,');" onMouseOut="hideMenu(',n,');">');
  }
  d.write('<table cellspacing=0 cellpadding=0 border=0><tr><td bgcolor=',menuBorderColor,'><table border=0 cellspacing=1 cellpadding=3>');
}

function newMenu(name,lnk,key) {
  if ( !lnk ) lnk = "#";
  currentSubDraw = 0;
  currentDraw++;
  menuHeaders[currentDraw] = name;
  menuLinks[currentDraw] = lnk;
  menuKeys[currentDraw] = key;
  drawDivTop(currentDraw);
}

function endMenu() {
  d.write('</table></td></tr></table>');
  if (nn4) d.write('</layer>');
  else d.write('</div>');
}

function hmx(e) { return e.offsetLeft+(e.offsetParent!=null&&e.tagName!='BODY'?hmx(e.offsetParent):0);}
function hmy(e) { return e.offsetTop+(e.offsetParent!=null&&e.tagName!='BODY'?hmy(e.offsetParent):0);} 

function relPosXX(elem) { 
  if (nn4) { 
    el = eval("d.nsnDiv"+elem);
    pos = el.pageX;
  } else {
    var pos=elem.offsetLeft;
    while ( elem.offsetParent != null ) { 
      elem=elem.offsetParent;
      pos+=elem.offsetLeft;
      if ( elem.tagName == 'BODY' ) break;
    } 
  }
  return pos;
}

function relPosYY(elem) { 
  if (nn4) { 
    el = eval("d.nsnDiv"+elem);
    pos = el.pageY;
  } else {
    var pos=elem.offsetTop + menuLineHeight;
    while ( elem.offsetParent != null ) { 
      elem=elem.offsetParent;
      pos+=elem.offsetTop;
      if ( elem.tagName == 'BODY' ) break;
    } 
  }
  return pos;
}


function displayMenu(n,x,y) {
  if (nn4) {
    eval("d.menu"+n+".visibility='visible';");
    eval("d.menu"+n+".left="+x+";");
    eval("d.menu"+n+".top="+y+";");
  } else { 
    m = d.getElementById("menu"+n);
    m.style.visibility='visible';
    m.style.left=x;
    m.style.top=y;
    m = d.getElementById("menuTD"+n);
//    m.style.backgroundColor=menuMainSelected;
  }
}

function displayMenuN(n,x,y) {
  if (nn4) {
    eval("d.menu"+n+".visibility='visible';");
    eval("d.menu"+n+".left="+x+";");
    eval("d.menu"+n+".top="+y+";");
  }
}

function showMenu(n) {
  if (nn4) eval("d.menu"+n+".visibility='visible';");
  else {
    m = d.getElementById("menu"+n);
    m.style.visibility='visible';
    m = d.getElementById("menuTD"+n);
//    m.style.backgroundColor=menuMainSelected;
  }
}

function hideMenu(n) {
  if(nn4) eval("d.menu"+n+".visibility='hide';");
  else {
    m = d.getElementById("menu"+n);
    m.style.visibility='hidden';
    m = d.getElementById("menuTD"+n);
//    m.style.backgroundColor=menuMainNonSelected;
  }
}

function hideMenuN(n) {
  if(nn4) eval("d.menu"+n+".visibility='hide';");
}

function newMenuItem(lnk,txt,target) {
  currentSubDraw++;
  if ( target == null ) trg = "";
  else trg = "target="+target;
  if(nn4) d.write('<tr><td bgcolor=',menuItemNonSelected,' name=submenuTD',currentDraw,'_',currentSubDraw,'><a class=',menuA2Class,' href="',lnk,'" ',trg,'>',txt,'</a></td></tr>');
  else {
    onCLK = "location.href = '"+lnk+"'";
    if ( target == "_blank" ) onCLK = "window.open('"+lnk+"');";
    d.write('<tr><td nowrap bgcolor=',menuItemNonSelected,' name=submenuTD',currentDraw,'_',currentSubDraw,
    ' onMouseOver="this.style.backgroundColor=\''+menuItemSelected+'\'"',
    ' onMouseOut="this.style.backgroundColor=\''+menuItemNonSelected+'\'"',
    ' onClick="',onCLK,'"',
    '><a class=',menuA2Class,' href="',lnk,'" ',trg,'>',txt,'</a></td></tr>');
  }
}

function drawMenuPart(n,txt,lnk,thisKey,N1) {
  if(nn4) {
    d.write("<style>#nsnDiv",n," { position:relative; }</style>");
    d.write("<td><div id=nsnDiv",n," position=relative>");
    d.write("<a href=",lnk," class=",menuA1Class," onMouseOver='displayMenuN(",n,",relPosXX(",n,"),relPosYY(",n,"));' onMouseOut='hideMenuN(",n,");'>");
    d.write(txt,"</a>&nbsp;");
    d.write("</div></td>");
  } else {
    var classM;
    if (thisKey == N1) {
      d.write("<style>#menuTD",n," { background-color: #cccccc; font-size: 12px; font-family: Tahoma; font-weight: bold; padding: 5px; border-top-width: 1px; border-top-style: solid; border-top-color: #CCCCCC; border-right-width: 1px; border-right-style: solid; border-right-color: #C9B381; }</style>");
      classM = 'topmenuNew1';
    }
    else {
      d.write("<style>#menuTD",n," { background-color: #ffffff; font-size: 12px; font-family: Tahoma; font-weight: bold; padding: 5px; border-top-width: 1px; border-top-style: solid; border-top-color: #CCCCCC; border-right-width: 1px; border-right-style: solid; border-right-color: #C9B381; }</style>");
      classM = 'topmenuNew2';
    }
    d.write("<td id=menuTD",n," onMouseOver='displayMenu(",n,",relPosXX(this),relPosYY(this));' onMouseOut='hideMenu(",n,");'>");
    d.write("<a href=",lnk," class=",classM,">");
    d.write(txt,"</a>");
    d.write("</td>");
  }
}

function drawMenu(thisMenu) {
  d.write("<table border=0 cellspacing=0 cellpadding=0 bgcolor=",menuMainNonSelected,"><tr>");
  for( var i = 1; i <= currentDraw; i++ ) {
    drawMenuPart(i,menuHeaders[i],menuLinks[i],menuKeys[i],thisMenu);
  }
  d.write("</tr></table>");
}

