 /**
 * jQuery Validation Plugin 1.8.1
 * Additional HMG methods
 */
    
    jQuery.validator.addMethod(
        "validate-phone", 
        function(value, elm) { 
                                    value = value.replace(/[\(\)\-\s.\/\D]/g, '');
                                    var length = value.length;
                                    if(length == 10) {
                                        // reformat as 123-123-1234
                                        var matcher    = new RegExp(/(\d{3})(\d{3})(\d{4})/);
                                        var matched    = matcher.exec(value);
                                        var new_num = matched[1] + "-" + matched[2] + "-" + matched[3];
                                        jQuery('#' + elm.id).val(new_num);
                                    }
                                    return  this.optional(elm)  || (length == 10) ? true : false ;
                                }, 
        "Please enter a valid US/Canadian phone number.");
    jQuery.validator.addMethod(
        "validate-date-mmyyyy", 
        function(value, elm) { 
                                 return  this.optional(elm)  || value.match(/(\d{2})(\/)(\d{4})/);
                             }, 
        "Please enter a date in the form MM/YYYY.");
    jQuery.validator.addMethod(
        "validate-selection-max-2", 
        function(value, elm) { 
                                var length = jQuery('#' + elm.id).val().length;
                                return  (length > 0 && length < 3) ? true : false ;
                             }, 
        "Please select 1 or 2 items.");
    jQuery.validator.addMethod(
        "require-4-chars", 
        function(value, elm) { 
                                var length = jQuery('#' + elm.id).val().length;
                                return  (length == 4) ? true : false ;
                             }, 
        "Please enter 4 digits.");
    jQuery.validator.addMethod(
        "require-5-chars", 
        function(value, elm) { 
                                var length = jQuery('#' + elm.id).val().length;
                                return  (length == 5) ? true : false ;
                             }, 
        "Please enter 4 digits.");
    jQuery.validator.addMethod(
        "validate-currency-dollar", 
        function(value, elm) { 
                                var ok = this.optional(elm)  || value.match(/^\-?([1-9]{1}[0-9]{0,2}(\,[0-9]{3})*(\.[0-9]{0,2})?|[1-9]{1}\d*(\.[0-9]{0,2})?|0(\.[0-9]{0,2})?|(\.[0-9]{1,2})?)$/);
                                return ok;
                             }, 
        "Please enter a valid amount. For example 100.00.");     
    jQuery.validator.addMethod(
        "validate-one-required", 
        function(value, elm) { 
                                var ok = false;
                                jQuery(elm).parent().children(':input').each(function(i) {
                                    if (!ok) {
                                        ok = (jQuery(this).attr('checked')) ? true : false;
                                    }
                                });
                                return ok;
                             }, 
        "Please select an option.");
