﻿var timeout=500;
var closetimer= 0;
var ddmenuitem= 0;
var ddtopmenuitem = 0;
var styleArray = new Array();

// open hidden layer
function mopen(id)
{
  // cancel close timer
  mcancelclosetime();

  // close old layer
  if(ddmenuitem) {
    ddmenuitem.style.visibility = 'hidden';
  }

  if(ddtopmenuitem) {
    resetAll();
  }

  // get new layer and show it
  ddmenuitem = document.getElementById(id);
  ddmenuitem.style.visibility = 'visible';

  ddtopmenuitem = document.getElementById('sub'+id);
  saveClass(id,ddtopmenuitem.className);
  ddtopmenuitem.className = ddtopmenuitem.className + '_hover';
  
  var pos = findPosX(ddtopmenuitem);;
  
  //window.status = "menu= " + findPosX(ddtopmenuitem) + "      - main= " +  findPosX(document.getElementById('main'));
  
  ddmenuitem.style.left = pos + 'px';
}

// close showed layer
function mclose()
{
  if(ddmenuitem) {
    ddmenuitem.style.visibility = 'hidden';
  }

  if(ddtopmenuitem) {
    resetAll();
  }

}

// Save the class, but only the first time
function saveClass(key, value) 
{
  var found = 0;

  for (var elem in styleArray) {
    if (elem == key)
    found = 1;
  }

  if (found == 0)
    styleArray[key] = value;
}

// Reset all styles in menu
function resetAll() 
{
  for (var elem in styleArray) {
    ddtopmenuitem = document.getElementById('sub' + elem);
    if (ddtopmenuitem != null)
      ddtopmenuitem.className = styleArray[elem];
  }
}

// go close timer
function mclosetime()
{
  closetimer = window.setTimeout(mclose, timeout);
}

// cancel close timer
function mcancelclosetime()
{
  if(closetimer)
  {
    window.clearTimeout(closetimer);
    closetimer = null;
  }
}

function showANmenu()
{
  var ANmenu = document.getElementById('ANmenu');
  var ANmenubutton = document.getElementById('ANmenubutton');
  var pos = findPosX(ANmenubutton)-60;
  ANmenu.style.left = pos + 'px';
  ANmenu.style.display = 'block';
}

function hideANmenu()
{
  var ANmenu = document.getElementById('ANmenu');
  ANmenu.style.display = 'none';
}


// Align menus
function findPosX(obj)
{
    var curleft = 0;
    if(obj.offsetParent)
        while(1) 
        {
    curleft += obj.offsetLeft;
    if(!obj.offsetParent)
      break;
    obj = obj.offsetParent;
        }
    else if(obj.x)
    curleft += obj.x;
    return curleft;
}


