(function(jQuery){var self=null;
jQuery.fn.autogrow=function(o){return this.each(function(){new jQuery.autogrow(this,o);
});};jQuery.autogrow=function(e,o){this.options=o||{};
this.dummy=null;this.interval=null;
this.line_height=this.options.lineHeight||parseInt(jQuery(e).css("line-height"));
this.min_height=this.options.minHeight||parseInt(jQuery(e).css("min-height"));
this.max_height=this.options.maxHeight||parseInt(jQuery(e).css("max-height"));
this.textarea=jQuery(e);
if(this.line_height==NaN){this.line_height=0;
}this.init();};jQuery.autogrow.fn=jQuery.autogrow.prototype={autogrow:"1.2.2"};
jQuery.autogrow.fn.extend=jQuery.autogrow.extend=jQuery.extend;
jQuery.autogrow.fn.extend({init:function(){var self=this;
this.textarea.css({overflow:"hidden",display:"block"});
this.textarea.bind("focus",function(){self.startExpand();
}).bind("blur",function(){self.stopExpand();
});this.checkExpand();
},startExpand:function(){var self=this;
this.interval=window.setInterval(function(){self.checkExpand();
},400);},stopExpand:function(){clearInterval(this.interval);
},checkExpand:function(){if(this.dummy==null){this.dummy=jQuery("<div></div>");
this.dummy.css({"font-size":this.textarea.css("font-size"),"font-family":this.textarea.css("font-family"),width:this.textarea.css("width"),padding:this.textarea.css("padding"),"line-height":this.line_height+"px","overflow-x":"hidden",position:"absolute",top:0,left:-9999}).appendTo("body");
}var html=this.textarea.val().replace(/(<|>)/g,"");
if($.browser.msie){html=html.replace(/\n/g,"<BR>new");
}else{html=html.replace(/\n/g,"<br>new");
}if(this.dummy.html()!=html){this.dummy.html(html);
if(this.max_height>0&&(this.dummy.height()+this.line_height>this.max_height)){this.textarea.css("overflow-y","auto");
}else{this.textarea.css("overflow-y","hidden");
if(this.textarea.height()<this.dummy.height()+this.line_height||(this.dummy.height()<this.textarea.height())){this.textarea.animate({height:(this.dummy.height()+this.line_height)+"px"},100);
}}}}});})(jQuery);
