// JavaScript Document

var mouseOverColor = "#ffff00"; //gelb
var mouseOutColor = "#ffffff"; //weiss
var mouseClickColor = "#ffff00"; //gelb
var firstPage = "Startseite"; //gibt den Punkt an, der beim ersten Laden markiert ist
var rand = 18; //gibt an, um wieviele Pixel die Unterpunkte eingerückt werden
var size = 1; //Schriftgröße und Schriftart der Unterpunkte
var type = "Verdana";


//Zuordnung der Hyperlinks zu den Unterpunkten
var links = new Object();
links["Feuerwehrgeschichte"] = "Feuerwehrgeschichte.htm";
links["Ortsgeschichte"] = "Ortsgeschichte.htm";
links["TSF Mercedes 307D"] = "auto_neu.htm";
links["TSF Ford Transit"] = "auto_alt.htm";
links["Ausbildung"] = "ausbildung.htm";
links["Vereinsleben"] = "verein.htm";


var activeButton = "";
var i;

if (window.Event != null)
{ //Firefox
  document.captureEvents(Event.CLICK | Event.MOUSEOVER | Event.MOUSEOUT);
}



function mouseOver(Ereignis)
{
  if (Ereignis != null)
  {
    if(typeof Ereignis != "string")
    {
      var srcElem = Ereignis.originalTarget.innerHTML;
    }
    else
    {
      var srcElem = Ereignis;
    }
  }
  else
  {
    var srcElem = window.event.srcElement.innerHTML;
  }
  
	
  if (srcElem != activeButton)
	{
	  if (document.getElementById(srcElem).childNodes.length == 1)
	  {
      switch (document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes.length)
    	{
    	 case 1: //IE
        document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[0].color = mouseOverColor; break;	
    	 case 2: //Firefox
        document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[1].color = mouseOverColor; break;
    	}
  	}
  	else
  	{
      if(document.getElementById(srcElem).childNodes[1].tagName == "B") //es handelt sich um einen deaktivierten Oberpunkt mit Pfeil
      {
        document.getElementById(srcElem).childNodes[0].color = mouseOverColor
        switch (document.getElementById(srcElem).childNodes[1].childNodes[0].childNodes.length)
      	{
      	 case 1: //IE
          document.getElementById(srcElem).childNodes[1].childNodes[0].childNodes[0].color = mouseOverColor; break;	
      	 case 2: //Firefox
          document.getElementById(srcElem).childNodes[1].childNodes[0].childNodes[1].color = mouseOverColor; break;
      	}
      
      }    
      else  //inaktiver Unterpunkt
      {
        document.getElementById(srcElem).childNodes[0].color = mouseOverColor
        switch (document.getElementById(srcElem).childNodes[1].childNodes.length)
        {
          case 1: //IE
      	  document.getElementById(srcElem).childNodes[1].childNodes[0].color = mouseOverColor; break;	
          case 2: //Firefox
      	  document.getElementById(srcElem).childNodes[1].childNodes[1].color = mouseOverColor; break;
        }
      }
    }
  }
}

function mouseOut(Ereignis)
{
	if (Ereignis != null)
  {
    if(typeof Ereignis != "string")
    {
      var srcElem = Ereignis.originalTarget.innerHTML;
    }
    else
    {
      var srcElem = Ereignis;
    }
  }
  else
  {
    var srcElem = window.event.srcElement.innerHTML;
  }
  
	if (srcElem != activeButton)
	{
	 if (document.getElementById(srcElem).childNodes.length == 1)
	  {
      switch (document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes.length)
    	{
    	 case 1: //IE
        document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[0].color = mouseOutColor; break;	
    	 case 2: //Firefox
        document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[1].color = mouseOutColor; break;
    	}
  	}
  	else
  	{
      if(document.getElementById(srcElem).childNodes[1].tagName == "B") //es handelt sich um einen deaktivierten Oberpunkt mit Pfeil
      {
        document.getElementById(srcElem).childNodes[0].color = mouseOutColor
        switch (document.getElementById(srcElem).childNodes[1].childNodes[0].childNodes.length)
      	{
      	 case 1: //IE
          document.getElementById(srcElem).childNodes[1].childNodes[0].childNodes[0].color = mouseOutColor; break;	
      	 case 2: //Firefox
          document.getElementById(srcElem).childNodes[1].childNodes[0].childNodes[1].color = mouseOutColor; break;
      	}
      
      }    
      else  //inaktiver Unterpunkt
      {
        document.getElementById(srcElem).childNodes[0].color = mouseOutColor
        switch (document.getElementById(srcElem).childNodes[1].childNodes.length)
        {
          case 1: //IE
      	  document.getElementById(srcElem).childNodes[1].childNodes[0].color = mouseOutColor; break;	
          case 2: //Firefox
      	  document.getElementById(srcElem).childNodes[1].childNodes[1].color = mouseOutColor; break;
        }
      }
	  }
	 /*
  	switch (document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes.length)
  	{
  	 case 1: //IE
      document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[0].color = mouseOutColor; break;	
  	 case 2: //Firefox
      document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[1].color = mouseOutColor; break;
  	}
		
		if (document.getElementById(srcElem).firstChild.tagName == "FONT")
		{	// falls der Pfeil vorhanden ist
			document.getElementById(srcElem).firstChild.style.color = mouseOutColor;
		}
  */
	}
}

