$(document).ready(function() {
	
	
	
	
	
	/**
	 * HEADER
	 */	
	$(document).click(function() {
		$('.choicemenu, .choicemenu-share').hide();		
	});
	$('.choicemenu, .choicemenu-share').click(function(e) { e.stopPropagation(); });
	$('.choicemenu-selectbtn, .choicemenu-selectbtn-share').click(function(e) {

		e.stopPropagation();

		if ($(this).parent().children('.choicemenu, .choicemenu-share').is(':hidden')) {

			$('.choicemenu, .choicemenu-share').hide();
			var $p = $(this).parent();

			if ($p.is('#choicemenu-language')) {
				$('#choicemenu-language .choicemenu').show();
			} else if ($p.is('#choicemenu-currency')) {
				$('#choicemenu-currency .choicemenu').show();
			} else if ($p.is('#choicemenu-share')) {
				$('#choicemenu-share .choicemenu-share').show();
			}

		} else {

			$('.choicemenu, .choicemenu-share').hide();

		}

		return false;

	});
	
	
	
	
	
	/**
	 * MORE/LESS
	 */
	$('.moreless').each(function() {

		var noChars = 140;

		var chars = $(this).html();
		if (chars.length > noChars) {

			var visiblePart = $('<span class="moreless-visiblepart">'+ chars.substr(0, noChars - 1) +'</span>');
			var hiddenPart = $('<span class="moreless-hiddenpart" style="display: none;">'+ chars.substr(noChars - 1) +'</span>');

			var points = '<span class="moreless-points">...&nbsp;</span>';

			var moreLink = '<a href="#" class="moreless-more-btn">'+ _LANG_SHOWMORE +'</a>';
			var lessLink = '<a href="#" class="moreless-less-btn" style="display: none;">'+ _LANG_SHOWLESS +'</a>';

			$(this).empty().append(visiblePart).append(points).append(moreLink).append(hiddenPart).append(lessLink).data('visible', false);

		};

	});
	$('.moreless-more-btn').live('click', function() {
		
		$(this).hide().parent().data('visible', true).children('.moreless-hiddenpart').show().parent().children('.moreless-less-btn').show().parent().children('.moreless-points').hide();
		
		return false;
		
	});
	$('.moreless-less-btn').live('click', function() {
		
		$(this).hide().parent().data('visible', false).children('.moreless-hiddenpart').hide().parent().children('.moreless-more-btn').show().parent().children('.moreless-points').show();
		
		return false;
		
	});
	
	
	
	
	
	
	/**
	 * FORM SUBMIT
	 */
	$('.submit-form-btn').live('click', function(e) { e.stopImmediatePropagation(); $(this).parents('form').submit(); return false; });
	$('.submit-search-form-btn').live('click', function(e) {
		e.stopImmediatePropagation();
		if ($('#nodate').is(':checked')) {
			window.location = '/goto_citypage.php?name=' + escape($('.search-box-input-city').val());
		}else {
			$(this).parents('form').submit();
		}
		return false;
	});
	$('.submit-form-input-enter').keypress(function(event) {
		if (event.which == 13) {
			$(this).parents('form').submit();
			return false;
		};
	});
	
	
	
	
	/**
	 * PLACEHOLDER
	 */
	if (!Modernizr.input.placeholder) {
		$("input[placeholder]").placeholder({ placeholderTextColour: "#999" });
	}
	
	
	
	
	
	/**
	 * DATEPICKER
	 */
		$('#search-box-checkin-input').datepicker({
			dateFormat: "yy-mm-dd",
			showStatus: false,
			showOn: 'both',
			onSelect: function(date, inst) {
				
				var checkoutdate = $('#search-box-checkout-input').val();
				
				var checkin	 = date.match('([0-9]{4})-([0-9]{2})-([0-9]{2})');
				var checkout = checkoutdate.match('([0-9]{4})-([0-9]{2})-([0-9]{2})');
				
				if (checkin) {
					
					var newDate = new Date();
					newDate.setYear(checkin[1]);
					newDate.setMonth(checkin[2] - 1);
					newDate.setDate(checkin[3]);
					
					var checkin_timestamp = newDate.getTime();
					
					var setCheckout = true;
					
					if (checkout) {

						var newDate2 = new Date();
						newDate2.setYear(checkout[1]);
						newDate2.setMonth(checkout[2] - 1);
						newDate2.setDate(checkout[3]);

						var checkout_timestamp = newDate2.getTime();
						if (checkin_timestamp < checkout_timestamp) {
							setCheckout = false;
						};
						
					};
					
					if (setCheckout) {
						
						var newDate3 = new Date(checkin_timestamp + (1000*3600*24));
						var month = newDate3.getMonth() + 1;
						var day = newDate3.getDate();
						var checkout_final = newDate3.getFullYear() + '-' + ((month < 10) ? '0' : '') + month + '-' + ((day < 10) ? '0' : '') + day;
						$('#search-box-checkout-input').val(checkout_final);
													
					};
					
				}
				
			},
			buttonImage: "/assets/images/calendar.png",
			buttonImageOnly: true,
			minDate: 0,
			numberOfMonths: 1
		});

		$('#search-box-checkout-input').datepicker({
			dateFormat: "yy-mm-dd",
			showStatus: false,
			showOn: 'both',
			buttonImage: "/assets/images/calendar.png",
			buttonImageOnly: true,
			minDate: 1,
			numberOfMonths: 1
		});
	
	
	
	
	
	
	/**
	 * AUTOCOMPLETE
	 */
	$('.autocomplete-cities').autocomplete({
		source: '/includes/ajax/autocomplete.php?type=cities',
		delay: 0
	});
		
	$('.autocomplete-countries').autocomplete({
		source: '/includes/ajax/autocomplete.php?type=countries',
		delay: 0
	});
		
	$('.autocomplete-attractions-cities').autocomplete({
		source: '/includes/ajax/autocomplete.php?type=attractions',
		delay: 0
	});
		
	$('.autocomplete-google').autocomplete({
		source: '/includes/ajax/autocomplete_google.php',
		delay: 0
	});
		
	$('.autocomplete-flights').autocomplete({
		source: '/includes/ajax/autocomplete.php?type=flights',
		delay: 0
	});

});
