jQuery.fn.dodosTextCounter=function(a,b){b=jQuery.extend({counterDisplayElement:"span",counterDisplayClass:"dodosTextCounterDisplay",addLineBreak:true},b);jQuery(this).each(function(i){updateCounter(this,a,b,i);jQuery(this).keyup(function(){updateCounter(this,a,b,i);return this})});return this};function updateCounter(a,b,c,d){var e=0;var f=jQuery(a).val();if(f){e=f.length}if(e>b){jQuery(a).val(f.substring(0,b))}else{var g=b-e;var h=c.counterDisplayElement+"."+c.counterDisplayClass+":eq("+d+")";var i=jQuery(h).length==0;if(i){var j=document.createElement(c.counterDisplayElement);if(c.counterDisplayElement=='input'){jQuery(j).val(g.toString())}else{jQuery(j).html(g.toString())}jQuery(j).addClass(c.counterDisplayClass).insertAfter(jQuery(a));if(c.addLineBreak){jQuery(a).after("<br />")}}else{if(c.counterDisplayElement=='input'){jQuery(h).val(g.toString())}else{jQuery(h).html(g.toString())}}}}