var Site = {
	init: function(){
		// Die überblendenden Kopfgrafiken sind im Container 'Kopfgrafiken'
		if ($('kopfgrafiken')) {
			// Alle Bilder für den Kopf
			array_slides = $('kopfgrafiken').getElements('img');
			if (array_slides.length > 1) {
				Site.imageSlide(2, array_slides.length);
			}
		}
		
		
		// Styleswitcher (momentan eigentlich doch noch per Direktlink/PHP)
		if ($('zoom')) {
			var myCookie = Cookie.read('brrstyler');
			if (myCookie == 'styler-big') {
				$('zoomin').fade(0.7);
				$('zoomin').addEvent('click',function(e) {
					e = new Event(e);
					e.stop();
				});
				$('zoomout').addEvent('click',function(e) {
					e = new Event(e);
					e.stop();
					keks = Cookie.write('brrstyler', 'styler');
					location.href = location.href;
				});
			} else {
				$('zoomout').fade(0.7);
				$('zoomout').addEvent('click',function(e) {
					e = new Event(e);
					e.stop();
				});
				$('zoomin').addEvent('click',function(e) {
					e = new Event(e);
					e.stop();
					keks = Cookie.write('brrstyler', 'styler-big');
					location.href = location.href;
				});
			}
		}
		
		// Formular zu Vogelbeobachtung mit Google Maps
		if ($('gmort')) {
			initializeGM();
			
			$('form_rechtswert').addEvent('blur',function() {
				gmCheck();
			});
			
			$('form_hochwert').addEvent('blur',function() {
				gmCheck();
			});
		}
		


		$$('a.sendafriend').each(function(item, index) {
			item.addEvent('click',function(e) {
				e = new Event(e);e.stop();
				sendform = this.nextSibling.nextSibling;

				if (sendform.getStyle('display') == 'none') {
 					sendform.setStyle('display','block');
				}
				
			});
			
			$('sendafriendform').addEvent('submit', function(e){
			
				e = new Event(e);
				e.stop();
				
				feedback = this.getElement('.feedbackblock');
				formset = this.getElement('.formset');
				
 				this.addClass('submitting');

//				if ($('nleintragenemail').get('value') != ''){
				if (true){
					var req = new Request.HTML({
						url:'/_ajax/sendafriend.php', 
						onSuccess: function(responseTree, responseElements, response, responseJavaScript) {
							thisform = $('sendafriendform');
							feedback = document.getElement('.feedbackblock');
							formset = document.getElement('.formset');
							
							thisform.removeClass('submitting');
							
							feedback.addClass('feedback');
							if(response == 'failemail'){
								feedback.set('html','DIES IST LEIDER KEIN GÜLTIGE E-MAIL-ADRESSE<br />Bitte korrigieren Sie Ihre Eingabe.');
							} else if(response == 'failname'){
								feedback.set('html','BITTE GEBEN SIE IHREN NAME/E-MAIL AN<br />Es ist kein anonymer Versand möglich.');
							} else {
								formset.setStyle('display','none');
								if(response == 'ok'){
									feedback.set('html','Ihre E-Mail wurde versendet.<br />Vielen Dank für Ihr Interesse am Biosphärenreservat Rhön.');
								} else if(response == 'fail'){
									feedback.set('html','<b>Problem beim Versand&helip;!</b>');
								}
							}
						}
					}).post(this);
					
					req.send();
				}
			});
		});
		
		
		// Bei der Vogelbeobachtung, Darstellung der Klasse/Unterart zu einer ausgewählten Art
		if ($('form_artenname')) {
			Site.req = new Request.HTML({url:'/_ajax/artenliste.php', 
				onSuccess: function(html) {
					$('artengruppe').set('text', '');
					$('artengruppe').set('class', '');
					$('artengruppe').adopt(html);
				},
				onFailure: function() {
					$('artengruppe').set('text', 'FAIL');
				}
			});
			
			if ($('form_artenname').get('value') != '') {
				Site.artenAJAX();
			}
			
			$('form_artenname').addEvent('change', function() {
				Site.artenAJAX();
			});
		}
		
		
		
		
		// Bei der Vogelbeobachtung, Auswahl von Datum/Zeit
		if ($('form_datum')) {
			beobCal = new Calendar({ form_datum: 'd.m.Y' });
		}
		if ($('form_uhrzeit')) {
			var zeit = $('form_uhrzeit').get('value').split(':');
			
			var mdate = new Date();
			mdate.setHours( zeit[0] ); 
			mdate.setMinutes( zeit[0] ); 
			
			var beobTime = new TimeSpinner($('form_uhrzeit'), {
				increment: 30
				}, 
			mdate); 

			$('form_uhrzeit').addEvent('blur', function() {
				var zeit = $('form_uhrzeit').get('value').split(':');
				str_stunde = zeit[0];
				str_minute = zeit[1];
				bit_fehler = 0;
				
				if (zeit.length != 2) {
					bit_fehler = 1;
				}
				if (isNaN(zeit[0]) || zeit[0] < 0 || zeit[0] > 23) {
					str_stunde = '00';
					bit_fehler = 1;
				}
				if (isNaN(zeit[1]) || zeit[1] < 0 || zeit[1] > 59) {
					str_minute = '00';
					bit_fehler = 1;
				}
				
				if (bit_fehler == 1) {
					$('form_uhrzeit').set('value',str_stunde+':'+str_minute);
					alert('Ungültige Zeitangabe');
				}
				
			});

		}
	},
	
	
	artenAJAX: function(){
		// Wurde eine Art ausgewählt?
		if ($('form_artenname').get('value') != '') {
			// Bestehende Daten kurz einfärben, damit man merkt dass sich gleich was ändert
			$('artengruppe').set('class', 'loading');
			
			// Die Daten holen, die zu dieser Art gehören
			Site.req.get({'artid': $('form_artenname').get('value') });
			Site.req.send();
		} else {
			$('artengruppe').set('class', '');
			$('artengruppe').set('text', '');
		}
	},

	imageSlide: function(nextImage, int_anzahl){
		// Welches ist das nächste Bild?
		imageNext = $('headslide_'+nextImage);
		
		// 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)
		(function () {
			imageNext.get('tween', {property: 'opacity', duration: 4000}).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 = $('headslide_'+i);
						anderesImage.setStyle('z-index', '25');
						anderesImage.setStyle('display', 'none');
					}
					imageNext.setStyle('z-index', '25');
				}
				
				// Die nächste Überblendung einleiten
				Site.imageSlide((nextImage % int_anzahl)+1, int_anzahl);
			});
		}).delay(12000);
	}
};

