webmaster@1: // $Id: textarea.js,v 1.22 2008/01/17 19:31:56 goba Exp $ webmaster@1: webmaster@1: Drupal.behaviors.textarea = function(context) { webmaster@1: $('textarea.resizable:not(.textarea-processed)', context).each(function() { webmaster@1: // Avoid non-processed teasers. webmaster@1: if ($(this).is(('textarea.teaser:not(.teaser-processed)'))) { webmaster@1: return false; webmaster@1: } webmaster@1: var textarea = $(this).addClass('textarea-processed'), staticOffset = null; webmaster@1: webmaster@1: // When wrapping the text area, work around an IE margin bug. See: webmaster@1: // http://jaspan.com/ie-inherited-margin-bug-form-elements-and-haslayout webmaster@1: $(this).wrap('
') webmaster@1: .parent().append($('
').mousedown(startDrag)); webmaster@1: webmaster@1: var grippie = $('div.grippie', $(this).parent())[0]; webmaster@1: grippie.style.marginRight = (grippie.offsetWidth - $(this)[0].offsetWidth) +'px'; webmaster@1: webmaster@1: function startDrag(e) { webmaster@1: staticOffset = textarea.height() - e.pageY; webmaster@1: textarea.css('opacity', 0.25); webmaster@1: $(document).mousemove(performDrag).mouseup(endDrag); webmaster@1: return false; webmaster@1: } webmaster@1: webmaster@1: function performDrag(e) { webmaster@1: textarea.height(Math.max(32, staticOffset + e.pageY) + 'px'); webmaster@1: return false; webmaster@1: } webmaster@1: webmaster@1: function endDrag(e) { webmaster@1: $(document).unbind("mousemove", performDrag).unbind("mouseup", endDrag); webmaster@1: textarea.css('opacity', 1); webmaster@1: } webmaster@1: }); webmaster@1: };