var DatePicked = function() {
		var departure = $("#departure"); // START
		var arrival = $("#arrival"); // ENDE
		var nights = $("#nights");
		var person = $("#person");

		var triggeringElement = $(this);
		
		departure.datepicker('option', 'minDate', "d");
		var departureDate = departure.datepicker("getDate");
		
		var minArrivalDate = new Date();
		if (departureDate != null) {
				minArrivalDate.setDate(departureDate.getDate() + 1);
		} else {
				minArrivalDate.setDate(minArrivalDate.getDate() + 1);
		}
		arrival.datepicker('option', 'minDate', minArrivalDate);

		var arrivalDate = arrival.datepicker("getDate");

		if (departureDate != null && arrivalDate != null && triggeringElement.attr("id") != "nights") {
				var oneDay = 1000*60*60*24;
				var difference = Math.ceil((arrivalDate.getTime() - departureDate.getTime()) / oneDay);
				nights.val(difference);
		} else if (departureDate != null && triggeringElement.attr("id") == "nights") {
				var nightsEntered = parseInt(nights.val());
				if (nightsEntered >= 2) {
						var newArrivalDate = new Date();
						newArrivalDate.setDate(departureDate.getDate() + nightsEntered);
						arrival.datepicker("setDate", newArrivalDate);
				} else {
						alert("Nights must be greater than 2.");
				}
		}
		
		$('#stepTwoDeparture').val(departure.val());
		$('#stepTwoArrival').val(arrival.val());
		$('#stepTwoNights').val(nights.val());
		$('#stepTwoPerson').val(person.val());
		$('#overviewPerson').html(person.val());
		$('#overviewDeparture').html(departure.val());
		$('#overviewArrival').html(arrival.val());
		$('#overviewNights').html(nights.val());
}
$(function() {

	$("#departure, #arrival").datepicker({
			onSelect: DatePicked,
			dateFormat: "D, dd.mm.yy",
			showOtherMonths: true,
			highlightWeek: true,
			closeAtTop: false,
			showStatus: true,
			showAnim: "slideDown",
			changeMonth: true,
			changeYear: true,
			dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
			dayNamesShort: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa'],
			monthNamesShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Dez'],
			showOn: "both",
			buttonImage: "design/images/ui/calendar.gif",
			buttonImageOnly: true
	});
	$("#nights").change(DatePicked);
	DatePicked();
});




