$(function(){
	var lang = $('html').attr('lang');
	
	// menus
	$('#menu ul li ul').hide();
	var menuTimeout;
	var submenus = $('.submenu');
	
	$('#menu > ul > li:has(ul) > a, .submenu').mouseover(function(){
		clearTimeout(menuTimeout);	
		
		if(!$(this).is(submenus))
		{
			$(submenus).fadeOut(200);
			$(this).parent().find('ul').slideDown(300);
		}
	});
	
	$('#menu > ul > li:has(ul) > a, .submenu').mouseout(function(){
		menuTimeout = setTimeout(function(){
			if($('.submenu:visible').length == 1) $('.submenu:visible').fadeOut(200);
		}, 300);
	});
	
	var submenusFooter = $('.submenu-submenu');
	$(submenusFooter).hide();
	var submenuTimeout;
	
	$(submenusFooter).each(function(i){
		$(this).css({
			top: -($(this).height() + 20),
			left: $('#submenu > ul > li:has(.submenu-submenu)').eq(i).position().left - $(this).width() + $('#submenu > ul > li:has(.submenu-submenu)').eq(i).width()
		});
	});
	
	$('#submenu > ul > li:has(ul) > a, .submenu-submenu').mouseover(function(){
		clearTimeout(submenuTimeout);
		
		if(!$(this).is(submenusFooter))
		{
			$(submenusFooter).fadeOut(200);
			$(this).parent().find('ul').fadeIn(450);
		}
	});
	
	$('#submenu').mouseout(function(){
		submenuTimeout = setTimeout(function(){
			$(submenusFooter).fadeOut(200);
		}, 300);
	});
	
	// content
	$('#content-wrapper nav a').click(function(){
		if($('#content-wrapper').css('left') == '-325px')
		{
			$('#content-wrapper').animate({
				left: 0
			}, 500, function(){
				$('#content-wrapper nav img').attr('src', '/assets/img/btn-slider-close.png');
			});
		}
		else
		{
			$('#content-wrapper').animate({
				left: -325
			}, 500, function(){
				$('#content-wrapper nav img').attr('src', '/assets/img/btn-slider-open.png');
			});
		}
		
		return false;
	});
	
	// scroll
	var content = $('#content');
	$(content).jScrollPane({
		hideFocus: true
	});
	
	$(window).resize(function(){
		$(content).jScrollPane({
			hideFocus: true
		});
		
		$(submenusFooter).each(function(i){
			$(this).css({
				top: -($(this).height() + 20),
				left: $('#submenu > ul > li:has(.submenu-submenu)').eq(i).position().left - $(this).width() + $('#submenu > ul > li:has(.submenu-submenu)').eq(i).width()
			});
		});
		
		
		$('#map').css('height', $(window).height() - 235);
	});
	
	// resa
	$('#arrival, #departure').datepicker({
		dateFormat: 'dd/mm/yy',
		minDate: new Date(),
		onSelect: function(dateText, inst){
			if($('#arrival').val() != '' && $('#departure').val() != '')
			{
				var arrival = $('#arrival').datepicker('getDate');
				var departure = $('#departure').datepicker('getDate');
				
				var arrivalTime = arrival.getTime();
				var departureTime = departure.getTime();
				
				var diff = Math.abs(arrivalTime - departureTime) / (1000 * 60 * 60 * 24);
				
				$('#AVP_arrivalDate').val(arrival.getFullYear() + '-' + (arrival.getMonth() + 1) + '-' + arrival.getDate());
				$('#AVP_nights').val(diff);
			}
		}
	});
	
	// awards
	var awardsTimeout;
	var currentAward = 0;
	var awardsLength = $('#awards-pop-content li').length;
	
	$('#btn-awards, #awards-pop').hover(
		function(){
			clearTimeout(awardsTimeout);
			$('#awards-pop').fadeIn();
		},
		function(){
			awardsTimeout = setTimeout(function(){
				$('#awards-pop').fadeOut();
			}, 300);
		}
	);
	
	$('#awards-previous').click(function(){
		if(currentAward - 1 == -1)
		{
			currentAward = awardsLength - 1;
			var newPos = -((awardsLength - 1) * 134);
		}
		else
		{
			currentAward--;
			var newPos = parseInt($('#awards-pop-content').css('left').replace('px', '')) + 134;
		}
		
		$('#awards-pop-content').animate({
			left: newPos
		}, 300);
		
		return false;
	});
	
	$('#awards-next').click(function(){
		if(currentAward + 1 == awardsLength)
		{
			currentAward = 0;
			var newPos = 0;
		}
		else
		{
			currentAward++;
			var newPos = parseInt($('#awards-pop-content').css('left').replace('px', '')) - 134;
		}
		
		$('#awards-pop-content').animate({
			left: newPos
		}, 300);
		
		return false;
	});
	
	// modal
	$("a[rel^='pretty']").prettyPhoto({
		social_tools: '',
		theme: 'dark_square'
	});
	
	//map
	if($('#map').length > 0)
	{
		$(window).load(function(){
			var latLng = new google.maps.LatLng(48.8546487,2.3393099);
			var options = {
				zoom: 13,
				center: latLng,
				mapTypeId: google.maps.MapTypeId.ROADMAP
			}
			var map = new google.maps.Map(document.getElementById('map'), options);

			var marker = new google.maps.Marker({
				position: latLng,
				map: map,
				title: "Hotel d'Aubusson Paris"
			});
		});

		$('#map').css('height', $(window).height() - 235);
	}
	
	// images
	if($('#bgs img').length > 0)
	{
		var currentThumb = 1;
		var currentEndThumb = 10;
		var numThumbs = $('#thumbs li').length - 2;
		var current = 0;
		var images = $('#bgs img');

		$('#thumbs a').filter(':not(#thumbs-previous, #thumbs-next)').click(function(){
			if(!$(this).is('.current'))
			{
				if(numThumbs > 9) var index = $(this).parent().index() - 1;
				else var index = $(this).parent().index();

				$(images).filter(':visible').fadeOut();
				$(images).eq(index).fadeIn();
				$('.current').removeClass('current');
				$(this).addClass('current');
			}
			
			return false;
		});
	}
	
	$('#thumbs-previous').click(function(){
		$('#thumbs li:visible').not(':has(#thumbs-previous), :has(#thumbs-next)').fadeOut(300);
		
		setTimeout(function(){
			if(currentThumb - 9 == 1)
			{
				currentThumb = 1;
				currentEndThumb = 10;
			}
			else
			{
				currentThumb -= 9;
				currentEndThumb -= 9;
			}
			
			if(currentEndThumb < numThumbs) $('#thumbs-next').css('visibility', 'visible');
			if(currentThumb == 1) $('#thumbs-previous').css('visibility', 'hidden');
			
			$('#thumbs li').slice(currentThumb, currentEndThumb).fadeIn();
		}, 300);
		
		return false;
	});
	
	$('#thumbs-next').click(function(){
		$('#thumbs li:visible').not(':has(#thumbs-previous), :has(#thumbs-next)').fadeOut(300);
		
		setTimeout(function(){
			if(currentThumb + 9 > numThumbs)
			{
				currentThumb += 9;
				currentEndThumb  = (currentThumb + 9) - numThumbs;
			}
			else if(currentThumb + 9 < numThumbs)
			{
				currentThumb += 9;
				currentEndThumb += 9;
			}
			else
			{
				currentThumb = 1;
				currentEndThumb = 10;
			}
			
			if(currentEndThumb >= numThumbs) $('#thumbs-next').css('visibility', 'hidden');
			if(currentThumb > 1) $('#thumbs-previous').css('visibility', 'visible');
			
			$('#thumbs li').slice(currentThumb, currentEndThumb).fadeIn();
		}, 300);
		
		return false;
	});
	
	// fullscreen
	var imagesModal = [];
	var titles = [];
	var descs = [];
	$('#bgs img').each(function(){
		imagesModal.push($(this).attr('src'));
		titles.push('');
		descs.push('');
	});
	
	var indexReg = new RegExp('index');
	var hotelReg = new RegExp('hotel\.jpg');
	if(indexReg.test(imagesModal[0])) imagesModal[0] = imagesModal[0].replace('index/index.jpg', 'index-full.jpg');
	if(hotelReg.test(imagesModal[0])) imagesModal[0] = imagesModal[0].replace('hotel/hotel.jpg', 'index-full.jpg');
	
	$('#btn-full').click(function(){
		$.prettyPhoto.open(imagesModal, titles, descs);
	});
	
	// contact
	$('#contact-form').submit(function(){
		var sentData = {
			name: $('#contact-form #name').val(),
			email: $('#contact-form #email').val(),
			message: $('#contact-form #message').val()
		};
		
		$(this).hide();
		$(this).parent().append('<img id="preloader" src="/assets/img/loader.gif" alt="">');
		
		$.post('/utils/send-message.php', {lang: lang, name: sentData.name, email: sentData.email, message: sentData.message}, function(data){
			var result = data.split('|');
			$('#preloader').remove();
			if(result[0] == 0)
			{
				$('#contact-form').show();
				alert(result[1]);
			}
			else if(result[0] == 1)
			{
				$('.jspPane').append('<p class="error">' + result[1] + '</p>');
				$(content).jScrollPane({
					hideFocus: true
				});
			}
		});
		
		return false;
	});
});
