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