$.datepick.setDefaults({
   	showOn: 'focus',
	firstDay: 6,
	dateFormat: 'dd/mm/yy',
	minDate: '-1y',
	maxDate: '+2y',
	closeAtTop: false,
	changeMonth: false, changeYear: false
});

// Check that the page has loaded
$(document).ready(function() {

	// LODGE APARTMET TABS

			// Start of showing only 4 bed apt
			$('#lodgeApartments .lodgeApartment').hide();
			$('#lodgeApartments .lodge_4').addClass('selected').show();

			// Show correct tab on click
			$('#lodgeApartments .apartmentTabs LI A').click( function(){

		    	// Remove all selected classes
				$('#lodgeApartments .selected').removeClass('selected');

				// Hide all apartments
				$('#lodgeApartments .lodgeApartment').hide();

				// Show and select correct tab
				var apartment = $(this).parent().attr('class');

				$('#lodgeApartments .'+ apartment +'').addClass('selected').show();

				return false;

			});


	// POPUP TABS

		// Start of showing only selected tab
		$('.popup .tabbedContent:not(.selected)').hide();

		// Show correct tab on click
		$('.popup .popupTabs LI A').click( function(){

	    	// Remove all selected classes
			$('.popup .selected').removeClass('selected');

			// Hide all tabbed content
			$('.popup .tabbedContent').hide();

			// Show and select correct tab
			var tab = $(this).parent().attr('class');

			$('.popup .'+ tab +'').addClass('selected').show();

			return false;

		});


	// FAQ

		// start off hidden
		$('.faq .answer').hide();

		// Open/close correct FAQ
		$('.faq .question').click( function(){

            // If open, close and remove 'open' class, If not open, open and add 'open' class
			if( $(this).parent().hasClass('open') ){
	        	$(this).parent().removeClass('open').find('.answer').slideUp();
			} else {
                // Close all others
				$('.faq .answer').slideUp();
				$('.faq').removeClass('open');

				$(this).parent().addClass('open').find('.answer').slideDown();
			}

			return false;
		});


	// LIFT PASSES
		$('.liftPasses .buyNow, .liftPasses .addMore').click( function(){

			$('#liftPassesPopup').fadeIn();

			// set in window pane (adjust for scroll)
			$('#liftPassesPopup .popupContainer').css('top', $(window).scrollTop() );

			// Update lift pass values
			updateLiftPass();

			return false;

		});

        // Change values on change/keypress // Trigger change from all elements
		$('#liftPassStartDate, #liftPassEndDate, #liftPassType, #liftPassQuantity').change(function(){

			updateLiftPass();

			return false;

		});
		$('#liftPassQuantity').keyup(function(){

			updateLiftPass();

		});

		// Change values on change/keypress // Trigger change from all elements
		$('#liftPassForm').submit(function(){

			bookLiftPass();

			return false;

		});

		// Delete lift pass
		$('.liftPasses .delete').live('click', function(){

			var keyID = $(this).attr('data-keyID');
			var objToDelete = $(this).parents('TR');
			deleteLiftPass(keyID, function() {
				objToDelete.remove();

				// If last TR hide table, show message
	            if( $('.liftPasses .liftPassTable TBODY TR').size() <= 0 ){

					$('.liftPasses .liftPassTable').hide();
					$('.liftPasses .liftPassMessage').show();

				}

				// Update price table
				updatePrices();

			});

			return false;

		});


	// POPUPS

		// transfersArrival popup
		$('A.transfersArrival').click( function(){

			$('#transfersArrivalPopup').fadeIn();

			// set in window pane (adjust for scroll)
			$('#transfersArrivalPopup .popupContainer').css('top', $(window).scrollTop() );

			return false;

		});

		// Open ski lifts window
		$('#transfersArrivalPopup .flying .button INPUT').click( function(){

			window.open('http://www.ski-lifts.com/ridersretreat');

		});


		// payNow popup
		$('A.payNow').click( function(){

			$('#makePaymentPopup').fadeIn();

			$('#makePaymentPopup .popupContainer').css('top', $(window).scrollTop() );

			return false;

		});

		// full height
		$('.popup').height($(document).height());

		// close
		$('.popup .close').click( function(){

			$(this).parents('.popup').fadeOut();

			return false;

		});


	// GALLERY

		// Add lightbox
	    $('A.lightbox').lightBox();
		$('A.lightbox1').lightBox();
		$('A.lightbox2').lightBox();
		$('A.lightbox3').lightBox();
		$('A.lightbox4').lightBox();
		$('A.lightbox5').lightBox();

		// First selected
		$('.gallery').each(function(){

			$(this).find('.thumbnail:first').addClass('selected');

		});

	    // Functionality
	    $('.gallery .thumbnail').click(function() {

			// Control seletect class
			$(this).parent('.thumbnails').find('.thumbnail').removeClass('selected');
			$(this).addClass('selected');

	        // Get which thumnail clicked
	        var href = $(this).attr('href');

	        // Move correct image to top of stack
			$(this).parents('.gallery').find('.mainImgContainer').prepend($(this).parents('.gallery').find('.mainImgContainer A IMG[src*="' + href + '"]').parents('A'));

	        return false

	    });

		// Hover class for mainImg
		$('.gallery .mainImgContainer A').hover(
	    	function(){
	        	$(this).find('.overlay').css('cursor', 'pointer').show();
	    	},
			function(){
	        	$(this).find('.overlay').hide();
	    	}
		);


	// CLEAR/CONTROL FORM FIELDS
		$('.textBox INPUT, .textArea TEXTAREA').focus(function() {

			// Get title(original value) and current value
			var title = $(this).attr('title');
			var value = $(this).val();

	        // Clear if original value only
			if( title==value ){
				$(this).val("");
			}

		});
		$('.textBox INPUT, .textArea TEXTAREA').blur(function() {

			// Get title(original value) and current value
			var title = $(this).attr('title');
			var value = $(this).val();

	        // If empty, re-populate
	        if( value=="" ){
				$(this).val(title);
			}

	   });
	   $('FORM .button INPUT').click(function() {

			$('.textBox INPUT, .textArea TEXTAREA').each(function() {

				// Get title(original value) and current value
				var title = $(this).attr('title');
				var value = $(this).val();

		        // Clear if original value only
				if( title==value ){
					$(this).val("");
				}

			});

		});


	// BIG TARGET
		//Chalet List
		$(".chaletList .chalet A").bigTarget({
		    hoverClass: 'hover', // CSS class applied to the click zone onHover
		    clickZone : '.chalet' // jQuery parent selector
		  });
		$(".chaletList .chalet").css('cursor', 'pointer');


	// DATEPICKER
	    $('.datePick INPUT').datepick();

		//DateRange (arr/dep)
		$('#startDate, #endDate').datepick({beforeShow: customRange});

		function customRange(input) {
		    return {minDate: (input.id == 'endDate' ?
		        $('#startDate').datepick('getDate') : null),
		        maxDate: (input.id == 'startDate' ?
		        $('#endDate').datepick('getDate') : null)};
		}

		//DOB
		$('.dob INPUT').datepick({minDate: '-100y', maxDate: '+1y', yearRange: '1900:2100', changeMonth: true, changeYear: true});


	// CUFON
		Cufon.replace('H1, H2, H3, H4');


	// TWITTER
		$("#twitter").getTwitter({
			userName: "ridersretreat",
			numTweets: 1,
			slideIn: false,
			showHeading: false
		});


	// IE6 (temp)
		if( $('BODY').hasClass('.browserIE6') ){

	    	$('HEAD').prepend('<link rel="stylesheet" href="css/ie6.css" type="text/css" media="screen"  />');

		}

});

