﻿// JScript File

var menuIds = new Array();

function Pair(val1, val2)
{
  this.one = val1;
  this.two = val2;
  return this;
}

//will be set in Menu.cs
var openedImg;
var closedImg;

function registerSubMenu(parentId, childId)
{
  menuIds.push(new Pair(parentId,childId));
}

function switchMenu(itemId)
{
  img = document.getElementById(itemId+"_img");
  for(i=0;i<menuIds.length;i++)
  {
    if(menuIds[i].one==itemId)
    {
      obj = document.getElementById(menuIds[i].two);
      if(obj)
      {
          if(obj.style.display=="none")
          {
            obj.style.display = "block";
            if(img && openedImg)
            {
              img.src = openedImg;
            }
          }
          else
          {
            obj.style.display = "none";
            if(img && closedImg)
            {
              img.src = closedImg;
            }
          }
      }
    }
  }
}

var divMenu;
var divMenuTimerId = 9999;
var divMenuTimeout = 200;

function showMenu(itemId)
{
    if(!docLoaded) return;


    var clones = new Array();       
    var k = 0;
    for(i=0;i<menuIds.length;i++)
    {
        if(menuIds[i].one==itemId)
        {
            obj = document.getElementById(menuIds[i].two);
            if(obj && obj.style.display=="none")
            {
                clones[k++] = obj; 
            }
        }
    }
  
    if(clones.length==0)
        return;
  
    clearTimer(divMenuTimerId);
    var obj = document.getElementById(itemId);
    
    if(!divMenu)
    {
        divMenu = document.createElement("div");
        divMenu.style.border = "solid 1px #D0D2A2";
        divMenu.style.backgroundColor = "white";
        divMenu.style.position = "absolute";
        divMenu.style.display = "none";
        divMenu.style.padding = "1px 3px 1px 3px";
        divMenu.style.width = obj.clientWidth + "px";
        divMenu.onmouseover = function() {clearTimer(divMenuTimerId);};
        divMenu.onmouseout = function() {setTimer(divMenuTimerId, "hidePopupMenu();", divMenuTimeout);};
        document.body.appendChild(divMenu);
    }
    
    divMenu.innerHTML = "";
    for(k=0;k<clones.length;k++)
    {
        var c;
        divMenu.appendChild(c = clones[k].cloneNode(true));
        c.style.display = 'block';
    }
        
    divMenu.style.left = getAscendingLefts(obj) + obj.clientWidth + 5 + "px";
    divMenu.style.top = getAscendingTops(obj) + "px";
    divMenu.style.display = "block";
}

function hideMenu()
{
    setTimer(divMenuTimerId, "hidePopupMenu();", divMenuTimeout);    
}

function hidePopupMenu()
{
    if(divMenu)
        divMenu.style.display = "none";        
    clearTimer(divMenuTimerId);
}

function setMenuDisplay(itemId, disp)
{
  obj = document.getElementById(itemId);
  obj.style.display=disp;
  for(i=0;i<menuIds.length;i++)
  {
    if(menuIds[i].one==itemId)
      setMenuDisplay(menuIds[i].two, disp);
  }
}