$(document).ready(function(){
		$('.clear').formclear();
  		
  		$("#couponcode").change(function(){
  			$("#coupondescription").load("AccountSignupAPI.cfc?method=getcoupondescription&couponcode="+$("#couponcode").val())
  		})
  		
  		$("#hostname").keyup(function(){
  			$("#hostnamepreview").text("http://"+$("#hostname").val()+".focusmediashare.com");
  		})
  		
  		jQuery.validator.addMethod("lettersnumbersonly", function(value, element) {
			return this.optional(element) || /^[a-zA-Z0-9]+$/i.test(value);
		}, "Example: myname (.focusmediashare.com)");
		
		jQuery.validator.addMethod("nowhitespace", function(value, element) {
			return this.optional(element) || /^\S+$/i.test(value);
		}, "No white space please");  

  		
  		 $("#getstartedForm").validate({
  		   success: function(label) {
     		label.addClass("valid").text("Ok!")
   			},
  		  submitHandler: function(form) {
  		  	form.submit(); 
  		  	},
  			
  			rules: {
  				hostname: {
  					required: true,
  					lettersnumbersonly: true,
  					nowhitespace: true,
  					remote: "AccountSignupAPI.cfc?method=checkhostname"
  				},
  				couponcode: {
  					required: false,
  					remote: "AccountSignupAPI.cfc?method=checkcoupon"
  				},
  				expirationdate: {
  					required: true,
  					digits: true,
  					maxlength: 4},
  				securitycode: "digits",
  				expirationdate: {
  					required: true,
  					maxlength: 4,
  					digits: true
  				},
  				cardnumber: {
  					required: true,
  					creditcard: true
  				},
  				username: "required",
  				password: "required",
  				passwordverification: {
  					equalTo: "#password"
  				}
  			},
  			messages: {
	  			username: {
	  				minlength: "Your username needs to be at least 5 characters long",
	  				required: "Please enter a username"
	  			},
	  			hostname: {
	  				remote: "This hostname is not available",
	  				required: "Please enter a hostname"
	  			},
	  			passwordverification: "Passwords don't match.",
	  			couponcode: {
	  				remote: "Coupon could not be found"
	  				}
  		},
  		invalidHandler: function(form, validator) {
		var errors = validator.numberOfInvalids();
		if (errors) {
        	var message = errors == 1
          	? 'You missed 1 field. It has been highlighted'
          	: 'You missed ' + errors + ' fields. They have been highlighted';
        	$("div.error span").html(message);
        	$("div.error").show();
      	} else {
        	$("div.error").hide();
      	}
      }
	
 	})
 });
