diff -r 902822492a68 -r fe660c52c48f includes/clientside/static/grippy.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/includes/clientside/static/grippy.js Wed Jun 13 16:07:17 2007 -0400 @@ -0,0 +1,91 @@ +// Resizable textareas (fun!) + +function taStartDrag() +{ + obj = this; + current_ta = obj.previousSibling; + startmouseX = mouseX; + startmouseY = mouseY; + startScroll = getScrollOffset(); + is_dragging = true; + startwidth = getElementWidth(current_ta.id); + startheight = getElementHeight(current_ta.id); + var body = document.getElementsByTagName('body'); + body = body[0]; + body.style.cursor = 's-resize'; +} +function taInDrag() +{ + if(!is_dragging) return; + cw = startwidth; + ch = startheight; + mx = mouseX; + my = mouseY + getScrollOffset() - startScroll; + ch = -6 + ch + ( my - startmouseY ); + current_ta.style.height = ch+'px'; + if(do_width) + { + current_ta.style.width = mx+'px'; + current_ta.nextSibling.style.width = mx+'px'; + } +} +function taCloseDrag() +{ + is_dragging = false; + current_ta = false; + body = document.getElementsByTagName('body'); + body = body[0]; + body.style.cursor = 'default'; +} + +var grippied_textareas = new Array(); + +function initTextareas() +{ + var textareas = document.getElementsByTagName('textarea'); + for (i = 0;i < textareas.length;i++) + { + if(!textareas[i].id) + textareas[i].id = 'autoTextArea_'+Math.floor(Math.random()*100000); + cta = textareas[i]; + var divchk = ( in_array(cta.id, grippied_textareas) ) ? false : true; + if(divchk) + { + grippied_textareas.push(cta.id); + makeGrippy(cta); + } + } +} + +function makeGrippy(cta) +{ + var thediv = document.createElement('div'); + thediv.style.backgroundColor = '#ceceed'; + thediv.style.backgroundImage = 'url('+scriptPath+'/images/grippy.gif)'; + thediv.style.backgroundPosition = 'bottom right'; + thediv.style.backgroundRepeat = 'no-repeat'; + thediv.style.width = getElementWidth(cta.id)+'px'; + thediv.style.cursor = 's-resize'; + thediv.style.className = 'ThisIsATextareaGrippy'; + thediv.id = 'autoGrippy_'+Math.floor(Math.random()*100000); + thediv.style.height = '12px'; + thediv.onmousedown = taStartDrag; + thediv.style.border = '1px solid #0000A0'; + if(cta.style.marginBottom) + { + thediv.style.marginBottom = cta.style.marginBottom; + cta.style.marginBottom = '0'; + } + if(cta.style.marginLeft) + { + thediv.style.marginLeft = cta.style.marginLeft; + } + if(cta.style.marginRight) + { + thediv.style.marginRight = cta.style.marginRight; + } + document.onmouseup = taCloseDrag; + if(cta.nextSibling) cta.parentNode.insertBefore(thediv, cta.nextSibling); + else cta.parentNode.appendChild(thediv); +} +