function getDate(str) {
	var patt=/(\d\d)\.(\d\d)\.\d*(\d\d)/;
	var result=patt.exec(str);
	if (result != null) {
		return new Date('20'+result[3],result[2]-1,result[1]);
	}
	return null;
}

jQuery(document).ready(
	function($){
		if ($("a.seekda-btn-rate").length) {
			jQuery("a.seekda-btn-rate").toggle(function(){
				jQuery(".seekda-rateform-container a.seekda-submit-rate").show();
				jQuery(".seekda-rateform-container").slideDown("slow");
			}, function(){
				jQuery(".seekda-rateform-container a.seekda-submit-rate").hide();
				jQuery(".seekda-rateform-container").slideUp("slow");
			});
			
			var setDepartureDate = function(field){
				var scope = field.closest(".seekda-rateform");
				var nights = parseInt(jQuery(".rateNumberOfNights", scope).attr("value"));
				var arrivalDateRate = jQuery(".arrival_date_rate", scope).datepicker("getDate");
				var departureDateRate = new Date(arrivalDateRate);
				departureDateRate.setDate(departureDateRate.getDate() + nights);
				var departureDayRate = departureDateRate.getDate();
				if (departureDayRate < 10) 
					departureDayRate = "0" + departureDayRate;
				var departureMonthRate = (departureDateRate.getMonth() + 1);
				if (departureMonthRate < 10) 
					departureMonthRate = "0" + departureMonthRate;
				var endDateStr = departureDateRate.getFullYear() + "-" + departureMonthRate + '-' + departureDayRate;
				jQuery(".rateEndDate", scope).attr("value", endDateStr);
			};
			jQuery("input.arrival_date_rate").datepicker({
				dateFormat: "dd.mm.yy",
				showOn: 'both',
				buttonImage: 'fileadmin/images/icon_calendar.gif',
				buttonImageOnly: true,
				onClose: function(){
					setDepartureDate(jQuery(this));
				}
			});
			
			jQuery(".arrival_date_rate").each(function(){
				var field = jQuery(this);
				setDepartureDate(field);
			});
			var submitBtnRate = jQuery("a.seekda-submit-rate");
			submitBtnRate.bind("mousedown", function(){
				var scope = jQuery(this).closest(".seekda-rateform");
				var rooms = jQuery(".seekda-room-select", scope).val();
				var persons = jQuery(".persons_rate", scope).val();
				rooms = rooms.split("::");
				jQuery(".rateHotelRoom", scope).val(rooms[0]);
				if (parseInt(persons) > parseInt(rooms[1])) {
					alert(err_persons);
					return false;
				}
				var form = jQuery(this).closest(".seekda-rateform");
				var params = form.serialize();
				params = params.replace(/[^&]+=\.?(?:&|$)/g, '').replace(/&$/, '');
				var hotelID = jQuery(".rateHotelId", form).attr("value");
				var rateURL = "https://ibe.seekda.com/channelManager/ibe/";
				rateURL = rateURL + hotelID + "?" + params;
				jQuery(this).attr("href", rateURL);
				jQuery(this).colorbox({
					width:"750",
					height:"80%",
					iframe:true,
					href:rateURL
				});
			});
		}
		
		var width = 150;
		var spalten = 3;
		
		if ($('.price-list .pricecolinner').length) {
			$('.price-list .pricecolinner').each(function(){
				$(this).width(($(this).find('.column').size() + (spalten - 1)) * width);
			});
			$('.columnoverlay').each(function(){
				$(this).height($(this).parent().find('.column').height());
			});
			var clicked = false;
			$('.pricecolouter .next').click(function(){
				if (clicked) 
					return;
				var left = $('.pricecolinner').position().left;
				var realleft = (Math.round(left / width) * width) - width;
				var max = ($('.pricecolinner').width() - (spalten * width)) * -1;
				if (realleft < max) 
					realleft = max;
				if (left > ($('.pricecolinner').width() - (spalten * width)) * -1) {
					clicked = true;
					$('.pricecolinner').animate({
						left: realleft
					}, 500, function(){
						clicked = false;
						$(this).clearQueue();
					});
				}
			});
			$('.pricecolouter .prev').click(function(){
				if (clicked) 
					return;
				var left = $('.pricecolinner').position().left;
				var realleft = (Math.round(left / width) * width) + width;
				if (realleft > 0) 
					realleft = 0;
				if (left < 0) {
					clicked = true;
					$('.pricecolinner').animate({
						left: realleft
					}, 500, function(){
						clicked = false;
						$(this).clearQueue();
					});
				}
			});
		}
		
		if ($('#pricelist-submit').length) {
			$('#pricelist-date').datepicker({ dateFormat: 'dd.mm.yy', showOn: 'both', buttonImage: 'fileadmin/images/icon_calendar.gif', buttonImageOnly: true }).datepicker('setDate','+1');;
			$('#pricelist-submit').click(function(){
				var datum = getDate($('#pricelist-date').val());
				if (datum != null) {
					$('.pricecolinner .headerrow').each(function(i){
						var start = getDate($(this).text().substr(0, 8));
						var end = getDate($(this).text().substr(10, 18));
						if (start != null && end != null && (start >= datum || end >= datum)) {
							$('.pricecolinner').animate({
								left: -1 * i * 150
							}, 500);
							return false;
						}
					});
				}
				return false;
			});
		}
	}
);
