var timeToRemainOpen = 5000;      //tijd in miliseconden
var remainOpen = false;           //

function hilite(e) {
  var allNav=document.getElementById('nav').getElementsByTagName('li');
  for (var i=0; i<allNav.length; i++) {
    removeClass(allNav[i],"rsel");
    removeClass(allNav[i],"selected");
    removeClass(allNav[i],"leftneighbour");
    removeClass(allNav[i],"rightneighbour");
    removeClass(allNav[i],"active");
    removeClass(allNav[i],"passive");
  }
  addClass(e,"selected");
  addClass(allNav[1],"rsel");
}

function showSubs(e) {
  var allNav=document.getElementById('nav').getElementsByTagName('li');
  var setPassiveNeighbour1=false;
  var setPassiveNeighbour2=false;
  var rightNeighbour = "";
  var leftNeighbour = "";
  for (var i=0; i<allNav.length; i++) {
    if (setPassiveNeighbour2) {
      rightNeighbour=allNav[i];
      setPassiveNeighbour2=false;
    }
    if (allNav[i] == e) {
      setPassiveNeighbour1=true;
      setPassiveNeighbour2=true;
    }
    if (!setPassiveNeighbour1) {
      leftNeighbour=allNav[i];
    }
    removeClass(allNav[i],"rsel");
    removeClass(allNav[i],"selected");
    removeClass(allNav[i],"leftneighbour");
    removeClass(allNav[i],"rightneighbour");
    removeClass(allNav[i],"active");
    addClass(allNav[i],"passive");
  }

  removeClass(e,"passive");
  if (!leftNeighbour) addClass(e,"rightneighbour");
  else addClass(leftNeighbour,"leftneighbour");
  if (!rightNeighbour) addClass(e,"leftneighbour");
  else addClass(rightNeighbour,"rightneighbour");
  addClass(e,"active");
  remainOpen=true;
}

function leaveOpen() { remainOpen=true;}
function pullinNavigation() {
  remainOpen=false;
  setTimeout("closeNavigation()",timeToRemainOpen);
}

function closeNavigation() {
  if (!remainOpen) {
   var lis=document.getElementById('nav').getElementsByTagName('li');
   var setPassiveNeighbour=false;
   for (var i=0;i<lis.length;i++) {
    removeClass(lis[i],"rsel");

    if (setPassiveNeighbour) {
      addClass(lis[i],"rsel");
      setPassiveNeighbour=false;
    }
    if (hasClass(lis[i],"hilite")) setPassiveNeighbour=true;
    removeClass(lis[i],"leftneighbour");
    removeClass(lis[i],"rightneighbour");
    removeClass(lis[i],"passive");
    removeClass(lis[i],"active");
    removeClass(lis[i],"selected");
    if (hasClass(lis[i],"hilite")) addClass(lis[i],"selected");
   }
  }
}

function hasClass(e,s) {
  if (!e.className) return false;
  if (e.className.indexOf(s)==-1) return false;
  return true;
}

function addClass(e,s) {
  if (!e.className) e.className=s; 
  else if(e.className.indexOf(s)==-1) e.className += " " + s;
}

function removeClass(e,s) {
  if (!e.className || e.className.indexOf(s)==-1) return;
  var clsss= e.className.split(" ");
  var nwcls= new Array();
  j=0;
  for (var i=0; i < clsss.length; i++) {
    if (clsss[i]!=s && clsss[i]!= " ") nwcls[j++] = clsss[i];
  }
  e.className=nwcls.join(" ");
}


