$(function() {

	var toDate = function (dateString) {
		if (!dateString) return;
		var parts = dateString.split('-');
		var date = new Date();
		if (parts[2].substr(0, 1) == '0') parts[2] = parts[2].substr(1);
		if (parts[1].substr(0, 1) == '0') parts[1] = parts[1].substr(1);
		date.setYear(parts[0]);
		date.setMonth(parts[1] - 1);
		date.setDate(parts[2]);
		return date;
	}

	var metaInformationen = $('#meta-informationen');

	var possibleDates = {};
	metaInformationen.find('.possible-dates li').each(function() {
		possibleDates[$(this).text()] = true;
	});
	var firstPossibleDate = toDate(metaInformationen.find('.possible-dates li:first').text());
	var lastPossibleDate = toDate(metaInformationen.find('.possible-dates li:last').text());

	$('.formsection-europeers_kalender_suche').each(function() {
		$(this).before('<div class="ui-calender"></div>');

		if (metaInformationen.find('.selected-month').text()) {
			var defaultDate = new Date();
			defaultDate.setYear(metaInformationen.find('.selected-year').text());
			defaultDate.setMonth(metaInformationen.find('.selected-month').text() - 2);
			defaultDate.setDate(1);
		} else {
			alert('y');
			defaultDate = null;
		}

		var kalenderDiv = $(this).prev();
		kalenderDiv.datepicker({
			onSelect: function(dateString) {
				var parts = dateString.split('-');
				if (parts[2].substr(0, 1) == '0') parts[2] = parts[2].substr(1);
				if (parts[1].substr(0, 1) == '0') parts[1] = parts[1].substr(1);
				$('.fieldname-europeers_kalender__day input').val(parts[2]);
				$('.fieldname-europeers_kalender__month select').val(parts[1]);
				$('.fieldname-europeers_kalender__year select').val(parts[0]);
				$('#content form input.action-filter').click();
			},
			minDate: firstPossibleDate,
			maxDate: lastPossibleDate,
			gotoCurrent: true,
			dateFormat: 'yy-mm-dd',
			defaultDate: defaultDate,
			beforeShowDay: function(date) {
				var year = date.getFullYear();
				var month = date.getMonth() + 1;
				if (month < 10) month = '0' + month;
				var day = date.getDate();
				if (day < 10) day = '0' + day;
				var dateString = year + '-' + month + '-' + day;
				if (possibleDates[dateString] == true)
					return [true, 'mit-veranstaltung'];
				else
					return [false, 'keine-veranstaltung'];
			},
			numberOfMonths: 3,
			firstDay: 1,
			showCurrentAtPos: 0,
			monthNames: ['Januar', 'Februar', 'März', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Dezember'],
			dayNamesMin: ['So', 'Mo', 'Di', 'Mi', 'Do', 'Fr', 'Sa']
		});
	});

});