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($){
		var width = 150;
		var spalten = 3;
		var lastcol = -1;
		var nextFields = 'div.tx-bcseekda-pi1 div.pricecolinner div.column';
		var prevFields = 'div.tx-bcseekda-pi1 div.roomcol div.pricerow, div.tx-bcseekda-pi1 div.headerrow-back';

		$(nextFields).addClass('cursor-next');

		var updateLinks = function() {
			var col = ($('.pricecolinner').position().left*-1)/width;
			if (col != lastcol) {
				if (col == 0) {
					$(prevFields).removeClass('cursor-prev');
					$(nextFields).addClass('cursor-next');
				} else if (col == lastcol) {
					$(prevFields).addClass('cursor-prev');
					$(nextFields).removeClass('cursor-next');
				}


				lastcol = col;
				var colDiv = $('.pricecolinner .headerrow:eq(' + col + ')');
				var start = getDate(colDiv.text().substr(0, 8));
				var now = new Date();
				if (start < now) 
					start = now;
				var ende = new Date(start.getTime()+(1000*60*60*24*7));
				var links = $('.price-list-buttons a');
				if (links.length) {
					links.each(function(){
						if (this.href.indexOf('ibe.seekda.com/') > 0) {
							var newHref = this.href.replace(/&startDate=\d+\-\d+\-\d+/g,'');
							this.href = newHref + '&startDate='+getFormatedDate(start);
						} else {
							var newHref = this.href.replace(/&tx_pilmailform_pi1%5Btext%5D%5Banreise%5D=\d+\.\d+\.\d+&tx_pilmailform_pi1%5Btext%5D%5Babreise%5D=\d+\.\d+\.\d+/g,'');
							this.href = newHref + '&tx_pilmailform_pi1%5Btext%5D%5Banreise%5D='+start.getDate()+'.'+(start.getMonth()+1)+'.'+start.getFullYear()+'&tx_pilmailform_pi1%5Btext%5D%5Babreise%5D='+ende.getDate()+'.'+(ende.getMonth()+1)+'.'+ende.getFullYear();
						}
					});
				}
				/*
				var links = $('.price-list-buttons a:first-child');
				if (links.length) {
					links.each(function(){
						var newHref = this.href.replace(/&tx_pilmailform_pi1%5Btext%5D%5Banreise%5D=\d+\.\d+\.\d+&tx_pilmailform_pi1%5Btext%5D%5Babreise%5D=\d+\.\d+\.\d+/g,'');
						this.href = newHref + '&tx_pilmailform_pi1%5Btext%5D%5Banreise%5D='+start.getDate()+'.'+(start.getMonth()+1)+'.'+start.getFullYear()+'&tx_pilmailform_pi1%5Btext%5D%5Babreise%5D='+ende.getDate()+'.'+(ende.getMonth()+1)+'.'+ende.getFullYear();
					})
				}
				var links = $('.price-list-buttons a:last-child');
				if (links.length) {
					links.each(function(){
						var newHref = this.href.replace(/&startDate=\d+\.\d+\.\d+/g,'');
						this.href = newHref + '&startDate='+getFormatedDate(start);
					})
				}
				*/
			}
		};

		function getFormatedDate(dt) {
			var d = dt.getDate();
			var m = dt.getMonth()+1;
			var y = dt.getFullYear();
			if (d < 10) d = '0'+d;
			if (m < 10) m = '0'+m;
			return y+'-'+m+'-'+d;
		}
		
		function showHideArrows(realleft, maximum) {
			if (realleft == 0) {
				$(prevFields).removeClass('cursor-prev');
			} else {
				$(prevFields).addClass('cursor-prev');
			}
			if (realleft == maximum) {
				$(nextFields).removeClass('cursor-next');
			} else {
				$(nextFields).addClass('cursor-next');
			}
		}

		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;
			$('div.tx-bcseekda-pi1 div.pricecolouter div.next,'+nextFields).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) {
					showHideArrows(realleft,max);
					clicked = true;
					$('.pricecolinner').animate({
						left: realleft
					}, 500, function(){
						clicked = false;
						$(this).clearQueue();
						updateLinks();
					});
				}
			});
			$('div.tx-bcseekda-pi1 div.pricecolouter div.prev,'+prevFields).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) {
					showHideArrows(realleft,0);
					clicked = true;
					$('.pricecolinner').animate({
						left: realleft
					}, 500, function(){
						clicked = false;
						$(this).clearQueue();
						updateLinks();
					});
				}
			});
		}

		function submitSeekdaDateForm() {
			var datum = getDate($('#pricelist-date').val());
			var error = true;
			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);
						error = false;
						return false;
					}
				});
			}
			if (error) {
				$('#pricelist-date-empty').fadeIn('slow');
			} else {
				$('#pricelist-date-empty').hide();
			}
			return false;
		}
		
		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-date').keyup(function(e) {
				if(e.keyCode == 13) {
					submitSeekdaDateForm();
				}
			});
			$('#pricelist-submit').click(function(){
					submitSeekdaDateForm();
			});
		}
	}
);
