$(function(){
$('#phone').mask("(999) 999-9999");
$('#dob').mask("99/99/9999");	
$('input[name=zip]').blur(function(){
		var values = 'zip='+$(this).val()+"&time=" + new Date().getTime();
		$.post('/bin/parse/zip_parse.php', values,function(rdata){
			var data = $.evalJSON(rdata);
			if(data.ResultSet.Result.City == ""|| data.ResultSet.Result.State == ""){
			$('.citystate').removeClass('citystate').find('input').attr('value','');
			}else{
			$('input[name=city]').val(data.ResultSet.Result.City);
			$('input[name=state]').val(data.ResultSet.Result.State);
			}
		 });
	});

$("#regForm").validate({
	  rules: {
		full_name: {
			minlength: 6,
			required: true
		},
		email: {
	      required: true,
	      email: true,
	      remote: "/registration/unique_email/"
		},
		zip: {
			required:true,
			minlength:5,
			maxlength:5,
			digits:true
		},
		city: {
			required:true
		},
		state: {
			required:true,
			minlength:2	
		},
		sex: {
			required:true
		},
		dob:{
			required:true,
			date:true
			},
		phone: {
			required:true
		}
	  },
	 messages: { 
	            full_name: "Enter your firstname and lastname", 
	            email: { 
	                required: "Please enter a valid email address", 
	                minlength: "Please enter a valid email address", 
	                remote: jQuery.format("{0} is already in use") 
	            }
	 },
	// the errorPlacement has to take the table layout into account
	errorPlacement: function(error, element) {
		if ( element.is(":radio") )
			error.appendTo( element.parent().next().next() );
		else if ( element.is(":checkbox") )
			error.appendTo ( element.next() );
		else
			error.appendTo( element.parent());
	},
	// specifying a submitHandler prevents the default submit, good for the demo
	/*submitHandler: function() {
		$('#regForm').submit();
	},*/
	// set this class to error-labels to indicate valid fields
	success: function(label) {
		// set &nbsp; as text for IE
		label.html("&nbsp;").addClass("checked");
	}
	});

});