
$(document).ready(function(){
	
	/* Mega - Dropdown
	*******************/
	var activeMainNav = ''
	var activeLayer = ''
	var statusMainNav = ''
	$('#mainNav li').bind({
		
		mouseenter: function() {
			
			statusMainNav = $(this).children('a').attr('class');
			activeMainNav = $(this);
			activeLayer = '#' + $(this).attr('class') + 'Dropdown';
			
			$(activeLayer).show();
			
		},
		mouseleave: function() {
			
			$(activeLayer).hide();
			
			$(activeLayer).mouseenter( function() {
				$(activeLayer).show();
				$(activeMainNav).children('a').addClass('active');
			});
			
			$(activeLayer).mouseleave( function() {
				$(activeLayer).hide();
				//active - Klasse entfernen (vorherigen "statischen" Status berücksichtigen)
				if(statusMainNav != 'active') $(activeMainNav).children('a').removeClass('active');
			});
		
		}
		
	});
					
	
	/* Ajax - Spinner
	*******************/
	//Spinner-Div erstellen
	$('<div id="ajaxSpinner"></div>').hide().appendTo('body');
	
	
	/* Init - Ajax Manipulation Region - SelectBox - searchFormReise
	*****************************************************************/
	$('#searchFormReise #kontinent').change(function() {
		
		var position = $("#searchFormReise #region").offset(); //SelectBox - Position ermitteln
		$("#searchFormReise #region").html("<option value=''>loading...</option>"); //Loading - Text
		$('#ajaxSpinner').css({ top: position.top + 1 , left: position.left + $(this).width() - 40 }).fadeIn(); //Spinner einblenden
		
		//Request senden & verarbeiten
		$.post("../common/ajaxRequest.php?regionForSelectSearchReise=1&kontinent="+$('#searchFormReise #kontinent :selected').val(), function(response) {
			$("#searchFormReise #region").html(response);
			$('#ajaxSpinner').fadeOut();
		});
		
	});
	
	
	/* Init - Ein/Ausblenden Reiseart - Selectbox beim Laden der Seite - searchFormReise
	*************************************************************************************/
	$('#searchFormReise #reisekategorie, #searchFormReise #labelForReisekategrie').hide();
	
	if($('#searchFormReise #reisekategorie_parent :selected').val() != '') {
		$('#searchFormReise #reisekategorie, #searchFormReise #labelForReisekategrie').show();
	}
	
	
	/* Init - Ajax Manipulation Reisekateorie - SelectBox - searchFormReise
	************************************************************************/
	$('#searchFormReise #reisekategorie_parent').change(function() {
		
		//Ein/Ausblenden Reiseart - Selectbox
		if($('#searchFormReise #reisekategorie_parent :selected').val() != '') $('#searchFormReise #reisekategorie, #searchFormReise #labelForReisekategrie').fadeIn();
		else $('#searchFormReise #reisekategorie, #searchFormReise #labelForReisekategrie').fadeOut();
		
		//Spinner Positionierung/Einblenden
		var position = $("#searchFormReise #reisekategorie").offset(); //SelectBox - Position ermitteln
		$("#searchFormReise #reisekategorie").html("<option value=''>loading...</option>"); //Loading - Text
		$('#ajaxSpinner').css({ top: position.top + 1 , left: position.left + $(this).width() - 40 }).fadeIn(); //Spinner einblenden
		
		//Request senden & verarbeiten
		$.post("../common/ajaxRequest.php?reisekategorieForSelectSearchReise=1&reisekategorie_parent="+$('#searchFormReise #reisekategorie_parent :selected').val(), function(response) {
			$("#searchFormReise #reisekategorie").html(response);
			$('#ajaxSpinner').fadeOut();
		});
		
	});
			
	
	/* Init - Datepicker
	****************************/
	$.datepicker.setDefaults({
		dateFormat: 'dd.mm.yy',
		monthNames: ['Januar','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
		prevText: 'zurück',
		nextText: 'vorwärts',
		dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		firstDay: 1,
		numberOfMonths: 1,
		buttonImage: '../img/iconDatePicker.gif',
		buttonImageOnly: true,
		buttonText: 'Datum wählen',
		showOn: 'both'
	});
	
	//Default Date-Range (Min) für Rückreise-Feld setzen
	$('#date_end').datepicker({ minDate: 0 });
	
	//Date-Range (Min) für Anreise-Feld + Func zur dyn. Aktualisierung des Rückreise-Feld
	$('#date_start').datepicker({
		minDate: 0,
		onSelect: function() {
					
			//Aktuelle Werte auslesen
			dateStart = $('#' + this.id).datepicker('getDate');
			dateEnd = $('#date_end').datepicker('getDate');
			
			//Abreise-Feld zurücksetzen, falls kleiner als Anreise
			if(dateEnd != null && dateEnd <= dateStart) {
				$('#date_end').datepicker('setDate', null);
			}
			
			//Date-Range + Preselection für Abreise-Feld setzen
			dateAbreise = new Date();
			dateAbreise.setTime(dateStart.getTime() + (24 * 60 * 60 * 1000)); // + 1 Tag
			$('#date_end').datepicker('option', 'minDate', dateAbreise);
			$('#date_end').datepicker('option', 'defaultDate', dateAbreise);
		}
	});
	
	
	/* Init - Ajax Manipulation Region - SelectBox - searchFormKarte
	*****************************************************************/
	$('#searchFormKarte #kontinent').change(function() {
		
		var position = $("#searchFormKarte #region").offset(); //SelectBox - Position ermitteln
		$("#searchFormKarte #region").html("<option value=''>loading...</option>"); //Loading - Text
		$('#ajaxSpinner').css({ top: position.top + 1 , left: position.left + $(this).width() - 40 }).fadeIn(); //Spinner einblenden
		
		//Request senden & verarbeiten
		$.post("../common/ajaxRequest.php?regionForSelectSearchKarte=1&kontinent="+$('#searchFormKarte #kontinent :selected').val(), function(response) {
			$("#searchFormKarte #region").html(response);
			$('#ajaxSpinner').fadeOut();
		});
		
	});
		
	
	/* Init - Tabs
	****************************/
	$('.tab').not($('.tab:first')).hide();
	$('.tabNav a:not(.outside)').each(function(){
		$(this).click(function(event){
			$('.tabNav .active').toggleClass('active');
			$(this).toggleClass('active');
			$(this).parent().toggleClass('active');
			var href = $(this).attr('href');
			$('.tab').hide();
			$(href).show();
			event.preventDefault();
		});
	});

	
	/* Init Search-Formular - Validierung
	***************************************************************/
	if ( $('#searchFormReise').length ) { //Check, ob Element existiert
	
		$('#searchFormReiseBtn').formValidator({
			scope			: '#searchFormReise',
			errorDiv		: ''
		});
	}
	
	
	/* Init Kontakt-Formular - Validierung
	***************************************************************/
	if ( $('#contactFormBtn').length ) { //Check, ob Element existiert
	
		$('#contactFormBtn').formValidator({
			scope		: '#contactForm',
			errorDiv	: '#formValidMsg',
			customErrMsg: 'Bitte überprüfen Sie die rot markierten Felder!'
		});
	}
	
	
	/* Init Newsletter-Formular - Validierung
	***************************************************************/
	if ( $('#newsletterFormBtn').length ) { //Check, ob Element existiert
	
		$('#newsletterFormBtn').formValidator({
			scope		: '#newsletterForm',
			errorDiv	: '#formValidMsg',
			customErrMsg: 'Bitte überprüfen Sie die rot markierten Felder!'
		});
	}
	
	
	/* Init Anmeldung-Formular - Validierung
	***************************************************************/
	if ( $('#anmeldungFormBtn').length ) { //Check, ob Element existiert
	
		$('#anmeldungFormBtn').formValidator({
			scope		: '#anmeldungForm',
			errorDiv	: '#formValidMsg',
			customErrMsg: 'Bitte überprüfen Sie die rot markierten Felder!',
			divWarningAppendTo: "parent"
		});
	}
	
	
	/* Init - Anmeldeformular - Manipulation
	****************************************************************/
	$('#anmeldungForm .del').hide(); //Option "Person entfernen" ausblenden
	var mPC = 0; //morePersonCounter
	$('#anmeldungForm .add').click(function() {
		mPC++;
		var htmlcode = '';
		htmlcode+= '<div id="morePerson'+mPC+'">';
		htmlcode+= '<br /><div class="hr"></div>';
		htmlcode+= '<div class="twoColLeft">';
		htmlcode+= '<label for="anrede'+mPC+'">Anrede* / Titel:</label><select id="anrede'+mPC+'" name="anrede[]" class="req-string selectbox" style="width: 100px;">'+$('#anmeldungForm #anrede0').html()+'</select> ';
		htmlcode+= '<input type="text" id="titel'+mPC+'" name="titel[]" value="" class="textbox" style="width: 96px;" />';
		htmlcode+= '<label for="vorname'+mPC+'">Vorname, Name:*</label> <input type="text" id="vorname'+mPC+'" name="vorname[]" value="" class="req-string textbox" style="width: 96px;" /> <input type="text" id="name'+mPC+'" name="name[]" value="" class="req-string textbox" style="width: 96px;" />';
		htmlcode+= '<label for="geburtsdatum'+mPC+'">Geburtsdatum:*</label><input type="text" id="geburtsdatum'+mPC+'" name="geburtsdatum[]" value="" class="req-string textbox" style="width: 96px;" />';
		htmlcode+= '</div>';
		htmlcode+= '<div class="twoColRight">';
		htmlcode+= '<label for="unterbringung'+mPC+'">Unterbringung:*</label><select id="unterbringung'+mPC+'" name="unterbringung[]" class="req-string selectbox">'+$('#anmeldungForm #unterbringung0').html()+'</select>';
		htmlcode+= '<label for="abflugort'+mPC+'">Abflugort:*</label><input type="text" id="abflugort'+mPC+'" name="abflugort[]" value="" class="req-string textbox" style="width: 200px;" />';
		htmlcode+= '</div>';
		htmlcode+= '<div class="clearer"></div>';
		htmlcode+= '</div>';
			
		//Formular erweitern
		$(htmlcode).appendTo($("#anmeldungForm #morePersons"));
		$("#anmeldungForm #morePerson"+mPC).hide();
		$("#anmeldungForm #morePerson"+mPC).fadeIn();
		
		//Option "Person entfernen"
		$('#anmeldungForm .del').fadeIn();
		$('#anmeldungForm .del').unbind("click");
		$('#anmeldungForm .del').click(function() {
			
			//Formular verringern
			$("#anmeldungForm #morePerson"+mPC).fadeOut();
			$("#anmeldungForm #morePerson"+mPC).remove();
			
			mPC--;
			
			//Option "Person entfernen" ausblenden
			if(mPC == 0) $('#anmeldungForm .del').fadeOut();
		})
	
	})
		
	
	/* TR - Background Markierung bei aktivierter Checkbox
	******************************************************************/
	if ( $('.contentTbl .tdata input.checkbox').length ) { //Check, ob Element existiert
		
		$('.contentTbl .tdata input.checkbox').click(function() {
			if($(this).is(':checked')) $(this).parent().parent().addClass("tdataActive");
			else $(this).parent().parent().removeClass("tdataActive");
		})
	}
	
	
	/* Init - Tooltip fuer Anforderungslevel
	****************************************************************/
	if ( $('.tooltip').length ) { //Check, ob Element existiert
		
		$('.tooltip').tooltip({
			//positionLeft: true,
			showURL: false,
			track: true,
			fade: 75
		});
	}
	
	
	/* Init - Lightbox
	***********************/
	if ( $(".lightbox").length ) { //Check, ob Element existiert
	
		$(".lightbox").lightbox({
			strings : {
				prevLinkTitle: 'Vorheriges Bild',
				nextLinkTitle: 'Nächstes Bild',
				prevLinkText:  '&laquo; Zur&uuml;ck',
				nextLinkText:  'Weiter &raquo;',
				closeTitle: 'Schliessen',
				image: 'Bild ',
				of: ' von '
			}
		});
	}
	
	
	/* Ein- / Ausblenden Galerie-Reisebericht
	************************************************/
	if ( $("#galerieReisebericht").length ) { //Check, ob Element existiert
		
		//Ausblenden des Berichtes
		$('#galerieReisebericht').hide();
		
		//Erzeugung Link für Sichtbarkeits - Steuerung des Berichts
		$('<p><a href=\"#\" id=\"visibilityController\" class="show">Reisebericht einblenden</a></p>').insertBefore('#galerieReisebericht');
		
		$('#visibilityController').click( function(){
			
			if( $('#galerieReisebericht').is(':hidden') ) {
			
				$('#visibilityController').text('Reisebericht ausblenden').removeClass().addClass('hide'); //Link ändern
				$('#galerieReisebericht').slideDown(); //Bericht einblenden
			
			}
			else {
				
				$('#visibilityController').text('Reisebericht einblenden').removeClass().addClass('show'); //Link ändern
				$('#galerieReisebericht').slideUp(); //Bericht ausblenden
			}
		});
		
	}
		
});