$(document).ready(function(){

	  		var diaopts = {bgiframe: true, width: 600, resizable: false, minHeight: 0, modal: true, autoOpen: false, overlay: { backgroundColor: '#000', opacity: 0.5}};

			$.fn.resetForm = function() {
				return this.each(function() {
					if (typeof this.reset == 'function' || (typeof this.reset == 'object' && !this.reset.nodeType))
						this.reset();
				});
			};			

		  	$("#bookForm").validate({
				submitHandler: function(form) {
					var anrede		=	$('#anrede option:selected').text();
					var vorname		=	$('#vorname').val();
					var nachname	=	$('#nachname').val();
					var id			=	$('#sid').val();
					var plz			=	$('#plz').val();
					var street		=	$('#street').val();
					var bday		=	$('#bday').val();;
					var stadt		=	$('#stadt').val();
					var email		=	$('#email').val();
					var telefon		=	$('#telefon').val();
					var firma		=	$('#firma').val();
					var stepTwoPerson	 =	$('#stepTwoPerson').val();
					var stepTwoNights	 =	$('#stepTwoNights').val();	
					var stepTwoDeparture =	$('#departure').val();
					var stepTwoArrival	 =	$('#arrival').val();
			   		$.post('inc/func.php', 
					 { anrede: anrede, email: email, vorname: vorname, nachname: nachname, plz:plz, street:street, bday:bday, stadt:stadt, email:email, telefon:telefon, stepTwoPerson:stepTwoPerson, stepTwoNights:stepTwoNights, stepTwoDeparture:stepTwoDeparture, stepTwoArrival:stepTwoArrival, firma:firma, ID:id, sender: "jquery", form:"book" },
					 function(data){
						if(data){
							
							$('#bookNextStep').html(data);
							//$('#contactForm').hide();
							//$('#state').html('Nachricht wurde gesendet!').show();
						}
					 });
			 	},
				//debug: true,
				//errorElement: "em",
				errorContainer: $("#warning, #summary"),
				//errorPlacement: function(error, element) {
				//error.appendTo( element.parent("td").next("td") );
				//},
				success: function(label) {
					label.text(".").addClass("success");
					//$("#summary").html("Okay nur noch <span id='iv'>" + validator.numberOfInvalids() + "</span> Fehler!.");
				},
				highlight: function(element, errorClass) {
					$(element).addClass('ui-form-error');
					//$('#iv').text(validator.numberOfInvalids());
					//$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
				  },
				unhighlight: function(element, errorClass) {
					$(element).removeClass('ui-form-error');
					//$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
				  },
				rules: {
				bday: {
					required: true,
					dateDE: true
				},
				email: {
					required: true,
					email: true
				},
				nachname: {
					required: true,
					minlength: 5
				},
				vorname: {
					required: true,
					minlength: 5
				},
				street: {
					required: true,
					minlength: 5
				},
				plz: {
					required: true,
					digits: true,
					minlength: 5
				},
				stadt: {
					required: true,
					minlength: 5
				},
				agree: "required"
			}
			});
			
		  	$("#contactForm").validate({
				submitHandler: function(form) {
					var id			=	$('#contactForm').find('#sid').val();
					var name		=	$('#contactForm').find('#name').val();
					var email		=	$('#contactForm').find('#email').val();
					var message		=	$('#contactForm').find('#message').val();
					var firma		=	$('#contactForm').find('#firma').val();
			   		$.post('inc/func.php', 
					 { email: email, name: name, email:email, sid:id, message:message, firma:firma, sender: "jquery", form:"contact" },
					 function(data){
						if(data){
							
							$('#contact').html(data);
						}
					 });
			 	},
				//debug: true,
				//errorElement: "em",
				errorContainer: $("#warning, #summary"),
				//errorPlacement: function(error, element) {
				//error.appendTo( element.parent("td").next("td") );
				//},
				success: function(label) {
					label.text(".").addClass("success");
					//$("#summary").html("Okay nur noch <span id='iv'>" + validator.numberOfInvalids() + "</span> Fehler!.");
				},
				highlight: function(element, errorClass) {
					$(element).addClass('ui-form-error');
					//$('#iv').text(validator.numberOfInvalids());
					//$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
				  },
				unhighlight: function(element, errorClass) {
					$(element).removeClass('ui-form-error');
					//$(element.form).find("label[for=" + element.id + "]").addClass(errorClass);
				  },
				rules: {
				name: {
					required: true,
					minlength: 5
				},
				email: {
					required: true,
					email: true
				},
				message: {
					required: true,
					minlength: 10
				},
				agree: "required"
			}
			});

		  	var makePrint = function(obj){
				$('#print').html($(obj).html());
				$('#printRoute').hide();
				window.print();
				
			}
		  		
			$('#bookStepOne').live('click', function(e){
				$('#changeFrom').html($("#start").val());
				$('#changeTo').html($("#end").val());
				$('#changePerson').html($("#person").val());
				$('#step2from').val($("#start").val());
				$('#step2to').val($("#end").val());
				$('#step2person').val($("#person").val());
				$('#bookStepOne').val('Aktualisieren');
				$('#teaserFlash').hide();
				$('#bookNextStep').show();
				e.preventDefault();
				e.stopPropagation();
				return true;
			
			});
			
			$('#person').live('click', function(e){
				$('#overviewPerson').html($("#person").val());
				$('#stepTwoPerson').val($("#person").val());
			})
			
			$('#bookStepTwo').live('click', function(e){
				//$('#teaserFlash').hide();
				//$('#bookNextStep').show();
				e.preventDefault();
				e.stopPropagation();
				return true;
			
			});
			
			$('#kontakt').live('click', function(e){
				e.preventDefault();
				e.stopPropagation();
				$("#contactForm").submit();
				//$('#dialogKontakt').dialog(diaopts);
				//$('#dialogKontakt').dialog('option', 'buttons', { "Abbrechen": function() { $(this).dialog("close"); validator.resetForm(); return false}, "Absenden": function() { $("#contactForm").submit();  } });
				//$('#dialogKontakt').dialog('open');
				return true;
			});
			
			$('#printRoute').live('click', function(e){
				e.preventDefault();
				e.stopPropagation();
				$('#dialogPrint').dialog(diaopts);
				$('#dialogPrint').dialog('option', 'width', 740);
				$('#dialogPrint').dialog('option', 'buttons', { "Abbrechen": function() { $(this).dialog("close");return false}, "Drucken": function() { $(this).dialog("close"); makePrint(this); /*window.print();*/  } });
				$('#dialogPrint').html($('#mapzone').clone());
				$('#dialogPrint').find('#directions').width(700);
				$('#dialogPrint').find('#map_canvas').width(700);
				$('#dialogPrint').find('#printRoute').hide();
				$('#dialogPrint').dialog('open');
				return true;				
			});									   
						
});
