var cur = 0;
var next, aktiv, len;
var t = 10000;
var w = 960;
function slider(fx) {
	var s = t/5;
	next = (cur+1!=len) ? cur+1 : 0;
	if (fx=='fade') {
		$("#slider_"+cur).fadeOut(s);
		$("#slider_"+next).fadeIn(s);
		cur = next;
	} else if (fx=='slide') {
		$("#slider_"+cur).animate({"left": "-"+w+"px"}, s, "swing", function() {
			$(this).css({"z-index":"5"}).hide();
		});
		$("#slider_"+next).css({"z-index":"6", "left":w+"px"}).show().animate({"left": "0px"}, s, "swing", function() {
			cur = next;
		});
	}
}

function emptyJSON(obj) {
	for(var i in obj) return false;
	return true;
}

function resetInputs(el) {
	if ($('.formDisabledOverlay').length==0) {
		$('body').append('<div class="formDisabledOverlay">&nbsp;</div>');
	}
	if ($(el).val()!='') {
		$('.formDisabledOverlay').remove();
		$('#booking_form .secondStep input').removeAttr("disabled");
	} else {
		var p = $('#booking_form .secondStep');
		if (p.length!=0) {
			var offset = p.offset();
			$('.formDisabledOverlay').css({width:p.width()+'px', height:p.height()+'px', top: offset.top+'px', left: offset.left+'px'});
			$('#booking_form .secondStep input').attr("disabled","disabled");
		}
	}
}

function numbersOnly() {
	if ($('input.number').length!=0) {
		$('input.number').numeric({ negative: false }, function() { this.value = ""; this.focus(); });
	}
}

function get_shows(idnr,selFrom,selTo) {
	resetInputs('#'+selTo);
	if ($('#'+selTo).length!=0 && idnr!='') {
		$('#'+selFrom+', #'+selTo+', #booking_form .secondStep input').attr('disabled', 'disabled');
		var tours = '';
		var costs = '';
		$.getJSON("/ajax/tourdates.php", {booking_tour: idnr}, function(data) {
			//Termine der Tour
			if(emptyJSON(data.tours)) {
				tours = '<select name="artikel_suche" id="'+selTo+'" disabled="disabled"><option>keine Eintr&auml;ge gefunden</option>';
			} else {
				tours = '<select name="artikel_suche" id="'+selTo+'"><option value="">bitte ein Datum w&auml;hlen</option>';
				$.each(data.tours, function(k,v){				
					tours = tours+'<option value="'+k+'">'+v+'</option>';
				});
				tours = tours+'</select>';
				
			}
			$('select#'+selTo).replaceWith(tours);
			
			$('#'+selTo).change( function() {
				resetInputs($(this));
			});
			
			//Preise der Tour
			costs = costs+'<table cellpadding="0" cellspacing="0">';
			if(emptyJSON(data.costs)) {
				costs = '<tr><td><i>leider keine Preise gefunden</i></td></tr>';
			} else {
				$.each(data.costs, function(k,v) {
					if (v.price!='') {
						var testPreis = parseInt(v.price);						
						costs = costs+'<tr><td class="persons"><label for="persons_'+v.key+'">'+v.name+'</label></td><td class="persons">';
						if (v.key!='family') {
							costs = costs+'<input type="text" value="0" class="number" name="participants['+v.key+']" maxlength="2" id="persons_'+v.key+'" size="5" /> '+((!isNaN(testPreis))?'&aacute; '+v.price+' &euro;':v.price)+'</td></tr>';
						} else {
							costs = costs+'<input type="text" value="0" class="number" name="participants['+v.key+'][0]" maxlength="2" id="persons_'+v.key+'" size="5" /> Erwachsene<br /><input type="text" value="0" class="number" name="participants['+v.key+'][1]" maxlength="2" id="persons_'+v.key+'_2" size="5" /> Kinder<br />'+((!isNaN(testPreis))?v.price+' &euro;':v.price)+' pro Familie</td></tr>';
						}
					}
				});
			}
			costs = costs+'</table>';
			$('#booking_form .secondStep table').replaceWith(costs);
			
			$('#'+selTo).trigger('change');
			numbersOnly();
			
		}).error(function(jqXHR, textStatus, errorThrown) { alert("error "+textStatus); });
		$('#'+selFrom).removeAttr('disabled');
	}
}

$(document).ready(function() {
	 $.ajaxSetup({
		global: false,
		async: false,
		cache: false
	});

	$(".img").fancybox({
		'titlePosition'	: 'over',
		'titleFormat'	: function(title, currentArray, currentIndex, currentOpts) {
		    return '<span id="fancybox-title-over"><span class="page">Bild '+(currentIndex + 1)+' / '+currentArray.length+'</span>'+title+'&nbsp;</span>';
		},
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic',
		'onComplete'	: function() {
			$("#fancybox-wrap").hover(function() {
				$("#fancybox-title").show();
			}, function() {
				$("#fancybox-title").hide();
			});
		}
	});
	
	$(".iframe").fancybox({
		'width'			: 680,
		'height'		: 495,
		'titlePosition'	: 'inside',
		'transitionIn'	: 'elastic',
		'transitionOut'	: 'elastic'
	});
	
	//Tourdates
	$('#booking_tour').change(function() {
		get_shows($(this).val(),'booking_tour','booking_tour_date');
		return false;						
	});
	$('#booking_tour').trigger('change');
	$(".form .erfolg").removeClass("versteckt");
	$(".form #refreshBtn").replaceWith($(".form #saveBtn"));
	numbersOnly();

	//Header Slider
	var sel = $("#head .image_slider ul li");
	len = sel.length;
	if (len>1) {
		w = $("#head .image_slider ul").width();
		sel.each(function(index) {
			if (index!=0) { $(this).css({"z-index":"5"}); } else { $(this).css({"z-index":"6"}); }
			$(this).attr({id:"slider_"+index});
		});
		aktiv = window.setInterval("slider('slide')",t);
	}
	
	//EventsBox
	$('#cal_month, #cal_year').change(function() {
		if($('.cal_body').length!=0) {
			$('.cal_body').append('<div class="cal_load_bg">&nbsp;</div><div class="cal_loader">&nbsp;</div>');
			$('.cal_load_bg').css({'opacity':0.8});
			var year = $('#cal_year').val();
			var month = $('#cal_month').val();
			var content_sprache = $('#cal_sprache').val();
			if(month<10) { month='0'+month; }
			$('.cal_body').load('/ajax/datepicker.php', {period:year+'-'+month,content_sprache:content_sprache}, function() {
				addCalClick();
			});
		}
		return false;
	});
	function addCalClick() {
		$('.cal_body table td[class^="date"]').click(function() {
			$('.cal_body table td[class^="date"]').find('div').removeClass('selected');
			$(this).find('div').addClass('selected');
			$('.cal_body .cal_date, .cal_body .hint').hide();											  
			$('#'+$(this).attr("class")).show();
			return false;
		});
	}
	addCalClick();
});
