/// <reference path="jquery-1.2.6.min.js"/>

(function($) {
    $.fn.extend({

        validateregex: function(options) {

            var dec = '.';

            var defaults = {
                regex: null,
                onValid: null,
                onInvalid: null
            };

            var options = $.extend(defaults, options);

            return this.each(function() {

                var obj = $(this);

                obj.bind('keypress', function(evt) {
                    if (!options.regex || options.regex.length == 0)
                        return;
                    if (!options.onInvalid && !options.onValid)
                        return;

                    regex = new RegExp(options.regex);
                    var input = String.fromCharCode(evt.which);
                    if (regex.test(input)) {
                        if (options.onValid)
                            options.onValid({ target: evt.target, input: input });
                    }
                    else {
                        if (options.onInvalid) {
                            options.onInvalid({ target: evt.target, input: input });
                        }
                    }
                });
            });
        }
    });
})(jQuery);

