$(document).ready(function() {
	
	if($('#inline').length) {
		$('#inline').fancybox({
			autoDimensions: false,
			height: 150,
			width: 470
		}).click();
	}
	
	if($.browser.msie && $.browser.version == '6.0') {
		$('#nav li:first-child a').css('background', 'none');
		$('#sliding-gallery li:first-child').css('background', 'url(../img/thumb_shadow.png) no-repeat 1px 77px');
		$('#sliding-gallery li:first-child a').css('margin-left', '0px');
		$('#footer-nav li:first-child a').css({
			background : 'none',
			paddingLeft: '0px'
		});
	}

	var lang = $.cookie('lang') ? $.cookie('lang') : 'sk';

	var flashvars = {};
		flashvars.xml = 'cu3er/config.xml';
		var attributes = {};
		attributes.wmode = 'transparent';
		attributes.id = 'slider';
		swfobject.embedSWF('cu3er/cu3er.swf', 'cu3er-container', '540', '240', '9', 'expressInstall.swf', flashvars, attributes);
	
	$.datepicker.regional['sk']={
		closeText:"Zavrieť",
		prevText:"&#x3c;Predchádzajúci",
		nextText:"Nasledujúci&#x3e;",
		currentText:"Dnes",
		monthNames:["Január","Február","Marec","Apríl","Máj","Jún","Júl","August","September","Október","November","December"],
		monthNamesShort:["Jan","Feb","Mar","Apr","Máj","Jún","Júl","Aug","Sep","Okt","Nov","Dec"],
		dayNames:["Nedel'a","Pondelok","Utorok","Streda","Štvrtok","Piatok","Sobota"],
		dayNamesShort:["Ned","Pon","Uto","Str","Štv","Pia","Sob"],
		dayNamesMin:["Ne","Po","Ut","St","Št","Pia","So"],
		dateFormat:"dd.mm.yy",firstDay:0,isRTL:false};
		
	$.datepicker.regional['hu']={
		closeText:"bezárás",
		prevText:"&laquo;&nbsp;vissza",
		nextText:"előre&nbsp;&raquo;",
		currentText:"ma",
		monthNames:["Január","Február","Március","Április","Május","Június","Július","Augusztus","Szeptember","Október","November","December"],
		monthNamesShort:["Jan","Feb","Már","Ápr","Máj","Jún","Júl","Aug","Szep","Okt","Nov","Dec"],
		dayNames:["Vasámap","Hétfö","Kedd","Szerda","Csütörtök","Péntek","Szombat"],
		dayNamesShort:["Vas","Hét","Ked","Sze","Csü","Pén","Szo"],
		dayNamesMin:["V","H","K","Sze","Cs","P","Szo"],
		dateFormat:"yy-mm-dd",firstDay:1,isRTL:false};
	
	$.datepicker.regional['de']={
		closeText:"schließen",
		prevText:"&#x3c;zurück",
		nextText:"Vor&#x3e;",
		currentText:"heute",
		monthNames:["Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember"],
		monthNamesShort:["Jan","Feb","Mär","Apr","Mai","Jun","Jul","Aug","Sep","Okt","Nov","Dez"],
		dayNames:["Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag"],
		dayNamesShort:["So","Mo","Di","Mi","Do","Fr","Sa"],
		dayNamesMin:["So","Mo","Di","Mi","Do","Fr","Sa"],
		dateFormat:"dd.mm.yy",firstDay:1,isRTL:false};
	
	//------------------------------------------------------------------------------------------
	
	$('#slider').hover(function() {
		if($('#loader').is(':hidden')) {
			$('.pager').fadeIn('fast');	
		}
	}, function() {
		$('.pager').hide();
	});
	
	//------------------------------------------------------------------------------------------
		
	$('#sliding-gallery li a, #gallery li a, #main .images li a').fancybox();
	
	$('#start-date, #end-date').datepicker($.datepicker.regional[lang]);
	
	//------------------------------------------------------------------------------------------
		
	$('.pager').click(function() {
		
		var container = $(this).parent(),
			id = $(this).attr('id'),
			currentPage = parseInt($('#page').text().match(/^\d+/), 10),
			pages = parseInt($('#page').text().match(/\d+$/), 10),
			page = (id == 'next') ? currentPage + 1 : currentPage - 1,
			loaderHeight = $(container).find('ul').height();
		
		if(page > pages)
			page = 1;
		else if(page == 0)
			page = pages;
		
		$('.pager').hide();
		$('#page').css('visibility', 'hidden');
		
		$(container).find('ul').fadeOut(500, function() {
			$(container).find('li').remove();			
			$('#loader').height(loaderHeight).fadeIn('fast');
			
			$.ajax({
				type: 'POST',
				url: 'load_images.php',
				data: {container: $(container).attr('id'), page: page},
				dataType: 'xml',
				success: function(response) {
					if(response) {
						var baseUrl = $(response).find('images').attr('baseUrl'),
							thumbsPerPage = $(response).find('images').attr('thumbsPerPage'),
							imageCount = $(response).find('image').length;
							loadedImages = 0;
								
						$(response).find('image').each(function() {
							var	image = new Image(),
								listItem = $('<li></li>'),
								anchor = $('<a rel="group" href=""></a>')
											.attr('href', baseUrl + '/gallery/' + $(this).text());
							
							$(image).load(function() {
								loadedImages += 1;
								if(loadedImages == imageCount) {
									$('#loader').fadeOut('fast', function() {
										$(container).find('ul').fadeIn(500, function() {
											if(imageCount < thumbsPerPage) {
												$('#next').css('visibility', 'hidden');	
											}
											else if($('#next').not(':visible')) {
												$('#next').css('visibility', 'visible');	
											}
											
											$('#page').css('visibility', 'visible');
											$('.pager').show();
										});
										$('#page').text(page + ' / ' + pages);
										$(container).find('ul li a').fancybox();
									});
								}
							}).attr('src', baseUrl + '/gallery/thumb/th_' + $(this).text());
																	
							$(listItem).append($(anchor).append(image)).appendTo($(container).find('ul'));
						});
					}
				}
			});
		});
		
		return false;
	});
	
	//------------------------------------------------------------------------------------------
	
	$('#reservation-btn').click(function() {
		
		$('.error').removeClass('error');
		$('#room-error').hide();
							
		var lastName = $('input#last-name').val();
		if(lastName == '') {
			$('input#last-name').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var firstName = $('input#first-name').val();
		if(firstName == '') {
			$('input#first-name').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var country = $('input#country').val();
		if(country == '') {
			$('input#country').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var email = $('input#email').val();
		if(email == '') {
			$('input#email').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		if(!validateEmail(email)) {
			$('input#email').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var phone = $('input#phone').val();
		if(phone == '') {
			$('input#phone').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var room = $('input:radio:checked').val();
		if(typeof room == 'undefined') {
			$('#room-error').fadeIn('fast').fadeOut('fast').fadeIn('fast');
			return false;
		}
		
		var startDate = $('input#start-date').val();
		if(startDate == '') {
			$('input#start-date').addClass('error').focus();
			return false;
		}
		
		var endDate = $('input#end-date').val();
		if(endDate == '') {
			$('input#end-date').addClass('error').focus();
			return false;
		}
		
		var dataString = $('#reservation-form').serialize();
		
		$('#reservation-btn').hide();
		$('#form-loader').show();
				
		$.ajax({
			type: "POST",
			url: "process_reservation.php",
			data: dataString,
			success: function() {
				$('#form-loader').hide();
				$('#success').fadeIn();
			}
		});
		return false;
	});
	
	//------------------------------------------------------------------------------------------
	
	$('#contact-btn').click(function() {
		
		$('.error').removeClass('error');
							
		var name = $('input#name').val();
		if(name == '') {
			$('input#name').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
				
		var email = $('input#email').val();
		if(email == '') {
			$('input#email').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		if(!validateEmail(email)) {
			$('input#email').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var phone = $('input#phone').val();
		if(phone == '') {
			$('input#phone').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var message = $('textarea#message').val();
		if(message == '') {
			$('textarea#message').addClass('error').fadeOut('fast').fadeIn('fast').focus();
			return false;
		}
		
		var dataString = $('#contact-form').serialize();
		
		$('#contact-btn').hide();
		$('#form-loader').show();
				
		$.ajax({
			type: "POST",
			url: "process_contact.php",
			data: dataString,
			success: function() {
				$('#form-loader').hide();
				$('#success').fadeIn();
			}
		});
		return false;
	});

});

function validateEmail(email) {
    if( /^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(\.[A-Za-z]{2,4})$/.test(email) ) {
        return true; // valid
    } else {
        return false; // invalid
    }
}
