
$j(document).ready(function() {

	if ($j("#tabs").length > 0)
	{
		$j("#tabs").tabs({ selected: 0 });

		if (total_selected() == 3)
		{
			disable_checkboxes();
		}
		else
		{
			enable_checkboxes();
		}

		$j('#choose-venue').buttonset();

		if (isNaN(parseInt($j('#set_venue').val())))
		{
			$j('#alt-show').hide();
		}
		else
		{
			$j('#tabs').hide();

			$j('#alt-show').click(function()
			{
				$j('#tabs').slideToggle({effect: 'fast'});
				$j('#alt-show').toggleClass("exp ret");
				return false;
			});
		}
	}

	$j('#cb-popup').hide();

	// shows the call back form on clicking the noted link
	$j('#cb-show').click(function() {
		$j('#cb-popup').slideToggle({effect: 'fast'});
		$j('#cb-show').toggleClass("exp ret");
		return false;
	});

	if ($j("#datepicker-xmas").length > 0)
	{
		if (navigator.appName == 'Microsoft Internet Explorer')
		{
			var myDate = $j('#booking_date').val();
		}
		else
		{
			var myDate = new Date($j('#booking_date').val());
		}

		$j("#datepicker-xmas").datepicker({
			minDate: new Date(2011, 11 - 1, 21),
			maxDate: new Date(2011, 12 - 1, 24),
			defaultDate: myDate,
			onSelect: function(){
				var day1 = $j("#datepicker-xmas").datepicker('getDate').getDate();
	            var month1 = $j("#datepicker-xmas").datepicker('getDate').getMonth() + 1;
	            var year1 = $j("#datepicker-xmas").datepicker('getDate').getFullYear();
	            var fullDate = year1 + "-" + month1 + "-" + day1;
	            $j('#booking_date').val(fullDate);
	        }
		});
	}

	if ($j("#datepicker2").length > 0)
	{
		if (navigator.appName == 'Microsoft Internet Explorer')
		{
			var myDate = $j('#booking_date').val();
		}
		else
		{
			var myDate = new Date($j('#booking_date').val());
		}

		$j("#datepicker2").datepicker({
			minDate: new Date(2011, 11 - 1, 21),
			maxDate: new Date(2011, 12 - 1, 24),
			defaultDate: myDate,
			onSelect: function(){
				var day1 = $j("#datepicker2").datepicker('getDate').getDate();
	            var month1 = $j("#datepicker2").datepicker('getDate').getMonth() + 1;
	            var year1 = $j("#datepicker2").datepicker('getDate').getFullYear();
	            var fullDate = year1 + "-" + month1 + "-" + day1;
	            $j('#booking_date').val(fullDate);

	            var venue = 'date_' + $j('#venue_id').val();
	            var start = '#start_date_' + venue;
				var end = '#end_date_' + venue;

				$j.ajax({
					type : 'POST',
					url : '/christmas/choose_ajax',
					data : {
						start : $j(start).val(),
						end : $j(end).val(),
						venue : venue,
						actual : $j('#booking_date').val(),
						is_venue : true
					},
					success : function(data)
					{
						var first = new Date($j('#start').val());
						var from = new Date($j(start).val());
						var diff =  from - first
						var days = Math.round(diff/(1000*60*60*24));

						$j('#grid_' + $j('#venue_id').val()).replaceWith(data);

						$j('.bubbleInfo').mouseover(function()
						{
							tooltip();
						});

						if (days <= 7)
						{
							$j(id).hide();
						}

						$j('#all_venues').buttonset();

						$j(':radio').each(function()
						{
							if ($j(this).attr('checked'))
							{
								var brokenstring = this.id.split("_");

								$j('#menu_id').val(brokenstring[2]);
								$j('#venue_id').val(brokenstring[3]);
								$j('#booking_date').val(brokenstring[4]);

								if ($j('#menu_date_view').length > 0)
								{
									$j('#booking_time').val($j('#book_time').val());
								}

								$j('#date_submit').removeAttr('disabled');
								$j('#date_submit').removeClass('disabled-but');
								$j('#date_submit').addClass('green-but');
								$j('#date_submit').val('Next Step... Enter Details »');
							}
							else
							{
								$j('#date_submit').attr('disabled', 'disabled');
								$j('#date_submit').removeClass('green-but');
								$j('#date_submit').addClass('disabled-but');
							}
						});

						$j(':radio').click(function()
						{
							var brokenstring = this.id.split("_");

							if ($j('#menu_date_view').length > 0)
							{
								$j('#booking_time').val($j('#book_time').val());
							}

							$j('#menu_id').val(brokenstring[2]);
							$j('#venue_id').val(brokenstring[3]);
							$j('#booking_date').val(brokenstring[4]);

							$j('#date_submit').removeAttr('disabled');
							$j('#date_submit').removeClass('disabled-but');
							$j('#date_submit').addClass('green-but');
							$j('#date_submit').val('Next Step... Enter Details »');
						})
					}
				})
	        }
		});
	}

	if ($j('#start') && $j('#end'))
	{
		var start = new Date($j('#start').val());
		var from = new Date($j('#from').val());
		var diff =  from - start
		var days = Math.round(diff/(1000*60*60*24));
		if (days == 0)
		{
			$j('.earlier').hide();
		}

		var end = new Date($j('#end').val());
		var to = new Date($j('#to').val());
		var diff =  to - end
		var days = Math.round(diff/(1000*60*60*24));
		if (days == 0)
		{
			$j('.later').hide();
		}
	}

	if ($j('.earlier').length > 0)
	{
		$j('.earlier').live('click', function()
		{
			var venue = this.id.replace('earlier_', '');
			var start = '#start_date_' + venue;
			var end = '#end_date_' + venue;
			var id = '#' + this.id;
			var is_venue = false;

			if ($j('#menu_date_view').length > 0)
			{
				is_venue = true;
			}

			$j.ajax({
				type : 'POST',
				url : '/christmas/choose_ajax',
				data: {
					start : $j(start).val(),
					end : $j(end).val(),
					venue : this.id,
					actual : $j('#booking_date').val(),
					is_venue : is_venue
				},
				success : function(data)
				{
					var first = new Date($j('#start').val());
					var from = new Date($j(start).val());
					var diff =  from - first
					var days = Math.round(diff/(1000*60*60*24));

					$j('#grid_' + venue).replaceWith(data);

					$j('.bubbleInfo').mouseover(function()
					{
						tooltip();
					});

					$j(':radio').click(function()
					{
						var brokenstring = this.id.split("_");

						if ($j('#menu_date_view').length > 0)
						{
							$j('#booking_time').val($j('#book_time').val());
						}

						$j('#menu_id').val(brokenstring[2]);
						$j('#venue_id').val(brokenstring[3]);
						$j('#booking_date').val(brokenstring[4]);

						$j('#date_submit').removeAttr('disabled');
						$j('#date_submit').removeClass('disabled-but');
						$j('#date_submit').addClass('green-but');
						$j('#date_submit').val('Next Step... Enter Details »');
					});

					if (days <= 7)
					{
						$j(id).hide();
					}

					$j('#all_venues').buttonset();
					$j(':radio').click(function()
					{
						var brokenstring = this.id.split("_");

						$j('#menu_id').val(brokenstring[2]);
						$j('#venue_id').val(brokenstring[3]);
						$j('#booking_date').val(brokenstring[4]);

						$j('#date_submit').removeAttr('disabled');
					})
				}
			})
		})
	}

	if ($j('.later').length > 0)
	{
		$j('.later').live('click', function(fn)
		{
			var venue = this.id.replace('later_', '');
			var start = '#start_date_' + venue;
			var end = '#end_date_' + venue;
			var id = '#' + this.id;
			var is_venue = false;

			if ($j('#menu_date_view').length > 0)
			{
				is_venue = true;
			}

			$j.ajax({
				type : 'POST',
				url : '/christmas/choose_ajax',
				data: {
					start : $j(start).val(),
					end : $j(end).val(),
					venue : this.id,
					actual : $j('#booking_date').val(),
					is_venue : is_venue
				},
				success : function(data)
				{
					var last = new Date($j('#end').val());
					var to = new Date($j(end).val());
					var diff = last - to
					var days = Math.round(diff/(1000*60*60*24));

					$j('#grid_' + venue).replaceWith(data);

					$j('.bubbleInfo').mouseover(function()
					{
						tooltip();
					});

					$j(':radio').click(function()
					{
						var brokenstring = this.id.split("_");

						if ($j('#menu_date_view').length > 0)
						{
							$j('#booking_time').val($j('#book_time').val());
						}

						$j('#menu_id').val(brokenstring[2]);
						$j('#venue_id').val(brokenstring[3]);
						$j('#booking_date').val(brokenstring[4]);

						$j('#date_submit').removeAttr('disabled');
						$j('#date_submit').removeClass('disabled-but');
						$j('#date_submit').addClass('green-but');
						$j('#date_submit').val('Next Step... Enter Details »');
					});

					if (days <= 7)
					{
						$j(id).hide();
					}

					$j('#all_venues').buttonset();
					$j(':radio').click(function()
					{
						var brokenstring = this.id.split("_");

						console.log(brokenstring);

						$j('#menu_id').val(brokenstring[2]);
						$j('#venue_id').val(brokenstring[3]);
						$j('#booking_date').val(brokenstring[4]);

						$j('#date_submit').removeAttr('disabled');
					});
				}
			});
		});
	}

	if ($j('#all_venues').length > 0)
	{

		$j('#all_venues').buttonset();

		$j(':radio').each(function()
		{
			if ($j(this).attr('checked'))
			{
				var brokenstring = this.id.split("_");

				$j('#menu_id').val(brokenstring[2]);
				$j('#venue_id').val(brokenstring[3]);
				$j('#booking_date').val(brokenstring[4]);

				if ($j('#menu_date_view').length > 0)
				{
					$j('#booking_time').val($j('#book_time').val());
				}

				$j('#date_submit').removeAttr('disabled');
				$j('#date_submit').removeClass('disabled-but');
				$j('#date_submit').addClass('green-but');
				$j('#date_submit').val('Next Step... Enter Details »');
			}
		});

		$j('.bubbleInfo').mouseover(function()
		{
			tooltip();
		});

		$j(':radio').click(function()
		{
			var brokenstring = this.id.split("_");

			$j('#menu_id').val(brokenstring[2]);
			$j('#venue_id').val(brokenstring[3]);
			$j('#booking_date').val(brokenstring[4]);

			if ($j('#menu_date_view').length > 0)
			{
				$j('#booking_time').val($j('#book_time').val());
			}

			$j('#date_submit').removeAttr('disabled');
			$j('#date_submit').removeClass('disabled-but');
			$j('#date_submit').addClass('green-but');
			$j('#date_submit').val('Next Step... Enter Details »');
		});

	}

	if ($j("#tabs").length > 0)
	{
		$j(':checkbox').live('click', function()
		{

			if(this.checked)
			{
				$j(this).parent().addClass('selected');
			}
			else
			{
				$j(this).parent().removeClass('selected');
			}

			if (total_selected() == 3)
			{
				disable_checkboxes();
			}
			else
			{
				enable_checkboxes();
			}

			if (date_is_set() && time_is_set() && total_selected() > 0)
			{
				$j('#venue_submit').removeAttr('disabled');
				$j('#venue_submit').removeClass('disabled-but');
				$j('#venue_submit').addClass('green-but');
			}
			else if (total_selected() == 0)
			{
				$j('#venue_submit').attr('disabled', 'disabled');
				$j('#venue_submit').removeClass('green-but');
				$j('#venue_submit').addClass('disabled-but');
			}

		});
	}

	if ($j("#datepicker-xmas").length > 0)
	{
		if (date_is_set() && time_is_set() && total_selected() > 0)
		{
			$j('#venue_submit').removeAttr('disabled');
			$j('#venue_submit').removeClass('disabled-but');
			$j('#venue_submit').addClass('green-but');
		}
		else if (total_selected() == 0)
		{
			$j('#venue_submit').attr('disabled', 'disabled');
			$j('#venue_submit').removeClass('green-but');
			$j('#venue_submit').addClass('disabled-but');
		}
	}

	function total_selected()
	{
		var checked = [];
		$j(':checkbox').each(function() {
			if(this.checked)
			{
				checked.push(this.value);
			}
	    });
		return checked.length;
	}

	function disable_checkboxes()
	{
		$j(':checkbox').each(function() {
			if(!this.checked)
			{
				this.disabled = true;
				$j(this.id).button( "option", "disabled", true );
			}
	    });
		$j('#choose-venue').buttonset();
	}

	function enable_checkboxes()
	{
		$j(':checkbox').each(function()
		{
			this.disabled = false;
			$j(this.id).button( "option", "disabled", false );
	    });
		$j('#choose-venue').buttonset();
	}

	function date_is_set()
	{
		if ($j("#datepicker-xmas").datepicker("getDate")) return true;
		return false;
	}

	function time_is_set()
	{
		if (navigator.appName == 'Microsoft Internet Explorer')
		{
			return true;
		}
		if ($j("#time > select").val()) return true;
		return false;
	}

	function tooltip ()
	{
		if ($j('.bubbleInfo'))
		{
			$j('.bubbleInfo').each(function () {
			var distance = 0;
			var time = 50;
			var hideDelay = 20;
			var hideDelayTimer = null;
			var beingShown = false;
			var shown = false;
			var trigger = $j('.trigger', this);
			var info = $j('.popup', this).css('opacity', 0);

			if (trigger.get(0) && info.get(0)) {
			    $j([trigger.get(0), info.get(0)]).mouseover(function () {
			        if (hideDelayTimer) clearTimeout(hideDelayTimer);
			        if (beingShown || shown) {
			            // don't trigger the animation again
			            return;
			        } else {
			            // reset position of info box
			            beingShown = true;
			            info.css({
			                display: 'block'
			            }).animate({
			                top: '-=' + distance + 'px',
			                opacity: 1
			            }, time, 'swing', function() {
			                beingShown = false;
			                shown = true;
			            });
			        }

			        return false;
			    }).mouseout(function () {
			        if (hideDelayTimer) clearTimeout(hideDelayTimer);
			        hideDelayTimer = setTimeout(function () {
			            hideDelayTimer = null;
			            info.animate({
			                top: '-=' + distance + 'px',
			                opacity: 1
			            }, time, 'swing', function () {
			                shown = false;
			                info.css('display', 'none');
			                });

			            }, hideDelay);

			            return false;
			        });
			    }
			});
		}
	}
	
	if ($j("#callback-request").length > 0)
	{	
		$j('#callback-request').click(function() {
			
			if ($j("#cb-name").val().length < 2)
			{
				alert('You must enter your name');
				return false;
			}
			if ($j("#cb-email").val().length < 2)
			{
				alert('You must enter your email address');
				return false;
			}
			if ($j("#cb-phone").val().length < 2)
			{
				alert('You must enter your phone number so we can call you back');
				return false;
			}
			return true;
		});
	}
});


