
jQuery(function($){
  
  $('#registration_id').parents('form').validate({
    rules: {"registration[first_name]":{"required":true,"maxlength":250},"registration[last_name]":{"required":true,"maxlength":250},"registration[email_address]":{"required":true,"maxlength":250,"email":true},"registration[postcode]":{"required":true,"maxlength":10}},
    messages: {"registration[first_name]":{"required":"Please include your first name","maxlength":"Must be less than 250 characters"},"registration[last_name]":{"required":"Please include your last name","maxlength":"Must be less than 250 characters"},"registration[email_address]":{"required":"Please include your email","maxlength":"Must be less than 250 characters"},"registration[postcode]":{"required":"Please include your postcode","maxlength":"Must be less than 10 characters"}},
    wrapper: 'ul class="error_list"',
    errorElement: 'li',
    errorPlacement: function(error, element) 
    {
     var container = null;
     if(element.parents('.radio_list').is('*') || element.parents('.checkbox_list').is('*'))
     {
       container = element.parent().parent().parent();
     }
     else
     {
       container = element.parent();
     }
           error.appendTo(container);
       }
  
  });
  
});

/* for some reason the jQuery Validate plugin does not incluce a generic regex method */
jQuery.validator.addMethod(
  "regex",
  function(value, element, regexp) {
      if (regexp.constructor != RegExp)
          regexp = new RegExp(regexp);
      else if (regexp.global)
          regexp.lastIndex = 0;
      return this.optional(element) || regexp.test(value);
  },
  "Invalid."
);
