// JavaScript Document

$(function() {
  // 1. select all form inputs and the textarea
  $('form input').add('form textarea')
  
  // 2. add focus handler
  .focus(function() {
    // a. cache current element
    var $this = $(this);
    
    // b. set the default value if it hasn't been set
    if (!$this.data('default')) {
      $this.data('default', $this.val());
    }
    
    // c. blank out the field and change color to black
    //    if the user hasn't entered text in it
    if ($this.val() == $this.data('default')) {
     if (($this.val() != 'Sign Up') && ($this.val() != 'Submit')){
	  $this.val('')
      .css('color', '#000');
	  }
    }
  })
  
  // 3. add blur handler
  .blur(function() {
    // a. cache current element
    var $this = $(this);
    
    // b. return field to default value and change color to gray
    //    if the field is empty
    if ($this.val() == '') {
      $(this).val($this.data('default'))
      .css('color', '#000');
    }
  })
  
  // 4. change text color to gray
 // .css('color', '#666')
});

 
$(document).ready(function() { 

$.validator.addMethod("valueNotEquals", function(value, element, arg){
	return this.optional(element) || value != arg;
}, "Value must not equal arg.");

$("#signupForm").validate({
	errorclass:"formError",
		errorLabelContainer: "#errorContainer",
   	rules: {
		// simple rule, converted to {required:true}
		Name: {required : true, valueNotEquals:"Name"},
		EmailAddress: {required : true, email: true, valueNotEquals:"Email Address"},
		PhoneNumber: {required : true, valueNotEquals:"Phone Number"},
		Zip: {required : true, valueNotEquals:"Zip"}
   	},
   messages: {
   		Name: { required: "Enter Name",valueNotEquals: "Enter Name"},
		EmailAddress: { required: "Enter Email",valueNotEquals: "Enter Email", email: "Enter valid email address."},
		PhoneNumber: { required: "Enter Phone",valueNotEquals: "Enter Phone"},
		Zip: { required: "Enter Zip",valueNotEquals: "Enter Zip"}
   }/**/
   /*,
   messages:{
  // Name: "Enter Name";
   }*/
});

$("#contactForm").validate({
errorLabelContainer: "#errorContainer",
   	wrapper: "li",
	errorClass: "formError",
   	rules: {
		// simple rule, converted to {required:true}
		Name: {required : true, valueNotEquals:"Name"},
		EmailAddress: {required : true, email: true, valueNotEquals:"Email Address"},
		PhoneNumber: {required : true, valueNotEquals:"Phone Number"}	
   	}
		
   
});

$("#signupForm").validate({
	errorclass:"formError",
		errorLabelContainer: "#errorContainer",
   	rules: {
		// simple rule, converted to {required:true}
		Name: {required : true, valueNotEquals:"Name"},
		EmailAddress: {required : true, email: true, valueNotEquals:"Email Address"},
		PhoneNumber: {required : true, valueNotEquals:"Phone Number"},
		Zip: {required : true, valueNotEquals:"Zip"}
   	},
   messages: {
   		Name: { required: "Enter Name",valueNotEquals: "Enter Name"},
		EmailAddress: { required: "Enter Email",valueNotEquals: "Enter Email", email: "Enter valid email address."},
		PhoneNumber: { required: "Enter Phone",valueNotEquals: "Enter Phone"},
		Zip: { required: "Enter Zip",valueNotEquals: "Enter Zip"}
   }
});

$("#quoteForm").validate({
	errorClass: "formError",
	errorLabelContainer: "#errorContainer",
   	wrapper: "li",
   	rules: {
		// simple rule, converted to {required:true}
		Name: {required : true, valueNotEquals:"Name"},
		EmailAddress: {required : true, email: true, valueNotEquals:"Email Address"},
		PhoneNumber: {required : true, valueNotEquals:"Phone Number"}
	
   	},
   messages: {
   		Name: { required: "Enter Name",valueNotEquals: "Enter Name"},
		EmailAddress: { required: "Enter Email",valueNotEquals: "Enter Email", email: "Enter valid email address."},
		PhoneNumber: { required: "Enter Phone",valueNotEquals: "Enter Phone"}
		
   }
});

});
