/* Declare a namespace for the site */

var Site = window.Site || {};

/* Create a closure to maintain scope of the '$'
   and remain compatible with other frameworks.  */

(function($) {
	
	//same as $(document).ready();

	$(function() {
		
		$('.no-validate').attr('novalidate', 'novalidate');
		$('.validate').validate();
		
		$('.submit').submit(function() {
			$t = $(this);
			
			return $t.find('.validate').isValid();
		});
		
		$('.photos .thumbnail').colorbox({
			slideshow: true,
			current:'Image {current} or {total}'
		});
		
		$('.videos .thumbnail').colorbox({
			iframe:true,
			innerWidth:700,
			innerHeight:500,
			current:'Video {current} or {total}'
		});
		
		/* Gallery */

		$('.index .slides').before('<div class="paging">').cycle({
			fx: 'fade',
			timeout: '9000',
			slideResize: 0,
			pager: '.paging'
		});
		
		$('.products .additional-photos img').click(function() {
			var $t = $(this);
			var src = $t.attr('src');
			
			$t.parents('.additional-photos').children('li').removeClass('active');
			$t.parent().addClass('active');
			$t.parents('.additional-photos').prev('img').attr('src', src);
		});
		
		
		$('section .register a').click(function() {
		
			$('.register.dialog').dialog({
				title: 'Confirm Registration',
				modal: true,
				resizable: false,
				width: '500px',
				buttons: {
					'Cancel': function() {
						$(this).dialog('close');
					},
					'Register': function() {
						$('.register.dialog').submit();
					}
				}
			});
						
			return false;
		});
		
		$('#xtreme_member_dropdown').val('');
		
		
		$('#xtreme_member_dropdown').change(function() {
			var $t = $(this);
			var value = $t.val();
			var option = $t.children('option:selected');
			var extra = '';
			
			if(value != '') {
				$('ul.registered-members .empty').remove();
				
				var free_classes = parseInt($('#free_classes').val());
				
				if(free_classes > 0) {
					extra = '<label><input type="checkbox" name="use_class['+value+']" class="free-class" checked="checked"/> Use free class?</label>';
					free_classes--;
					$('#free_classes').val(free_classes);
					$('.discount.badge span').html(free_classes);
				}			
				
				$('ul.registered-members').append('<li><span>'+option.html()+'</span><input type="hidden" name="members['+value+']" value="'+option.html()+'" /><a href="#" class="remove">Delete</a>'+extra+'</li>');
			}
			
			option.remove();
			$t.blur();
		});
		
		$('ul.registered-members a.remove').live('click', function() {
			var $t = $(this);
			var parent = $t.parent();
			var free_classes = parseInt($('#free_classes').val());
						
			parent.slideToggle('fast', function(t) {
				parent.remove();
				var value = parent.children('input').val();
				var option = parent.children('span').html();
						
				if($t.next('label').children('input').attr('checked'))	
					free_classes++;
				
				$('#free_classes').val(free_classes);
				$('.discount.badge span').html(free_classes);
			
				$('#xtreme_member_dropdown').append('<option value="'+value+'">'+option+'</option>');
			});
		});
		
		$('.free-class').live('click', function(t) {
			var $t = $(this);
			var free_classes = parseInt($('#free_classes').val());
				
			if(!$t.attr('checked'))
				free_classes++;
			else
				if(free_classes > 0)
					free_classes--;
				else
					$t.attr('checked', false);
				
			$('#free_classes').val(free_classes);
			$('.discount.badge span').html(free_classes);
		});
		
		$('.xtreme-members .delete a').click(function() {
			var $t = $(this);
			var parent = $t.parent().parent();
			var id = $t.attr('id');
			
			$('#member-'+id).dialog({
				title: 'Confirm Delete',
				modal: true,
				resizable: false,
				width: '450px',
				buttons: {
					'Cancel': function() {
						$(this).dialog('close');
					},
					'Delete Member': function() {
						var dialog = $(this);
											
						dialog.submit();		
					}
				}
			});
			
			return false;
			
		});
		
		$('.registration-form .email input').keyup(function() {
			$('#email_confirm').val($(this).val());
		});
		
		$('.registration-form .email input').blur(function() {
			$('#email_confirm').val($(this).val());
		});
		
		$('.tabs').tabs();
		
		$('.refresh').click(function() {
			window.location.reload();
			
			return false;
		});
				
	});
	
})(jQuery);
