var Site = {
	init: function(){
		// Die Subnavigation initialisieren
		if ($('main-navigation')) {
			// Den Subnavi-Listen die entsprechende CSS-Klasse verpassen, damit diese nicht bzw. nur bei hover dargestellt werden.
			var subnaviFelder = $$('#main-navigation li ul');
			subnaviFelder.each(function(ul, i) {
   				ul.addClass('sub-navigation');
    			ul.getParent().addEvent('mouseover', function() {
    				this.addClass('feldhover');
    			});
    			ul.addEvent('mouseout', function() {
    				this.getParent().removeClass('feldhover');
    			});
    			ul.getParent().addEvent('mouseout', function() {
    				this.removeClass('feldhover');
    			});
    			/*
    			ul.addEvent('mouseenter', function() {
    				this.addClass('feldhover');
    			});
    			ul.getParent().addEvent('mouseout', function() {
    				this.removeClass('feldhover');
    			});
    			*/
			});
			
			/*
			var naviFelder = $$('#main-navigation li');
			naviFelder.each(function(li, i) {
				li.set({
    				class: 'sub-navigation'
    			});
			});
			*/
		}
		
		if ($('nleintragen')) {
			$('nleintragen').addEvent('submit', function(e){
				e = new Event(e);
				e.stop();
				
				if ($('nleintragenemail').get('value') != ''){
					var req = new Request.HTML({
						url:'/nl-eintragen.html', 
						onSuccess: function(responseTree, responseElements, response, responseJavaScript) {
							// Formular ausblenden
							if(response == 'failemail'){
								// Meldung einblenden
								$('nleintragen').getElement('p').set('html','DIES IST LEIDER KEIN GÜLTIGE E-MAIL-ADRESSE<br />Bitte korrigieren Sie Ihre Eingabe.');
							} else if (response == 'doppelemail') {
								$('nleintragen').getElement('p').set('html','DIESE IST BEREITS IN DEN NEWSLETTERVERTEILER EINGETRAGEN<br />&nbsp;');
							} else {
								if(response == 'ok'){
									// Meldung einblenden
									$('nleintragen').getElement('fieldset').set('html','<h2>Vielen Dank</h2><p class="absatz">Sie werden in K&uuml;rze eine E-Mail erhalten, um Ihre Anmeldung f&uuml;r den Menschen im Salon Newsletter zu best&auml;tigen.</p>');
								} else if(response == 'fail'){
									// Meldung einblenden
									$('nleintragen').getElement('fieldset').set('html','<h2>Problem beim Eintragen</h2>');
								}
							}
						}
					}).post($('nleintragen'));
					
					req.send();
				}
			});
		}
		
		// Der Banner-Skipper auf der Startseite
		if ($('microskip')) {
			int_micro_scroll = $$('#microskip li').length;
			aktuell = 1;
			
			var scroll = new Fx.Scroll('microskip', {
				wait: false,
				duration: 650,
				offset: {'x': 0, 'y': 0},
				transition: Fx.Transitions.Back.easeOut
			});
			
			$('micro-navi-next').addEvent('click', function(event) {
				event = new Event(event).stop();
				
				// Die nächste Id ermitteln.
				if(aktuell < int_micro_scroll) {
					aktuell = aktuell+1;
				} else {
					aktuell = 1;
				}
				
				scroll.toElement('micro-'+aktuell);
			});

			$('micro-navi-back').addEvent('click', function(event) {
				event = new Event(event).stop();
				
				// Die nächste Id ermitteln.
				if(aktuell > 1) {
					aktuell = aktuell-1;
				} else {
					aktuell = int_micro_scroll;
				}
				
				scroll.toElement('micro-'+aktuell);
			});

			$('micro-navi-next').addEvent('mouseover', function(event) {
   				this.addClass('feldhover');
			});
			$('micro-navi-back').addEvent('mouseover', function(event) {
   				this.addClass('feldhover');
			});
			$('micro-navi-next').addEvent('mouseout', function(event) {
   				this.removeClass('feldhover');
			});
			$('micro-navi-back').addEvent('mouseout', function(event) {
   				this.removeClass('feldhover');
			});

			if ($('autoskip')) {
				(function(){
					// Die nächste Id ermitteln.
					if(aktuell < int_micro_scroll) {
						aktuell = aktuell+1;
					} else {
						aktuell = 1;
					}
					
					scroll.toElement('micro-'+aktuell);
				}).periodical ( 6500 );
			}
		}
		
		// Slides er Listenbilder
		if ($('kolumnenslide')) {
			// Alle Bilder für den Kopf
			array_slides = $('kolumnenslide').getElements('img');
			if (array_slides.length > 1) {
				Site.imageSlide(2, array_slides.length);
			}
		}
		
		// Gibt es Admin-Medlungen im Forum
		if ($('forumbulletins')) {
			// Die Close-Buttons initialisieren
			$$('#forumbulletins a.closer').each(function(link){
				link.addEvent('click', function(event) {
					event = new Event(event).stop();
					array_parId = this.parentNode.get('id').split('-');
					var req = new Request.HTML({url:'/_ajax/bulletinblend.php'}).get({'bbid': array_parId[1]});
					this.parentNode.destroy();
					// Sind noch Bulletins im Fenster? Wenn nicht, dann den Rahmen auch entfernen
					if ($$('#forumbulletins a.closer').length == 0)
						{
						$('forumbulletins').destroy();
						}
				});
			});
		}
		
		
		
		// Die einzelnen Tagestipps am Rand der Kolumnen
		if ($('tagestippkasten')) {
			// Der Weiter-Button
			$('tagestippkasten').getElement('.prev').addEvent('click', function(event) {
				event = new Event(event).stop();
				$('tagestippkasten').setStyle('opacity',0.5);
				int_id = $('tagestipprahmen').getElement('div').get('class').split('-')[1];
				str_dir = this.getElement('a').get('href').split('#')[1];
				var req = new Request.HTML({url:'/_ajax/tagestipps.php',
					onSuccess: function(html) {
						$('tagestippkasten').setStyle('opacity',1);
						$('tagestipprahmen').empty();
						$('tagestipprahmen').adopt(html);
					}
				}).post({'tid': int_id, 'dir': str_dir});
			});
			// Der Weiter-Button
			$('tagestippkasten').getElement('.next').addEvent('click', function(event) {
				event = new Event(event).stop();
				$('tagestippkasten').setStyle('opacity',0.5);
				int_id = $('tagestipprahmen').getElement('div').get('class').split('-')[1];
				str_dir = this.getElement('a').get('href').split('#')[1];
				var req = new Request.HTML({url:'/_ajax/tagestipps.php',
					onSuccess: function(html) {
						$('tagestippkasten').setStyle('opacity',1);
						$('tagestipprahmen').empty();
						$('tagestipprahmen').adopt(html);
					}
				}).post({'tid': int_id, 'dir': str_dir});
			});
		}
		
		
		// Das kleine Feld zur Mitgliedersuche
		if ($('mitgliedsuchfeld')) {
			$('mitgliedsuchfeld').addEvent('focus', function(event) {
				if (this.get('value') == 'Mitglieder suchen') {
					this.set('value','');
					this.setStyle('color','#000');
				}
			});
			$('mitgliedsuchfeld').addEvent('blur', function(event) {
				if (this.get('value') == '') {
					this.set('value','Mitglieder suchen');
					this.setStyle('color','#66692d');
				}
			});
		}
		
		// Das kleine Feld zur Mitgliedersuche
		if ($('weitereartikeleinblenden')) {
				
				$$('.blende').each(function(li, i) {
					li.fade('hide');
					li.setStyle('display','none');
				});

			$('weitereartikeleinblenden').getElement('a').addEvent('click', function(event) {
				event = new Event(event).stop();
				$('weitereartikeleinblenden').destroy();
				
				$$('.blende').each(function(li, i) {
					li.setStyle('display','block');
					li.fade('in');
				});
			});
		}
		
		// Bilder in den Immobilienangeboten
		if ($('faderbilder')) {
			// Welches ist das aktuell angezeigte Bild
			Site.akt_img = 1;
			// Kontroller, damit man während ein Fade läuft nicht weiterklicken kann
			Site.skipstop = 0;
			// Alle Bilder für den Kopf
			array_slides = $('faderbilder').getElements('div');
			if (array_slides.length > 1) {
				if ($('faderzurueck')) {
					$('faderzurueck').addEvent('click', function() {
						if (Site.skipstop == 0) {
							Site.imageSkip(0);
						}
					});
				}
				if ($('faderweiter')) {
					$('faderweiter').addEvent('click', function() {
						if (Site.skipstop == 0) {
							Site.imageSkip(1);
						}
					});
				}
			}
		}

	},
	
	simpleFormSuccess: function(response){
		// Formular ausblenden
		if(response == 'failemail'){
			// Meldung einblenden
			$E('p', 'nleintragen').setHTML ('KEIN GÜLTIGE E-MAIL-ADRESSE');
		} else {
			//$E('p', 'nleintragen').remove();
			$E('fieldset', 'nleintragen').remove();
			
			if(response == 'ok'){
				// Meldung einblenden
				$('nleintragen').setHTML ('<div class="feedback"><h2>Viel Dank</h2><p>Sie werden in K&uuml;rze eine E-Mail erhalten, um Ihre Anmeldung f&uuml;r den Menschen im Salon Newsletter zu best&auml;tigen</p></div>');
			} else if(response == 'fail'){
				// Meldung einblenden
				$('mailnotiform').setHTML ('<div class="feedback"><h2>Problem beim Eintragen</h2></div>');
			}
		}
	},
	
	imageSlide: function(nextImage, int_anzahl){
		// Welches ist das nächste Bild?
		imageNext = $('kolumnenslides_'+nextImage);
		
		// Das einzufadende Bild in Postion bringen
		imageNext.setStyle('opacity', '0.0');
		imageNext.setStyle('z-index', '300');
		imageNext.setStyle('display', 'block');
		
		// Die Überblendung starten, mit einer Verzögerung (.delay)
		(function () {
			imageNext.get('tween', {property: 'opacity', duration: 2500}).start(1).chain(function() { 
				// Die Bilder auf die richtigen Ebenen bringen (z-index), damit der nächste Fade auch funktionieren kann
				for (i=1;i<=int_anzahl;i++) {
					if (nextImage != i) {
						anderesImage = $('kolumnenslides_'+i);
						anderesImage.setStyle('z-index', '250');
						anderesImage.setStyle('display', 'none');
					}
					imageNext.setStyle('z-index', '250');
				}
				$('kolumnenslidelabel').set('html',imageNext.get('alt'));
				
				// Die nächste Überblendung einleiten
				Site.imageSlide((nextImage % int_anzahl)+1, int_anzahl);
			});
		}).delay(2500);
	},
	
	imageSkip: function(nextImage){
		Site.skipstop = 1;
		// Wieviele Bilder gibt es insgesamt?
		array_slides = $('faderbilder').getElements('div');
		int_anzahl = array_slides.length;
		
		// Welches ist das nächste Bild, vor oder zurück?
		if (nextImage == 1)
			{
			// Ein Bild weiter. Befindet man sich an einer Kante?
			if ((Site.akt_img+1) > int_anzahl)
				{
				Site.akt_img = 1;
				}
			else
				{
				Site.akt_img++;
				}
			}
		else
			{
			// Ein Bild weiter. Befindet man sich an einer Kante?
			if (Site.akt_img <= 1)
				{
				Site.akt_img = int_anzahl;
				}
			else
				{
				Site.akt_img--;
				}
			}
		
		imageNext = $('fadepic_'+Site.akt_img);
		
		// Das einzufadende Bild in Postion bringen
		imageNext.setStyle('opacity', '0.0');
		imageNext.setStyle('z-index', '30');
		imageNext.setStyle('display', 'block');
		
		// Die Überblendung starten, mit einer Verzögerung (.delay)
		imageNext.get('tween', {property: 'opacity', duration: 1500}).start(1).chain(function() { 
			// Die Bilder auf die richtigen Ebenen bringen (z-index), damit der nächste Fade auch funktionieren kann
			for (i=1;i<=int_anzahl;i++) {
				if (Site.akt_img != i) {
					anderesImage = $('fadepic_'+i);
					anderesImage.setStyle('z-index', '25');
					anderesImage.setStyle('display', 'none');
				}
				imageNext.setStyle('z-index', '25');
				Site.skipstop = 0;
			}
			
			// Die nächste Überblendung einleiten
			//Site.imageSlide((nextImage % int_anzahl)+1, int_anzahl);
		});
	}
};

window.addEvent('domready', Site.init);
