/* German initialisation for the jQuery UI date picker plugin. */
/* Written by Milian Wolff (mail@milianw.de). */
jQuery(function($){
	$.datepicker.regional['de'] = {
		closeText: 'schließen',
		prevText: '&#x3c;zurück',
		nextText: 'Vor&#x3e;',
		currentText: 'heute',
		monthNames: ['Januar','Februar','März','April','Mai','Juni',
		'Juli','August','September','Oktober','November','Dezember'],
		monthNamesShort: ['Jan','Feb','Mär','Apr','Mai','Jun',
		'Jul','Aug','Sep','Okt','Nov','Dez'],
		dayNames: ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
		dayNamesShort: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		dayNamesMin: ['So','Mo','Di','Mi','Do','Fr','Sa'],
		weekHeader: 'Wo',
		dateFormat: 'dd.mm.yy',
		firstDay: 1,
		isRTL: false,
		showMonthAfterYear: false,
		yearSuffix: ''};
	$.datepicker.setDefaults($.datepicker.regional['de']);
});

function day_diff(start, end) {
	if (start!='' && end!='') {
		start = start.split(".");
		end = end.split(".");
		var ds = new Date(Number(start[2]), Number(start[1])-1, Number(start[0]), 0, 0, 0);
		var de = new Date(Number(end[2]), Number(end[1])-1, Number(end[0]), 0, 0, 0);
		return Math.ceil((de.getTime() - ds.getTime())/86400000);
	}
}

$(document).ready(function(){
	$(".img").lightbox();
	
	$(".regen").click(function () {
		$(this).addClass('aktiv');
		$(".wind").removeClass('aktiv');
		$("#regen").css("display","block");
		$("#wind").css("display","none");
		return false;
	});	
	
	$(".wind").click(function () {
		$(this).addClass('aktiv');
		$(".regen").removeClass('aktiv');
		$("#regen").css("display","none");
		$("#wind").css("display","block");
		return false;
	});
	
	//Category-Tree
	$("#category_sel_x").change(function () {
		if ($(this).attr("checked")) {
			$(".category_sel input:checkbox").attr("checked","checked");
		} else {
			if ($("li.category_sel input:checkbox").length==$("li.category_sel input:checked").length) {
				$(".category_sel input:checkbox").removeAttr("checked");
			}
		}
	});
	$("li.category_sel input:checkbox").click(function () {
		var li = $(this).parent("li");
		if ($(this).attr("checked")) {
			if ($(li).find('li input:checkbox').length) {
				$(li).find('li input:checkbox').attr("checked","checked"); 
			}
			if ($("li.category_sel input:checkbox").length==$("li.category_sel input:checked").length) {
				$("#category_sel_x").attr("checked","checked");
			}
		} else {
			$("#category_sel_x").removeAttr("checked");
			if ($(li).find('li input:checkbox').length) {
				$(li).find('li input:checkbox').removeAttr("checked"); 
			}
		}
	});
	$("#category_sel_x").trigger('change');
	
	
	$("#anreise").click(function() { return false; }).datepicker({
		maxDate: '+12m',
		minDate: '+'+min_time_start+'d',
		dateFormat: 'dd.mm.yy',
		buttonImage: 'images/calendar.gif',
		showOn: 'both',
		constrainInput: true,
		buttonImageOnly: true,
		firstDay: 1,
		buttonText: 'Anreisedatum auswählen',
		onClose: function(dateText, inst) {
			var instance = $(this).data("datepicker");
			var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, instance.settings);
			date.setTime(date.getTime() + min_time*24*60*60*1000);
			$('#abreise').datepicker("option", 'minDate', date);
			$("#naechte").val(day_diff(dateText, $("#abreise").val()));
		}
	});
	$("#abreise").datepicker({
		maxDate: '+12m',
		minDate: '+'+(min_time_start+min_time)+'d',
		dateFormat: 'dd.mm.yy',
		buttonImage: 'images/calendar.gif',
		showOn: 'both',
		constrainInput: true,
		buttonImageOnly: true,
		buttonText: 'Abreisedatum auswählen',
		onClose: function(dateText, inst) {
			var instance = $(this).data("datepicker");
			var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, dateText, instance.settings);
			date.setTime(date.getTime() - min_time*24*60*60*1000);
			$('#anreise').datepicker("option", 'maxDate', date);
			$("#naechte").val(day_diff($("#anreise").val(), dateText));
		}
	});
	$('#naechte').numeric();
	$("#naechte").keyup(function() {
		if ($(this).val()=='') {
			$(this).val(1);
		}
		var instance = $('#anreise').data("datepicker");
		var date = $.datepicker.parseDate(instance.settings.dateFormat || $.datepicker._defaults.dateFormat, $('#anreise').val(), instance.settings);
		date.setTime(date.getTime() + $(this).val()*24*60*60*1000);
		$('#abreise').datepicker('setDate', date);

		//$('#abreise').val(Tag+'.'+Monat+'.'+Jahr);
	});
	
	$("#buchungsanfrage").submit(function () {
		var error = false;
		var error_msg = "";
		if ($('#anreise').attr('value') == '') {
			error = true;
			error_msg = error_msg + "Bitte ein Anreisedatum wählen. \n";
		}
		if ($('#abreise').attr('value') == '') {
			error = true;
			error_msg = error_msg + "Bitte ein Abreisedatum wählen. \n";
		}
		if (error == true) {
			alert(error_msg);
			return false;
		}
	});
});
