
jQuery(function($){
  
  $('#frmftppwd_username').parents('form').validate({
    rules: {
        
        'frmftppwd[username]': {
                      maxlength: 12, minlength: 5        
        },  
        'frmftppwd[email]': {
                      email: true        
        }    },    
    messages: {
              'frmftppwd[username]': {
                      maxlength: function(a, elem){ return "\"" + $(elem).val() + "\" is too long (12 characters max)."; }, minlength: function(a, elem){ return "\"" + $(elem).val() + "\" is too short (5 characters min)."; }        
        },        
        'frmftppwd[email]': {
                              
        }        
    },
    wrapper: '',
    errorElement: 'span',
    errorPlacement: function(error, element) 
    {
     /*var elem = element.parent().next();
     
     if(elem && elem.attr('id') == 'errMsg')
     {
        error.appendTo(elem);
     }
     else
     {*/
        if(element.parents('.radio_list').is('*') || element.parents('.checkbox_list').is('*'))
        {
            //error.prependTo( element.parent().parent().parent() );
            error.appendTo( element.parent().parent().parent() );
        }
        else
        {
            //error.prependTo( element.parent() );
            error.appendTo( element.parent() );
        }
     //}
     
   }
  
  });
  
  
});

/* 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."
);