diff -r bc4b58034f4d -r 518bc2b214f1 includes/clientside/static/editor.js --- a/includes/clientside/static/editor.js Sun Mar 02 19:32:19 2008 -0500 +++ b/includes/clientside/static/editor.js Sun Mar 02 22:52:23 2008 -0500 @@ -122,10 +122,35 @@ } // Destroy existing contents of page container - var edcon = document.getElementById('ajaxEditContainer'); - for ( var i = edcon.childNodes.length - 1; i >= 0; i-- ) + if ( editor_use_modal_window ) { - edcon.removeChild(edcon.childNodes[i]); + darken(true); + // Build a div with 80% width, centered, and 10px from the top of the window + var edcon = document.createElement('div'); + edcon.style.position = 'absolute'; + edcon.style.backgroundColor = '#FFFFFF'; + edcon.style.padding = '10px'; + edcon.style.width = '80%'; + edcon.id = 'ajaxEditContainerModal'; + + // Positioning + var top = getScrollOffset() + 10; + var left = ( getWidth() / 10 ) - 10; // 10% of window width on either side - 10px for padding = perfect centering effect + edcon.style.top = String(top) + 'px'; + edcon.style.left = String(left) + 'px'; + var body = document.getElementsByTagName('body')[0]; + + // Set opacity to 0 + domObjChangeOpac(0, edcon); + body.appendChild(edcon); + } + else + { + var edcon = document.getElementById('ajaxEditContainer'); + for ( var i = edcon.childNodes.length - 1; i >= 0; i-- ) + { + edcon.removeChild(edcon.childNodes[i]); + } } var content = response.src; @@ -519,10 +544,30 @@ } } + // if we're using the modal window, fade it in + if ( editor_use_modal_window ) + { + domOpacity(edcon, 0, 100, 500); + } + // Autosave every 5 minutes (m * s * ms) setInterval('ajaxPerformAutosave();', ( 5 * 60 * 1000 )); } +function ajaxEditorDestroyModalWindow() +{ + if ( editor_use_modal_window ) + { + var edcon = document.getElementById('ajaxEditContainerModal'); + var body = document.getElementsByTagName('body')[0]; + if ( edcon ) + { + body.removeChild(edcon); + enlighten(true); + } + } +} + function ajaxEditorSave(is_draft) { if ( !is_draft ) @@ -661,6 +706,7 @@ selectButtonMajor('article'); unselectAllButtonsMinor(); + ajaxEditorDestroyModalWindow(); document.getElementById('ajaxEditContainer').innerHTML = '
' + ajax.responseText; opacity('ajaxEditContainer', 0, 100, 1000); } @@ -766,6 +812,7 @@ mb.onclick['Yes'] = function() { setAjaxLoading(); + ajaxEditorDestroyModalWindow(); editor_open = false; enableUnload(); setTimeout('ajaxReset();', 750);