$(document).ready(function(){

 

       

        $('textarea:not(.textarea-processed)').each(function() {

            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);

            }

        });





 

});