// This script allows to use several Epoz WYSIWYG fields. // Copyright (C) 2005 Benoit PIN var IFramePrefix = "Iframe_"; var IFramePrefixLength = IFramePrefix.length; var DocPrefix = "doc_"; var DocPrefixLength = DocPrefix.length; var CheckBoxPrefix = "CB_"; var CheckBoxPrefixLength = CheckBoxPrefix.length; var ToolBarPrefix = "ToolBar_"; var ToolBarPrefixLength = ToolBarPrefix.length; function redirectEpoz(iframe) { if(EpozElement) { if (EpozElement == iframe) { return; } changeBorderStyle(EpozElement, "dashed"); unwrapEpozVariables(); } // update Epoz variables wrapEpozVariables(iframe); //cosmetic changeBorderStyle(EpozElement, "solid"); EpozElement.contentWindow.focus(); } function wrapEpozVariables(iframe) { fieldId = iframe.contentWindow.document.id.slice(DocPrefixLength); iframe.id = Epoz ; EpozElement=iframe; EpozTextArea = document.getElementById(fieldId); toolBar = document.getElementById(ToolBarPrefix + fieldId); toolBar.id = "EpozToolbar"; checkBox = document.getElementById(CheckBoxPrefix + fieldId); checkBox.id = "EpozViewMode"; } function unwrapEpozVariables() { if (!EpozElement) { // no redirection happens yet. return; } fieldId = EpozElement.contentWindow.document.id.slice(DocPrefixLength); EpozElement.id = IFramePrefix + fieldId; toolBar = document.getElementById("EpozToolbar"); toolBar.id = ToolBarPrefix + fieldId; checkBox = document.getElementById("EpozViewMode"); checkBox.id = CheckBoxPrefix + fieldId; } // Initialization functions if (!formDatas) { var formDatas = new Array(); } function InitIframe(name, data, path, toolbox, style, button, css, customcss, charset, pageurl) { form_name = name; form_data = data; form_path = path; form_toolbox = toolbox; form_area_style = style; form_button_style = button; form_css = css; form_customcss = customcss; form_charset = charset; form_pageurl = pageurl; var richText; if (browser.isIE55 || browser.isIE6up) { // Mac-IE doesn't support RichText-Edit at the moment if (browser.isMac) { CreateTextarea(); richText = false; } else { CreateEpoz(); richText = true; } } else if (browser.isGecko) { //check to see if midas is enabled try { // Just a few cleanups for Mozilla form_data = form_data.replace(//ig,''); form_data = form_data.replace(/]*)>/ig,''); form_data = form_data.replace(/<\/strong>/ig,''); form_data = form_data.replace(//ig,''); form_data = form_data.replace(/]*)>/ig,''); form_data = form_data.replace(/<\/em>/ig,''); CreateEpoz(); richText = true; } catch (e) { CreateTextarea(); richText = false; } } else { CreateTextarea(); richText = false; } if (richText) { // change iframe id formDatas[name] = form_data; var iframe = document.getElementById(Epoz); iframe.id = IFramePrefix + name; // change EpozToolbar id var toolBar = document.getElementById("EpozToolbar"); toolBar.id = ToolBarPrefix + name; // Retrieve the switch HTML mode checkbox and change id and onclick function. nodes = iframe.parentNode.nextSibling.nextSibling.childNodes; var i; for (i=0 ; i
" || html=="
" || html=="

") { html = ""; } form_name = EpozElement.contentWindow.document.id.slice(DocPrefixLength); document.getElementById(form_name).value = html; } } function EnableDesignMode(iframeId) { iframe = document.getElementById(iframeId); try { iframe.contentDocument.designMode = "on"; iframe.contentWindow.document.addEventListener("keypress", HandleKeyboardEvent, true); } catch (e) { scriptExpr = 'EnableDesignMode("' + iframeId + '");'; setTimeout(scriptExpr, 10); } } //utils function retrieveForm(baseOb){ var pn = baseOb.parentNode; while (pn != document) { if (pn.nodeName == 'FORM') { break; } else { pn = pn.parentNode; } } return pn; } function addListener(ob, eventName, functionReference){ if (browser.isIE55 || browser.isIE6up) { eventName = "on" + eventName; ob.attachEvent(eventName, functionReference); } else if (browser.isGecko) { ob.addEventListener(eventName, functionReference, false); } }