// Globale Variablen definition
var main_ul;
var b_popUpIsOpen = false;
var o_openPopUpReference;
 
// +++ INIT FUNKTION
function init(){
	if(document.getElementsByTagName){
		// Alle Elementen des Typs "UL" finden
		ulNodeList = document.getElementsByTagName("UL");
		//alert(ulNodeList);
		
		// mit der Klasse "POPUP"
		for(i=0;i<ulNodeList.length;i++){
			if(ulNodeList[i].className == "popUp"){
				// PopUp Element
				popUpUl = ulNodeList[i];
				// RollOver Element sollte ein Image sein!!
				parentN = popUpUl.parentNode.firstChild;
				
				// Öffnen des PopUp Menüs über den ParentNode
				parentN.parentNode.onmouseover = function (e){
					openPopUp(this);
				}
				
				parentN.parentNode.onmouseout = function(e){
					closePopUp();
				}
	
				// Ausblenden
				popUpUl.style.position = 'relative';
				
				// Linke Position setzen
				popUpUl.style.left = "+" + parentN.width + "px";
				
				// Obere Position setzen 
				differenzAusgleich = 1;	// Variable um differenzen auszugleichen (Bsp.: Border)
				popUpUl.style.top = "-" + (parentN.height + differenzAusgleich) + "px";
				
				popUpUl.style.left=popUpUl.offsetLeft;
				popUpUl.style.top=popUpUl.offsetTop;
				
				popUpUl.style.position = 'absolute';
				popUpUl.style.visibility = 'hidden';
			}
		}
		
		function openPopUp(parentNode){
			// Prüfen ob bereits ein PopUp geöffnet ist
			if(b_popUpIsOpen){
				// PopUp schließen
				for(k=0;k<o_openPopUpReference.childNodes.length;k++){
					if(o_openPopUpReference.childNodes[k].nodeName == "UL"){
						// Einblenden
						o_openPopUpReference.childNodes[k].style.visibility = 'hidden';
					}
				}
			}
			
			for(k=0;k<parentNode.childNodes.length;k++){
				if(parentNode.childNodes[k].nodeName == "UL"){
					// Einblenden
					parentNode.childNodes[k].style.visibility = 'visible';
				}
			}
			
			//Reference setzen
			b_popUpIsOpen = true;
			o_openPopUpReference = parentNode;
		}
	
		function closePopUp(){
			// Prüfen ob bereits ein PopUp geöffnet ist
			if(b_popUpIsOpen){
				// PopUp schließen
				for(k=0;k<o_openPopUpReference.childNodes.length;k++){
					if(o_openPopUpReference.childNodes[k].nodeName == "UL"){
						// Einblenden
						o_openPopUpReference.childNodes[k].style.visibility = 'hidden';
					}
				}
				
				//Reference setzen
				b_popUpIsOpen = false;
				o_openPopUpReference = "";
			}
		}
	}
}
