/**
 * @author jdgibbs
 */
$(document).ready(function() {
	// validate signup form on keyup and submit
	var validator = $("#signup").validate({
		rules: {
			first_name: "required",
			last_name: "required",
			email: {
				required: true,
				email: true
			},
			verify_email: {
				required: true,
				email: true,
				equalTo: "#email"
			},
			zip: "required",
			gender: "required",
			age_range: "required"
		},
		messages: {
			first_name: "Enter your first name",
			last_name: "Enter your last name",
			email: {
				required: "Enter a valid email address",
				minlength: "Enter a valid email address"
			},
			verify_email: {
				required: "Enter a valid email address",
				minlength: "Enter a valid email address",
				equalTo: "Verify email does not match"
			},
			zip: "Enter your zip code",
			gender: "Required",
			age_range: "Required"
		},
		errorPlacement: function(error, element) {
			if ( element.is(":radio") )
				error.appendTo( element.parent() );
			else if ( element.is(":checkbox") )
				error.appendTo ( element.next() );
			else
				error.appendTo( element.parent() );
		}
	});
	
	if (!$('#owned_inst_other_check').is(":checked")) {
		$('#owned_inst_other').hide();		
	}
	
	if (!$('#owned_equip_other_check').is(":checked")) {
		$('#owned_equip_other').hide();		
	}
	
	if (!$('#inv_other_check').is(":checked")) {
		$('#inv_other').hide();		
	}
	
	$('#owned_inst_other_check').click(function() {
		 if ($('#owned_inst_other_check').is(":checked")) {
		 	$('#owned_inst_other').show();
			$('input[name=owned_inst_other]').rules('add', {
				required: true,
				messages: {
					required: "This field is required if checked"
				}
			});
		 } else {
		 	$('#owned_inst_other').hide().val('');
			$('input[name=owned_inst_other]').rules('remove');
			$('input[name=owned_inst_other]').valid();
		 }
	});
	
	$('#owned_equip_other_check').click(function() {
		 if ($('#owned_equip_other_check').is(":checked")) {
		 	$('#owned_equip_other').show();
			$('input[name=owned_equip_other]').rules('add', {
				required: true,
				messages: {
					required: "This field is required if checked"
				}
			});
		 } else {
		 	$('#owned_equip_other').hide().val('');
			$('input[name=owned_equip_other]').rules('remove');
			$('input[name=owned_equip_other]').valid();	
		 }
	});
	
	$('#inv_other_check').click(function() {
		 if ($('#inv_other_check').is(":checked")) {
		 	$('#inv_other').show();
			$('input[name=inv_other]').rules('add', {
				required: true,
				messages: {
					required: "This field is required if checked"
				}
			});
		 } else {
		 	$('#inv_other').hide().val('');
			$('input[name=inv_other]').rules('remove');
			$('input[name=inv_other]').valid();
		 }
	});
	
});
