 // Kling - Navigationsscript
 //
 // (c) 2006 Alexander Vogt, altoma GmbH (av@altoma.de)

 var navis = new Array("sub_kinderberg","sub_projekte","sub_spenden","sub_presse","sub_interaktion");

 var timeoutId;


 // Elemente in Navi-Boxen mit onmouseover-Handler versehen, damit Navi-Box nach Aufruf durch sIFR offenbleibt
 function initNavi() {
  for(var i = 0; i < navis.length; i++) {
   var navi = document.getElementById(navis[i]);

   setAutoFunc(navi,i);
  }

  // aktive Navi einblenden
  if(activeNavi >= 0) showNavi(navis[activeNavi],false);
 }

 function setAutoFunc(nd,i) {
   //alert(nd.tagName+" "+nd.nodeType+" "+nd.id);

   if(document.all)
     //Hack fuer IE
     eval("nd.onmouseover = function(event) { showNavi('"+navis[i]+"',false) };");
   else
 	 nd.setAttribute("onmouseover","showNavi('"+navis[i]+"',false)");

   for(var j = 0; j < nd.childNodes.length; j++) {
    if(nd.childNodes[j].nodeType == 1)
      setAutoFunc(nd.childNodes[j],i);
   }

 }

 // Navi-Box anzeigen
 function showNavi(navi,checkOthers) {

  document.getElementById(navi).style.visibility = "visible";

  // andere Navi-Boxen ausblenden die durch schnelles Wechseln evtl noch offen sind
  if(checkOthers) {
   for(var i = 0; i < navis.length; i++)
    if(navis[i] != navi && document.getElementById(navis[i]).style.visibility == "visible")
     hideNavi(navis[i],false,true);

  }

  // aktive temporär ausblenden
  if(activeNavi >= 0 && navis[activeNavi] != navi) hideNavi(navis[activeNavi],true);
 }

 // Navi-Box ausblenden
 function hideNavi(navi,forced,auto) {

  //aktive nicht ausblenden ausser durch force
  if(!forced && navis[activeNavi] == navi) return;

  //aktive wieder einblenden
  if(!auto && !forced && activeNavi >= 0 && navis[activeNavi] != navi) {
   clearTimeout(timeoutId);
   timeoutId = setTimeout("restoreActiveNavi()",800);
  }

  document.getElementById(navi).style.visibility = "hidden";
 }

 function restoreActiveNavi() {
  var allinvisible = true;

  for(var i = 0; i < navis.length; i++) {
   if(document.getElementById(navis[i]).style.visibility == "visible")
    allinvisible = false;
  }

  if(allinvisible) showNavi(navis[activeNavi],false);
 }
