
/**
 * Navigationen Projekte GenialZentral
 * Standard-Navi wird zu DropDowns umgewandelt.
 *
 * @author Niels Bobogk <n.bobogk@i-d.de>
 */
(function (Navigation) {
    Navigation.Projects = Class.create(iD, {
        NAME: "Thueringen.GenialZentral.Navigation.Projects",

        /**
         * Konstruktor
         * Erzeugt aus der Html-NaviListe zwei kaskadierende DropDown-Navi-Elemente
         * eines für die Orte, eines für die Projekte des aktuellen Ortes.
         * 
         * @param {Object} container - Original-Html-Liste
         */
        initialize: function (container) {
			var txtHeaderCities = "Stadt auswählen";
			var txtHeaderProjects = "Projekt auswählen";
			
			// Liste der Orte ist erstes Listen-Level
			this.listCities = container;
			
			if (this.listCities) {
				this.listCities.addClassName('uc-body cities');

				// Projektübersichtsseite hat keine akztive Stadt!
				if (this.listCities.down("li.active ul")) {
					// alle Listenelemente der zweiten, aktiven Ebene == Projekte
					this.listProjects = this.listCities.down("li.active ul").remove();
					if (this.listProjects) {
						this.listProjects.addClassName('uc-body');
						this.listCities.insert({
							"after" : this.listProjects
						});
					}
				}
						
				// Headertext extrahieren
				var headerCities = this.listCities.down("li.active a");
				
				if (headerCities) {
					txtHeaderCities = headerCities.textContent || headerCities.innerText || txtHeaderCities;
				} 
				
				// Container und Kopfzeile
				this.listCities.wrap('div', {
					"class": "container cities " + this.separatedName(" ")
				});
				this.listCities.insert({
					"before": '<h2 class="header"><a class="uc-head" href="#" title="Stadt auswählen">' + txtHeaderCities + '</a></h2>'
				});
				
				this.menuCities = new iD.UI.Controls.Menu(this.listCities.up());
				
				// Projekte-Liste
				if (this.listProjects) {
					var headerProjects = this.listProjects.down("li.active a");
					if (headerProjects) {
						txtHeaderProjects = headerProjects.textContent || headerProjects.innerText || txtHeaderProjects;
					}
					
					this.listProjects.wrap("div", {
						"class": "container projects " + this.separatedName(" ")
					});
					// @EDIT: falls 2zeilig höhe dynamisch setzen
					this.headProjects = new Element("h2",{'class':'header'}).update('<a class="uc-head" href="#" title="Projekt auswählen">' + txtHeaderProjects + '</a>');
					this.listProjects.insert({'before':this.headProjects});
					//this.listProjects.insert({
					//	"before": '<h2 class="header"><a class="uc-head" href="#" title="Projekt auswählen">' + txtHeaderProjects + '</a></h2>'
					//});
					this.listProjects.setStyle({top:this.headProjects.getHeight()-4+'px'});
					this.menuProjects = new iD.UI.Controls.Menu(this.listProjects.up());
				}
				
				this.listCities.removeClassName('projects');
			}
			
            this.listCities.fire(this.separatedName(":") + ":initialized");
        }
    });
})(Thueringen.GenialZentral.Navigation);


