        
    jQuery.fn.reset = function () {
      $(this).each (function() { this.reset(); });
    }
    
    $.validator.addMethod(
            "regex",
            function(value, element, regexp) {
                var check = false;
                var re = new RegExp(regexp);
                return this.optional(element) || re.test(value);
            },
            ""
    );


    $.validator.prototype.showLabel = function(element, message) {
        var label = this.errorsFor( element );
        $(element).addClass("required");
        if ( label.length ) {
                // refresh error/success class
                label.removeClass().addClass( this.settings.errorClass );

                // check if we have a generated label, replace the message then
                label.attr("generated") && label.html(message);
        } else {
                // create label
                label = $("<" + this.settings.errorElement + "/>")
                        .attr({"for":  this.idOrName(element), generated: true})
                        .addClass(this.settings.errorClass)
                        .html(message || "");
                if ( this.settings.wrapper ) {
                        // make sure the element is visible, even in IE
                        // actually showing the wrapped element is handled elsewhere
                        label = label.hide().show().wrap("<" + this.settings.wrapper + "/>").parent();
                }
                if ( !this.labelContainer.append(label).length )
                        this.settings.errorPlacement
                                ? this.settings.errorPlacement(label, $(element) )
                                : label.insertAfter(element);
        }
        if ( !message && this.settings.success ) {
                label.text("");
                typeof this.settings.success == "string"
                        ? label.addClass( this.settings.success )
                        : this.settings.success( label );
        }
        this.toShow = this.toShow.add(label);
    }

    $.validator.messages = {
            required: "ucp_jquery_validate_required!",
            regex: "ucp_jquery_validate_regex!",
            remote: "ucp_jquery_validate_remote!",
            email: "ucp_jquery_validate_email!",
            url: "ucp_jquery_validate_url!",
            date: "ucp_jquery_validate_date!",
            dateISO: "ucp_jquery_validate_dateISO!",
            number: "ucp_jquery_validate_number!",
            digits: "ucp_jquery_validate_digits!",
            creditcard: "ucp_jquery_validate_creditcard!",
            equalTo: "ucp_jquery_validate_equalTo!",
            accept: "ucp_jquery_validate_accept!",
            maxlength: $.validator.format("ucp_jquery_validate_maxlength!"),
            minlength: $.validator.format("ucp_jquery_validate_minlength!"),
            rangelength: $.validator.format("ucp_jquery_validate_rangelength!"),
            range: $.validator.format("ucp_jquery_validate_range!"),
            max: $.validator.format("ucp_jquery_validate_max!"),
            min: $.validator.format("ucp_jquery_validate_min!")

    };

