var fieldlimiter={defaultoutput:"<b>[int]</b>",uncheckedkeycodes:/(8)|(13)|(16)|(17)|(18)/,limitinput:function(D,A){var D=window.event||D;var B=A.thefield;var C=D.charCode||D.keyCode;if(!this.uncheckedkeycodes.test(C)){if(B.value.length>=A.maxlength){if(D.preventDefault){D.preventDefault()}return false}}},showlimit:function(A){var E=A.thefield;var D=A.statusids;var C=A.maxlength-E.value.length;if(C<0){E.value=E.value.substring(0,A.maxlength)}for(var B=0;B<D.length;B++){var F=document.getElementById(D[B]);if(F){F.innerHTML=this.defaultoutput.replace("[int]",Math.max(0,C))}}A.onkeypress.call(E,A.maxlength,E.value.length)},cleanup:function(A){for(var B in A){A[B]=null}},addEvent:function(A,D,B){if(A.length>0){var C=A.shift();if(C.addEventListener){C.addEventListener(B,D,false)}else{if(C.attachEvent){C.attachEvent("on"+B,function(){return D.call(C,window.event)})}}this.addEvent(A,D,B)}},setup:function(A){if(A.thefield){A.onkeypress=A.onkeypress||function(){};A.thefield.value=A.thefield.value;this.showlimit(A);this.addEvent([window],function(B){fieldlimiter.showlimit(A)},"load");this.addEvent([window],function(B){fieldlimiter.cleanup(A)},"unload");this.addEvent([A.thefield],function(B){return fieldlimiter.limitinput(B,A)},"keypress");this.addEvent([A.thefield],function(){fieldlimiter.showlimit(A)},"keyup")}}}