<!--
/* nur für Datei "navigation.html" */


window.onload = init;
var adr = null;
var root = null;
var selectField = null;


	
/*function addEvent( obj, type, fn )
{
   if (obj.addEventListener) {
      obj.addEventListener( type, fn, false );
   } else if (obj.attachEvent) {
      obj["e"+type+fn] = fn;
      obj[type+fn] = function() { obj["e"+type+fn]( window.event ); }
      obj.attachEvent( "on"+type, obj[type+fn] );
   }
}*/



/* erzeugt beim Laden noch vor jedem Knoten ein Feld, mit dem sofort der Baum ein- oder ausgeklappt werden kann */
function initKnoten(){
  //if ((navigator.appName.indexOf("Explorer") == -1)){
  
    var node = document.getElementById("root");
    for(var o=0; o<node.getElementsByTagName("li").length; o++){
      var temp = document.createElement("div");
      //temp.appendChild(document.createTextNode("               "));
     	//temp.className = "knoten";
      var attr = document.createAttribute("class");
	  	attr.nodeValue = "knoten";
	  	temp.setAttributeNode(attr);
      if(node.getElementsByTagName("li")[o].getElementsByTagName("ul").length>0){
      	//addEvent(temp, "click",  showhide(temp));
        temp.onclick = function(){ showhide(this.parentNode); };
        node.getElementsByTagName("li")[o].insertBefore(temp,node.getElementsByTagName("li")[o].firstChild);
        node.getElementsByTagName("li")[o].getElementsByTagName("ul")[0].style.display = "none";
        showhide(node.getElementsByTagName("li")[o]);
      }
      else{
      	//var e = node.getElementsByTagName("li")[o].firstChild;
      	//if (o==5) alert(e.nodeType + ": "+ e.innerHTML);
      	//if (o==5) alert(e.nextSibling.nodeType + ": "+ e.nextSibling.innerHTML);
      	node.getElementsByTagName("li")[o].insertBefore(temp,node.getElementsByTagName("li")[o].firstChild);
      	
      }
    }
    for(var o=0; o<node.getElementsByTagName("a").length; o++){
    	var div = document.createElement("div");
    	var attr = document.createAttribute("class");
	  	attr.nodeValue = "lk";
	  	div.setAttributeNode(attr);
    	var a = node.getElementsByTagName("a")[o];
    	var li = a.parentNode;
    	
    	li.replaceChild(div,a);
    	div.appendChild(a);
    }
    //alert(node.innerHTML);
  //}
}


/* zeigt oder verstecht den aktuellen Knoten */
function showhide(node) {
  node.getElementsByTagName("ul")[0].style.display = (node.getElementsByTagName("ul")[0].style.display=="block")?"none":"block";
}


/* gibt erstes Kind vom Typ typ zurück, überspringt andere Knoten */
/*function firstChildElement(node,typ) {
  var child = node.firstChild;
  while ((child != null) && (child.nodeName != typ)) child = child.nextSibling;
  return child;
}*/


/* gibt nächstes Kind vom Typ typ zurück, überspringt andere Knoten */
function nextChildElement(child,typ) {
  child = child.nextSibling;
  while ((child != null) && (child.nodeName != typ)) child = child.nextSibling;
  return child;
}


/* zeigt den aktuellen Knoten und setzt dementsprechend die Unterknoten */
function show(node, visibility) {
  var a = null;
  var current = false;
  var currentChild = false;
  var currentNode = false;
  var li = node.getElementsByTagName("li")[0];
  var ul = null;
  
  while(li != null){
    if (li.getElementsByTagName("div").length<1) break;
    a = li.getElementsByTagName("div")[1].getElementsByTagName("a")[0];
    //alert("0:"+li.nodeName + "\n" + a.href);
    
 
    //aktives Element markieren (Klasse "active" setzen)
    if (a.href == adr){
      currentNode = true;
      //alert(a.href);	
      a.className = "active";
      selectField = adr.parentNode;
    }
    else{
    	if (a.href == adr.split("#")[0]){
    		a.className = "";
    		currentNode = true;
    	}
    	else{
	      a.className = "";
	      currentNode = false;
	    }
    }
    
    ul = a.parentNode.parentNode.getElementsByTagName("ul")[0];
    //alert(ul);
    
    if (ul != null){
      currentChild = show(ul, currentNode);
      if (currentNode && !currentChild){
      	a.className = "active";
      	selectField = adr.parentNode;
      }
      
      if (currentChild || currentNode || visibility  && (ul.className == "open")){
        ul.style.display = "block";
      }
      else{
        ul.style.display = "none";
      }
    }
    
    if (!current) current = currentChild || currentNode;
    
    li = nextChildElement(li,"LI");
  }
  
  return (current);
}






/* beim Laden werden die Parameter (durch ? an die Adresse angehangen) ausgelesen und der aktuelle Knoten gezeigt (Rest wird ausgeblendet) */
function init() {	
  initKnoten();
	
  var adr0 = null;
  //adr0 = ("http://www.ksg-dresden.de/gemeindeleben/hoehepunkte/neuenabend/index.html?2");
  //adr0 = ("http://www.ksg-dresden.de/weiteres/links.html");
  //adr0 = ("file:///E:/KSG/Webmasteramt/Homepage/test/gemeindestruktur/ausschuesse/aussen.html");
  //adr0 = ("file:///D:/KSG/Webmasteramt/Homepage/index.html");
  //adr0 = ("http://www.ksg-dresden.de/startseite/programm/sommer.html#title2506");
  try{
	  adr0 = parent.location.href;
	  
	  if (adr0.charAt(adr0.length-1)=="/") adr0 += "index.html";
	  
	  var param = "";
	  var loc = adr0.split("?");
	  adr = loc[0];
	  if (loc.length > 1) param = loc[1];
	  else {
		var tmp = window.location.href.split("?");
		if (tmp.length > 0) param = tmp[1];
	  }
	  
	  root = document.getElementById("root");
	  
	  if (param!="all") show(root, false);
  }
  catch(err){
  
  }
  //document.onkeydown = KeyPressed;
}

//-->