// Lift pass functions

	//Update
	function updateLiftPass() {

	    liftPassStartDate = $('#liftPassStartDate').val();
		liftPassEndDate = $('#liftPassEndDate').val();
		liftPassType = $('#liftPassType').val();
		liftPassQuantity = $('#liftPassQuantity').val();

		$.post("functions/liftPasses.php",{
			liftPassStartDate: liftPassStartDate,
			liftPassEndDate: liftPassEndDate,
			liftPassType: liftPassType,
			liftPassQuantity: liftPassQuantity,
			action: "updateLiftPassValues"
		}, function(data) {
			updateLiftPassValues(data);
		});

	}
    //Update
	function updateLiftPassValues(data) {

		// Get all lift pass data
		liftPasses = $("liftPasses",data).get();

		// Update duration value
		$("#liftPassDurationValue").text($("duration",liftPasses).text());

		// Update cost value
		$("#liftPassCostValue").text($("price",liftPasses).text());

		// Update total cost value
		$("#liftPassTotalCostValue").text($("total",liftPasses).text());

	}

    //Book
	function bookLiftPass() {

	    liftPassStartDate = $('#liftPassStartDate').val();
		liftPassEndDate = $('#liftPassEndDate').val();
		liftPassType = $('#liftPassType').val();
		liftPassQuantity = $('#liftPassQuantity').val();
		liftPassBookingRef = $('#liftPassBookingRef').val();

		$.post("functions/liftPasses.php",{
			liftPassStartDate: liftPassStartDate,
			liftPassEndDate: liftPassEndDate,
			liftPassType: liftPassType,
			liftPassQuantity: liftPassQuantity,
			liftPassBookingRef: liftPassBookingRef,
			action: "bookLiftPass"
		}, function(data) {
			bookLiftPassSuccess(data);
		});

	}
	//Book
	function bookLiftPassSuccess(data) {

		// Get all lift pass data
		liftPasses = $("liftPasses",data).get();

		// Get new row data
		var newRow = $("newRow",liftPasses).text();

        // Show table, hide message (doesn't matter that repeatedly called
		$('.liftPasses .liftPassTable').show();
		$('.liftPasses .liftPassMessage').hide();

		// Add new row
		$('.liftPasses TABLE TBODY').append(newRow);

		// Close popup window
		$('#liftPassesPopup').fadeOut();

        // Update price table
		updatePrices();

	}

	//Delete
	function deleteLiftPass(keyID, success) {

		$.post("functions/liftPasses.php",{
			liftPassID: keyID,
			action: "deleteLiftPass"
		}, success);

	}

// Price functions

	// Update pricing table
	function updatePrices() {

		var bookingRef = $('#bookingRef').html();

		$.post("functions/updatePriceTable.php",{
			bookingRef: bookingRef,
			action: "updatePrices"
		}, function(data) {
			updatePricesSuccess(data);
		});

	}
	function updatePricesSuccess(data) {

    	// Get all lift pass data
		prices = $("prices",data).get();

		// Update values
		$(".depositValue").text($("deposit",prices).text());
		$("#accomValue").text($("accom",prices).text());
		$("#liftPassValue").text($("liftPass",prices).text());
		$("#subTotalValue").text($("subTotal",prices).text());
		$(".paymentsValue").text($("payments",prices).text());
		$(".outstandingValue").text($("outstanding",prices).text());

		// Update PayPal form value (determine payment required (deposit/full amount)
		var paymentRequired = $("paymentRequired",prices).text();
		if(paymentRequired == 'deposit') {
			$("#amount").val($("deposit",prices).text());
		} else if (paymentRequired == 'full') {
			$("#amount").val($("outstanding",prices).text());
		}

	}



