$(document).ready(function() {

	(function($) {

        $.fn.valChange = function(newValue) {

            return this.each(function() {

                var obj = $(this);

                obj.val(newValue);

                obj.change();

            });

        };

    })(jQuery);

	$("#anreisemonat").change(function() {
		if ($('#anreisemonat').val() == 2) {
			var selTag = $('#anreisetag').attr("selected","selected").val();
			$("#anreisetag").children().remove();
			for (var i = 1; i < 29; i++){
				$('#anreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#anreisetag').val(selTag).attr("selected","selected");
			}
		} else if ($('#anreisemonat').val() == 4 || $('#anreisemonat').val() == 6 || $('#anreisemonat').val() == 9 || $('#anreisemonat').val() == 11) {
			var selTag = $('#anreisetag').attr("selected","selected").val();
			$("#anreisetag").children().remove();
			for (var i = 1; i < 31; i++){
				$('#anreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#anreisetag').val(selTag).attr("selected","selected");
			}
		} else {
			var selTag = $('#anreisetag').attr("selected","selected").val();
			$("#anreisetag").children().remove();
			for (var i = 1; i < 32; i++){
				$('#anreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#anreisetag').val(selTag).attr("selected","selected");
			}
		}
	});

	$("#abreisemonat").change(function() {
		if ($('#abreisemonat').val() == 2) {
			var selTag = $('#abreisetag').attr("selected","selected").val();
			$("#abreisetag").children().remove();
			for (var i = 1; i < 29; i++){
				$('#abreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#abreisetag').val(selTag).attr("selected","selected");
			}
		} else if ($('#abreisemonat').val() == 4 || $('#abreisemonat').val() == 6 || $('#abreisemonat').val() == 9 || $('#abreisemonat').val() == 11) {
			var selTag = $('#abreisetag').attr("selected","selected").val();
			$("#abreisetag").children().remove();
			for (var i = 1; i < 31; i++){
				$('#abreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#abreisetag').val(selTag).attr("selected","selected");
			}
		} else {
			var selTag = $('#abreisetag').attr("selected","selected").val();
			$("#abreisetag").children().remove();
			for (var i = 1; i < 32; i++){
				$('#abreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#abreisetag').val(selTag).attr("selected","selected");
			}
		}
	});

	$("#anreisemonat").change(function() {
		var c_anreisemonat = parseInt($(this).val());
		$('#abreisemonat').val(c_anreisemonat);
	});

	$("#anreisejahr").change(function() {
		var c_anreisejahr = parseInt($(this).val());
		$('#abreisejahr').val(c_anreisejahr);
	});

	function fnAbreise() {

		/* Tagesanzahlen Anreise */

		if ($('#anreisemonat').val() == 2) {
			var selTag = $('#anreisetag').attr("selected","selected").val();
			$("#anreisetag").children().remove();
			for (var i = 1; i < 29; i++){
				$('#anreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#anreisetag').val(selTag).attr("selected","selected");
			}
		} else if ($('#anreisemonat').val() == 4 || $('#anreisemonat').val() == 6 || $('#anreisemonat').val() == 9 || $('#anreisemonat').val() == 11) {
			var selTag = $('#anreisetag').attr("selected","selected").val();
			$("#anreisetag").children().remove();
			for (var i = 1; i < 31; i++){
				$('#anreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#anreisetag').val(selTag).attr("selected","selected");
			}
		} else {
			var selTag = $('#anreisetag').attr("selected","selected").val();
			$("#anreisetag").children().remove();
			for (var i = 1; i < 32; i++){
				$('#anreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#anreisetag').val(selTag).attr("selected","selected");
			}
		}

		/* Tagesanzahlen Abreise */

		if ($('#abreisemonat').val() == 2) {
			var selTag = $('#abreisetag').attr("selected","selected").val();
			$("#abreisetag").children().remove();
			for (var i = 1; i < 29; i++){
				$('#abreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#abreisetag').val(selTag).attr("selected","selected");
			}
		} else if ($('#abreisemonat').val() == 4 || $('#abreisemonat').val() == 6 || $('#abreisemonat').val() == 9 || $('#abreisemonat').val() == 11) {
			var selTag = $('#abreisetag').attr("selected","selected").val();
			$("#abreisetag").children().remove();
			for (var i = 1; i < 31; i++){
				$('#abreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#abreisetag').val(selTag).attr("selected","selected");
			}
		} else {
			var selTag = $('#abreisetag').attr("selected","selected").val();
			$("#abreisetag").children().remove();
			for (var i = 1; i < 32; i++){
				$('#abreisetag').children().each(function() {
				$(this).removeAttr("selected");
				}).end().append("<option value=\"" + i + "\">" + i + "</option>");
				$('#abreisetag').val(selTag).attr("selected","selected");
			}
		}

		/* Kalender */

		//var anzahl_tage_anreise = $("#anreisetag > option").size();

		var c_anreisetag = parseInt($("#anreisetag").val());
		c_anreisetag = c_anreisetag + 1;
		$('#abreisetag').val(c_anreisetag);

		if ($('#anreisemonat').val() == 2) {

			var c_abreisemonat = parseInt($('#anreisemonat').val());
			$('#abreisemonat').val(c_abreisemonat);

			var c_abreisejahr = parseInt($('#anreisejahr').val());
	    	$('#abreisejahr').val(c_abreisejahr);

			if ($('#anreisetag').val() == 28) {
				var c_abreisejahr = parseInt($('#anreisejahr').val());
	    		$('#abreisejahr').val(c_abreisejahr);

	    		var c_abreisemonat = parseInt($('#anreisemonat').val());
				$('#abreisemonat').val(c_abreisemonat + 1);

				$('#abreisetag').val('1');
			}

		}

		if ($('#anreisemonat').val() == 4 || $('#anreisemonat').val() == 6 || $('#anreisemonat').val() == 9 || $('#anreisemonat').val() == 11) {

			var c_abreisemonat = parseInt($('#anreisemonat').val());
			$('#abreisemonat').val(c_abreisemonat);

			var c_abreisejahr = parseInt($('#anreisejahr').val());
	    	$('#abreisejahr').val(c_abreisejahr);

			if ($('#anreisetag').val() == 30) {
				var c_abreisejahr = parseInt($('#anreisejahr').val());
	    		$('#abreisejahr').val(c_abreisejahr);

				var c_abreisemonat = parseInt($('#anreisemonat').val());
				$('#abreisemonat').val(c_abreisemonat + 1);

				$('#abreisetag').val('1');
			}

		}

		if ($('#anreisemonat').val() == 1 || $('#anreisemonat').val() == 3 || $('#anreisemonat').val() == 5 || $('#anreisemonat').val() == 7 || $('#anreisemonat').val() == 8 || $('#anreisemonat').val() == 10) {

			var c_anreisemonat = parseInt($('#anreisemonat').val());
			$('#abreisemonat').val(c_anreisemonat);

			var c_abreisejahr = parseInt($('#anreisejahr').val());
	    	$('#abreisejahr').val(c_abreisejahr);

			if ($('#anreisetag').val() == 31) {
				var c_abreisejahr = parseInt($('#anreisejahr').val());
	    		$('#abreisejahr').val(c_abreisejahr);

				var c_abreisemonat = parseInt($('#anreisemonat').val());
				$('#abreisemonat').val(c_abreisemonat + 1);

				$('#abreisetag').val('1');
			}

		}

		if ($('#anreisemonat').val() == 12) {

			var c_abreisemonat = parseInt($('#anreisemonat').val());
			$('#abreisemonat').val(c_abreisemonat);

			var c_abreisejahr = parseInt($('#anreisejahr').val());
	    	$('#abreisejahr').val(c_abreisejahr);

			if ($('#anreisetag').val() == 31) {
				var c_abreisejahr = parseInt($('#abreisejahr').val());
	    		$('#abreisejahr').val(c_abreisejahr + 1);

	    		$('#abreisemonat').val('1');

	    		$('#abreisetag').val('1');
			}

		}

		/* Abreisedatum als Datum im Kalender auswählen */

		n_abreisejahr = $('#abreisejahr').val();
		n_abreisemonat = $('#abreisemonat').val();
		n_abreisetag = $('#abreisetag').val();

		var AbreiseDatum = Date.UTC(n_abreisejahr, n_abreisemonat-1, n_abreisetag);
		var abreisedate = new Date(AbreiseDatum);

		document.getElementById('dateabreise').DateChooser.setSelectedDate(abreisedate);

	}

	var EarliestDate = new Date();
	EarliestDate.setMonth(EarliestDate.getMonth());

	var LatestDate = new Date();
	LatestDate.setMonth(LatestDate.getMonth() + 48);

	var Anreise = document.getElementById('dateanreise');
	Anreise.DateChooser = new DateChooser();
	Anreise.DateChooser.setEarliestDate(EarliestDate);
	Anreise.DateChooser.setLatestDate(LatestDate);
	Anreise.DateChooser.setWeekStartDay(1);
	Anreise.DateChooser.setUpdateField({'anreisemonat':'n', 'anreisetag':'j', 'anreisejahr':'Y'});
	Anreise.DateChooser.setUpdateFunction(fnAbreise);
	Anreise.DateChooser.setIcon('/cms/styles/default/img/calendar.png', 'anreisejahr', true, '');

	var Abreise = document.getElementById('dateabreise');
	Abreise.DateChooser = new DateChooser();
	Abreise.DateChooser.setEarliestDate(EarliestDate);
	Abreise.DateChooser.setLatestDate(LatestDate);
	Abreise.DateChooser.setWeekStartDay(1);
	Abreise.DateChooser.setUpdateField({'abreisemonat':'n', 'abreisetag':'j', 'abreisejahr':'Y'});
	Abreise.DateChooser.setIcon('/cms/styles/default/img/calendar.png', 'abreisejahr', true, '');

	return true;

});
