if(typeof jQuery != 'undefined') {
	$(function() {
		$('body').addClass('jsenabled');
		// special treatment for IE 7
		if(!($.support.hrefNormalized)) {
			$('#nav li a span').contents().wrap($('<span>'));
		}
		// end special treatment
		// tab functionality
		if($('[id|="tab"]').length) {
			$('#right-col .tabs .nav:first li:first-child, #left-col li.active li:first-child').addClass('active');
			var tabs = $('.tabs .nav li');
			var n = tabs.length;
			if(n > 4) {
				var navWidth = $('.tabs .nav').width();
				function sort(num) {
					$('.tabs .nav li:nth-child('+num+')')
						.addClass('last-child')
						.after($('<li>', {style: 'visibility:hidden; width:'+remainingWidth+'px;margin: 0;'}))
						.next()
							.next()
								.addClass('first-child');
				}
				if(n <= 6) {
					var remainingWidth = navWidth-(tabs.eq(0).width()+tabs.eq(1).width());
					sort(2);
				}
				else if(n == 7) {
					var remainingWidth = navWidth-(tabs.eq(0).width()+tabs.eq(1).width()+tabs.eq(2).width());
					sort(3);
				}
				else if(n == 8) {
					$('.tabs .nav li:nth-child(4)').addClass('last-child').next().addClass('first-child');
				}
			}
			$('a[href^="#tab-"]').each(function() {
				$(this).click(function(e) {
					e.preventDefault();
					var href = $(this).attr('href');
					$('a[href='+href+']').parent().addClass('active').siblings().removeClass('active');
					$('.tab').hide();
					$($(this).attr('href')).show();
				});
			});
			var hash = window.location.hash;
			if(hash == '#tab-'+hash.match(/[0-9]/)) {
				$('a[href='+hash+']').parent().addClass('active').siblings().removeClass('active');
				$('.tab').hide();
				$(hash).show();
				//window.location.hash = '';
			}
			
		}
		// end tab functionality
		
		$('.form-nav a.next').live('click', function() {
			var $visible = $('.form-stage:visible');
			var $next = $visible.next('.form-stage');
			var $after = $next.next('.form-stage');
			if($next.size() > 0) {
				$visible.hide();
				$next.show();
				$('.form-nav a.prev').show();
				$('.form-stages a').removeClass('active');
				$('.form-stages a[href="#'+$next.attr('id')+'"]').addClass('active');
				if($after.size() == 0) {
					$(this).hide();
				}
			}
			return false;
		});
		
		$('.form-nav a.prev').live('click', function() {
			var $visible = $('.form-stage:visible');
			var $prev = $visible.prev('.form-stage');
			var $before = $prev.prev('.form-stage');
			if($prev.size() > 0) {
				$visible.hide();
				$prev.show();
				$('.form-nav a.next').show();
				$('.form-stages a').removeClass('active');
				$('.form-stages a[href="#'+$prev.attr('id')+'"]').addClass('active');
				if($before.size() == 0) {
					$(this).hide();
				}
			}
			return false;
		});
		
		$('.form-stages a').live('click', function() {
			var $href = $(this).attr('href');
			$('.form-stage').hide();
			$($href).show();
			$('.form-stages a').removeClass('active');
			$this.addClass('active');
			var $next = $($href).next('.form-stage');
			var $prev = $($href).prev('.form-stage');
			if($prev.size() > 0) {
				$('.form-nav a.prev').show();
			} else {
				$('.form-nav a.prev').hide();
			}
			if($next.size() > 0) {
				$('.form-nav a.next').show();
			} else {
				$('.form-nav a.next').hide();
			}
			return false;
		});
		
		$(':first-child').addClass('first-child');
		$(':last-child').addClass('last-child');
		
		// form validation
		if(jQuery().validate) {
			$('#form_register .req_info').prepend($('<ul>', {id: 'errors'}));
			$('#form_register').validate({
				errorLabelContainer: '#errors',
				wrapper: 'li',
				invalidHandler: function() {
					$('#errors').addClass('active');
				},
				messages: {
					r_email: {
						email: 'A valid e-mail address is necessary'
					}
				}
			});
			$('#form_partner [name="c_btype\\[\\]"]').closest('div').after(
				$('<label>', {
					'class': 'error',
					'for': 'c_btype[]',
					text: 'Please check at least one.'
				}).hide()
			)
			$('#form_partner').validate({
				rules: {
					'c_btype[]': {
						required: true,
						minlength: 1
					}
				}
			});
			$('#form_partner').submit(function() {
				if($('[name="c_btype\\[\\]"]').valid() == 0) {
					$('[name="c_btype\\[\\]"]').closest('div').addClass('error');
				}
			});
		}
		// end form validation
	});
}
