(function (h) { var i = h.DOM, g = h.dom.Event, c = h.extend, f = h.each, a = h.util.Cookie, e, d = h.explode; function b(p, m) { var k, l, o = p.dom, j = "", n, r; previewStyles = p.settings.preview_styles; if (previewStyles === false) { return ""; } if (!previewStyles) { previewStyles = "font-family font-size font-weight text-decoration text-transform color background-color"; } function q(s) { return s.replace(/%(\w+)/g, ""); } k = m.block || m.inline || "span"; l = o.create(k); f(m.styles, function (t, s) { t = q(t); if (t) { o.setStyle(l, s, t); } }); f(m.attributes, function (t, s) { t = q(t); if (t) { o.setAttrib(l, s, t); } }); f(m.classes, function (s) { s = q(s); if (!o.hasClass(l, s)) { o.addClass(l, s); } }); o.setStyles(l, { position: "absolute", left: -65535 }); p.getBody().appendChild(l); n = o.getStyle(p.getBody(), "fontSize", true); n = /px$/.test(n) ? parseInt(n, 10) : 0; f(previewStyles.split(" "), function (s) { var t = o.getStyle(l, s, true); if ( s == "background-color" && /transparent|rgba\s*\([^)]+,\s*0\)/.test(t) ) { t = o.getStyle(p.getBody(), s, true); if (o.toHex(t).toLowerCase() == "#ffffff") { return; } } if (s == "font-size") { if (/em|%$/.test(t)) { if (n === 0) { return; } t = parseFloat(t, 10) / (/%$/.test(t) ? 100 : 1); t = t * n + "px"; } } j += s + ":" + t + ";"; }); o.remove(l); return j; } h.ThemeManager.requireLangPack("advanced"); h.create("tinymce.themes.AdvancedTheme", { sizes: [8, 10, 12, 14, 18, 24, 36], controls: { bold: ["bold_desc", "Bold"], italic: ["italic_desc", "Italic"], underline: ["underline_desc", "Underline"], strikethrough: ["striketrough_desc", "Strikethrough"], justifyleft: ["justifyleft_desc", "JustifyLeft"], justifycenter: ["justifycenter_desc", "JustifyCenter"], justifyright: ["justifyright_desc", "JustifyRight"], justifyfull: ["justifyfull_desc", "JustifyFull"], bullist: ["bullist_desc", "InsertUnorderedList"], numlist: ["numlist_desc", "InsertOrderedList"], outdent: ["outdent_desc", "Outdent"], indent: ["indent_desc", "Indent"], cut: ["cut_desc", "Cut"], copy: ["copy_desc", "Copy"], paste: ["paste_desc", "Paste"], undo: ["undo_desc", "Undo"], redo: ["redo_desc", "Redo"], link: ["link_desc", "mceLink"], unlink: ["unlink_desc", "unlink"], image: ["image_desc", "mceImage"], cleanup: ["cleanup_desc", "mceCleanup"], help: ["help_desc", "mceHelp"], code: ["code_desc", "mceCodeEditor"], hr: ["hr_desc", "InsertHorizontalRule"], removeformat: ["removeformat_desc", "RemoveFormat"], sub: ["sub_desc", "subscript"], sup: ["sup_desc", "superscript"], forecolor: ["forecolor_desc", "ForeColor"], forecolorpicker: ["forecolor_desc", "mceForeColor"], backcolor: ["backcolor_desc", "HiliteColor"], backcolorpicker: ["backcolor_desc", "mceBackColor"], charmap: ["charmap_desc", "mceCharMap"], visualaid: ["visualaid_desc", "mceToggleVisualAid"], anchor: ["anchor_desc", "mceInsertAnchor"], newdocument: ["newdocument_desc", "mceNewDocument"], blockquote: ["blockquote_desc", "mceBlockQuote"], }, stateControls: [ "bold", "italic", "underline", "strikethrough", "bullist", "numlist", "justifyleft", "justifycenter", "justifyright", "justifyfull", "sub", "sup", "blockquote", ], init: function (k, l) { var m = this, n, j, p; m.editor = k; m.url = l; m.onResolveName = new h.util.Dispatcher(this); n = k.settings; k.forcedHighContrastMode = k.settings.detect_highcontrast && m._isHighContrast(); k.settings.skin = k.forcedHighContrastMode ? "highcontrast" : k.settings.skin; if (!n.theme_advanced_buttons1) { n = c( { theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,|,styleselect,formatselect", theme_advanced_buttons2: "bullist,numlist,|,outdent,indent,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code", theme_advanced_buttons3: "hr,removeformat,visualaid,|,sub,sup,|,charmap", }, n, ); } m.settings = n = c( { theme_advanced_path: true, theme_advanced_toolbar_location: "top", theme_advanced_blockformats: "p,address,pre,h1,h2,h3,h4,h5,h6", theme_advanced_toolbar_align: "left", theme_advanced_statusbar_location: "bottom", theme_advanced_fonts: "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats", theme_advanced_more_colors: 1, theme_advanced_row_height: 23, theme_advanced_resize_horizontal: 1, theme_advanced_resizing_use_cookie: 1, theme_advanced_font_sizes: "1,2,3,4,5,6,7", theme_advanced_font_selector: "span", theme_advanced_show_current_color: 0, readonly: k.settings.readonly, }, n, ); if (!n.font_size_style_values) { n.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt"; } if (h.is(n.theme_advanced_font_sizes, "string")) { n.font_size_style_values = h.explode(n.font_size_style_values); n.font_size_classes = h.explode(n.font_size_classes || ""); p = {}; k.settings.theme_advanced_font_sizes = n.theme_advanced_font_sizes; f(k.getParam("theme_advanced_font_sizes", "", "hash"), function (r, q) { var o; if (q == r && r >= 1 && r <= 7) { q = r + " (" + m.sizes[r - 1] + "pt)"; o = n.font_size_classes[r - 1]; r = n.font_size_style_values[r - 1] || m.sizes[r - 1] + "pt"; } if (/^\s*\./.test(r)) { o = r.replace(/\./g, ""); } p[q] = o ? { class: o } : { fontSize: r }; }); n.theme_advanced_font_sizes = p; } if ((j = n.theme_advanced_path_location) && j != "none") { n.theme_advanced_statusbar_location = n.theme_advanced_path_location; } if (n.theme_advanced_statusbar_location == "none") { n.theme_advanced_statusbar_location = 0; } if (k.settings.content_css !== false) { k.contentCSS.push( k.baseURI.toAbsolute( l + "/content.css", ), ); } k.onInit.add(function () { if (!k.settings.readonly) { k.onNodeChange.add(m._nodeChanged, m); k.onKeyUp.add(m._updateUndoStatus, m); k.onMouseUp.add(m._updateUndoStatus, m); k.dom.bind(k.dom.getRoot(), "dragend", function () { m._updateUndoStatus(k); }); } }); k.onSetProgressState.add(function (r, o, s) { var t, u = r.id, q; if (o) { m.progressTimer = setTimeout(function () { t = r.getContainer(); t = t.insertBefore( i.create("DIV", { style: "position:relative" }), t.firstChild, ); q = i.get(r.id + "_tbl"); i.add(t, "div", { id: u + "_blocker", class: "mceBlocker", style: { width: q.clientWidth + 2, height: q.clientHeight + 2 }, }); i.add(t, "div", { id: u + "_progress", class: "mceProgress", style: { left: q.clientWidth / 2, top: q.clientHeight / 2 }, }); }, s || 0); } else { i.remove(u + "_blocker"); i.remove(u + "_progress"); clearTimeout(m.progressTimer); } }); i.loadCSS( n.editor_css ? k.documentBaseURI.toAbsolute(n.editor_css) : l + "/ui.css", ); if (n.skin_variant) { i.loadCSS( l + "/ui_" + n.skin_variant + ".css", ); } }, _isHighContrast: function () { var j, k = i.add(i.getRoot(), "div", { style: "background-color: rgb(171,239,86);", }); j = (i.getStyle(k, "background-color", true) + "") .toLowerCase() .replace(/ /g, ""); i.remove(k); return j != "rgb(171,239,86)" && j != "#abef56"; }, createControl: function (m, j) { var k, l; if ((l = j.createControl(m))) { return l; } switch (m) { case "styleselect": return this._createStyleSelect(); case "formatselect": return this._createBlockFormats(); case "fontselect": return this._createFontSelect(); case "fontsizeselect": return this._createFontSizeSelect(); case "forecolor": return this._createForeColorMenu(); case "backcolor": return this._createBackColorMenu(); } if ((k = this.controls[m])) { return j.createButton(m, { title: "advanced." + k[0], cmd: k[1], ui: k[2], value: k[3], }); } }, execCommand: function (l, k, m) { var j = this["_" + l]; if (j) { j.call(this, k, m); return true; } return false; }, _importClasses: function (l) { var j = this.editor, k = j.controlManager.get("styleselect"); if (k.getLength() == 0) { f(j.dom.getClasses(), function (q, m) { var p = "style_" + m, n; n = { inline: "span", attributes: { class: q["class"] }, selector: "*", }; j.formatter.register(p, n); k.add(q["class"], p, { style: function () { return b(j, n); }, }); }); } }, _createStyleSelect: function (o) { var l = this, j = l.editor, k = j.controlManager, m; m = k.createListBox("styleselect", { title: "advanced.style_select", onselect: function (q) { var r, n = [], p; f(m.items, function (s) { n.push(s.value); }); j.focus(); j.undoManager.add(); r = j.formatter.matchAll(n); h.each(r, function (s) { if (!q || s == q) { if (s) { j.formatter.remove(s); } p = true; } }); if (!p) { j.formatter.apply(q); } j.undoManager.add(); j.nodeChanged(); return false; }, }); j.onPreInit.add(function () { var p = 0, n = j.getParam("style_formats"); if (n) { f(n, function (q) { var r, s = 0; f(q, function () { s++; }); if (s > 1) { r = q.name = q.name || "style_" + p++; j.formatter.register(r, q); m.add(q.title, r, { style: function () { return b(j, q); }, }); } else { m.add(q.title); } }); } else { f(j.getParam("theme_advanced_styles", "", "hash"), function (t, s) { var r, q; if (t) { r = "style_" + p++; q = { inline: "span", classes: t, selector: "*" }; j.formatter.register(r, q); m.add(l.editor.translate(s), r, { style: function () { return b(j, q); }, }); } }); } }); if (m.getLength() == 0) { m.onPostRender.add(function (p, q) { if (!m.NativeListBox) { g.add(q.id + "_text", "focus", l._importClasses, l); g.add(q.id + "_text", "mousedown", l._importClasses, l); g.add(q.id + "_open", "focus", l._importClasses, l); g.add(q.id + "_open", "mousedown", l._importClasses, l); } else { g.add(q.id, "focus", l._importClasses, l); } }); } return m; }, _createFontSelect: function () { var l, k = this, j = k.editor; l = j.controlManager.createListBox("fontselect", { title: "advanced.fontdefault", onselect: function (m) { var n = l.items[l.selectedIndex]; if (!m && n) { j.execCommand("FontName", false, n.value); return; } j.execCommand("FontName", false, m); l.select(function (o) { return m == o; }); if (n && n.value == m) { l.select(null); } return false; }, }); if (l) { f( j.getParam( "theme_advanced_fonts", k.settings.theme_advanced_fonts, "hash", ), function (n, m) { l.add(j.translate(m), n, { style: n.indexOf("dings") == -1 ? "font-family:" + n : "", }); }, ); } return l; }, _createFontSizeSelect: function () { var m = this, k = m.editor, n, l = 0, j = []; n = k.controlManager.createListBox("fontsizeselect", { title: "advanced.font_size", onselect: function (o) { var p = n.items[n.selectedIndex]; if (!o && p) { p = p.value; if (p["class"]) { k.formatter.toggle("fontsize_class", { value: p["class"] }); k.undoManager.add(); k.nodeChanged(); } else { k.execCommand("FontSize", false, p.fontSize); } return; } if (o["class"]) { k.focus(); k.undoManager.add(); k.formatter.toggle("fontsize_class", { value: o["class"] }); k.undoManager.add(); k.nodeChanged(); } else { k.execCommand("FontSize", false, o.fontSize); } n.select(function (q) { return o == q; }); if ( p && (p.value.fontSize == o.fontSize || (p.value["class"] && p.value["class"] == o["class"])) ) { n.select(null); } return false; }, }); if (n) { f(m.settings.theme_advanced_font_sizes, function (p, o) { var q = p.fontSize; if (q >= 1 && q <= 7) { q = m.sizes[parseInt(q) - 1] + "pt"; } n.add(o, p, { style: "font-size:" + q, class: "mceFontSize" + l++ + (" " + (p["class"] || "")), }); }); } return n; }, _createBlockFormats: function () { var l, j = { p: "advanced.paragraph", address: "advanced.address", pre: "advanced.pre", h1: "advanced.h1", h2: "advanced.h2", h3: "advanced.h3", h4: "advanced.h4", h5: "advanced.h5", h6: "advanced.h6", div: "advanced.div", blockquote: "advanced.blockquote", code: "advanced.code", dt: "advanced.dt", dd: "advanced.dd", samp: "advanced.samp", }, k = this; l = k.editor.controlManager.createListBox("formatselect", { title: "advanced.block", onselect: function (m) { k.editor.execCommand("FormatBlock", false, m); return false; }, }); if (l) { f( k.editor.getParam( "theme_advanced_blockformats", k.settings.theme_advanced_blockformats, "hash", ), function (n, m) { l.add(k.editor.translate(m != n ? m : j[n]), n, { class: "mce_formatPreview mce_" + n, style: function () { return b(k.editor, { block: n }); }, }); }, ); } return l; }, _createForeColorMenu: function () { var n, k = this, l = k.settings, m = {}, j; if (l.theme_advanced_more_colors) { m.more_colors_func = function () { k._mceColorPicker(0, { color: n.value, func: function (o) { n.setColor(o); }, }); }; } if ((j = l.theme_advanced_text_colors)) { m.colors = j; } if (l.theme_advanced_default_foreground_color) { m.default_color = l.theme_advanced_default_foreground_color; } m.title = "advanced.forecolor_desc"; m.cmd = "ForeColor"; m.scope = this; n = k.editor.controlManager.createColorSplitButton("forecolor", m); return n; }, _createBackColorMenu: function () { var n, k = this, l = k.settings, m = {}, j; if (l.theme_advanced_more_colors) { m.more_colors_func = function () { k._mceColorPicker(0, { color: n.value, func: function (o) { n.setColor(o); }, }); }; } if ((j = l.theme_advanced_background_colors)) { m.colors = j; } if (l.theme_advanced_default_background_color) { m.default_color = l.theme_advanced_default_background_color; } m.title = "advanced.backcolor_desc"; m.cmd = "HiliteColor"; m.scope = this; n = k.editor.controlManager.createColorSplitButton("backcolor", m); return n; }, renderUI: function (l) { var q, m, r, w = this, u = w.editor, x = w.settings, v, k, j; if (u.settings) { u.settings.aria_label = x.aria_label + u.getLang("advanced.help_shortcut"); } q = k = i.create("span", { role: "application", "aria-labelledby": u.id + "_voice", id: u.id + "_parent", class: "mceEditor " + u.settings.skin + "Skin" + (x.skin_variant ? " " + u.settings.skin + "Skin" + w._ufirst(x.skin_variant) : "") + (u.settings.directionality == "rtl" ? " mceRtl" : ""), }); i.add( q, "span", { class: "mceVoiceLabel", style: "display:none;", id: u.id + "_voice" }, x.aria_label, ); if (!i.boxModel) { q = i.add(q, "div", { class: "mceOldBoxModel" }); } q = v = i.add(q, "table", { role: "presentation", id: u.id + "_tbl", class: "mceLayout", cellSpacing: 0, cellPadding: 0, }); q = r = i.add(q, "tbody"); switch ((x.theme_advanced_layout_manager || "").toLowerCase()) { case "rowlayout": m = w._rowLayout(x, r, l); break; case "customlayout": m = u.execCallback("theme_advanced_custom_layout", x, r, l, k); break; default: m = w._simpleLayout(x, r, l, k); } q = l.targetNode; j = v.rows; i.addClass(j[0], "mceFirst"); i.addClass(j[j.length - 1], "mceLast"); f(i.select("tr", r), function (o) { i.addClass(o.firstChild, "mceFirst"); i.addClass(o.childNodes[o.childNodes.length - 1], "mceLast"); }); if (i.get(x.theme_advanced_toolbar_container)) { i.get(x.theme_advanced_toolbar_container).appendChild(k); } else { i.insertAfter(k, q); } g.add(u.id + "_path_row", "click", function (n) { n = n.target; if (n.nodeName == "A") { w._sel(n.className.replace(/^.*mcePath_([0-9]+).*$/, "$1")); return false; } }); if (!u.getParam("accessibility_focus")) { g.add( i.add(k, "a", { href: "#" }, ""), "focus", function () { tinyMCE.get(u.id).focus(); }, ); } if (x.theme_advanced_toolbar_location == "external") { l.deltaHeight = 0; } w.deltaHeight = l.deltaHeight; l.targetNode = null; u.onKeyDown.add(function (p, n) { var s = 121, o = 122; if (n.altKey) { if (n.keyCode === s) { if (h.isWebKit) { window.focus(); } w.toolbarGroup.focus(); return g.cancel(n); } else { if (n.keyCode === o) { i.get(p.id + "_path_row").focus(); return g.cancel(n); } } } }); u.addShortcut("alt+0", "", "mceShortcuts", w); return { iframeContainer: m, editorContainer: u.id + "_parent", sizeContainer: v, deltaHeight: l.deltaHeight, }; }, getInfo: function () { return { longname: "Advanced theme", author: "Moxiecode Systems AB", authorurl: "http://tinymce.moxiecode.com", version: h.majorVersion + "." + h.minorVersion, }; }, resizeBy: function (j, k) { var l = i.get(this.editor.id + "_ifr"); this.resizeTo(l.clientWidth + j, l.clientHeight + k); }, resizeTo: function (j, n, l) { var k = this.editor, m = this.settings, o = i.get(k.id + "_tbl"), p = i.get(k.id + "_ifr"); j = Math.max(m.theme_advanced_resizing_min_width || 100, j); n = Math.max(m.theme_advanced_resizing_min_height || 100, n); j = Math.min(m.theme_advanced_resizing_max_width || 65535, j); n = Math.min(m.theme_advanced_resizing_max_height || 65535, n); i.setStyle(o, "height", ""); i.setStyle(p, "height", n); if (m.theme_advanced_resize_horizontal) { i.setStyle(o, "width", ""); i.setStyle(p, "width", j); if (j < o.clientWidth) { j = o.clientWidth; i.setStyle(p, "width", o.clientWidth); } } if (l && m.theme_advanced_resizing_use_cookie) { a.setHash("TinyMCE_" + k.id + "_size", { cw: j, ch: n }); } }, destroy: function () { var j = this.editor.id; g.clear(j + "_resize"); g.clear(j + "_path_row"); g.clear(j + "_external_close"); }, _simpleLayout: function (z, u, l, j) { var y = this, v = y.editor, w = z.theme_advanced_toolbar_location, q = z.theme_advanced_statusbar_location, m, k, r, x; if (z.readonly) { m = i.add(u, "tr"); m = k = i.add(m, "td", { class: "mceIframeContainer" }); return k; } if (w == "top") { y._addToolbars(u, l); } if (w == "external") { m = x = i.create("div", { style: "position:relative" }); m = i.add(m, "div", { id: v.id + "_external", class: "mceExternalToolbar", }); i.add(m, "a", { id: v.id + "_external_close", href: "javascript:;", class: "mceExternalClose", }); m = i.add(m, "table", { id: v.id + "_tblext", cellSpacing: 0, cellPadding: 0, }); r = i.add(m, "tbody"); if (j.firstChild.className == "mceOldBoxModel") { j.firstChild.appendChild(x); } else { j.insertBefore(x, j.firstChild); } y._addToolbars(r, l); v.onMouseUp.add(function () { var o = i.get(v.id + "_external"); i.show(o); i.hide(e); var n = g.add(v.id + "_external_close", "click", function () { i.hide(v.id + "_external"); g.remove(v.id + "_external_close", "click", n); return false; }); i.show(o); i.setStyle(o, "top", 0 - i.getRect(v.id + "_tblext").h - 1); i.hide(o); i.show(o); o.style.filter = ""; e = v.id + "_external"; o = null; }); } if (q == "top") { y._addStatusBar(u, l); } if (!z.theme_advanced_toolbar_container) { m = i.add(u, "tr"); m = k = i.add(m, "td", { class: "mceIframeContainer" }); } if (w == "bottom") { y._addToolbars(u, l); } if (q == "bottom") { y._addStatusBar(u, l); } return k; }, _rowLayout: function (x, p, l) { var w = this, q = w.editor, v, y, j = q.controlManager, m, k, u, r; v = x.theme_advanced_containers_default_class || ""; y = x.theme_advanced_containers_default_align || "center"; f(d(x.theme_advanced_containers || ""), function (s, o) { var n = x["theme_advanced_container_" + s] || ""; switch (s.toLowerCase()) { case "mceeditor": m = i.add(p, "tr"); m = k = i.add(m, "td", { class: "mceIframeContainer" }); break; case "mceelementpath": w._addStatusBar(p, l); break; default: r = ( x["theme_advanced_container_" + s + "_align"] || y ).toLowerCase(); r = "mce" + w._ufirst(r); m = i.add(i.add(p, "tr"), "td", { class: "mceToolbar " + (x["theme_advanced_container_" + s + "_class"] || v) + " " + r || y, }); u = j.createToolbar("toolbar" + o); w._addControls(n, u); i.setHTML(m, u.renderHTML()); l.deltaHeight -= x.theme_advanced_row_height; } }); return k; }, _addControls: function (k, j) { var l = this, m = l.settings, n, o = l.editor.controlManager; if (m.theme_advanced_disable && !l._disabled) { n = {}; f(d(m.theme_advanced_disable), function (p) { n[p] = 1; }); l._disabled = n; } else { n = l._disabled; } f(d(k), function (q) { var p; if (n && n[q]) { return; } if (q == "tablecontrols") { f( [ "table", "|", "row_props", "cell_props", "|", "row_before", "row_after", "delete_row", "|", "col_before", "col_after", "delete_col", "|", "split_cells", "merge_cells", ], function (r) { r = l.createControl(r, o); if (r) { j.add(r); } }, ); return; } p = l.createControl(q, o); if (p) { j.add(p); } }); }, _addToolbars: function (y, k) { var B = this, q, p, u = B.editor, C = B.settings, A, j = u.controlManager, w, l, r = [], z, x, m = false; x = j.createToolbarGroup("toolbargroup", { name: u.getLang("advanced.toolbar"), tab_focus_toolbar: u.getParam("theme_advanced_tab_focus_toolbar"), }); B.toolbarGroup = x; z = C.theme_advanced_toolbar_align.toLowerCase(); z = "mce" + B._ufirst(z); l = i.add(i.add(y, "tr", { role: "presentation" }), "td", { class: "mceToolbar " + z, role: "toolbar", }); for (q = 1; (A = C["theme_advanced_buttons" + q]); q++) { m = true; p = j.createToolbar("toolbar" + q, { class: "mceToolbarRow" + q }); if (C["theme_advanced_buttons" + q + "_add"]) { A += "," + C["theme_advanced_buttons" + q + "_add"]; } if (C["theme_advanced_buttons" + q + "_add_before"]) { A = C["theme_advanced_buttons" + q + "_add_before"] + "," + A; } B._addControls(A, p); x.add(p); k.deltaHeight -= C.theme_advanced_row_height; } if (!m) { k.deltaHeight -= C.theme_advanced_row_height; } r.push(x.renderHTML()); /*r.push(i.createHTML("a",{href:"#",accesskey:"z",title:u.getLang("advanced.toolbar_focus"),onfocus:"tinyMCE.getInstanceById('"+u.id+"').focus();"},""));*/ i.setHTML( l, r.join(""), ); }, _addStatusBar: function (p, k) { var l, w = this, q = w.editor, x = w.settings, j, u, v, m; l = i.add(p, "tr"); l = m = i.add(l, "td", { class: "mceStatusbar" }); l = i.add(l, "div", { id: q.id + "_path_row", role: "group", "aria-labelledby": q.id + "_path_voice", }); if (x.theme_advanced_path) { i.add( l, "span", { id: q.id + "_path_voice" }, q.translate("advanced.path"), ); i.add(l, "span", {}, ": "); } else { i.add(l, "span", {}, " "); } if (x.theme_advanced_resizing) { i.add(m, "a", { id: q.id + "_resize", href: "javascript:;", onclick: "return false;", class: "mceResize", tabIndex: "-1", }); if (x.theme_advanced_resizing_use_cookie) { q.onPostRender.add(function () { var n = a.getHash("TinyMCE_" + q.id + "_size"), r = i.get(q.id + "_tbl"); if (!n) { return; } w.resizeTo(n.cw, n.ch); }); } q.onPostRender.add(function () { g.add(q.id + "_resize", "click", function (n) { n.preventDefault(); }); g.add(q.id + "_resize", "mousedown", function (E) { var t, r, s, o, D, A, B, G, n, F, y; function z(H) { H.preventDefault(); n = B + (H.screenX - D); F = G + (H.screenY - A); w.resizeTo(n, F); } function C(H) { g.remove(i.doc, "mousemove", t); g.remove(q.getDoc(), "mousemove", r); g.remove(i.doc, "mouseup", s); g.remove(q.getDoc(), "mouseup", o); n = B + (H.screenX - D); F = G + (H.screenY - A); w.resizeTo(n, F, true); q.nodeChanged(); } E.preventDefault(); D = E.screenX; A = E.screenY; y = i.get(w.editor.id + "_ifr"); B = n = y.clientWidth; G = F = y.clientHeight; t = g.add(i.doc, "mousemove", z); r = g.add(q.getDoc(), "mousemove", z); s = g.add(i.doc, "mouseup", C); o = g.add(q.getDoc(), "mouseup", C); }); }); } k.deltaHeight -= 21; l = p = null; }, _updateUndoStatus: function (k) { var j = k.controlManager, l = k.undoManager; j.setDisabled("undo", !l.hasUndo() && !l.typing); j.setDisabled("redo", !l.hasRedo()); }, _nodeChanged: function (o, u, E, r, F) { var z = this, D, G = 0, y, H, A = z.settings, x, l, w, C, m, k, j; h.each(z.stateControls, function (n) { u.setActive(n, o.queryCommandState(z.controls[n][1])); }); function q(p) { var s, n = F.parents, t = p; if (typeof p == "string") { t = function (v) { return v.nodeName == p; }; } for (s = 0; s < n.length; s++) { if (t(n[s])) { return n[s]; } } } u.setActive("visualaid", o.hasVisual); z._updateUndoStatus(o); u.setDisabled("outdent", !o.queryCommandState("Outdent")); D = q("A"); if ((H = u.get("link"))) { H.setDisabled((!D && r) || (D && !D.href)); H.setActive(!!D && !D.name && !D.id); } if ((H = u.get("unlink"))) { H.setDisabled(!D && r); H.setActive(!!D && !D.name && !D.id); } if ((H = u.get("anchor"))) { H.setActive(!r && !!D && (D.name || (D.id && !D.href))); } D = q("IMG"); if ((H = u.get("image"))) { H.setActive(!r && !!D && E.className.indexOf("mceItem") == -1); } if ((H = u.get("styleselect"))) { z._importClasses(); k = []; f(H.items, function (n) { k.push(n.value); }); j = o.formatter.matchAll(k); H.select(j[0]); h.each(j, function (p, n) { if (n > 0) { H.mark(p); } }); } if ((H = u.get("formatselect"))) { D = q(o.dom.isBlock); if (D) { H.select(D.nodeName.toLowerCase()); } } q(function (p) { if (p.nodeName === "SPAN") { if (!x && p.className) { x = p.className; } } if (o.dom.is(p, A.theme_advanced_font_selector)) { if (!l && p.style.fontSize) { l = p.style.fontSize; } if (!w && p.style.fontFamily) { w = p.style.fontFamily .replace(/[\"\']+/g, "") .replace(/^([^,]+).*/, "$1") .toLowerCase(); } if (!C && p.style.color) { C = p.style.color; } if (!m && p.style.backgroundColor) { m = p.style.backgroundColor; } } return false; }); if ((H = u.get("fontselect"))) { H.select(function (n) { return n.replace(/^([^,]+).*/, "$1").toLowerCase() == w; }); } if ((H = u.get("fontsizeselect"))) { if (A.theme_advanced_runtime_fontsize && !l && !x) { l = o.dom.getStyle(E, "fontSize", true); } H.select(function (n) { if (n.fontSize && n.fontSize === l) { return true; } if (n["class"] && n["class"] === x) { return true; } }); } if (A.theme_advanced_show_current_color) { function B(p, n) { if ((H = u.get(p))) { if (!n) { n = H.settings.default_color; } if (n !== H.value) { H.displayColor(n); } } } B("forecolor", C); B("backcolor", m); } if (A.theme_advanced_show_current_color) { function B(p, n) { if ((H = u.get(p))) { if (!n) { n = H.settings.default_color; } if (n !== H.value) { H.displayColor(n); } } } B("forecolor", C); B("backcolor", m); } if (A.theme_advanced_path && A.theme_advanced_statusbar_location) { D = i.get(o.id + "_path") || i.add(o.id + "_path_row", "span", { id: o.id + "_path" }); if (z.statusKeyboardNavigation) { z.statusKeyboardNavigation.destroy(); z.statusKeyboardNavigation = null; } i.setHTML(D, ""); q(function (I) { var p = I.nodeName.toLowerCase(), s, v, t = ""; if ( I.nodeType != 1 || p === "br" || I.getAttribute("data-mce-bogus") || i.hasClass(I, "mceItemHidden") || i.hasClass(I, "mceItemRemoved") ) { return; } if (h.isIE && I.scopeName !== "HTML" && I.scopeName) { p = I.scopeName + ":" + p; } p = p.replace(/mce\:/g, ""); switch (p) { case "b": p = "strong"; break; case "i": p = "em"; break; case "img": if ((y = i.getAttrib(I, "src"))) { t += "src: " + y + " "; } break; case "a": if ((y = i.getAttrib(I, "name"))) { t += "name: " + y + " "; p += "#" + y; } if ((y = i.getAttrib(I, "href"))) { t += "href: " + y + " "; } break; case "font": if ((y = i.getAttrib(I, "face"))) { t += "font: " + y + " "; } if ((y = i.getAttrib(I, "size"))) { t += "size: " + y + " "; } if ((y = i.getAttrib(I, "color"))) { t += "color: " + y + " "; } break; case "span": if ((y = i.getAttrib(I, "style"))) { t += "style: " + y + " "; } break; } if ((y = i.getAttrib(I, "id"))) { t += "id: " + y + " "; } if ((y = I.className)) { y = y.replace(/\b\s*(webkit|mce|Apple-)\w+\s*\b/g, ""); if (y) { t += "class: " + y + " "; if (o.dom.isBlock(I) || p == "img" || p == "span") { p += "." + y; } } } p = p.replace(/(html:)/g, ""); p = { name: p, node: I, title: t }; z.onResolveName.dispatch(z, p); t = p.title; p = p.name; v = i.create( "a", { href: "javascript:;", role: "button", onmousedown: "return false;", title: t, class: "mcePath_" + G++, }, p, ); if (D.hasChildNodes()) { D.insertBefore( i.create("span", { "aria-hidden": "true" }, "\u00a0\u00bb "), D.firstChild, ); D.insertBefore(v, D.firstChild); } else { D.appendChild(v); } }, o.getBody()); if (i.select("a", D).length > 0) { z.statusKeyboardNavigation = new h.ui.KeyboardNavigation( { root: o.id + "_path_row", items: i.select("a", D), excludeFromTabOrder: true, onCancel: function () { o.focus(); }, }, i, ); } } }, _sel: function (j) { this.editor.execCommand("mceSelectNodeDepth", false, j); }, _mceInsertAnchor: function (l, k) { var j = this.editor; j.windowManager.open( { url: this.url + "/anchor.htm", width: 320 + parseInt(j.getLang("advanced.anchor_delta_width", 0)), height: 90 + parseInt(j.getLang("advanced.anchor_delta_height", 0)), inline: true, }, { theme_url: this.url }, ); }, _mceCharMap: function () { var j = this.editor; j.windowManager.open( { url: this.url + "/charmap.htm", width: 550 + parseInt(j.getLang("advanced.charmap_delta_width", 0)), height: 265 + parseInt(j.getLang("advanced.charmap_delta_height", 0)), inline: true, }, { theme_url: this.url }, ); }, _mceHelp: function () { var j = this.editor; j.windowManager.open( { url: this.url + "/about.htm", width: 480, height: 380, inline: true }, { theme_url: this.url }, ); }, _mceShortcuts: function () { var j = this.editor; j.windowManager.open( { url: this.url + "/shortcuts.htm", width: 480, height: 380, inline: true, }, { theme_url: this.url }, ); }, _mceColorPicker: function (l, k) { var j = this.editor; k = k || {}; j.windowManager.open( { url: this.url + "/color_picker.htm", width: 375 + parseInt(j.getLang("advanced.colorpicker_delta_width", 0)), height: 250 + parseInt(j.getLang("advanced.colorpicker_delta_height", 0)), close_previous: false, inline: true, }, { input_color: k.color, func: k.func, theme_url: this.url }, ); }, _mceCodeEditor: function (k, l) { var j = this.editor; j.windowManager.open( { url: this.url + "/source_editor.htm", width: parseInt( j.getParam("theme_advanced_source_editor_width", 720), ), height: parseInt( j.getParam("theme_advanced_source_editor_height", 580), ), inline: true, resizable: true, maximizable: true, }, { theme_url: this.url }, ); }, _mceImage: function (k, l) { var j = this.editor; if ( j.dom .getAttrib(j.selection.getNode(), "class", "") .indexOf("mceItem") != -1 ) { return; } j.windowManager.open( { url: this.url + "/image.htm", width: 355 + parseInt(j.getLang("advanced.image_delta_width", 0)), height: 275 + parseInt(j.getLang("advanced.image_delta_height", 0)), inline: true, }, { theme_url: this.url }, ); }, _mceLink: function (k, l) { var j = this.editor; j.windowManager.open( { url: this.url + "/link.htm", width: 310 + parseInt(j.getLang("advanced.link_delta_width", 0)), height: 200 + parseInt(j.getLang("advanced.link_delta_height", 0)), inline: true, }, { theme_url: this.url }, ); }, _mceNewDocument: function () { var j = this.editor; j.windowManager.confirm("advanced.newdocument", function (k) { if (k) { j.execCommand("mceSetContent", false, ""); } }); }, _mceForeColor: function () { var j = this; this._mceColorPicker(0, { color: j.fgColor, func: function (k) { j.fgColor = k; j.editor.execCommand("ForeColor", false, k); }, }); }, _mceBackColor: function () { var j = this; this._mceColorPicker(0, { color: j.bgColor, func: function (k) { j.bgColor = k; j.editor.execCommand("HiliteColor", false, k); }, }); }, _ufirst: function (j) { return j.substring(0, 1).toUpperCase() + j.substring(1); }, }); h.ThemeManager.add("advanced", h.themes.AdvancedTheme); })(tinymce);