/* ////////////////////////////////////////////////////////////////
                                Menü                               
                               By i4m                              
///////////////////////////////////////////////////////////////////

Struktur:

<ul id="//menuid//">
  <li><a>//Hauptmenüpunkt//</a>
    <ul>
      <li><a>//Untermenüpunkt//</a></li>
    </ul>
  </li>  //Der LI-Schluss-Tag muss nach der UL der Untermenüpunkte stehen!
</ul>
<script language="javascript">newmenu('//menuid//');</script>

*/


menu_timeout = 300;  // Millisekunden bis das Menü wieder verschwindet. (sollte über 100 sein)
activeitem = true;  // Wenn der Haupmenüpunkt aktiv bleiben soll beim überfahren des Submenüs

function hasli(objekt, tag){  // gibt die Anzahl der Unterobjekte zurück
	if(tag=="a"){  // gibt die Anzahl der A-Unterobjekte zurück
		if(objekt.getElementsByTagName("div")[0].getElementsByTagName("a").length > 0){
			return objekt.getElementsByTagName("div")[0].getElementsByTagName("a").length;	
		}
		return false;
	}
	else{  // gibt die Anzahl der LI-Unterobjekte zurück
		if(objekt.getElementsByTagName("li").length > 0){
			return objekt.getElementsByTagName("li").length;	
		}
		return false;		
	}
}
function newmenu(menuid){  // intialisiert das Menü
	isie = Boolean(document.body.currentStyle)  // Überprüft ob es Sich um einen IE handelt
	isns = Boolean(window.navigator.userAgent.indexOf("Netscape") != -1);  // Überprüft ob es Sich um einen NS handelt
	isnoff15 = Boolean(window.navigator.userAgent.indexOf("Firefox") != -1 && window.navigator.userAgent.indexOf("1.5") == -1 );  // FF nicht Versoin 1.5
	if(isnoff15){  // erstellt ein Element mit dem später die Textbreite festgestellt wird.
		document.write('<a href="#" id="textbreite"></a>');
	}
	menupunkte = new Array();  // Hauptmenüpunkte
	submenupunkte = new Array();  // Sumbenüpunkte
	menuover = new Array();  // Hier wird gespeichert welches Menü gerade Aktiv ist
	liobjekte = document.getElementById(menuid).getElementsByTagName("li");  // Alle LI-Objekte im Menü
	for(i=0; i<liobjekte.length; i++){
		if(hasli(liobjekte[i], "li")){  // Wenn der Menüpunkt Untermenüpunkte hat
			submenupunkte[menupunkte.length] = new Array();  // neues Array für die Submenüpunkte
			menupunkte[menupunkte.length] = liobjekte[i];  // Objekt in Array speichern
			menupunkte[menupunkte.length-1].innerHTML = menupunkte[menupunkte.length-1].innerHTML.split("<UL").join("<DIV").split("</UL>").join("</DIV>").split("<LI>").join("").split("</LI>").join("").split("<ul").join("<div").split("</ul>").join("</div>").split("<li>").join("").split("</li>").join("");  // alle UL durch DIV ersetzen und alle LI löschen
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].style.visibility = "hidden";  // dieses Submenü ausblenden
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].mid = menupunkte.length-1;  // Eigenschaft mid dem Submenü hinzufügen
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].onmouseover = function(){  // Ereigniss wenn der Cursor über das Submenü bewegt wird
				submenu_over(this.mid);
			}			
			menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].onmouseout = function(){  // Ereigniss wenn der Cursor das Submenü verlässt
				submenu_out(this.mid);
			}
			menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].mid = menupunkte.length-1;  // Eigenschaft mid dem Hauptmenüpunkt hinzufügen
			menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].onmouseover = function(){  // Ereigniss wenn der Cursor über den Hauptmenüpunkt bewegt wird
				menu_over(this.mid);
			}
			menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].onmouseout = function(){  // Ereigniss wenn der Cursor den Hauptmenüpunkt verlässt
				menu_out(this.mid);
			}
			var maxwidth = 0;  // Variable zur Feststellung des breitesten Elements des Submenüs wird auf 0 gesetzt
			if(isnoff15){  // Wenn es sich um einen FF nicht 1.5 handelt wird dem Element zur Feststellung der Breite der Style des ersten A übergeben
				document.getElementById("textbreite").style.fontSize = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").fontSize;
				document.getElementById("textbreite").style.fontFamily = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").fontFamily;
				document.getElementById("textbreite").style.fontWeight = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").fontWeight;
				document.getElementById("textbreite").style.paddingLeft = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").paddingLeft;
				document.getElementById("textbreite").style.paddingRight = window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").paddingRight;
			}
			for(j = 0; j < hasli(menupunkte[menupunkte.length-1], "a"); j++){  // Alle Untermenüpunkte werden durchgelaufen
				menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].getElementsByTagName("a")[j].id = "m"+i+"sm"+j;  // eindeutige ID wird gesetzt
				submenupunkte[menupunkte.length-1][j] = menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].getElementsByTagName("a")[j];  // Element wird dem Array für Submenüpunkte zugeteilt
				if(isie | isns){  // Wennn es sich un einen IE oder NS handelt muss die Breite des Untermenüpunkts festgestellt werden
					if(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].offsetWidth*1 > maxwidth){
						//alert(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].offsetWidth);
						maxwidth = liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].offsetWidth*1;
						//alert(maxwidth);
						maxwidth=maxwidth+1;
					}
				}
				else if(isnoff15 && textwidth(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].innerHTML) > maxwidth){  // Wennn es sich un einen FF nicht 1.5 handelt muss die Breite des Untermenüpunkts festgestellt werden mit Hilfe der Funktion Textwidth
					maxwidth = textwidth(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].innerHTML);
				}
			}  
			if(isie | isns | isnoff15){ // Wenn die Breite festgestellt werden musste wird sie gesetzt
				liobjekte[i].getElementsByTagName("div")[0].style.width = maxwidth + "px";  // der DIV-Container des Submenüs wird auf die richtige Breite gesetzt
				if(isie){  // Wenn es sich um einen IE handelt kann der aktuelle Stye mit der Eigenschaft currentStyle festgestellt werden
					maxwidth = maxwidth - (parseInt(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0].currentStyle.paddingLeft) + parseInt(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0].currentStyle.paddingRight));
				}
				else{  // Ansonsten wird der Style mit getComputedStyle festgestellt
					maxwidth = maxwidth - (parseInt(window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").getPropertyValue("padding-left"))  +  parseInt(window.getComputedStyle(liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[0],"").getPropertyValue("padding-right")));
				}
				for(j = 0; j < hasli(liobjekte[i], "a"); j++){  // Alle Untermenüpunkte werden durchgelaufen
					liobjekte[i].getElementsByTagName("div")[0].getElementsByTagName("a")[j].style.width = maxwidth + "px";  // die Breite des Untermenüpunkts wird gesetzt
				}
			}
		}
	}
	for(i=0; i<menupunkte.length; i++){
		menupunkte[i].getElementsByTagName("a")[0].urclass = menupunkte[i].getElementsByTagName("a")[0].className;
	}
	// CSS-Classen für erstes und letztes Element werden gesetzt
	menupunkte[menupunkte.length-1].getElementsByTagName("div")[0].className += " last";
	menupunkte[0].getElementsByTagName("div")[0].className += " first";
	menupunkte[menupunkte.length-1].getElementsByTagName("a")[0].className += " last"
	menupunkte[0].getElementsByTagName("a")[0].className += " first";
	for(i=0; i< menupunkte.length; i++){
		submenupunkte[i][0].className += " first";
		submenupunkte[i][submenupunkte[i].length-1].className += " last";
	}
	if(isie){  // Wenn es sich um einen IE handelt wird der Selectbox-Bug umgangen
		fixIeSelectBoxBug();
	}
	if(isnoff15){ // Wenn es sich um einen FF nicht 1.5 handelt wird das Element zur Feststellung der Breite entfernt
		document.getElementById("textbreite").innerHTML = "";
		document.body.innerHTML.split('<a href="#" id="textbreite"></a>').join("");
	}
}
function menu_over(mid){
	menueinbl(mid);  // Submenü wird eingeblendet und andere ausgeblendet
	menuover[mid] = true;  // Wenn diese eigenschaft true ist dann wird das Submenü bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gelöscht
}
function menu_out(mid){
	menuover[mid] = false;  // Wenn diese eigenschaft true ist dann wird das Submenü bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gelöscht
	interval = window.setInterval("menuout_time("+mid+")", menu_timeout);  // Intervall wird gesetzt
}
function submenu_over(mid){
	menuover[mid] = true;  // Wenn diese eigenschaft true ist dann wird das Submenü bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gelöscht
}
function submenu_out(mid){
	menuover[mid] = false;  // Wenn diese eigenschaft true ist dann wird das Submenü bei einem Timeout nicht ausgeblendet
	window.clearInterval(interval);  // Intervall wird gelöscht
	interval = window.setInterval("menuout_time("+mid+")", menu_timeout);  // Intervall wird gesetzt
}
function menuout_time(mid){  // Wird durch einen Intervall aufgerufen
	if(menuover[mid] == false){  // Wenn diese eigenschaft true ist dann wird das Submenü bei einem Timeout nicht ausgeblendet
		menupunkte[mid].getElementsByTagName("div")[0].style.visibility = "hidden";
		menupunkte[mid].getElementsByTagName("a")[0].className = menupunkte[mid].getElementsByTagName("a")[0].className.split("aktiv").join("");
	}
	window.clearInterval(interval);  // Intervall wird gelöscht
}
function menueinbl(mid){
	// Alle Submenüs werden ausgeblendet
	menupunkte[aktivmenu].getElementsByTagName("div")[0].style.visibility = "hidden";
	menupunkte[aktivmenu].getElementsByTagName("a")[0].className = menupunkte[aktivmenu].getElementsByTagName("a")[0].className.split("aktiv").join("");
	menupunkte[aktivmenu].style.zIndex = 1;
	aktivmenu = mid;
	menupunkte[mid].style.zIndex = 200;
	menupunkte[mid].getElementsByTagName("div")[0].style.visibility = "visible";  // Übergebenes Submenü wird eingeblendet
	if(activeitem){  // Wenn die Eigenschaft für ein aktiviertes Menüitem true ist werden die AKTIV-Classen gesetzt
		if(mid==0){
			menupunkte[mid].getElementsByTagName("a")[0].className = menupunkte[mid].getElementsByTagName("a")[0].urclass + " first firstaktiv";
		}
		else if(mid == menupunkte.length-1){
			menupunkte[mid].getElementsByTagName("a")[0].className = menupunkte[mid].getElementsByTagName("a")[0].urclass + " last lastaktiv";
		}
		else{
			menupunkte[mid].getElementsByTagName("a")[0].className += " aktiv";
		}
	}	
}
function fixIeSelectBoxBug(){  // IE Selectbox Bug wir durch eine Hinterlegung eines IFrames umgangen
	for(i=0; i<menupunkte.length; i++){
		menupunkte[i].getElementsByTagName("div")[0].innerHTML = menupunkte[i].getElementsByTagName("div")[0].innerHTML + '<iframe id="m'+ i +'-iframe" src="javascript:false;" scrolling="no" frameborder="0" style="position: absolute; top: 0px; left: 0px; display: none; filter:alpha(opacity=0);"></iframe> </A>';
		zwsubmenupunkte = menupunkte[i].getElementsByTagName("div")[0].innerHTML.split("</A>")
		for(j=0; j<submenupunkte[i].length; j++){
			zwsubmenupunkte[j] = zwsubmenupunkte[j] + ' <span> </span> </A>';
		}
		menupunkte[i].getElementsByTagName("div")[0].innerHTML = zwsubmenupunkte.join("");
		
		subma = menupunkte[i].getElementsByTagName("div")[0];
		iframe = document.getElementById('m'+ i +'-iframe');
		iframe.style.width = subma.offsetWidth;
		iframe.style.height = subma.offsetHeight;
		iframe.style.top = -parseInt(subma.currentStyle.borderTopWidth);
		iframe.style.left = -parseInt(subma.currentStyle.borderLeftWidth);
		iframe.style.zIndex = subma.style.zIndex - 1;
		iframe.style.display = "block";	
	}
}
function textwidth(text){  // Wenn es sich um einen FF nicht 1.5 handelt wird diese Funktion benötigt um die Breite der Links festzustellen
	document.getElementById("textbreite").innerHTML =  text;
	return document.getElementById("textbreite").offsetWidth;
}
var interval;  // die Intervall Variable für das Timeout wird erstellt
aktivmenu = 0;
//-->

function displayLocalPrices(argURL){
	//open a new window and name it "displayWindow" for possible future reference
	displaywindow = window.open(argURL, 'Display', 'scrollbars, resizable, width=1000, height=1000');
}

function displayLocal(argURL){
	//open a new window and name it "displayWindow" for possible future reference
	displaywindow = window.open(argURL, 'Display', 'scrollbars, resizable, width=1000, height=1000');
}
function displaySmall(argURL){
	//open a new window and name it "displayWindow" for possible future reference
	displaywindow = window.open(argURL, 'Display', 'scrollbars, resizable, width=500, height=300');
}
function displayVideo(argURL){
	//open a new window and name it "displayWindow" for possible future reference
	displaywindow = window.open(argURL, 'Display', 'scrollbars, resizable, width=500, height=400');
}
