function Part(textarea) {  Part.parts.push(this);  this.textarea = textarea;  this.textarea.style.overflow = 'hidden';  this.element = document.createElement('div');  var s = this.element.style;  var getStyle = YAHOO.util.Dom.getStyle;  s.visibility = 'hidden';  s.position = 'absolute';  s.zIndex = '1';  s.fontFamily = getStyle(this.textarea, 'fontFamily');  s.fontSize = getStyle(this.textarea, 'fontSize');  s.fontStyle = getStyle(this.textarea, 'fontStyle');  s.fontVariant = getStyle(this.textarea, 'fontVariant');  s.lineHeight = getStyle(this.textarea, 'lineHeight');  this.textarea.parentNode.insertBefore(this.element, this.textarea);  this.copyToElement();  this.resizeTextarea();}Part.parts = [];Part.prototype.copyToElement = function() {  this.element.innerHTML = this.textarea.value.replace(/\n/g,'<br />') + '&nbsp;';};Part.prototype.resizeTextarea = function() {  this.copyToElement();  this.syncRegions();  this.setTimeout();};Part.prototype.setTimeout = function() {  var thisC = this;  this.timeout = setTimeout(function() {thisC.resizeTextarea();}, 500);      };Part.prototype.syncRegions = function() {  var a = parseInt(YAHOO.util.Dom.getStyle(this.textarea, 'fontSize').split('px',1)[0], 10);  var rt =  YAHOO.util.Dom.getRegion(this.textarea);  this.element.style.width = (rt.right-rt.left)+'px';  var re =  YAHOO.util.Dom.getRegion(this.element);  this.textarea.style.height = (re.bottom-re.top+a*1.6)+'px';};function find_parts() {  var the_form = document.getElementById('comments_form');  var es = the_form.elements;  for (var i=0; i<es.length; i++) {    if (es[i].tagName.toLowerCase() !== 'textarea') {continue;}    new Part(es[i]);  }}YAHOO.util.Event.addListener(window, "load", find_parts);