/*******************************************************************************
  Deze website draait op het IPROX-platform van InfoProjects bv., IPROX is een
  state-of-the-art Content Management Systeem voor omvangrijke webomgevingen.
  Voor meer informatie, zie: http://www.infoprojects.nl en http://www.iprox.nl.
  
  @author : Jelle de Jong
            InfoProjects B.V.
            jelle.de.jong@infoprojects.nl
*******************************************************************************/

////////////////////////////////////////////////////////////////////////////////
// GLOBALS
////////////////////////////////////////////////////////////////////////////////
// de breedte van de tabel
var tableWidth    = 783;

// het huidige menu
var currentMenu   = -1;

// waarden voor de timeout
var menuTimer;
var timeOut       = 250;

// prefix voor het hoofdmenu
var mainMenuName  = 'menu_';
// prefix voor het submenu
var subMenuName   = 'submenu_';
// prefix voor link van het menu (voor eventuele 'hover')
var linkMenuName  = 'menulink_';

var eltsLeft = new Object();
var eltsTop = new Object();

////////////////////////////////////////////////////////////////////////////////
// METHODS
////////////////////////////////////////////////////////////////////////////////
// Bouw het menu op
function initMenu() {
  var start = 0;
  // centreer menu t.o.v. het venster
  if(getWindowWidth() > tableWidth) {
    start = (.03 * getWindowWidth()) / 2;
  }
  var leftX = leftSize + start;
  
  var eltsWidth = new Array();

  for(var menuCnt = 0; menuCnt < menus.length; menuCnt++) {
    var menuName       = mainMenuName + menus[menuCnt];
    var theMenuElement = getElt(menuName);
    eltsWidth[menuCnt] = getEltWidth(theMenuElement);
  }

  for(var menuCnt = 0; menuCnt < menus.length; menuCnt++) {
    var id             = menus[menuCnt];
    var menuName       = mainMenuName + id;
    var theMenuElement = getElt(menuName);

    eltsLeft[id] = leftX;
    eltsTop[id]  = topSize;

    if(!is.safari && !is.ns4 && !(is.mac && is.ie)) {
      setEltPosition(theMenuElement,'absolute');
      setEltTop(theMenuElement,topSize);
      setEltLeft(theMenuElement,leftX);
      setEltDisplay(theMenuElement,'block');
    }
    leftX += eltsWidth[menuCnt];
  }
}

// Geef het menu weer
function showMenu(id) {
  if(!pageLoaded || is.ns4comp || is.opera5) {
    return;
  }
  if(menuTimer) {
    clearTimeout(menuTimer);
  }
  if(currentMenu != -1 && currentMenu != id) {
    realHideMenu(currentMenu);
    currentMenu = -1;
  }

  currentMenu = id;
  
  var theMenuLink       = getElt(linkMenuName + currentMenu);
  var theMenuElement    = getElt(mainMenuName + currentMenu);
  var elLeft            = eltsLeft[id];// getEltLeft(theMenuElement);
  var elTop             = eltsTop[id];// getEltTop(theMenuElement);
  var elHeight          = getEltHeight(theMenuElement);
  var theSubMenuElement = getElt(subMenuName + currentMenu);

  setEltPosition(theSubMenuElement,'absolute');
  setEltClass(theMenuLink,'forcedHover');
  setEltTop(theSubMenuElement,elTop + elHeight);
  setEltLeft(theSubMenuElement,elLeft);
  setEltVisibility(theSubMenuElement,'visible');
  setEltDisplay(theSubMenuElement,'block');
}

// Verberg het menu (met een 'timeout')
function hideMenu(id) {
  if(!pageLoaded || is.ns4comp || is.opera5) {
    return;
  }
  if(currentMenu != -1) {
    menuTimer = window.setTimeout('realHideMenu("'+id+'")',timeOut);
  }
}

// Verberg het menu werkelijk
function realHideMenu(id) {
  if(menuTimer) {
    clearTimeout(menuTimer);
  }
  if(id == currentMenu) {
    var theSubMenuElement = getElt(subMenuName + id);
    var theMenuLink       = getElt(linkMenuName + id);

    setEltVisibility(theSubMenuElement,'hidden');
    setEltDisplay(theSubMenuElement,'none');
    setEltClass(theMenuLink,'');

    currentMenu = -1;
  }
}
