/**
 * jQuery Maxlength plugin
 * @version		$Id: jquery.maxlength.js 18 2009-05-16 15:37:08Z emil@anon-design.se $
 * @package		jQuery maxlength 1.0.5
 * @copyright	Copyright (C) 2009 Emil Stjerneman / http://www.anon-design.se
 * @license		GNU/GPL, see LICENSE.txt
 */
 (function(A){A.fn.maxlength=function(B){var C=jQuery.extend({events:[],maxCharacters:10,status:true,statusClass:"status",statusText:"character left",notificationClass:"notification",showAlert:false,alertText:"You have typed too many characters.",slider:false,hardLimit:true},B);
 A.merge(C.events,["keyup"]);
 A.merge(C.events,["focus"]);
 return this.each(function() {
	 var G=A(this);	
	 var J=A(this).val().length;	
	 function D(){var K=C.maxCharacters-J;
		G.next("div").html(K+" "+C.statusText)		
	}
	 function E(){
		 var K=true;
		 if(J>=C.maxCharacters){		
			 K=false;
			 G.addClass(C.notificationClass);
			 if(C.hardLimit) {
				 G.val(G.val().substr(0,C.maxCharacters));
			 } else {
				 G.val(G.val());
			 }
			 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);

