$(document).ready(function()
{	
	fadeGall();
	initSlide();
	initFormValidation();
	$('#datepicker').datepicker({
		inline: true
	});
	
	// Fancybox Bilder
	$("a.fancy_bilder").fancybox({
		'hideOnContentClick'	: 	false,
		'hideOnOverlayClick'	:	false,
		'speedIn'				:	500,
		'speedOut'				:	500,
		//'changeSpeed'			:	0,
		'transitionIn'			:	'elastic',
		'transitionOut'			:	'elastic',
		'centerOnScroll'		:	true,
		'overlayOpacity'		:	0.6,
		'overlayColor'			:	'#000000',
		'titlePosition'			:	'inside'
	});
	// Fancybox Bilder
	$("a.fancy_pressebilder").fancybox({
		'hideOnContentClick'	: 	false,
		'hideOnOverlayClick'	:	false,
		'speedIn'				:	500,
		'speedOut'				:	500,
		//'height'				:	650,
		//'width'				:	850,
		'changeSpeed'			:	0,
		'transitionIn'			:	'elastic',
		'transitionOut'			:	'elastic',
		'centerOnScroll'		:	true,
		'overlayOpacity'		:	0.6,
		'overlayColor'			:	'#000000'
		//'titlePosition'		:	'inside'
	});
	
  // Buchungssystem
  $(".more-booking").each(function () {
        $(this).fancybox({
            'hideOnContentClick': false,
            'type': 'iframe',
            'width': 1000,
            'height': 600,
            'overlayOpacity': 0.6,
            'titleShow': false,
            'speedIn': 1000,
            'transitionIn': 'elastic',
            'enableEscapeButton': false,
            'onStart': function () {
                var d = $("#datepicker").datepicker("getDate");
                d = $.datepicker.formatDate('yy-mm-dd', d);
                this.href += "&start=" + d;
            }
        })
    }); 
	
});

