title: jQuery elastic set min height for textbox
body: <p>this plugin elastic, </p>
  
  <pre><code>(function (jQuery) {
      jQuery.fn.extend({
          elastic: function () {
              var mimics = ['paddingTop', 'paddingRight', 'paddingBottom', 'paddingLeft', 'fontSize', 'lineHeight', 'fontFamily', 'width', 'fontWeight'];
              return this.each(function () {
                  if (this.type != 'textarea') {
                      return false;
                  }
                  var $textarea = jQuery(this),
                      $twin = jQuery('&lt;div /&gt;').css({
                          'position': 'absolute',
                          'display': 'none',
                          'word-wrap': 'break-word'
                      }),
                      lineHeight = parseInt($textarea.css('line-height'), 10) || parseInt($textarea.css('font-size'), '10'),
                      minheight = parseInt($textarea.css('height'), 10) || lineHeight * 3,
                      maxheight = parseInt($textarea.css('max-height'), 10) || Number.MAX_VALUE,
                      goalheight = 0,
                      i = 0;
                  if (maxheight &lt; 0) {
                      maxheight = Number.MAX_VALUE;
                  }
                  $twin.appendTo($textarea.parent());
                  var i = mimics.length;
                  while (i--) {
                      $twin.css(mimics[i].toString(), $textarea.css(mimics[i].toString()));
                  }
  
                  function setHeightAndOverflow(height, overflow) {
                      curratedHeight = Math.floor(parseInt(height, 10));
                      if ($textarea.height() != curratedHeight) {
                          $textarea.css({
                              'height': curratedHeight + 'px',
                              'overflow': overflow
                          });
                      }
                  }
  
                  function update() {
                      var textareaContent = $textarea.val().replace(/&amp;/g, '&amp;amp;').replace(/  /g, '&amp;nbsp;').replace(/&lt;|&gt;/g, '&amp;gt;').replace(/\n/g, '&lt;br /&gt;');
                      var twinContent = $twin.html();
                      if (textareaContent + '&amp;nbsp;' != twinContent) {
                          $twin.html(textareaContent + '&amp;nbsp;');
                          if (Math.abs($twin.height() + lineHeight - $textarea.height()) &gt; 3) {
                              var goalheight = $twin.height() + lineHeight;
                              if (goalheight &gt;= maxheight) {
                                  setHeightAndOverflow(maxheight, 'auto');
                              } else if (goalheight &lt;= minheight) {
                                  setHeightAndOverflow(minheight, 'hidden');
                              } else {
                                  setHeightAndOverflow(goalheight, 'hidden');
                              }
                          }
                      }
                  }
                  $textarea.css({
                      'overflow': 'hidden'
                  });
                  $textarea.keyup(function () {
                      update();
                  });
                  $textarea.live('input paste', function (e) {
                      setTimeout(update, 250);
                  });
                  update();
              });
          }
      });
  })(jQuery);
  </code></pre>
  
  <p>It automatically set min height of textarea as 32px.. i need it to be set as 20px, any idea how? as this plugin override the css and style tag.</p>