jQuery.validator.setDefaults({
  invalidHandler: function(form, validator) {
  var errors = validator.numberOfInvalids();
    if (errors) {
      try {
        // if ($("div.error-message").hidden()) {
          var formElement = form.currentTarget;
          // $('#form-wrap').before('<div class="error-message" style="display: block;"><p>There was a problem with your form. Please check the highlighted fields and try again.</p><ul id="messageBox"></ul></div>');
          $("div.error-message").show();
        // }
      } catch (err) {}
    } else {
      $("div.error-message").hide();
    }
  }
});

$(document).ready(function(){
	
	// 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;
    // }, "");

	$('#frm-contact').validate({
		errorElement: 'span',
		errorLabelContainer: "#messageBox",
		wrapper: "li",
		rules: {
			name: {
				required: true
			}, 
			email: {
				required: true,
				email: true
			},
			question: "required"
		},
		messages: {
			name: "Please enter your name",
			email: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address"
			},
			question: "Please enter your message"
		}
	});
	
	$('#frm-newsletter').validate({
		errorElement: 'span',
		errorLabelContainer: "#messageBox",
		wrapper: "li",
		rules: {
			name: {
				required: true
			}, 
			email: {
				required: true,
				email: true
			}
		},
		messages: {
			name: "Please enter your name",
			email: {
				required: "Please enter a valid email address",
				minlength: "Please enter a valid email address"
			}
		}
	});
});
