author | Dan |
Sun, 24 Feb 2008 12:50:52 -0500 | |
changeset 459 | 31c23016ab62 |
parent 1 | fe660c52c48f |
child 1227 | bdac73ed481e |
permissions | -rw-r--r-- |
// 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); }