function initializeGM() {
  if (GBrowserIsCompatible()) {
	map = new GMap2(document.getElementById("gmort"));
	
	LatAlsText = document.getElementById('form_rechtswert').value;
	LngAlsText = document.getElementById('form_hochwert').value;
	
	var center = new GLatLng(LatAlsText,LngAlsText);
	map.setCenter(center, 12);
	
	var mapTypeControl = new GMapTypeControl();
	var topRight = new GControlPosition(G_ANCHOR_TOP_RIGHT, new GSize(10,10));
	var bottomRight = new GControlPosition(G_ANCHOR_BOTTOM_RIGHT, new GSize(10,10));
	map.addControl(mapTypeControl, topRight);
	map.addControl(new GLargeMapControl());
	map.addControl(new GOverviewMapControl());
	
	GEvent.addListener(map, "moveend", function(e) {
		marker.setLatLng(map.getCenter());
		zuweisen();
	});
	
	marker = new GMarker(center, {draggable: true});
	
	GEvent.addListener(marker, "dragstart", function() {
		map.closeInfoWindow();
	});
	
	GEvent.addListener(marker, "dragend", function() {
		zuweisen();
	});
	map.addOverlay(marker);
	}
}

function zuweisen() {
	var koordinaten = marker.getLatLng().toUrlValue().split(',');
	
	if (document.getElementById('form_rechtswert')) document.getElementById('form_rechtswert').value = koordinaten[0];
	if (document.getElementById('form_hochwert')) document.getElementById('form_hochwert').value = koordinaten[1];
	
	map.panTo(marker.getLatLng());
}

function gmCheck() {
	// Die von Hand eingegebene Koordinaten prüfen und Pin entsprechend in der Karte darstellen
	LatAlsText = parseFloat(document.getElementById('form_rechtswert').value);
	LngAlsText = parseFloat(document.getElementById('form_hochwert').value);
	
	if (isNaN(LatAlsText) || isNaN(LngAlsText)) {
		alert('Eingegebene Koordinaten sind nicht korrekt.');
	} else {
		var center = new GLatLng(LatAlsText,LngAlsText);
		
		map.setCenter(center);
		marker.setLatLng(center);
	}
}


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