(function($){
var textarea,staticOffset;
var iLastMousePos=0;
var iMin=32;
var grip;

$.fn.TextAreaResizer=function(){
return this.each(function(){
textarea=$(this).addClass('processed'),staticOffset=null;
$(this).wrap('<div class="resizable-textarea"><span></span></div>').parent().append($('<div class="grippie"></div>').bind("mousedown",{el:this},startDrag));
var grippie=$('div.grippie',$(this).parent())[0];grippie.style.marginRight=(grippie.offsetWidth-$(this)[0].offsetWidth)+'px'})

};


function startDrag(e){
textarea=$(e.data.el);
textarea.blur();
iLastMousePos=mousePosition(e).y;
staticOffset=textarea.height()-iLastMousePos;

textarea.css('opacity',0.25);
$(document).mousemove(performDrag).mouseup(endDrag);
return false
}
 

function performDrag(e){
var iThisMousePos=mousePosition(e).y;
var iMousePos=staticOffset+iThisMousePos;
if(iLastMousePos>=(iThisMousePos)){iMousePos-=5}iLastMousePos=iThisMousePos;
iMousePos=Math.max(iMin,iMousePos);
textarea.height(iMousePos+'px');
if(iMousePos<iMin){endDrag(e)
}
$(".droitcont").height($(".gauchecont").height());

return false
}


function endDrag(e){
$(document).unbind('mousemove',performDrag).unbind('mouseup',endDrag);
textarea.css('opacity',1);
textarea.focus();
textarea=null;staticOffset=null;
iLastMousePos=0
}

function mousePosition(e){
return{x:e.clientX+document.documentElement.scrollLeft,y:e.clientY+document.documentElement.scrollTop
}
}


})(jQuery);