function mouseClick(Ereignis)
{
  if (Ereignis != null)
  {
    if(typeof Ereignis != "string")
    {
      var srcElem = Ereignis.originalTarget.innerHTML;
    }
    else
    {
      var srcElem = Ereignis;
    }
  }
  else
  {
    var srcElem = window.event.srcElement.innerHTML;
  }


	if (activeButton != "")
	{	
		var button = document.getElementById(srcElem);
		
		setNavigation(button,arguments);
	}
	else
	{
		//Als neues Element einen Pfeil erzeugen
		var newElem = document.createElement("font");
		
		newElem.face = "Arial";
		newElem.size = size;
		newElem.color = mouseClickColor;
		newElem.innerHTML = "&#9658;" + " ";
		
		activeButton = firstPage;
		switch (document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes.length)
  	{
  	 case 1: //IE
      document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[0].color = mouseClickColor; break;	
  	 case 2: //Firefox
      document.getElementById(srcElem).childNodes[0].childNodes[0].childNodes[1].color = mouseClickColor; break;
  	}
    document.getElementById(activeButton).insertBefore(newElem, document.getElementById(activeButton).childNodes[0])
	}
}

function setNavigation(button,arguments)
{ //Diese Funktion verändert die Navigationsleiste
  if (document.getElementById(activeButton).childNodes[1].tagName == "B") //Falls wahr, ist activeButton ein Oberpunkt
  {
  	//eventuell vorher eingefügte Unterpunkte wieder löschen, falls der angeklickte Punkt kein Unterpunkt ist
    if (button.childNodes[0].tagName == "B")
  	{
  		//vorher eingefügten Pfeil wieder löschen
  		document.getElementById(activeButton).removeChild(document.getElementById(activeButton).firstChild);
  		
  		i = 0;
  		while (i == 0)
  		{
  			var Knoten = document.getElementById(activeButton).nextSibling;
  			
  			if (Knoten != null)
  			{
  				if (Knoten.tagName != "SCRIPT" && Knoten.tagName != "HR")
  				{
  					Knoten.parentNode.removeChild(Knoten);					
  				}
  				else
  				{
  					i = 1;
  				}
  			}
  			else
  			{
  				i = 1;
  			}
  		}	
  		//alte Farbe wieder herstellen
  		switch (document.getElementById(activeButton).childNodes[0].childNodes[0].childNodes.length)
    	{
    	 case 1: //IE
        document.getElementById(activeButton).childNodes[0].childNodes[0].childNodes[0].color = mouseOutColor; break;	
    	 case 2: //Firefox
        document.getElementById(activeButton).childNodes[0].childNodes[0].childNodes[1].color = mouseOutColor; break;
    	}
	
  	}
  	else //Der angeklickte Punkt ist ein Unterpunkt
  	{
  		//alte Farbe wieder herstellen
  		document.getElementById(activeButton).childNodes[0].color = mouseOutColor;
  		switch (document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes.length)
    	{
    	 case 1: //IE
        document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes[0].color = mouseOutColor; break;	
    	 case 2: //Firefox
        document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes[1].color = mouseOutColor; break;
    	}
  	}			
  }	
  else
  {
    //Farbe vom alten Item wieder rücksetzen    
    document.getElementById(activeButton).childNodes[0].color = mouseOutColor;
    switch (document.getElementById(activeButton).childNodes[1].childNodes.length)
    {
      case 1: //IE
    	document.getElementById(activeButton).childNodes[1].childNodes[0].color = mouseOutColor; break;	
      case 2: //Firefox
    	document.getElementById(activeButton).childNodes[1].childNodes[1].color = mouseOutColor; break;
    }    	
  }			
  
  if (button.childNodes[0].tagName == "B" || button.childNodes[1].tagName == "B") //Falls wahr, ist der angeklickte Punkt ein Oberpunkt
  {
  	//Falls der vorher angeklickte Button ein Unterpunkt ist
  	if (document.getElementById(activeButton).childNodes[0].tagName != "B")
  	{
  		//Unterpunkte löschen
  		i = 0;
  		while (i == 0)
  		{
  			var Knoten = document.getElementById(activeButton).previousSibling;
  			
  			if (Knoten != null)
  			{
  				if (Knoten.previousSibling.tagName != "SCRIPT" && Knoten.previousSibling.tagName != "HR" && Knoten.previousSibling.nodeValue != "\n\n")
  				{
  					Knoten.parentNode.removeChild(Knoten);					
  				}
  				else
  				{
  					i = 1;
  				}
  			}
  			else
  			{
  				i = 1;
  			}
  		}
  		
  		i = 0;
  		while (i == 0)
  		{
  			var Knoten = document.getElementById(activeButton).nextSibling;
  			
  			if (Knoten != null)
  			{
  				if (Knoten.tagName != "SCRIPT" && Knoten.tagName != "HR")
  				{
  					Knoten.parentNode.removeChild(Knoten);					
  				}
  				else
  				{
  					i = 1;
  				}
  			}
  			else
  			{
  				i = 1;
  			}
  		}
  		//Pfeil löschen
  		var Knoten = document.getElementById(activeButton).previousSibling;
  		Knoten.removeChild(Knoten.childNodes[0])
  		
  		
  		
  		var Knoten = document.getElementById(activeButton);
  		Knoten.parentNode.removeChild(Knoten);
  		
  		
  		
  	}
  	
  	
  	
  	
  	//Als neues Element einen Pfeil erzeugen
  	var newElem = document.createElement("font");
  	
  	newElem.face = "Arial";
  	newElem.size = size;
  	newElem.color = mouseClickColor;
  	newElem.innerHTML = "&#9658;" + " ";
  	
  	//activeButton neu setzen
  	activeButton = button.id;	
  	
  	//Pfeil einfügen
  	button.insertBefore(newElem, button.childNodes[0]);
  	
  	//falls zusätzliche Argumente übergeben wurden, diese als Unterpunkte hinzufügen
  	if (arguments.length > 1)
  	{
      for (var i = 1; i < arguments.length; i++)
    	{
    		var newP = document.createElement("p");
    		var newFont1 = document.createElement("font");
    		var newFont2 = document.createElement("font");
    		var newA = document.createElement("a");
    		
    		//newA.innerHTML = arguments[i];
    		newA.href = links[arguments[i]];    
    		newA.style.textDecoration = "none"; 
    		newA.onmouseover = mouseOver;
    		newA.onmouseout = mouseOut;
    		newA.onclick = mouseClick;
    		
    		newFont1.face = "Arial";          
    		newFont1.size = size;             
    		newFont1.color = mouseOutColor;   
    		newFont1.innerHTML = "• ";        
    		
    		newFont2.face = type;
    		newFont2.size = size;
    		newFont2.color = mouseOutColor;
    		newFont2.innerHTML = arguments[i];
    		
    		newP.id = arguments[i];
    		newP.style.marginLeft = rand;
    		newP.style.marginTop = 3;
    		newP.style.marginBottom = 3;
    		
    		newA.appendChild(newFont2);
    		newP.appendChild(newFont1);
    		newP.appendChild(newA);
    		
        document.body.insertBefore(newP, button.nextSibling);
        
    	}
  	}
  }
  else //Der angeklickte Punkt ist ein Unterpunkt
  {
  	//Falls der vorherige Button ein Oberpunkt ist
  	if (button.childNodes[0].tagName == "B")
  	{
  		//Farbe vom zugehörigen Oberpunkt ändern
  		document.getElementById(activeButton).childNodes[0].color = mouseOutColor;
  		switch (document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes.length)
    		{
    		case 1: //IE
			document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes[0].color = mouseOutColor; break;	
    		case 2: //Firefox
			document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes[1].color = mouseOutColor; break;
    		}
  	}
  	//activeButton neu setzen
  	activeButton = button.id;
  }		
}


