//contact form validation
$(document).ready(function(){

	function createOptinForm(){
		if ($('#signup').length != 0){
			var url = window.location.href;
			$('#optin-button').replaceWith('<button type="submit" value="submit" name="btn-Submit" class="submit-button">Subscribe</button>');
			$('#form-errors').after(' <!-- SF: ID -->\
										<input type="hidden" name="oid" value="00D300000000ZF4" />\
										<input type="hidden" name="retURL" value=\"' + url + '?signup=success\" />');
		} else {return false;}
	}
	
	function createForm(){
		if ($('#contactForm').length != 0){
			$('#contact-btn').replaceWith('<button type="submit" value="submit" name="btn-Submit" class="submit-button">Submit Inquiry</button>');
			$('#form-errors').after(' <!-- SF: ID -->\
									  <input type="hidden" name="oid" value="00D300000000ZF4" />');
		} else {return false;}
	}
	
	/* create input prompts in the email signup, and hide labels offscreen */	
	$('#signup input[type=text]').each(function(){
		var label = $(this).prev();
		$(this).form_prompt(function() {
	 		return label.html();
		});

		label.css({"position" : "absolute", "left" : "-9999px"});
	});


	
	
	createForm();
	createOptinForm();
	
	
	$.validator.addMethod("equalToParam", function(value, element, param) {
	    return value == param;
	});

	var container = $('#form-errors');

	// Contact Form Validation
	$("#contactForm").validate({
		errorContainer: container,
		errorLabelContainer: $("ul", container),
		wrapper: 'li',
		highlight: function(element, errorClass) {
				 $(element).addClass(errorClass);
				 $(element.form).find("label[for=" + element.id + "]")
												.addClass(errorClass);
			},
			unhighlight: function(element, errorClass) {
				 $(element).removeClass(errorClass);
				 $(element.form).find("label[for=" + element.id + "]")
												.removeClass(errorClass);
			},		
	   	rules: {
	     // simple rule, converted to {required:true}
	     first_name: "required",
	     last_name: "required",
	     title: "required",
	     company: "required",
	     phone: "required",
	     state: "required",
	     country: "required",
			 routing: "required",
	     // compound rule
	     email: {
	       required: true,
	       email: true
	     },
	     //is it human?
	     live_test: { 
	     	required: true,
	     	equalToParam: "renewable"
	     }
	   }
	});
	
	
	// newsletter signup validation
	var signUpValidator = $("#emailSignUp").validate({
		errorElement: "em",
		errorContainer: "#form-errors",
		onfocusout: false,
	   	rules: {
	     	first_name: "required",
	     	last_name: "required",
	     	company: "required",
	     	state: "required",
	     	country: "required",
	     	email: {
	       		required: true,
	       		email: true
				}
	   	},
	   	messages: {
	     	first_name: " **",
	     	last_name: " **",
	     	company: " **",
	     	state: " **",
	     	country: " **",
	     	email: {
	       		required: " **",
	       		email: " **"
	     	}
	   	}
	});	





});
