function lib_HOME_slider() {
	var pages = Math.ceil(jQuery('#home #col0').children().length / 2);
	if (pages > 1) {
		var switcher = '<ul id="switcher">';
		for (var i = 1; i <= pages ; i++) {
			if (i == 1) {
				switcher += '<li id="switcher' + i + '" class="current">' + i + '</li>';
			} else {
				switcher += '<li id="switcher' + i + '">' + i + '</li>';
			}
		}
		switcher += '</ul>'
		jQuery('#container').append(switcher);
		jQuery('#col0').wrapInner('<div id="scroller"></div>');
		jQuery('#switcher li').bind(
			'click',
			function() {
				var index = jQuery('#switcher li').index(this);
				jQuery('#switcher li:eq(' + index + ')').addClass('current');
				jQuery('#switcher li:not(:eq(' + index + '))').removeClass('current');
				jQuery('#scroller').stop();
				jQuery('#scroller').animate({left: '-' + index*718 + 'px'}, 1000);
			}
		);
	}
}

function lib_TOP_closeme(me, you, b_me, b_you) {
	jQuery('#top').slideUp(
		300,
		function() {
			jQuery(me).css('display', 'none');
			jQuery(b_me).removeClass('current');
			jQuery(b_me).unbind('click');
			jQuery(b_me).bind(
				'click',
				function() {
					lib_TOP_openme(me, you, b_me, b_you);
					return false;
				}
			);
		}
	);
}

function lib_TOP_openme(me, you, b_me, b_you) {
	jQuery('#top').slideUp(
		300,
		function() {
			jQuery(you).css('display', 'none');
			jQuery(me).css('display', 'block');
			jQuery(b_me).addClass('current');
			jQuery(b_you).removeClass('current');
			jQuery('#top').css('height', jQuery(me).css('height'));
			jQuery('#top').slideDown(400);
			jQuery(b_me).unbind('click');
			jQuery(b_me).bind(
				'click',
				function() {
					lib_TOP_closeme(me, you, b_me, b_you);
					return false;
				}
			);
			jQuery(b_you).unbind('click');
			jQuery(b_you).bind(
				'click',
				function() {
					lib_TOP_openme(you, me, b_you, b_me);
					return false;
				}
			);
		}
	);
};

function lib_TOP() {
	// Höhe ermitteln
	jQuery('#quickanfrage').css('height', jQuery('#quickanfrage').height() + 'px');
	jQuery('#quicksitemap').css('height', jQuery('#quicksitemap').height() + 'px');
	// Elemente umhängen
	jQuery("#end>div").appendTo("#top"); 
	jQuery('#qbanfrage').bind(
		'click',
		function() {
			lib_TOP_openme('#quickanfrage', '#quicksitemap', '#qbanfrage', '#qbsitemap');
			return false;
		}
	);
	jQuery('#qbsitemap').bind(
		'click',
		function() {
			lib_TOP_openme('#quicksitemap', '#quickanfrage', '#qbsitemap', '#qbanfrage');
			return false;
		}
	);
};

function lib_SEARCH() {
	// S. Arnold 13.08.2009
	// Funktion zum Leeren und Befüllen des Suchfelds
	// Fake, da nur das label-Element im Hintergrund ein und ausgeblendet wird.
	jQuery('#search #q').bind(
		'click focus change',
		function() {
			jQuery('#search label').css('display', 'none');
		}
	);
	jQuery('#search #q').bind(
		'blur',
		function() {
			if (jQuery('#q').val() == '') { jQuery('#search label').css('display', 'block'); }
		}
	);
}

function lib_MEDIA() {
	jQuery('#media').cycle(
		{
			fx:     'fade',
			timeout: 8000,
			speed:   2500,
			random:  1
		}
	);
}


function lib_GO_WEST() {
	jQuery('#go_west span').hover(
		function () {
			jQuery(this).animate({ backgroundPosition: '88px top' }, 750, 'swing');
		},
		function () {
			jQuery(this).stop().animate({ backgroundPosition: '0px top' }, 750, 'swing');
		}
	);
}



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
 });

	// Abreisedatum ist immer aktuelles Datum +1 Tag.
	$('#qf_abreise, #mf_abreise').datepicker({
		minDate: '+1d'
	});
	
	// Bei der Auswahl eines Anreisedatums wird der Picker des Abreisedatums auf eine Mindestauswahl von +1 Tag (86400000 Millisekunden) gesetzt.
	$('#qf_anreise').datepicker({
		onSelect: function(dateText, inst) {
			$('#qf_abreise').datepicker(
				'option',
				$.extend({
					minDate: new Date(
						parseInt(
							Date.parse(
								$('#qf_anreise').datepicker('getDate')
							)
						)+86400000
					)
				})
			);
		}
	});
	$('#mf_anreise').datepicker({
		onSelect: function(dateText, inst) {
			$('#mf_abreise').datepicker(
				'option',
				$.extend({
					minDate: new Date(
						parseInt(
							Date.parse(
								$('#mf_anreise').datepicker('getDate')
							)
						)+86400000
					)
				})
			);
		}
	});
});

			
function zebra_tables() {
	jQuery('div.zebra table tr:nth-child(2n)').addClass('even');
	jQuery('div.zebra table tr').hover(
		function () {
			jQuery(this).addClass('hover');
		}, 
		function () {
			jQuery(this).removeClass('hover');
		}
	);
}

function init_dropdown_price_tables() {

	jQuery('#content div.dropdown').hide('fast');
	jQuery('#content div.dropdown').closest('div.element').find('h3').css('borderBottom','3px solid #761822');
	jQuery('#content div.dropdown').closest('div.element').css('backgroundColor','#F3E9D2');
	jQuery('#content div.dropdown').closest('div.element').find('h3').append('<strong style="position:absolute;top:0;right:0;width:50px;height:auto;font-size:11px;font-weight:normal;text-transform:none;color:#666;text-align:right;" class="close">Details</strong>');
	jQuery('#content div.dropdown').closest('div.element').find('h3').append('<strong style="position:absolute;top:0;right:0;width:50px;height:auto;font-size:11px;font-weight:normal;text-transform:none;color:#666;text-align:right; display: none;" class="open">X</strong>');


	jQuery('#content div.dropdown').closest('div.element').find('h3').hover(
		function (){
			jQuery(this).css({
				borderBottom: '3px solid #ffffff',
				cursor: 'pointer'
			});
		},
		function (){
			jQuery(this).css('borderBottom','3px solid #761822');
		}
	)
	jQuery('#content div.dropdown').closest('div.element').find('h3').toggle(
		function () {
			jQuery(this).parent().find('div.dropdown').show('slow');
			jQuery(this).closest('div.element').find('strong.close').hide('slow');
			jQuery(this).closest('div.element').find('strong.open').show('slow');
		},
		function () {
			jQuery(this).parent().find('div.dropdown').hide('slow');
			jQuery(this).closest('div.element').find('strong.close').show('slow');
			jQuery(this).closest('div.element').find('strong.open').hide('slow');
		}
	);
}









jQuery(document).ready(
	function() {
		lib_TOP();
		lib_SEARCH();
		lib_MEDIA();
		lib_HOME_slider();
		lib_GO_WEST();
		zebra_tables();
		init_dropdown_price_tables();
	}
);