function setActiveItemById(id)
{ 
  var button;
  
  if (document.getElementById(id))
  {  
	button = document.getElementById(id);

    //Farbe vom alten Item wieder rücksetzen    
    document.getElementById(activeButton).childNodes[0].color = mouseOutColor;
    if (document.getElementById(activeButton).childNodes[1].tagName == "B") //es handelt sich um einen Oberpunkt
    {
  	  switch (document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes.length)
    	{
      	case 1: //IE
  		  document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes[0].color = mouseOutColor; break;	
      	case 2: //Firefox
  		  document.getElementById(activeButton).childNodes[1].childNodes[0].childNodes[1].color = mouseOutColor; break;
    	}
    }
    else
    {
      switch (document.getElementById(activeButton).childNodes[1].childNodes.length)
    	{
      	case 1: //IE
  		  document.getElementById(activeButton).childNodes[1].childNodes[0].color = mouseOutColor; break;	
      	case 2: //Firefox
  		  document.getElementById(activeButton).childNodes[1].childNodes[1].color = mouseOutColor; break;
    	}
    }
    
    //activeButton ändern
    activeButton = id;
    
    //Farbe ändern
  	document.getElementById(id).childNodes[0].color = mouseClickColor;
  	
  	if (document.getElementById(id).childNodes[1].tagName == "B") //es handelt sich um einen Oberpunkt
  	{
    	switch (document.getElementById(id).childNodes[1].childNodes[0].childNodes.length)
      {
        case 1: //IE
    	  document.getElementById(id).childNodes[1].childNodes[0].childNodes[0].color = mouseClickColor; break;	
        case 2: //Firefox
    	  document.getElementById(id).childNodes[1].childNodes[0].childNodes[1].color = mouseClickColor; break;
      }
    }
  	else //es handelt sich um einen Unterpunkt
  	{
      switch (document.getElementById(id).childNodes[1].childNodes.length)
      {
        case 1: //IE
    	  document.getElementById(id).childNodes[1].childNodes[0].color = mouseClickColor; break;	
        case 2: //Firefox
    	  document.getElementById(id).childNodes[1].childNodes[1].color = mouseClickColor; break;
      }
    }
  }
  
}





