(function(d){d.fn.elastic=function(){var i=["font-family","font-size","font-weight","font-style","font-variant","line-height","letter-spacing","word-spacing","text-indent","text-transform","padding-top","padding-right","padding-bottom","padding-left","border-top-width","border-bottom-width"],h=0;return this.each(function(){var a=d(this);switch(this.nodeName){case "textarea":case "TEXTAREA":var b=parseInt(a.css("max-height"),10),j=parseInt(a.css("border-left-width"),10)+parseInt(a.css("border-right-width"),
10),g={minHeight:a.height(),maxHeight:b>0?b:d(window).height(),width:d.browser.msie?a.width():a.width()-j};b="white-space:pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word;_white-space:pre;display:none";var f=function(){var e=(new Date).getTime();if(e-h<1E3)setTimeout(f,1E3);else{h=e;c.text(a.val()+"\n ");if(a.height()!=c.height())c.height()==g.maxHeight?a.css({height:c.height(),overflow:"auto"}):a.css({height:c.height(),overflow:"hidden"})}};a.css({resize:"none",overflow:"hidden"});
break;case "input":case "INPUT":b=a.attr("type");if(b!="text"&&b!="password"&&b!="undefined")return true;b=parseInt(a.css("max-width"),10);g={minWidth:a.width(),maxWidth:b>0?b:a.parent().width()-a.position().left-a.outerWidth()+a.innerWidth()};b="display:none";f=function(){c.text(a.val()+"W ");a.width()!=c.width()&&a.width(c.width())};break;default:return true}var c=d('<pre style="'+b+'" />').appendTo("body");d.each(i,function(){c.css(this.toString(),a.css(this.toString()))});d.each(g,function(e,
k){c.css(e,k)});a.bind("keypress keyup input",function(){f()});f()})}})(jQuery);