
(function($){$.fn.inputCounter=(function(){return function(args){var opts={};$.extend(opts,$.fn.inputCounter.defaults,args);return this.each(function(){var counter=$('#'+this.id+opts.idSuffixes.counter);var maxlength=$('#'+this.id+opts.idSuffixes.maxlength).text();var minlength=$('#'+this.id+opts.idSuffixes.minlength).text()||opts.minlength;if(!counter||!maxlength)return true;var interval;var $this=$(this);function showCount(){var len=$this.val().length||0;counter.text(len.toString());if(len<minlength)counter.addClass(opts.classes.underflow);else counter.removeClass(opts.classes.underflow);if(len>maxlength)counter.addClass(opts.classes.overflow);else counter.removeClass(opts.classes.overflow);}
$(this).focus(function(){interval=setInterval(showCount,opts.intervalMs);}).blur(function(){if(interval)clearInterval(interval);});showCount();return true;});}})();$.fn.inputCounter.defaults={minlength:1,idSuffixes:{counter:'_counter',maxlength:'_maxlength',minlength:'_minlength'},classes:{underflow:'underflow',overflow:'overflow'},intervalMs:250};})(jQuery);
