(function(a){a.fn.maxlength=function(b){var c=jQuery.extend({events:[],maxCharacters:10,status:true,statusClass:"status",statusTextBefore:"You may enter up to ",statusTextAfter:"character left",notificationClass:"notification",showAlert:false,alertText:"You have typed too many characters.",slider:false},b);a.merge(c.events,["keyup"]);return this.each(function(){var g=a(this);var j=a(this).val().length;function d(){var k=c.maxCharacters-j;if(k<0){k=0}g.next("div").html("<small>"+c.statusTextBefore+" "+c.maxCharacters+" characters. You have "+k+" "+c.statusTextAfter+"</small>")}function e(){var k=true;if(j>=c.maxCharacters){k=false;g.addClass(c.notificationClass);g.val(g.val().substr(0,c.maxCharacters));i()}else{if(g.hasClass(c.notificationClass)){g.removeClass(c.notificationClass)}}if(c.status){d()}}function i(){if(c.showAlert){alert(c.alertText)}}function f(){var k=false;if(g.is("textarea")){k=true}else{if(g.filter("input[type=text]")){k=true}else{if(g.filter("input[type=password]")){k=true}}}return k}if(!f()){return false}a.each(c.events,function(k,l){g.bind(l,function(m){j=g.val().length;e()})});if(c.status){g.after(a("<div/>").addClass(c.statusClass).html("-"));d()}if(!c.status){var h=g.next("div."+c.statusClass);if(h){h.remove()}}if(c.slider){g.next().hide();g.focus(function(){g.next().slideDown("fast")});g.blur(function(){g.next().slideUp("fast")})}})}})(jQuery);