var closeTimer, activeMenu, activeEle, activeId, activeSubEle, activeSubMenu;
var correctLeft = 393;
var menuAmount = 4;
var subMenuWidth = 150;
var subOverColor = '#EAEAEC';
var subOutColor = '#FCFEFD';
var mainOverColor = '';
var mainOutColor = '';
var boxModelBorderCorrection = document.all ? 0 : -2;
function hover (ele, state) {
  ele.style.backgroundColor = state ? subOverColor : subOutColor;
  if (activeSubMenu && activeSubMenu != ele.parentNode)
  closeSubMenu ();
  if (state && closeTimer)
  clearTimeout (closeTimer);
  if (!state)
  timedClose();
}
function hoverTD (ele, state) {
  if (state) { ele.style.backgroundColor = mainOverColor; }
  else {
    ele.style.backgroundColor = mainOutColor;
  }
}
function openMenu (id, ele) {
  if (activeEle)
  activeEle.style.backgroundColor = mainOutColor;
  closeSubMenu ();
  ele.style.backgroundColor = mainOverColor;
  activeEle = ele;
  activeId = id;
  if (closeTimer)
  clearTimeout (closeTimer);
  if (activeMenu)
  activeMenu.style.display = "none";
  if (id) {
    activeMenu = document.getElementById ("ddmenu" + id);
    activeMenu.style.left = (getAbsoluteLeft (activeEle) + correctLeft) + 'px';
    activeMenu.style.display = "block";
  }
}
function openSubMenu (id, ele) {
  if (closeTimer)
  clearTimeout (closeTimer);
  if (activeSubMenu)
  closeSubMenu();
  activeSubMenu = document.getElementById ('ddsubmenu' +id);
  activeSubEle = ele;
  activeSubEle.style.backgroundColor = subOverColor;
  activeSubMenu.style.top = getAbsoluteTop(ele) + 'px';
  var placeLeft = getAbsoluteLeft(activeEle) + subMenuWidth + (-1*boxModelBorderCorrection) + correctLeft + 1;
  if (placeLeft + subMenuWidth > document.body.scrollWidth)
  placeLeft = getAbsoluteLeft(activeEle) - subMenuWidth + (boxModelBorderCorrection) + correctLeft - 1;
  activeSubMenu.style.left = placeLeft + 'px';
  activeSubMenu.style.display = 'block';
}
function getMenuWidth () {
  return Math.round((document.body.scrollWidth - (2*correctLeft)+68 ) / 6) + boxModelBorderCorrection;
}
function timedClose () {
  if (closeTimer)
  clearTimeout (closeTimer);
  closeTimer = setTimeout ("_timedClose()", 500);
}
function _timedClose () {
  if (activeMenu) {
    activeMenu.style.display = "none";
    activeMenu = null;
  }
  if (activeEle) {
    activeEle.style.backgroundColor = mainOutColor;
    activeEle = null;
  }
  closeSubMenu ();
}
function closeSubMenu () {
  if (activeSubMenu) {
    activeSubMenu.style.display = "none";
    activeSubMenu = null;
  }
  if (activeSubEle) {
    activeSubEle.style.backgroundColor = subOutColor;
    activeSubEle = null;
  }
}
function ddnav (url, target, width, height) {
  if (target == "huidig")
  location.href = url;
  else if (target == "nieuw")
  window.open (url);
  else if (target == "popup")
  openPopup (url, "popup", width, height, 1);
  return false;
}
function openPopup (url, name, w, h, resizable) {
  var resizable = resizable || 0;
  var opt = "toolbar=0,location=0,scrollbars="+resizable+",directories=0,status=0,menubar=0,resizable="+resizable+","
  +"width="+w+",height="+h+",left="+parseInt((screen.width-w)/2)+",top="+parseInt((screen.height-h)/3);
  window.open(url, name, opt);
}
function getAbsoluteTop (ele) {
  var v = parseInt (ele.offsetTop);
  if (ele.parentNode && ele.parentNode.offsetTop) {
    v += getAbsoluteTop (ele.parentNode);
  }
  return v;
}
function getAbsoluteLeft (ele) {
  var v = parseInt (ele.offsetLeft);
  if (ele.parentNode && ele.parentNode.offsetLeft) {
    v += getAbsoluteTop (ele.parentNode);
  }
  return v;
}
