$(document).ready(function(){
	$('.clear').formclear();
		
		$("#couponcode").change(function(){
			$("#coupondescription").load("https://www.mediasilo.com/index.cfm?event=getcoupondescription&couponcode="+$("#couponcode").val())
		})
		
		$("#hostname").keyup(function(){
			$("#hostnamepreview").text("http://"+$("#hostname").val()+".mediasilo.com");
		})
		
	jQuery.validator.addMethod("lettersnumbersonly", function(value, element) {
		return this.optional(element) || /^[a-zA-Z0-9]+$/i.test(value);
	}, "Field cannot contain special characters.");
	
	jQuery.validator.addMethod("lettersnumbersspacesonly", function(value, element) {
			return this.optional(element) || /^[a-zA-Z0-9\s]+$/i.test(value);
		}, "Field cannot contain special characters.");

	jQuery.validator.addMethod("nowhitespace", function(value, element) {
		return this.optional(element) || /^\S+$/i.test(value);
	}, "No white space please");  

  	
  	
  	
  	$("#submitticket").validate({
			success: function(label) {
			label.addClass("valid").text("Ok!")
		},
	  	submitHandler: function(form) {
	  		form.submit(); 
	  	},
  			
  		rules: {
  			hostname: {
  				required: true,
				lettersnumbersonly: true
			},
			name: "required",
			problem: "required",
			email: "required"
		},
  		
  		messages: {
	  		username: {
	  			minlength: "Your username needs to be at least 5 characters long",
	  				required: "Please enter a username"
	  			},
	  			hostname: {
	  				remote: "This account name is not available",
	  				required: "Please enter an account name"
	  			},
	  			passwordverification: "Passwords don't match.",
	  			couponcode: {
	  				remote: "Coupon could not be found"
	  			}
	  		},
  			errorPlacement: function(error, element) {
     		if ( element.is(":radio"))
     			error.appendTo(element.parent());
			else
     			error.insertAfter(element);
   			},

  		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();
      	}
      }
     })
  	
  	
  		
	$("#getstartedForm").validate({
			success: function(label) {
			label.addClass("valid").text("Ok!")
		},
	  	submitHandler: function(form) {
	  		form.submit(); 
	  	},
  			
  		rules: {
  			company: {
				minlength: 2,
				required: true,
				lettersnumbersspacesonly: true
			},
			firstname: {
				minlength: 2,
				required: true,
				lettersnumbersspacesonly: true
			},
			lastname: {
				minlength: 2,
				required: true,
				lettersnumbersspacesonly: true
			},
			phone: {
				minlength: 2,
				required: true
			},
			address: {
				minlength: 2,
				required: true
			},
			city: {
				minlength: 2,
				required: true,
				lettersnumbersspacesonly: true
			},
			zip: {
				minlength: 2,
				required: true
			},
			state: {
				minlength: 2,
				required: true
			},
			country: {
				minlength: 2,
				required: true
			},

  			hostname: {
  				required: true,
				lettersnumbersonly: true,
				remote: "https://www.mediasilo.com/index.cfm?event=checkhostname"
			},
			couponcode: {
				required: false,
				lettersnumbersspacesonly: true,
				remote: "https://www.mediasilo.com/index.cfm?event=checkcoupon"
			},
			expirationdate: {
				required: true,
				digits: true,
				maxlength: 4},
			securitycode: "digits",
			expirationdate: {
				required: true,
				maxlength: 4,
				digits: true
			},
			cardnumber: {
				required: true,
				creditcard: true
			},
			cardtype: "required",
			username: {
				required: true,
				lettersnumbersonly: true
				},
			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 account name is not available",
	  				required: "Please enter an account name"
	  			},
	  			passwordverification: "Passwords don't match.",
	  			couponcode: {
	  				remote: "Coupon could not be found"
	  			}
	  		},
  			errorPlacement: function(error, element) {
     		if ( element.is(":radio"))
     			error.appendTo(element.parent());
			else
     			error.insertAfter(element);
   			},

  		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();
      	}
      }
	
 	})
 });
