_editor_url = window.opener._editor_url; _editor_lang = window.opener._editor_lang; var BASE = window.opener.document.baseURI || window.opener.document.URL; var head = document.getElementsByTagName("head")[0]; var base = document.createElement("base"); base.href = BASE; head.appendChild(base); document.write("");
// load HTMLArea scripts that are present in the opener frame var scripts = window.opener.HTMLArea._scripts; for (var i = 4; i < scripts.length; ++i) { document.write(""); }
var parent_object = null; var editor = null; // to be initialized later [ function init() ]
/* ---------------------------------------------------------------------- *\ Function : Description : \* ---------------------------------------------------------------------- */
function _CloseOnEsc(ev) { ev || (ev = editor._iframe.contentWindow.event); // this line changed to support IE if (ev.keyCode == 27) { // update_parent(); window.close(); return; } }
/* ---------------------------------------------------------------------- *\ Function : resize_editor Description : resize the editor when the user resizes the popup \* ---------------------------------------------------------------------- */
function resize_editor() { // resize editor to fix window var newHeight; if (document.all) { // IE newHeight = document.body.offsetHeight - editor._toolbar.offsetHeight; if (newHeight < 0) { newHeight = 0; } } else { // Gecko newHeight = window.innerHeight - editor._toolbar.offsetHeight; } if (editor.config.statusBar) { newHeight -= editor._statusBar.offsetHeight; } editor._textArea.style.height = editor._iframe.style.height = newHeight + "px"; }
/* ---------------------------------------------------------------------- *\ Function : init Description : run this code on page load \* ---------------------------------------------------------------------- */
function init() { parent_object = opener.HTMLArea._object; var config = HTMLArea.cloneObject( parent_object.config ); config.width = "100%"; config.height = "auto";
// generate editor and resize it editor = new HTMLArea("editor", config);
// register the plugins, if any for (var i in parent_object.plugins) { var plugin = parent_object.plugins[i]; editor.registerPlugin2(plugin.name, plugin.args); } // and restore the original toolbar config.toolbar = parent_object.config.toolbar; editor.generate(); editor._iframe.style.width = "100%"; editor._textArea.style.width = "100%"; resize_editor();
editor.doctype = parent_object.doctype;
// set child window contents and event handlers, after a small delay setTimeout(function() { editor.setHTML(parent_object.getInnerHTML());
// switch mode if needed if (parent_object._mode == "textmode") { editor.setMode("textmode"); }
// setup event handlers document.body.onkeypress = _CloseOnEsc; editor._doc.body.onkeypress = _CloseOnEsc; editor._textArea.onkeypress = _CloseOnEsc; // IE6 FREEZE BUG - Comment out the two lines for if and } to stop freeze if (!HTMLArea.is_ie) { // don't do resize if using IE (esp IE6)... "freeze" bug... (uncomment the IF statement to use fix) window.onresize = resize_editor; } }, 333); // give it some time to meet the new frame }
/* ---------------------------------------------------------------------- *\ Function : update_parent Description : update parent window editor field with contents from child window \* ---------------------------------------------------------------------- */
function update_parent() { // use the fast version parent_object.setHTML(editor.getInnerHTML()); }