(function(n){n.fn.inputlimiter=function(t){var i=n.extend({},n.fn.inputlimiter.defaults,t);i.boxAttach&&!n("#"+i.boxId).length&&(n("<div/>").appendTo("body").attr({id:i.boxId,"class":i.boxClass}).css({position:"absolute"}).hide(),n.fn.bgiframe&&n("#"+i.boxId).bgiframe());var r=function(){var u;!i.allowExceed&&n(this).val().length>i.limit&&n(this).val(n(this).val().substring(0,i.limit));i.boxAttach&&n("#"+i.boxId).css({width:n(this).outerWidth()-(n("#"+i.boxId).outerWidth()-n("#"+i.boxId).width())+"px",left:n(this).offset().left+"px",top:n(this).offset().top+n(this).outerHeight()-1+"px","z-index":2e3});var f=i.limit-n(this).val().length,t=i.remTextFilter(i,f),r=i.limitTextFilter(i);i.limitTextShow?(n("#"+i.boxId).html(t+" "+r),u=n("<span/>").appendTo("body").attr({id:"19cc9195583bfae1fad88e19d443be7a","class":i.boxClass}).html(t+" "+r).innerWidth(),n("#19cc9195583bfae1fad88e19d443be7a").remove(),u>n("#"+i.boxId).innerWidth()&&n("#"+i.boxId).html(t+"<br />"+r),n("#"+i.boxId).show()):n("#"+i.boxId).html(t).show()},u=function(t){if(!i.allowExceed&&(!t.keyCode||t.keyCode>46&&t.keyCode<90||t.keyCode===13)&&n(this).val().length>=i.limit)return!1},f=function(){if(i.boxAttach)n("#"+i.boxId).fadeOut("fast");else if(i.remTextHideOnBlur){var t=i.limitText;t=t.replace(/\%n/g,i.limit);t=t.replace(/\%s/g,i.limit===1?"":"s");n("#"+i.boxId).html(t)}};n(this).each(function(){n(this).bind("keyup",r);n(this).bind("keypress",u);n(this).bind("blur",f)})};n.fn.inputlimiter.remtextfilter=function(n,t){var i=n.remText;return t===0&&n.remFullText!==null&&(i=n.remFullText),i=i.replace(/\%n/g,t),i.replace(/\%s/g,n.zeroPlural?t===1?"":"s":t<=1?"":"s")};n.fn.inputlimiter.limittextfilter=function(n){var t=n.limitText;return t=t.replace(/\%n/g,n.limit),t.replace(/\%s/g,n.limit<=1?"":"s")};n.fn.inputlimiter.defaults={limit:255,boxAttach:!0,boxId:"limiterBox",boxClass:"limiterBox",remText:"%n character%s remaining.",remTextFilter:n.fn.inputlimiter.remtextfilter,remTextHideOnBlur:!0,remFullText:null,limitTextShow:!0,limitText:"Field limited to %n character%s.",limitTextFilter:n.fn.inputlimiter.limittextfilter,zeroPlural:!0,allowExceed:!1}})(jQuery)