// jQuery UI Datepicker
jQuery(function($) {
	$.datepicker.regional['de'] = {
		prevText:        'zurück',
		nextText:        'weiter',
		monthNames:      ['Jänner','Februar','März','April','Mai','Juni','Juli','August','September','Oktober','November','Dezember'],
		dayNames:        ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'],
		dayNamesMin:     ['So','Mo','Di','Mi','Do','Fr','Sa'],
		firstDay:        1,
		buttonText:      'Kalender',
		isRTL:           false
	};
	$.datepicker.regional['en'] = {
		buttonText:      'Calendar'
	};
	$.datepicker.regional['it'] = {
		prevText:        'prec',
		nextText:        'succ',
		monthNames:      ['Gennaio','Febbraio','Marzo','Aprile','Maggio','Giugno','Luglio','Agosto','Settembre','Ottobre','Novembre','Dicembre'], 
		dayNames:        ['Domenica','Lunedì','Martedì','Mercoledì','Giovedì','Venerdì','Sabato'], 
		dayNamesMin:     ['Do','Lu','Ma','Me','Gi','Ve','Sa'], 
		firstDay:        1,
		buttonText:      'Calendario',
		isRTL:           false
	};
	$.datepicker.setDefaults($.datepicker.regional[$('html').attr('lang')]);
	$.datepicker.setDefaults({
		buttonImage:     '/fileadmin/template/img/icons/datepicker.png',
		buttonImageOnly: true,
		dateFormat:      'yy-mm-dd', // ISO 8601
		minDate:         '0y',
		showOn:          'both',
		showOtherMonths: true
	});
	
	function select_to_datepicker(prefix, min_date, bind_to) {
		if($('select[name="' + prefix + '_yyyy"], select[name="' + prefix + '_mm"], select[name="' + prefix + '_dd"]').length == 3) {
			$('select[name="' + prefix + '_yyyy"], select[name="' + prefix + '_mm"], select[name="' + prefix + '_dd"]').css({display: 'none'});
			$('select[name="' + prefix + '_yyyy"]').before('<input type="text" name="' + prefix + '" readonly="readonly" class="s25" />');
			$('input[name="' + prefix + '"]').val(
				$('select[name="' + prefix + '_yyyy"]').val() + '-' +
				$('select[name="' + prefix + '_mm"]'  ).val() + '-' +
				$('select[name="' + prefix + '_dd"]'  ).val()
			);
			
			// Wenn die select-Elemente keine Werte haben, wird das Textfeld wieder geleert.
			if ($('input[name="' + prefix + '"]').val() == '--') {
				$('input[name="' + prefix + '"]').val('');
			}
			$('input[name="' + prefix + '"]').datepicker({
				minDate: min_date,
				onSelect: function(dateText, inst) {
					var arr = dateText.split('-');
					$('select[name="' + prefix + '_yyyy"]').val(arr[0]);
					$('select[name="' + prefix + '_mm"]'  ).val(arr[1]);
					$('select[name="' + prefix + '_dd"]'  ).val(arr[2]);
					
					// Bei der Auswahl eines Anreisedatums wird der Picker des Abreisedatums auf eine Mindestauswahl von +1 Tag (86400000 Millisekunden) gesetzt.
					$('input[name="' + bind_to + '"]').datepicker(
						'option',
						$.extend({
							minDate: new Date(
								parseInt(
									Date.parse(
										$('input[name="' + prefix + '"]').datepicker('getDate')
									)
								)+86400000
							)
						})
					);
					
				}
			});
		}
	}
	
	select_to_datepicker('mf_datum_von', '+1d', 'mf_datum_bis');
	select_to_datepicker('mf_datum_bis', '+2d');
});

jQuery('#media').ready(function() {
	if(jQuery('#media>*').length > 1) {
		jQuery('#media_mask').append('<span class="controls"><span class="next">next</span><span class="play">play</span><span class="pause">pause</span><span class="prev">prev</span></span>');
	}
	jQuery('#media').cycle(
		{
			fx:     'fade',
			timeout: 4000,
			speed:   2500,
			random:  1      // does not with with jquery.cycle.lite.min.js, should be replaced with custom version
		}
	);
	jQuery('#media_mask .prev').bind(
		'click',
		function() {
			jQuery('#media').cycle('pause');
			jQuery('#media').cycle('prev');
			jQuery('#media_mask .pause').css('display', 'none');
			jQuery('#media_mask .play').css('display', 'block');
		}
	);
	jQuery('#media_mask .pause').bind(
		'click',
		function() {
			jQuery('#media').cycle('pause');
			jQuery('#media_mask .pause').css('display', 'none');
			jQuery('#media_mask .play').css('display', 'block');
		}
	);
	jQuery('#media_mask .play').bind(
		'click',
		function() {
			jQuery('#media').cycle('resume');
			jQuery('#media_mask .play').css('display', 'none');
			jQuery('#media_mask .pause').css('display', 'block');
		}
	);
	jQuery('#media_mask .next').bind(
		'click',
		function() {
			jQuery('#media').cycle('pause');
			jQuery('#media').cycle('next');
			jQuery('#media_mask .pause').css('display', 'none');
			jQuery('#media_mask .play').css('display', 'block');
		}
	);
});

function gmap2_after_initialize() {
	jQuery('#media_mask').css('width', '65px');
	jQuery('#media_mask .controls').css('display', 'none');
};
