$(function() {
  $('h3.form_mailer_field').after('<ul class="problems"></ul>');
  $('form#contact').validate({
    errorContainer: 'ul.problems',
    errorLabelContainer: 'ul.problems',
    wrapper: 'li',
    messages: {
      form_mailer_contact_name: { required: 'Please enter your name' },
      form_mailer_contact_email: { required: 'Please enter your email' },
      form_mailer_contact_message: { required: 'Please enter your message' }
    },
    errorElement: 'span',
    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);
    },
    submitHandler: function(form) {
      $('input.submit', form).attr('disabled', true);
      $(form).ajaxSubmit({
        cache: false,
        success: function(data, textStatus) {
          showInfoBar(data);
          $(form).resetForm();
          $('input.submit', form).attr('disabled', false);
        }
      });
    }
  });
});