// Высота линейки меню ( нужно подогнать под размер шрифта )
var menuLineHeight = 23;

// Цвет основной линейки ( выделенный )
var menuMainSelected = "#8BA2BC";

// Цвет основной линейки ( не выделенный )
var menuMainNonSelected = "#8BA2BC";

// Цвет выпадающего меню ( выделенный )
var menuItemSelected = "#DDDDDD";

// Цвет выпадающего меню ( не выделенный )
var menuItemNonSelected = "#F7F7F7";
                           
// Цвет окантовки выпадающего меню
var menuBorderColor = "#406090";

// Цвет разделителя на основной линейке
var menuSeparatorColor = "#EEEFED";


// Класс шрифта на основной линейке ( ссылка )
var menuA1Class = "topmenuNew";

// Класс шрифта на выпадающем меню ( ссылка )
var menuA2Class = "topmenu";

// -----------------------------------------------------------------------

var currentDraw = 0;
var currentSubDraw = 0;

var menuHeaders = new Array();
var menuLinks   = new Array();
var menuKeys    = new Array();

var nn4 = document.layers ? 1 : 0;
var d = document;

var menuVersion = 2;
if (navigator.appName == "Microsoft Internet Explorer") menuVersion = 1;
else if (document.layers) menuVersion = 0;

function GEByID(id) {
   if (menuVersion == 0) return null;
   if (menuVersion == 1) return document.all[id];
   if (menuVersion == 2) return document.getElementById(id);
}
 
 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 relPosXX(elem) { 
  if (nn4) { 
    el = eval("d.nsnDiv"+elem);
    pos = el.pageX;
  }
  else {
    el = GEByID("menuTD"+elem);
    var pos = el.offsetLeft;
    while (el.offsetParent != null) { 
      el = el.offsetParent;
      pos += el.offsetLeft;
      if (el.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 = GEByID("menu"+n);
    m.style.visibility='visible';
    m.style.left=x;
    m.style.top=y;
  }
}

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 = GEByID("menu"+n);
    m.style.visibility='visible';
  }
}

function hideMenu(n) {
  if(nn4) eval("d.menu"+n+".visibility='hide';");
  else {
    m = GEByID("menu"+n);
    m.style.visibility='hidden';
  }
}

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: #406090; font-size: 12px; font-family: Tahoma; font-weight: bold; padding: 5px; border-top-width: 1px; border-top-style: solid; border-top-color: #406090; border-right-width: 1px; border-right-style: solid; border-right-color: #8BA2BC; }</style>");
      classM = 'topmenuNew1';
    }
    else {
      d.write("<style>#menuTD",n," { background-color: #DFDFDF; font-size: 12px; font-family: Tahoma; font-weight: bold; padding: 5px; border-top-width: 1px; border-top-style: solid; border-top-color: #406090; border-right-width: 1px; border-right-style: solid; border-right-color: #8BA2BC; }</style>");
      classM = 'topmenuNew2';
    }
    d.write("<td id=menuTD",n," onMouseOver='displayMenu(",n,",relPosXX(",n,"),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>");
}
