
globalDropDownsObj = new globalDropDowns();
globalDropDownsObj.init();

globalDropDownsObj.registerNewDropdown("dropdownButtonCinema","cinemaList"); // main_template > Stadtauswahl
globalDropDownsObj.registerNewDropdown("dropdownButtonTagesansicht","todayDropdown"); // index_html > Heute im Kinopolis
globalDropDownsObj.registerNewDropdown("dropdownButtonWoche","weekDropdown"); // index_html > Das will ich sehen
globalDropDownsObj.registerNewDropdown("filter50Button","filter50Dropdown"); // Filter Dropdown (halbe Breite)
globalDropDownsObj.registerNewDropdown("sort50Button","sort50Dropdown"); // Sortierungs Dropdown (halbe Breite)
globalDropDownsObj.registerNewDropdown("zeitraumButton","zeitraumDropdown"); // bald_im_kino > Dropdown f�r Zeitraumfilterung (volle Breite)
globalDropDownsObj.registerNewDropdown("adminMenuContentButton","adminMenuContentDropdown"); //
globalDropDownsObj.registerNewDropdown("adminMenuEventsButton","adminMenuEventsDropdown"); // 
globalDropDownsObj.registerNewDropdown("adminMenuBoniButton","adminMenuBoniDropdown"); //  
globalDropDownsObj.registerNewDropdown("adminMenuObjectButton","adminMenuObjectDropdown"); //
globalDropDownsObj.registerNewDropdown("addContentButton","addContentDropdown"); //
globalDropDownsObj.registerNewDropdown("salutationButton","salutationDropdown"); //
globalDropDownsObj.registerNewDropdown("entertainmentTrailerFilterButton","entertainmentTrailerFilterDropdown"); //
globalDropDownsObj.registerNewDropdown("entertainmentTrailerSortButton","entertainmentTrailerSortDropdown"); //

//Diese Klasse behandelt alle Dropdowns auf der Seite
function globalDropDowns(){
	var dropdowns = new Array();

	//Wir Initialisieren den globalen Klick Event
	this.init = function(){
		document.observe('click', function(event){ 
			try{
				clickedIntoDropdown = false;
				//Wir holen uns das Aktuell geklickte Element
				var element = Event.element(event);

	
				//Wir gehen bis zum Body hoch und schauen ob wir in einem Dropdown sint
				while($(element).up(0).nodeName.toLowerCase() != "body"){
					element = $(element).up(0);
					if (element.id){
						//Liefert indexOF nicht -1 zur�ck dann haben wir eine ID gefunden und sind im Dropdown
						if(dropdowns.indexOf(element.id) != -1){
							clickedIntoDropdown = true;
							break;
						}
					}
	
				}
				
				//Wir haben nicht in ein Dropdown geklickt also werden alle Dropdowns geschlossen
				if (clickedIntoDropdown == false){
					globalDropDownsObj.hideAllDropdowns();
				}
			}catch(e){
			}
		});
	}


	//Wir registrieren ein neues Dropdown
	this.registerNewDropdown = function(dropdownID, slideObj){
		if ($(dropdownID)) {
			dropdowns.push(slideObj);
			//Wir legen auf den Button den Slide event
			eval("$('" + dropdownID + "').onclick = function(){ globalDropDownsObj.hideAllDropdowns(); Effect.toggle('" + slideObj + "','slide', {duration:0.3}); }");
		}
	}
	
	//Wir verstecken alle Dropdowns (wir durch die this.init behandelt)	
	this.hideAllDropdowns = function(){
		for (i = 0 ; i < dropdowns.length; i++){
			//Ist das Element nicht Versteckt, sliden wir es hoch.
			if($(dropdowns[i]).style.display != "none"){
				Effect.toggle(dropdowns[i],'slide', {duration:0.3});
			}
		}
	}
	
}
