// Navigation mit ausklappbaren Submenüs + Hovereffekt
// Autor Harald Böhm
// Version 1.0 vom 11. November 2001
// ##############################################################
// Script für den Internet Explorer und den Netscape ab Version 6
// ##############################################################

// Definition einiger Variablen
var x
var y
var z
var zustand
var hover=1  // muss initialisiert werden. Nimmt im Verlauf den Wert von x an (Zeile 110 u. 121).
var first=1 // Verhindert, dass beim 1. Aufruf von 'index.php' '1ov.gif' durch '1.gif' ersetzt wird (Zeilen 105-107).
            // Wird in Zeile 111 auf '0' gesetzt, und hat weiter keine Bedeutung.
var check
var zustand
var ID      // Wird in Zeile 81 näher definiert (siehe auch Beschr. Zeile 76-78).

// Definition einiger Arrays
var ids = new Array("img2")
var subids = new Array(
	 new Array(),
	 new Array("sub21", "sub22", "sub23", "sub24", "sub25", "sub26"),
     new Array("sub31", "sub32", "sub33", "sub34", "sub35"),
	 new Array("sub41", "sub42", "sub43", "sub44", "sub45", "sub46", "sub47"),
	 new Array("sub51", "sub52", "sub53")
)
var imgs = new Array(
     new Array(),
	 new Array("img21", "img22", "img23", "img24", "img25", "img26"),
     new Array("img31", "img32", "img33", "img34", "img35"),
	 new Array("img41", "img42", "img43", "img44", "img45", "img46", "img47"),
	 new Array("img51", "img52", "img53")
)
// Für das korrekte Vorladen der Hover_bilder sorgen.
// Die Funktion preload() wird aber erst am Ende des Skripts aufgerufen.
function preload() {
ov21 = new Image(); ov21.src = "images/sub2_1ov.gif";
ov22 = new Image(); ov22.src = "images/sub2_2ov.gif";
ov23 = new Image(); ov23.src = "images/sub2_3ov.gif";
ov24 = new Image(); ov24.src = "images/sub2_4ov.gif";
ov25 = new Image(); ov25.src = "images/sub2_5ov.gif";
ov26 = new Image(); ov26.src = "images/sub2_6ov.gif";
ov31 = new Image(); ov31.src = "images/sub3_1ov.gif";
ov32 = new Image(); ov32.src = "images/sub3_2ov.gif";
ov33 = new Image(); ov33.src = "images/sub3_3ov.gif";
ov34 = new Image(); ov34.src = "images/sub3_4ov.gif";
ov35 = new Image(); ov35.src = "images/sub3_5ov.gif";
ov41 = new Image(); ov41.src = "images/sub4_1ov.gif";
ov42 = new Image(); ov42.src = "images/sub4_2ov.gif";
ov43 = new Image(); ov43.src = "images/sub4_3ov.gif";
ov44 = new Image(); ov44.src = "images/sub4_4ov.gif";
ov45 = new Image(); ov45.src = "images/sub4_5ov.gif";
ov46 = new Image(); ov46.src = "images/sub4_6ov.gif";
ov47 = new Image(); ov47.src = "images/sub4_7ov.gif";
ov51 = new Image(); ov51.src = "images/sub5_1ov.gif";
ov52 = new Image(); ov52.src = "images/sub5_2ov.gif";
ov53 = new Image(); ov53.src = "images/sub5_3ov.gif";

ov2 = new Image(); ov2.src = "images/2ov.gif";
ov3 = new Image(); ov3.src = "images/3ov.gif";
ov4 = new Image(); ov4.src = "images/4ov.gif";
ov5 = new Image(); ov5.src = "images/5ov.gif";
}

// Funktion 'timer(x)':
// Aufruf durch alle Layers mittels des EventHandlers "onmouseout". Bewirkt den Aufruf von "mouseouti(x)"
// nach 30ms, wenn die Variable "ID" nicht vorher durch "mousi(x)" oder 'mouse(z, y)' deaktiviert wird.
function timer(x) {
eval("ID = setTimeout('mouseouti('+x+')', 300)")
}

// Funktion 'klappzu(x)':
function klappzu(x)  {
if(document.all) {                                       // 'document.all' gilt für den IE
  if(zustand==0) {
	for (var i=1; i<=subids[check-1].length; i++)
	eval("sub"+check+i+".style.visibility = 'hidden'") }
	else if(zustand==1) {
  for (var i=1; i<=subids[check-1].length; i++)
  eval("sub"+check+i+".style.visibility = 'hidden'") }
  }
else if(document.getElementById) {                       // 'document.getElementById' gilt für den NS6
  if(zustand==0) {
	for (var i=1; i<=subids[check-1].length; i++)
	eval("document.getElementById('sub"+check+i+"').style.visibility = 'hidden'") }
  else if(zustand==1) {
	for (var i=1; i<=subids[check-1].length; i++)
  eval("document.getElementById('sub"+check+i+"').style.visibility = 'hidden'") }
	}
}

// Funktion 'mousi(x)':
function mousi(x) {
  if(document.all) {
	    klappzu(x);
			if(first!=1) {
			eval("document.images.bild"+hover+".src = 'images/'+hover+'.gif'")
			}
			eval("document.images.bild"+x+".src = ov"+x+".src")
			clearTimeout(ID)
			hover=x;
			first=0;
			for (var i=1; i<=subids[x-1].length; i++)
      eval("sub"+x+i+".style.visibility = 'visible'")
			zustand=0;
			check=x;
			}
  else if(document.getElementById) {
	    klappzu(x);
      if(first!=1) {
			eval("document.images.bild"+hover+".src = 'images/'+hover+'.gif'")
			}
			eval("document.images.bild"+x+".src = ov"+x+".src")
	 	 	clearTimeout(ID)
			hover=x;
			first=0;
			for (var i=1; i<=subids[x-1].length; i++)
      eval("document.getElementById('sub"+x+i+"').style.visibility = 'visible'")
		  zustand=0;
			check=x; }
}

// Funktion 'mouse(z, y)': Hover-Effekt in den Submenüs
function mouse(z, y) {
   clearTimeout(ID)
   eval("document.images.img"+z+y+".src = ov"+z+y+".src")
   check=z;          //"z" wird an Variable "check" übergeben
   zustand=1; }
// Funktion 'mouseout(z, y)'
function mouseout(z, y) {
eval("document.images.img"+z+y+".src = 'images/'+'sub'+z+'_'+y+'.gif'")
}

// Funktion 'mouseouti(x)': Submenü wird unsichtbar
function mouseouti(x) {
  if(document.all) {
     eval("document.images.bild"+hover+".src = 'images/'+hover+'.gif'")
		 for (var i=1; i<=subids[x-1].length; i++)
     eval("sub"+x+i+".style.visibility = 'hidden'")
	}
  else if(document.getElementById) {
     eval("document.images.bild"+hover+".src = 'images/'+hover+'.gif'")
     for (var i=1; i<=subids[x-1].length; i++)
     eval("document.getElementById('sub"+x+i+"').style.visibility = 'hidden'")
	}
}

// Vorladen der Hover-Bilder
preload();

