/*
 * Keswick Mountain Festival - Site Functionality
 * By e-IGNiTION (http://www.e-ignition.co.uk)
 * Copyright (c) 2009 e-IGNiTION Ltd
*/

jQuery(document).ready(function(){

	var heading_height = jQuery("h1:first").height();
	var text_lines = Math.round(heading_height/42);
		if (text_lines != 1) {
		var margin_top = text_lines*45;
		//jQuery("#sidebar").css({'margin-top' : '-'+margin_top+'px'});
		}
	
	jQuery(".planner-day").hover(
      function () {
        jQuery(this).css({'cursor' : 'pointer'});
      }, 
      function () {
        jQuery(this).css({'cursor' : 'default'});
      }
    );
	
	jQuery(".planner-day").click(function () {
		var day_id = jQuery(this).attr("id");
		day_id = day_id.replace("id_", "");
		var selected = jQuery(this).hasClass("day-selected");
		
		if (selected == true) {
			jQuery(this).removeClass("day-selected");
			jQuery("#planner-day-"+day_id).removeAttr("checked");
		} else {
			jQuery(this).addClass("day-selected");
			jQuery("#planner-day-"+day_id).attr({checked : "checked"});
		}
		
		var dates = jQuery("input:checked.days-check").serialize();

		var checks = jQuery("input:checked.days-check");
		if (checks.length>0) {
			jQuery(".planner-form-holder").slideDown("slow");
		} else {
			jQuery(".planner-form-holder").slideUp("slow");
		}
		
		if (checks.length>1) {
			jQuery("#day-choices").html("Choose your activity types for the days chosen.");
		} else {
			jQuery("#day-choices").html("Choose your activity types for the day chosen.");
		} 
    });
	
	
	jQuery("a.select-all-activities").livequery("click", function(event) {
		jQuery(".activity-check").attr({checked : "checked"});
		jQuery(this).attr({"class" : "deselect-all-activities"});
		jQuery(this).html("Deselect All Activities");
	});
	
	jQuery("a.deselect-all-activities").livequery("click", function(event) { 
		jQuery(".activity-check").removeAttr("checked");
		jQuery(this).attr({"class" : "select-all-activities"});
		jQuery(this).html("Select All Activities");
	});
	
	jQuery(".days-check").removeAttr("checked");
	jQuery(".activity-check").removeAttr("checked");
	
	jQuery(".planner-search").livequery("click", function(event) {
		var activity_checks = jQuery("input:checked.activity-check");	
		if (activity_checks.length==0) {
			alert("Please choose an activity type to use the festival planner.");
			return false;
		} else {
			return true;	
		}
	});
	
	jQuery(".view-rucksack").click(function () {
		jQuery(this).blur();
	});
	
	jQuery(".book-form-select").find('option:first').attr('selected', 'selected').parent('select');
	jQuery(".price-quantity-select").attr("disabled", "disabled").addClass("select-disabled");
	jQuery("select[name='prog_book_time']").attr("disabled", "disabled");

	var initial_vals = jQuery(".date-initial");
	initial_vals.each(function (i) {
		jQuery(this).next().val(jQuery(this).val());
	});
	
	jQuery("select[name='prog_book_day']").change( function() {
		
		var initial_vals = jQuery(".date-initial");
		initial_vals.each(function (i) {
			jQuery(this).next().val(jQuery(this).val());
		});
															
		if (jQuery(this).val() != 'none') {
			jQuery("#time").html("Loading Times");
			jQuery(".added-time").remove();
			var start_times = jQuery("."+jQuery(this).val()+" .start-time");
			start_times.each(function (i) {
				jQuery("select[name='prog_book_time']")
				.append('<option value="'+jQuery(this).html()+'" class="added-time">'+jQuery(this).html()+'</option>');
			});
			jQuery("#time").html("Start Time");
			jQuery("select[name='prog_book_time']").removeAttr("disabled").removeClass("select-disabled");
			jQuery(".book-places-left").css({'display' : 'none'});
		} else {
			jQuery("select[name='prog_book_time']").attr("disabled", "disabled").addClass("select-disabled").find('option:first').attr('selected', 'selected').parent('select');
			jQuery(".added-time").remove();
			jQuery(".price-quantity-select").attr("disabled", "disabled").addClass("select-disabled").find('option:first').attr('selected', 'selected').parent('select');
			jQuery(".add-to-rucksack button").attr("disabled", "disabled").addClass("rucksack-btn-disabled");
			jQuery(".book-places-left").css({'display' : 'none'});
			price = parseFloat(0.00).toFixed(2);
			jQuery("#price-val").html(price);
		}
	});

	jQuery("select[name='prog_book_time']").change( function() {
															 
		var initial_vals = jQuery(".date-initial");
		initial_vals.each(function (i) {
			jQuery(this).next().val(jQuery(this).val());
		});
		
		var date_time = jQuery("select[name='prog_book_day']").val()+' '+jQuery("select[name='prog_book_time']").val();
		var activity_id = jQuery("input[name='activity_id']").val();

		if (jQuery(this).val() != 'none') {
			
			jQuery(".book-places-left").load("/wp-content/plugins/prog-n-book/frontend/current-availability.php", {"date": date_time, "activity_id":activity_id}, function(){
  			jQuery(".book-places-left").css({'display' : 'block'});
			var places_returned=Number(jQuery("input[name='places_returned']").val());
			jQuery(".price-quantity-select").empty().append('<option value="none">No. of People</option>');

				if(places_returned=='0') {
				alert("Sorry, there are no places left on this day/time for this activity");
				jQuery(".price-quantity-select").attr("disabled", "disabled").addClass("select-disabled").find('option:first').attr('selected', 'selected').parent('select');
				} else {
					var i=1;
					for (i=1;i<=places_returned;i++) {
						jQuery(".price-quantity-select")
						.append('<option value="'+i+'">'+i+'</option>');
					}

				jQuery(".price-quantity-select").removeAttr("disabled").removeClass("select-disabled").find('option:first').attr('selected', 'selected').parent('select');
				}
 			});
		} else {
			jQuery(".price-quantity-select").attr("disabled", "disabled").addClass("select-disabled").find('option:first').attr('selected', 'selected').parent('select');
			jQuery(".add-to-rucksack button").attr("disabled", "disabled").addClass("rucksack-btn-disabled");
			jQuery(".book-places-left").css({'display' : 'none'});
			price = parseFloat(0.00).toFixed(2);
			jQuery("#price-val").html(price);
		}
		
	});
	
	jQuery("select.price-quantity-select").change( function() {
		var date_time = jQuery("select[name='prog_book_day']").val()+'-'+jQuery("select[name='prog_book_time']").val();
		var all_numbers = Number(jQuery("input[name='initial_selected_numbers_"+date_time+"']").val() );		
		var booking_amounts = jQuery("select.price-quantity-select");
		var shared_cost = jQuery("#shared_cost").val();
		var booking_add = false;
		var numbers_taken = jQuery(this).val();
		var this_id = jQuery(this).attr("id");
		jQuery("select.price-quantity-select:not(#"+this_id+")").addClass("not-self");
		var price = Number(0);
		
		price = parseFloat(price).toFixed(2);
			booking_amounts.each(function (i) {
				
				if (jQuery(this).val() != 'none') {
					var select_changed = jQuery(this);
					booking_add = true;
					price_add = Number(select_changed.next().val());
					if(shared_cost == 'true') {
					price_add *= Number(1);
					} else {
					price_add *= Number(jQuery(this).val());
					}
					price_add = parseFloat(price_add).toFixed(2);
					price = Number(price) + Number(price_add);
					all_numbers += Number(jQuery(this).val());
				} else {
					all_numbers += Number(0);
				}
			});	
		
		price = parseFloat(price).toFixed(2);
		jQuery("#price-val").html(price);

		jQuery("input[name='selected_numbers_"+date_time+"']").val(all_numbers);

		if (booking_add == true) {
			jQuery(".add-to-rucksack .add-to-rucksack-btn").removeAttr("disabled").removeClass("rucksack-btn-disabled");
		} else {
			jQuery(".add-to-rucksack .add-to-rucksack-btn").attr("disabled", "disabled").addClass("rucksack-btn-disabled");
		}
	});
	
	jQuery(".add-to-rucksack button").click(function () {
		jQuery(this).blur();
		if (jQuery(".add-to-rucksack button").hasClass("rucksack-btn-disabled") == false) {									  
			var max_num = Number(jQuery("input[name='max_num']").val());
			var date_time = jQuery("select[name='prog_book_day']").val()+'-'+jQuery("select[name='prog_book_time']").val();
			var selected_num = Number(jQuery("input[name='selected_numbers_"+date_time+"']").val() );
			var available_num = Number(jQuery("input[name='places_left_"+date_time+"']").val() );
			if (selected_num <= available_num) {
			var form_fields = jQuery("#booking-form").serialize();
			//alert(form_fields);
				/*if (jQuery("#grade_defined").val() == 'grade_defined'){
				var confirm_grade =confirm("Do you confirm that the group taking part have the ability to complete the grade of this activity?");
					if (confirm_grade) {
						jQuery("#booking-form").attr("action", jQuery("input[name='form_action']").val()).submit();
						return true;
					} else {
						return false;
					}
				} else {*/
				jQuery("#booking-form").attr("action", jQuery("input[name='form_action']").val()).submit();
			//	}
			} else {
			alert("The numbers you have selected (including any in your rucksack) exceed numbers available, please amend your choices.");
			}
		}
	});
	
	jQuery(".remove-rucksack-link").click(function () {
		var confirm_delete =confirm("** Are you sure you wish to delete this activity from your rucksack? **");
		if (confirm_delete) {
			return true;
		} else {
			return false;
		}
	});
	
	jQuery("#grade_confirm").removeAttr("checked");
	jQuery("#grade_confirm").click(function () {
		if (jQuery(this).is(":checked")) {
			jQuery(".rucksack-proceed").removeAttr("disabled").removeClass("proceed-btn-disabled");
		} else {
			jQuery(".rucksack-proceed").attr("disabled", "disabled").addClass("proceed-btn-disabled");
		}
	});
	
	jQuery(".rucksack-proceed").click(function () {
		jQuery(this).blur();
		if (jQuery(".rucksack-proceed").hasClass("proceed-btn-disabled") == false) {	
			jQuery(".rucksack-form").attr("action", jQuery("input[name='form_action']").val()).submit();
		} else {
			alert("You have not agreed to the grade competance agreement.");
			return false;
		}
	});
	
	jQuery(".previous-order:not(.no-change)").removeAttr("checked");
	jQuery(".previous-order").click(function () {
		jQuery(this).blur();
		var previous_choice = jQuery(this).val();
		if (previous_choice == 'yes') {
			jQuery(".new-details").slideUp("slow");
			jQuery(".previous-ref").slideDown("slow");
			jQuery(".rucksack-messages-proceed").slideUp("slow");
		} else {
			jQuery(".previous-ref").slideUp("slow");
			jQuery(".new-details").slideDown("slow");
			jQuery(".rucksack-messages-proceed").slideUp("slow");
		}
	});
	
	jQuery(".previous-ref-btn").click(function () {
		jQuery(this).blur();										
		var ref_number = jQuery("#ref_number_input").val();
		var ref_email = jQuery("#ref_email").val();
		var messages = '';
		if (ref_number == '') {
			messages += "Please enter a Ref. Number to lookup stored details"; 
		}
		
		if (ref_email == '') {
			if (messages != '') {
			messages += "\n\n";
			}
			messages += "Please enter Email address used when booking to lookup stored details"; 
		}
		if (messages != '') {
			alert(messages);
			return false;
		}
	});
	
	jQuery(".rucksack-proceed-chkinput").removeAttr("checked");
	jQuery("#google_checkout").fadeTo("normal", 0.33).css({'cursor' : 'default'});

	jQuery(".rucksack-proceed-chkinput").click(function () {
		if (jQuery(this).is(":checked")) {
			jQuery(".confirm-booking-btn").removeAttr("disabled").removeClass("confirm-booking-btn-disabled");
			jQuery("#google_checkout").removeAttr("disabled").fadeTo("normal", 1).css({'cursor' : 'pointer'});
		} else {
			jQuery("#google_checkout").attr("disabled", "disabled").fadeTo("normal", 0.33).css({'cursor' : 'default'});
			jQuery(".confirm-booking-btn").attr("disabled", "disabled").addClass("confirm-booking-btn-disabled");
		}
	});
	
var cookie_check = jQuery.cookies.test();
	if (cookie_check==false) {
	jQuery(".planner-content").prepend("<div class='cookie-notice'>Cookies must be enabled in your browser to fully complete bookings with Keswick Mountain festival.<br /><br /><strong>Your browser at the moment does not have cookies enabled</strong>.</div>").show();
	}
});