$(function(){
	var lang = $('html').attr('lang');
	var menuTimeout;
	
	// menu
	$('#menu ul li ul').hide();
	
	$('#menu > ul > li').on('mouseover', 'a', function(){
		if($(this).parent().find('ul').length > 0)
		{
			clearTimeout(menuTimeout);
			$('#menu ul li ul').not($(this).parent().find('ul')).fadeOut(200);
			$(this).parent().find('ul').slideDown(300);
		}
	});
	
	$('#menu ul li').on('mouseover', 'ul', function(){
		clearTimeout(menuTimeout);
	});
	
	$('#menu > ul > li').on('mouseout', 'a', function(){
		if($(this).parent().find('ul').length > 0)
		{
			menuTimeout = setTimeout(function(){
				$('#menu ul li ul').fadeOut(200);
			}, 300);
		}
	});
	
	$('#menu ul li').on('mouseout', 'ul', function(){
		menuTimeout = setTimeout(function(){
			$('#menu ul li ul').fadeOut(200);
		}, 300);
	});
	
	// slideshow
	var images = [];
	$('#top img').each(function(){
		images.push($(this).attr('src'));
	});

	$('#top img').remove();
	var num = $(images).length - 1;
	var currentImage = 0;
	$('#top').css('background', 'url(' + images[0] + ') center top no-repeat');
	
	setInterval(function(){
		$('#top').fadeOut(500, function(){
			if(currentImage < num) currentImage++;
			else currentImage = 0;
			
			$('#top').css('background', 'url(' + images[currentImage] + ') center top no-repeat').fadeIn(500);
		});
	}, 5000);
	
	
	// datepicker
	var defaultArrivalVal = $('#arrival-date').val();
	var defaultDepartureVal = $('#departure-date').val();
	
	$.datepicker.setDefaults( $.datepicker.regional[lang] );
	
	$('#arrival-date, #departure-date').datepicker({
		minDate: new Date(),
		onSelect: function(dateText, inst){
			if($('#arrival-date').val() != '' && $('#arrival-date').val() != defaultArrivalVal && $('#departure-date').val() != '' && $('#departure-date').val() != defaultDepartureVal)
			{
				var arrival = $('#arrival-date').datepicker('getDate');
				var departure = $('#departure-date').datepicker('getDate');
				
				var arrivalTime = arrival.getTime();
				var departureTime = departure.getTime();
				
				if(arrivalTime >= departureTime)
				{
					var arrivalDayAfter = arrival;
					arrivalDayAfter.setDate(arrivalDayAfter.getDate() + 1);
					$('#departure-date').datepicker('setDate', arrivalDayAfter);
				}
				
				var diff = Math.abs(arrivalTime - departureTime) / (1000 * 60 * 60 * 24);
				
				$('#AVP_arrivalDate').val(arrival.getFullYear() + '-' + (arrival.getMonth() + 1) + '-' + arrival.getDate());
				$('#AVP_nights').val(diff);
			}
		}
	});
	
	// map
	if($('#map').length > 0)
	{
		$(window).load(function(){
			var latlng = new google.maps.LatLng(48.8572836, 2.3714057);
			var mapOptions = {
				zoom: 13,
				center: latlng,
				mapTypeId: google.maps.MapTypeId.ROADMAP
			};

			var map = new google.maps.Map(
				document.getElementById('map'),
				mapOptions
			);

			var infoWindow = new google.maps.InfoWindow({
				position: latlng,
				map: map,
				content: '<h1>Hotel Best Western Marais Bastille</h1><p>36 bld. Richard Lenoir 75011 Paris, France</p>'
			});

			var marker = new google.maps.Marker({
				position: latlng, 
				map: map, 
				title: 'Hotel Marais Bastille Paris'
			});
		});
	}
	
	// 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)
			{
				$('#text').append('<p class="error">' + result[1] + '</p>');
				$(content).jScrollPane({
					hideFocus: true
				});
			}
		});
		
		return false;
	});
});