function fadeGall(){
	var wait_time = 5000; // in ms
	var change_speed = 1200; // in ms
	var _hold = $('div.gallery');
	if(_hold.length){
		var _t;
		var _f = true;
		var _list = _hold.find('ul.fader > li');
		var _btn = $('<ul class="paging"></ul>');
		_hold.append(_btn);
		_list.each(function(_i){
			_btn.append('<li><a href="#">'+(_i+1)+'</a></li>');
		});
		_btn = _btn.find('a');
		var _a = _list.index(_list.filter('.active:eq(0)'));
		if(_a == -1) _a = 0;
		
		_list.removeClass('active').css('opacity', 0).eq(_a).addClass('active').css('opacity', 1);
		_btn.eq(_a).parent('li').addClass('active');
		_btn.click(function(){
			changeEl(_btn.index(this));
			return false;
		});
		_hold.mouseenter(function(){
			_f = false;
			if(_t) clearTimeout(_t);
		}).mouseleave(function(){
			_f = true;
			if(_t) clearTimeout(_t);
			if(_f && wait_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		});
		if(_f && wait_time){
			_t = setTimeout(function(){
				if(_a < _list.length - 1) changeEl(_a + 1);
				else changeEl(0);
			}, wait_time);
		}
		function changeEl(_ind){
			if(_t) clearTimeout(_t);
			if(_ind != _a){
				
					_list.eq(_a).removeClass('active').animate({opacity: 0}, {queue:false, duration:change_speed});
					_list.eq(_ind).addClass('active').animate({opacity: 1}, {queue:false, duration:change_speed});
				_btn.eq(_a).parent('li').removeClass('active');
				_btn.eq(_ind).parent('li').addClass('active');
				_a = _ind;
			}
			if(_f && wait_time){
				_t = setTimeout(function(){
					if(_a < _list.length - 1) changeEl(_a + 1);
					else changeEl(0);
				}, wait_time);
			}
		}
	}
}
function initSlide(){
	var _holder = $('div.slide-block');
	if(_holder.length != 0){
		_holder.each(function(){
			var _openBtn = $(this).find('a.open-close');
			_openBtn.click(function(){
				if(($(this).parents('div.slide-block').hasClass('opened'))){
					$(this).parents('div.slide-block').removeClass('opened');
					$(this).parents('div.slide-block').find('div.section').slideUp();
					$(this).removeClass('close');
					$(this).parents('div.heading').find('h2.ausgeklappt').removeClass('displayBlock').addClass('displayNone');
					$(this).parents('div.heading').find('h2.eingeklappt').removeClass('displayNone').addClass('displayBlock');
				}
				else{
					$(this).parents('div.slide-block').addClass('opened');
					$(this).parents('div.slide-block').find('div.section').slideDown();
					$(this).addClass('close');
					$(this).parents('div.heading').find('h2.ausgeklappt').removeClass('displayNone').addClass('displayBlock');
					$(this).parents('div.heading').find('h2.eingeklappt').removeClass('displayBlock').addClass('displayNone');
				}
				return false;	
			});
		});
	}
}
// Fix zum verstecken der Google Map - sonst passt die iFrame einbindung nicht
function hideGoogleMap () {
  $('div#googleMap').parents('div.slide-block').removeClass('opened');
  $('div#googleMap').parents('div.slide-block').find('div.section').slideUp();
  $('a#googleMapCloselink').removeClass('close');
  $('a#googleMapCloselink').parents('div.heading').find('h2.ausgeklappt').removeClass('displayBlock').addClass('displayNone');
  $('a#googleMapCloselink').parents('div.heading').find('h2.eingeklappt').removeClass('displayNone').addClass('displayBlock');
}
window.setTimeout("hideGoogleMap()", 3000);
// form validation
function initFormValidation() {
	var _errorClass = 'error';
	var _regEmail = /^[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+.)+[a-zA-Z]{2,4}$/;
	var _regEmails = /^([_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+.)+[a-zA-Z]{2,4})+([, ]+[_.0-9a-zA-Z-]+@([0-9a-zA-Z][0-9a-zA-Z-]+.)+[a-zA-Z]{2,4})*$/;
	var _regPhone = /^([0-9]){10}$/;
	var _regNum = /^[0-9]+$/;
	var _regDay = /^(([0]{1}[1-9]{1})|([1-9]{1})|([1-2]{1}[0-9]{1})|([3]{1}[0-1]{1}))$/;
	var _regMon = /^(([0]{1}[1-9]{1})|([1-9]{1})|([1]{1}[0-2]{1}))$/;
	var _regYear = /^[19]{2}[0-9]{2}$/;
	
	$('form.contact-form').each(function(){
		var _form = $(this);
		function checkFields() {
			
			var _flag = false;
			_form.find('.'+_errorClass).removeClass(_errorClass);

			// fields validation
			_form.find('input.required-email').each(function(){
				if(!_regEmail.test($(this).val())) addError($(this),$(this).attr('alt'));
				//_message = 'No valid eMail address!';
			});
			_form.find('input.required-day').each(function(){
				if(!_regDay.test($(this).val())) addError($(this),$(this).attr('alt'));
			});
			_form.find('input.required-mon').each(function(){
				if(!_regMon.test($(this).val())) addError($(this),$(this).attr('alt'));
			});
			_form.find('input.required-year').each(function(){
				if(!_regYear.test($(this).val())) addError($(this),$(this).attr('alt'));
			});
			_form.find('textarea.required-many-emails').each(function(){
				if(!_regEmails.test($(this).val())) addError($(this),$(this).attr('alt'));
			});
			_form.find('input.required-phone').each(function(){
				if(!_regPhone.test($(this).val())) addError($(this),$(this).attr('alt'));
			});
			_form.find('input.required-num').each(function(){
				if(!_regNum.test($(this).val())) addError($(this),$(this).attr('alt'));
			});
			_form.find('input.required, textarea.required').each(function(){
				if(!$(this).val().length || $(this).val() == $(this).attr('alt')) addError($(this),$(this).attr('alt'));
			});
			_form.find('input.required-chek').each(function(){
				if (!$(this).is(':checked')) {
					$(this).parent('span').addClass('error-chk');
					_flag=true;
				}
			});
			_form.find('div.required-radio').each(function(){
				var _test = false;
				$(this).find('input[type=radio]').each(function(){
					if ($(this).is(':checked')) _test = true;
				});
				if (!_test) {
					$(this).addClass('error-chk');
					_flag=true;
				}
				else{
					$(this).removeClass('error-chk');
				}
			});

			// error class adding
			function addError(_obj,_message) {
				_obj.parents('div.holder').addClass(_errorClass);
				_obj.val(_message)
				_flag=true;
			}
			return _flag;
		}

		// catch form submit event
		_form.submit(function(){
			if(checkFields()) {
				//alert('Please fill in all required fields!');
				return false;
			}
		});
	});
}

// Submit Form
function submitform(id){
	document.getElementById(id).submit();
}

// Trans
function trans(_toLang){
	var _fromlang;
	if(_toLang=="de"){
		_fromLang = "en";
	};
	if(_toLang=="en"){
		_fromLang = "de";
	};
	var s=window.location.href;
	s=s.replace("/"+ _fromLang +"/", "/"+ _toLang +"/");
	window.location.href=s;
}