// JavaScript Document

$(document).ready(function(){
	// check for what is/isn't already checked and match it on the fake ones
	$("input:checkbox").each( function() {
		(this.checked) ? $("#fake"+this.id).addClass('fakecheckvalid') : $("#fake"+this.id).removeClass('fakecheckvalid');
	});
	// function to 'check' the fake ones and their matching checkboxes
	$(".fakecheck").click(function(){
		($(this).hasClass('fakecheckvalid')) ? $(this).removeClass('fakecheckvalid') : $(this).addClass('fakecheckvalid');
		$(this.hash).trigger("click");
		return false;
	});
	// a custom method making the default value for companyurl ("http://") invalid, without displaying the "invalid url" message
	/*jQuery.validator.addMethod("defaultInvalid", function(value, element) {
		return value != element.defaultValue;
	}, "");*/
	
	
  $("#contactform").validate({
	invalidHandler: function(e, validator) {
		var errors = validator.numberOfInvalids();
		if (errors) {
				var message = errors == 1
					? 'You missed 1 field. It has been highlighted below'
					: 'You missed ' + errors + ' fields.  They have been highlighted below';
				$("#error").html(message);
				$("#error").show();
			} else {
				$("#error").hide();
			}
	},
	messages: {
			email: {
				required: "This field is required.",
				email: "Please enter a valid email address, example: you@yourdomain.com"	
			}
		},
	errorPlacement: function(error, element) {
     error.appendTo( element.parent("label") );
   }
  });
  
  $("#contactphone").mask("(999) 999-9999");
  $("#zip").mask("99999");
  $("#startdate").mask("99/99/9999");
  $("#enddate").mask("99/99/9999");
  $("#starttime").mask("99:99 aa");
  $("#endtime").mask("99:99 aa");
  $("#phone").mask("(999) 999-9999");
  
  $("#petition").validate({
	invalidHandler: function(e, validator) {
		var errors = validator.numberOfInvalids();
		if (errors) {
				var message = errors == 1
					? 'You missed 1 field. It has been highlighted below'
					: 'You missed ' + errors + ' fields.  They have been highlighted below';
				$("#error").html(message);
				$("#error").show();
			} else {
				$("#error").hide();
			}
	},
	messages: {
			email: {
				required: "This field is required.",
				email: "Please enter a valid email address, example: you@yourdomain.com"	
			}
		},
	errorPlacement: function(error, element) {
     error.appendTo( element.parent("label") );
   }
							 });
  
  
});