Files
2026-02-10 21:35:37 +01:00

16114 lines
402 KiB
JavaScript

(function (e) {
var a = /^\s*|\s*$/g,
b,
d = "B".replace(/A(.)|B/, "$1") === "$1";
var c = {
majorVersion: "3",
minorVersion: "5.8",
releaseDate: "2012-11-20",
_init: function () {
var s = this,
q = document,
o = navigator,
g = o.userAgent,
m,
f,
l,
k,
j,
r;
s.isOpera = e.opera && opera.buildNumber;
s.isWebKit = /WebKit/.test(g);
s.isIE =
!s.isWebKit &&
!s.isOpera &&
/MSIE/gi.test(g) &&
/Explorer/gi.test(o.appName);
s.isIE6 = s.isIE && /MSIE [56]/.test(g);
s.isIE7 = s.isIE && /MSIE [7]/.test(g);
s.isIE8 = s.isIE && /MSIE [8]/.test(g);
s.isIE9 = s.isIE && /MSIE [9]/.test(g);
s.isGecko = !s.isWebKit && /Gecko/.test(g);
s.isMac = g.indexOf("Mac") != -1;
s.isAir = /adobeair/i.test(g);
s.isIDevice = /(iPad|iPhone)/.test(g);
s.isIOS5 = s.isIDevice && g.match(/AppleWebKit\/(\d*)/)[1] >= 534;
if (e.tinyMCEPreInit) {
s.suffix = tinyMCEPreInit.suffix;
s.baseURL = tinyMCEPreInit.base;
s.query = tinyMCEPreInit.query;
return;
}
s.suffix = "";
f = q.getElementsByTagName("base");
for (m = 0; m < f.length; m++) {
r = f[m].href;
if (r) {
if (/^https?:\/\/[^\/]+$/.test(r)) {
r += "/";
}
k = r ? r.match(/.*\//)[0] : "";
}
}
function h(i) {
if (
i.src &&
/tiny_mce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(i.src)
) {
if (/_(src|dev)\.js/g.test(i.src)) {
s.suffix = "_src";
}
if ((j = i.src.indexOf("?")) != -1) {
s.query = i.src.substring(j + 1);
}
s.baseURL = i.src.substring(0, i.src.lastIndexOf("/"));
if (
k &&
s.baseURL.indexOf("://") == -1 &&
s.baseURL.indexOf("/") !== 0
) {
s.baseURL = k + s.baseURL;
}
return s.baseURL;
}
return null;
}
f = q.getElementsByTagName("script");
for (m = 0; m < f.length; m++) {
if (h(f[m])) {
return;
}
}
l = q.getElementsByTagName("head")[0];
if (l) {
f = l.getElementsByTagName("script");
for (m = 0; m < f.length; m++) {
if (h(f[m])) {
return;
}
}
}
return;
},
is: function (g, f) {
if (!f) {
return g !== b;
}
if (f == "array" && c.isArray(g)) {
return true;
}
return typeof g == f;
},
isArray:
Array.isArray ||
function (f) {
return Object.prototype.toString.call(f) === "[object Array]";
},
makeMap: function (f, j, h) {
var g;
f = f || [];
j = j || ",";
if (typeof f == "string") {
f = f.split(j);
}
h = h || {};
g = f.length;
while (g--) {
h[f[g]] = {};
}
return h;
},
each: function (i, f, h) {
var j, g;
if (!i) {
return 0;
}
h = h || i;
if (i.length !== b) {
for (j = 0, g = i.length; j < g; j++) {
if (f.call(h, i[j], j, i) === false) {
return 0;
}
}
} else {
for (j in i) {
if (i.hasOwnProperty(j)) {
if (f.call(h, i[j], j, i) === false) {
return 0;
}
}
}
}
return 1;
},
map: function (g, h) {
var i = [];
c.each(g, function (f) {
i.push(h(f));
});
return i;
},
grep: function (g, h) {
var i = [];
c.each(g, function (f) {
if (!h || h(f)) {
i.push(f);
}
});
return i;
},
inArray: function (g, h) {
var j, f;
if (g) {
for (j = 0, f = g.length; j < f; j++) {
if (g[j] === h) {
return j;
}
}
}
return -1;
},
extend: function (n, k) {
var j,
f,
h,
g = arguments,
m;
for (j = 1, f = g.length; j < f; j++) {
k = g[j];
for (h in k) {
if (k.hasOwnProperty(h)) {
m = k[h];
if (m !== b) {
n[h] = m;
}
}
}
}
return n;
},
trim: function (f) {
return (f ? "" + f : "").replace(a, "");
},
create: function (o, f, j) {
var n = this,
g,
i,
k,
l,
h,
m = 0;
o = /^((static) )?([\w.]+)(:([\w.]+))?/.exec(o);
k = o[3].match(/(^|\.)(\w+)$/i)[2];
i = n.createNS(o[3].replace(/\.\w+$/, ""), j);
if (i[k]) {
return;
}
if (o[2] == "static") {
i[k] = f;
if (this.onCreate) {
this.onCreate(o[2], o[3], i[k]);
}
return;
}
if (!f[k]) {
f[k] = function () {};
m = 1;
}
i[k] = f[k];
n.extend(i[k].prototype, f);
if (o[5]) {
g = n.resolve(o[5]).prototype;
l = o[5].match(/\.(\w+)$/i)[1];
h = i[k];
if (m) {
i[k] = function () {
return g[l].apply(this, arguments);
};
} else {
i[k] = function () {
this.parent = g[l];
return h.apply(this, arguments);
};
}
i[k].prototype[k] = i[k];
n.each(g, function (p, q) {
i[k].prototype[q] = g[q];
});
n.each(f, function (p, q) {
if (g[q]) {
i[k].prototype[q] = function () {
this.parent = g[q];
return p.apply(this, arguments);
};
} else {
if (q != k) {
i[k].prototype[q] = p;
}
}
});
}
n.each(f["static"], function (p, q) {
i[k][q] = p;
});
if (this.onCreate) {
this.onCreate(o[2], o[3], i[k].prototype);
}
},
walk: function (i, h, j, g) {
g = g || this;
if (i) {
if (j) {
i = i[j];
}
c.each(i, function (k, f) {
if (h.call(g, k, f, j) === false) {
return false;
}
c.walk(k, h, j, g);
});
}
},
createNS: function (j, h) {
var g, f;
h = h || e;
j = j.split(".");
for (g = 0; g < j.length; g++) {
f = j[g];
if (!h[f]) {
h[f] = {};
}
h = h[f];
}
return h;
},
resolve: function (j, h) {
var g, f;
h = h || e;
j = j.split(".");
for (g = 0, f = j.length; g < f; g++) {
h = h[j[g]];
if (!h) {
break;
}
}
return h;
},
addUnload: function (j, i) {
var h = this,
g;
g = function () {
var f = h.unloads,
l,
m;
if (f) {
for (m in f) {
l = f[m];
if (l && l.func) {
l.func.call(l.scope, 1);
}
}
if (e.detachEvent) {
e.detachEvent("onbeforeunload", k);
e.detachEvent("onunload", g);
} else {
if (e.removeEventListener) {
e.removeEventListener("unload", g, false);
}
}
h.unloads = l = f = w = g = 0;
if (e.CollectGarbage) {
CollectGarbage();
}
}
};
function k() {
var l = document;
function f() {
l.detachEvent("onstop", f);
if (g) {
g();
}
l = 0;
}
if (l.readyState == "interactive") {
if (l) {
l.attachEvent("onstop", f);
}
e.setTimeout(function () {
if (l) {
l.detachEvent("onstop", f);
}
}, 0);
}
}
j = { func: j, scope: i || this };
if (!h.unloads) {
if (e.attachEvent) {
e.attachEvent("onunload", g);
e.attachEvent("onbeforeunload", k);
} else {
if (e.addEventListener) {
e.addEventListener("unload", g, false);
}
}
h.unloads = [j];
} else {
h.unloads.push(j);
}
return j;
},
removeUnload: function (i) {
var g = this.unloads,
h = null;
c.each(g, function (j, f) {
if (j && j.func == i) {
g.splice(f, 1);
h = i;
return false;
}
});
return h;
},
explode: function (f, g) {
if (!f || c.is(f, "array")) {
return f;
}
return c.map(f.split(g || ","), c.trim);
},
_addVer: function (g) {
var f;
if (!this.query) {
return g;
}
f = (g.indexOf("?") == -1 ? "?" : "&") + this.query;
if (g.indexOf("#") == -1) {
return g + f;
}
return g.replace("#", f + "#");
},
_replace: function (h, f, g) {
if (d) {
return g.replace(h, function () {
var l = f,
j = arguments,
k;
for (k = 0; k < j.length - 2; k++) {
if (j[k] === b) {
l = l.replace(new RegExp("\\$" + k, "g"), "");
} else {
l = l.replace(new RegExp("\\$" + k, "g"), j[k]);
}
}
return l;
});
}
return g.replace(h, f);
},
};
c._init();
e.tinymce = e.tinyMCE = c;
})(window);
tinymce.create("tinymce.util.Dispatcher", {
scope: null,
listeners: null,
inDispatch: false,
Dispatcher: function (a) {
this.scope = a || this;
this.listeners = [];
},
add: function (b, a) {
this.listeners.push({ cb: b, scope: a || this.scope });
return b;
},
addToTop: function (d, b) {
var a = this,
c = { cb: d, scope: b || a.scope };
if (a.inDispatch) {
a.listeners = [c].concat(a.listeners);
} else {
a.listeners.unshift(c);
}
return d;
},
remove: function (c) {
var b = this.listeners,
a = null;
tinymce.each(b, function (e, d) {
if (c == e.cb) {
a = e;
b.splice(d, 1);
return false;
}
});
return a;
},
dispatch: function () {
var a = this,
e,
b = arguments,
c,
d = a.listeners,
f;
a.inDispatch = true;
for (c = 0; c < d.length; c++) {
f = d[c];
e = f.cb.apply(f.scope, b.length > 0 ? b : [f.scope]);
if (e === false) {
break;
}
}
a.inDispatch = false;
return e;
},
});
(function () {
var a = tinymce.each;
tinymce.create("tinymce.util.URI", {
URI: function (e, g) {
var f = this,
i,
d,
c,
h;
e = tinymce.trim(e);
g = f.settings = g || {};
if (/^([\w\-]+):([^\/]{2})/i.test(e) || /^\s*#/.test(e)) {
f.source = e;
return;
}
if (e.indexOf("/") === 0 && e.indexOf("//") !== 0) {
e =
(g.base_uri ? g.base_uri.protocol || "http" : "http") +
"://mce_host" +
e;
}
if (!/^[\w\-]*:?\/\//.test(e)) {
h = g.base_uri
? g.base_uri.path
: new tinymce.util.URI(location.href).directory;
e =
((g.base_uri && g.base_uri.protocol) || "http") +
"://mce_host" +
f.toAbsPath(h, e);
}
e = e.replace(/@@/g, "(mce_at)");
e =
/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(
e,
);
a(
[
"source",
"protocol",
"authority",
"userInfo",
"user",
"password",
"host",
"port",
"relative",
"path",
"directory",
"file",
"query",
"anchor",
],
function (b, j) {
var k = e[j];
if (k) {
k = k.replace(/\(mce_at\)/g, "@@");
}
f[b] = k;
},
);
c = g.base_uri;
if (c) {
if (!f.protocol) {
f.protocol = c.protocol;
}
if (!f.userInfo) {
f.userInfo = c.userInfo;
}
if (!f.port && f.host === "mce_host") {
f.port = c.port;
}
if (!f.host || f.host === "mce_host") {
f.host = c.host;
}
f.source = "";
}
},
setPath: function (c) {
var b = this;
c = /^(.*?)\/?(\w+)?$/.exec(c);
b.path = c[0];
b.directory = c[1];
b.file = c[2];
b.source = "";
b.getURI();
},
toRelative: function (b) {
var d = this,
f;
if (b === "./") {
return b;
}
b = new tinymce.util.URI(b, { base_uri: d });
if (
(b.host != "mce_host" && d.host != b.host && b.host) ||
d.port != b.port ||
d.protocol != b.protocol
) {
return b.getURI();
}
var c = d.getURI(),
e = b.getURI();
if (
c == e ||
(c.charAt(c.length - 1) == "/" && c.substr(0, c.length - 1) == e)
) {
return c;
}
f = d.toRelPath(d.path, b.path);
if (b.query) {
f += "?" + b.query;
}
if (b.anchor) {
f += "#" + b.anchor;
}
return f;
},
toAbsolute: function (b, c) {
b = new tinymce.util.URI(b, { base_uri: this });
return b.getURI(
this.host == b.host && this.protocol == b.protocol ? c : 0,
);
},
toRelPath: function (g, h) {
var c,
f = 0,
d = "",
e,
b;
g = g.substring(0, g.lastIndexOf("/"));
g = g.split("/");
c = h.split("/");
if (g.length >= c.length) {
for (e = 0, b = g.length; e < b; e++) {
if (e >= c.length || g[e] != c[e]) {
f = e + 1;
break;
}
}
}
if (g.length < c.length) {
for (e = 0, b = c.length; e < b; e++) {
if (e >= g.length || g[e] != c[e]) {
f = e + 1;
break;
}
}
}
if (f === 1) {
return h;
}
for (e = 0, b = g.length - (f - 1); e < b; e++) {
d += "../";
}
for (e = f - 1, b = c.length; e < b; e++) {
if (e != f - 1) {
d += "/" + c[e];
} else {
d += c[e];
}
}
return d;
},
toAbsPath: function (e, f) {
var c,
b = 0,
h = [],
d,
g;
d = /\/$/.test(f) ? "/" : "";
e = e.split("/");
f = f.split("/");
a(e, function (i) {
if (i) {
h.push(i);
}
});
e = h;
for (c = f.length - 1, h = []; c >= 0; c--) {
if (f[c].length === 0 || f[c] === ".") {
continue;
}
if (f[c] === "..") {
b++;
continue;
}
if (b > 0) {
b--;
continue;
}
h.push(f[c]);
}
c = e.length - b;
if (c <= 0) {
g = h.reverse().join("/");
} else {
g = e.slice(0, c).join("/") + "/" + h.reverse().join("/");
}
if (g.indexOf("/") !== 0) {
g = "/" + g;
}
if (d && g.lastIndexOf("/") !== g.length - 1) {
g += d;
}
return g;
},
getURI: function (d) {
var c,
b = this;
if (!b.source || d) {
c = "";
if (!d) {
if (b.protocol) {
c += b.protocol + "://";
}
if (b.userInfo) {
c += b.userInfo + "@";
}
if (b.host) {
c += b.host;
}
if (b.port) {
c += ":" + b.port;
}
}
if (b.path) {
c += b.path;
}
if (b.query) {
c += "?" + b.query;
}
if (b.anchor) {
c += "#" + b.anchor;
}
b.source = c;
}
return b.source;
},
});
})();
(function () {
var a = tinymce.each;
tinymce.create("static tinymce.util.Cookie", {
getHash: function (d) {
var b = this.get(d),
c;
if (b) {
a(b.split("&"), function (e) {
e = e.split("=");
c = c || {};
c[unescape(e[0])] = unescape(e[1]);
});
}
return c;
},
setHash: function (j, b, g, f, i, c) {
var h = "";
a(b, function (e, d) {
h += (!h ? "" : "&") + escape(d) + "=" + escape(e);
});
this.set(j, h, g, f, i, c);
},
get: function (i) {
var h = document.cookie,
g,
f = i + "=",
d;
if (!h) {
return;
}
d = h.indexOf("; " + f);
if (d == -1) {
d = h.indexOf(f);
if (d !== 0) {
return null;
}
} else {
d += 2;
}
g = h.indexOf(";", d);
if (g == -1) {
g = h.length;
}
return unescape(h.substring(d + f.length, g));
},
set: function (i, b, g, f, h, c) {
document.cookie =
i +
"=" +
escape(b) +
(g ? "; expires=" + g.toGMTString() : "") +
(f ? "; path=" + escape(f) : "") +
(h ? "; domain=" + h : "") +
(c ? "; secure" : "");
},
remove: function (c, e, d) {
var b = new Date();
b.setTime(b.getTime() - 1000);
this.set(c, "", b, e, d);
},
});
})();
(function () {
function serialize(o, quote) {
var i, v, t, name;
quote = quote || '"';
if (o == null) {
return "null";
}
t = typeof o;
if (t == "string") {
v = "\bb\tt\nn\ff\rr\"\"''\\\\";
return (
quote +
o.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g, function (a, b) {
if (quote === '"' && a === "'") {
return a;
}
i = v.indexOf(b);
if (i + 1) {
return "\\" + v.charAt(i + 1);
}
a = b.charCodeAt().toString(16);
return "\\u" + "0000".substring(a.length) + a;
}) +
quote
);
}
if (t == "object") {
if (
o.hasOwnProperty &&
Object.prototype.toString.call(o) === "[object Array]"
) {
for (i = 0, v = "["; i < o.length; i++) {
v += (i > 0 ? "," : "") + serialize(o[i], quote);
}
return v + "]";
}
v = "{";
for (name in o) {
if (o.hasOwnProperty(name)) {
v +=
typeof o[name] != "function"
? (v.length > 1 ? "," + quote : quote) +
name +
quote +
":" +
serialize(o[name], quote)
: "";
}
}
return v + "}";
}
return "" + o;
}
tinymce.util.JSON = {
serialize: serialize,
parse: function (s) {
try {
return eval("(" + s + ")");
} catch (ex) {}
},
};
})();
tinymce.create("static tinymce.util.XHR", {
send: function (g) {
var a,
e,
b = window,
h = 0;
function f() {
if (!g.async || a.readyState == 4 || h++ > 10000) {
if (g.success && h < 10000 && a.status == 200) {
g.success.call(g.success_scope, "" + a.responseText, a, g);
} else {
if (g.error) {
g.error.call(
g.error_scope,
h > 10000 ? "TIMED_OUT" : "GENERAL",
a,
g,
);
}
}
a = null;
} else {
b.setTimeout(f, 10);
}
}
g.scope = g.scope || this;
g.success_scope = g.success_scope || g.scope;
g.error_scope = g.error_scope || g.scope;
g.async = g.async === false ? false : true;
g.data = g.data || "";
function d(i) {
a = 0;
try {
a = new ActiveXObject(i);
} catch (c) {}
return a;
}
a = b.XMLHttpRequest
? new XMLHttpRequest()
: d("Microsoft.XMLHTTP") || d("Msxml2.XMLHTTP");
if (a) {
if (a.overrideMimeType) {
a.overrideMimeType(g.content_type);
}
a.open(g.type || (g.data ? "POST" : "GET"), g.url, g.async);
if (g.content_type) {
a.setRequestHeader("Content-Type", g.content_type);
}
a.setRequestHeader("X-Requested-With", "XMLHttpRequest");
a.send(g.data);
if (!g.async) {
return f();
}
e = b.setTimeout(f, 10);
}
},
});
(function () {
var c = tinymce.extend,
b = tinymce.util.JSON,
a = tinymce.util.XHR;
tinymce.create("tinymce.util.JSONRequest", {
JSONRequest: function (d) {
this.settings = c({}, d);
this.count = 0;
},
send: function (f) {
var e = f.error,
d = f.success;
f = c(this.settings, f);
f.success = function (h, g) {
h = b.parse(h);
if (typeof h == "undefined") {
h = { error: "JSON Parse error." };
}
if (h.error) {
e.call(f.error_scope || f.scope, h.error, g);
} else {
d.call(f.success_scope || f.scope, h.result);
}
};
f.error = function (h, g) {
if (e) {
e.call(f.error_scope || f.scope, h, g);
}
};
f.data = b.serialize({
id: f.id || "c" + this.count++,
method: f.method,
params: f.params,
});
f.content_type = "application/json";
a.send(f);
},
static: {
sendRPC: function (d) {
return new tinymce.util.JSONRequest().send(d);
},
},
});
})();
(function (a) {
a.VK = {
BACKSPACE: 8,
DELETE: 46,
DOWN: 40,
ENTER: 13,
LEFT: 37,
RIGHT: 39,
SPACEBAR: 32,
TAB: 9,
UP: 38,
modifierPressed: function (b) {
return b.shiftKey || b.ctrlKey || b.altKey;
},
metaKeyPressed: function (b) {
return a.isMac ? b.metaKey : b.ctrlKey && !b.altKey;
},
};
})(tinymce);
tinymce.util.Quirks = function (a) {
var j = tinymce.VK,
f = j.BACKSPACE,
k = j.DELETE,
e = a.dom,
l = a.selection,
H = a.settings,
v = a.parser,
o = a.serializer,
E = tinymce.each;
function A(N, M) {
try {
a.getDoc().execCommand(N, false, M);
} catch (L) {}
}
function n() {
var L = a.getDoc().documentMode;
return L ? L : 6;
}
function z(L) {
return L.isDefaultPrevented();
}
function J() {
function L(O) {
var M, Q, N, P;
M = l.getRng();
Q = e.getParent(M.startContainer, e.isBlock);
if (O) {
Q = e.getNext(Q, e.isBlock);
}
if (Q) {
N = Q.firstChild;
while (N && N.nodeType == 3 && N.nodeValue.length === 0) {
N = N.nextSibling;
}
if (N && N.nodeName === "SPAN") {
P = N.cloneNode(false);
}
}
E(e.select("span", Q), function (R) {
R.setAttribute("data-mce-mark", "1");
});
a.getDoc().execCommand(O ? "ForwardDelete" : "Delete", false, null);
Q = e.getParent(M.startContainer, e.isBlock);
E(e.select("span", Q), function (R) {
var S = l.getBookmark();
if (P) {
e.replace(P.cloneNode(false), R, true);
} else {
if (!R.getAttribute("data-mce-mark")) {
e.remove(R, true);
} else {
R.removeAttribute("data-mce-mark");
}
}
l.moveToBookmark(S);
});
}
a.onKeyDown.add(function (M, O) {
var N;
N = O.keyCode == k;
if (!z(O) && (N || O.keyCode == f) && !j.modifierPressed(O)) {
O.preventDefault();
L(N);
}
});
a.addCommand("Delete", function () {
L();
});
}
function q() {
function L(O) {
var N = e.create("body");
var P = O.cloneContents();
N.appendChild(P);
return l.serializer.serialize(N, { format: "html" });
}
function M(N) {
var P = L(N);
var Q = e.createRng();
Q.selectNode(a.getBody());
var O = L(Q);
return P === O;
}
a.onKeyDown.add(function (O, Q) {
var P = Q.keyCode,
N;
if (!z(Q) && (P == k || P == f)) {
N = O.selection.isCollapsed();
if (N && !e.isEmpty(O.getBody())) {
return;
}
if (tinymce.isIE && !N) {
return;
}
if (!N && !M(O.selection.getRng())) {
return;
}
O.setContent("");
O.selection.setCursorLocation(O.getBody(), 0);
O.nodeChanged();
}
});
}
function I() {
a.onKeyDown.add(function (L, M) {
if (!z(M) && M.keyCode == 65 && j.metaKeyPressed(M)) {
M.preventDefault();
L.execCommand("SelectAll");
}
});
}
function K() {
if (!a.settings.content_editable) {
e.bind(a.getDoc(), "focusin", function (L) {
l.setRng(l.getRng());
});
e.bind(a.getDoc(), "mousedown", function (L) {
if (L.target == a.getDoc().documentElement) {
a.getWin().focus();
l.setRng(l.getRng());
}
});
}
}
function B() {
a.onKeyDown.add(function (L, O) {
if (!z(O) && O.keyCode === f) {
if (l.isCollapsed() && l.getRng(true).startOffset === 0) {
var N = l.getNode();
var M = N.previousSibling;
if (M && M.nodeName && M.nodeName.toLowerCase() === "hr") {
e.remove(M);
tinymce.dom.Event.cancel(O);
}
}
}
});
}
function y() {
if (!Range.prototype.getClientRects) {
a.onMouseDown.add(function (M, N) {
if (!z(N) && N.target.nodeName === "HTML") {
var L = M.getBody();
L.blur();
setTimeout(function () {
L.focus();
}, 0);
}
});
}
}
function h() {
a.onClick.add(function (L, M) {
M = M.target;
if (/^(IMG|HR)$/.test(M.nodeName)) {
l.getSel().setBaseAndExtent(M, 0, M, 1);
}
if (M.nodeName == "A" && e.hasClass(M, "mceItemAnchor")) {
l.select(M);
}
L.nodeChanged();
});
}
function c() {
function M() {
var O = e.getAttribs(l.getStart().cloneNode(false));
return function () {
var P = l.getStart();
if (P !== a.getBody()) {
e.setAttrib(P, "style", null);
E(O, function (Q) {
P.setAttributeNode(Q.cloneNode(true));
});
}
};
}
function L() {
return (
!l.isCollapsed() &&
e.getParent(l.getStart(), e.isBlock) !=
e.getParent(l.getEnd(), e.isBlock)
);
}
function N(O, P) {
P.preventDefault();
return false;
}
a.onKeyPress.add(function (O, Q) {
var P;
if (!z(Q) && (Q.keyCode == 8 || Q.keyCode == 46) && L()) {
P = M();
O.getDoc().execCommand("delete", false, null);
P();
Q.preventDefault();
return false;
}
});
e.bind(a.getDoc(), "cut", function (P) {
var O;
if (!z(P) && L()) {
O = M();
a.onKeyUp.addToTop(N);
setTimeout(function () {
O();
a.onKeyUp.remove(N);
}, 0);
}
});
}
function b() {
var M, L;
e.bind(a.getDoc(), "selectionchange", function () {
if (L) {
clearTimeout(L);
L = 0;
}
L = window.setTimeout(function () {
var N = l.getRng();
if (!M || !tinymce.dom.RangeUtils.compareRanges(N, M)) {
a.nodeChanged();
M = N;
}
}, 50);
});
}
function x() {
document.body.setAttribute("role", "application");
}
function t() {
a.onKeyDown.add(function (L, N) {
if (!z(N) && N.keyCode === f) {
if (l.isCollapsed() && l.getRng(true).startOffset === 0) {
var M = l.getNode().previousSibling;
if (M && M.nodeName && M.nodeName.toLowerCase() === "table") {
return tinymce.dom.Event.cancel(N);
}
}
}
});
}
function C() {
if (n() > 7) {
return;
}
A("RespectVisibilityInDesign", true);
a.contentStyles.push(".mceHideBrInPre pre br {display: none}");
e.addClass(a.getBody(), "mceHideBrInPre");
v.addNodeFilter("pre", function (L, N) {
var O = L.length,
Q,
M,
R,
P;
while (O--) {
Q = L[O].getAll("br");
M = Q.length;
while (M--) {
R = Q[M];
P = R.prev;
if (P && P.type === 3 && P.value.charAt(P.value - 1) != "\n") {
P.value += "\n";
} else {
R.parent.insert(new tinymce.html.Node("#text", 3), R, true).value =
"\n";
}
}
}
});
o.addNodeFilter("pre", function (L, N) {
var O = L.length,
Q,
M,
R,
P;
while (O--) {
Q = L[O].getAll("br");
M = Q.length;
while (M--) {
R = Q[M];
P = R.prev;
if (P && P.type == 3) {
P.value = P.value.replace(/\r?\n$/, "");
}
}
}
});
}
function g() {
e.bind(a.getBody(), "mouseup", function (N) {
var M,
L = l.getNode();
if (L.nodeName == "IMG") {
if ((M = e.getStyle(L, "width"))) {
e.setAttrib(L, "width", M.replace(/[^0-9%]+/g, ""));
e.setStyle(L, "width", "");
}
if ((M = e.getStyle(L, "height"))) {
e.setAttrib(L, "height", M.replace(/[^0-9%]+/g, ""));
e.setStyle(L, "height", "");
}
}
});
}
function d() {
a.onKeyDown.add(function (R, S) {
var Q, L, M, O, P, T, N;
Q = S.keyCode == k;
if (!z(S) && (Q || S.keyCode == f) && !j.modifierPressed(S)) {
L = l.getRng();
M = L.startContainer;
O = L.startOffset;
N = L.collapsed;
if (
M.nodeType == 3 &&
M.nodeValue.length > 0 &&
((O === 0 && !N) || (N && O === (Q ? 0 : 1)))
) {
nonEmptyElements = R.schema.getNonEmptyElements();
S.preventDefault();
P = e.create("br", { id: "__tmp" });
M.parentNode.insertBefore(P, M);
R.getDoc().execCommand(Q ? "ForwardDelete" : "Delete", false, null);
M = l.getRng().startContainer;
T = M.previousSibling;
if (
T &&
T.nodeType == 1 &&
!e.isBlock(T) &&
e.isEmpty(T) &&
!nonEmptyElements[T.nodeName.toLowerCase()]
) {
e.remove(T);
}
e.remove("__tmp");
}
}
});
}
function G() {
a.onKeyDown.add(function (P, Q) {
var N, M, R, L, O;
if (z(Q) || Q.keyCode != j.BACKSPACE) {
return;
}
N = l.getRng();
M = N.startContainer;
R = N.startOffset;
L = e.getRoot();
O = M;
if (!N.collapsed || R !== 0) {
return;
}
while (
O &&
O.parentNode &&
O.parentNode.firstChild == O &&
O.parentNode != L
) {
O = O.parentNode;
}
if (O.tagName === "BLOCKQUOTE") {
P.formatter.toggle("blockquote", null, O);
N = e.createRng();
N.setStart(M, 0);
N.setEnd(M, 0);
l.setRng(N);
}
});
}
function F() {
function L() {
a._refreshContentEditable();
A("StyleWithCSS", false);
A("enableInlineTableEditing", false);
if (!H.object_resizing) {
A("enableObjectResizing", false);
}
}
if (!H.readonly) {
a.onBeforeExecCommand.add(L);
a.onMouseDown.add(L);
}
}
function s() {
function L(M, N) {
E(e.select("a"), function (Q) {
var O = Q.parentNode,
P = e.getRoot();
if (O.lastChild === Q) {
while (O && !e.isBlock(O)) {
if (O.parentNode.lastChild !== O || O === P) {
return;
}
O = O.parentNode;
}
e.add(O, "br", { "data-mce-bogus": 1 });
}
});
}
a.onExecCommand.add(function (M, N) {
if (N === "CreateLink") {
L(M);
}
});
a.onSetContent.add(l.onSetContent.add(L));
}
function m() {
if (H.forced_root_block) {
a.onInit.add(function () {
A("DefaultParagraphSeparator", H.forced_root_block);
});
}
}
function p() {
function L(N, M) {
if (!N || !M.initial) {
a.execCommand("mceRepaint");
}
}
a.onUndo.add(L);
a.onRedo.add(L);
a.onSetContent.add(L);
}
function i() {
a.onKeyDown.add(function (M, N) {
var L;
if (!z(N) && N.keyCode == f) {
L = M.getDoc().selection.createRange();
if (L && L.item) {
N.preventDefault();
M.undoManager.beforeChange();
e.remove(L.item(0));
M.undoManager.add();
}
}
});
}
function r() {
var L;
if (n() >= 10) {
L = "";
E("p div h1 h2 h3 h4 h5 h6".split(" "), function (M, N) {
L += (N > 0 ? "," : "") + M + ":empty";
});
a.contentStyles.push(L + "{padding-right: 1px !important}");
}
}
function u() {
var N,
M,
ad,
L,
Y,
ab,
Z,
ac,
O,
P,
aa,
W,
V,
X = document,
T = a.getDoc();
if (!H.object_resizing || H.webkit_fake_resize === false) {
return;
}
A("enableObjectResizing", false);
aa = {
n: [0.5, 0, 0, -1],
e: [1, 0.5, 1, 0],
s: [0.5, 1, 0, 1],
w: [0, 0.5, -1, 0],
nw: [0, 0, -1, -1],
ne: [1, 0, 1, -1],
se: [1, 1, 1, 1],
sw: [0, 1, -1, 1],
};
function R(ah) {
var ag, af;
ag = ah.screenX - ab;
af = ah.screenY - Z;
W = ag * Y[2] + ac;
V = af * Y[3] + O;
W = W < 5 ? 5 : W;
V = V < 5 ? 5 : V;
if (
j.modifierPressed(ah) ||
(ad.nodeName == "IMG" && Y[2] * Y[3] !== 0)
) {
W = Math.round(V / P);
V = Math.round(W * P);
}
e.setStyles(L, { width: W, height: V });
if (Y[2] < 0 && L.clientWidth <= W) {
e.setStyle(L, "left", N + (ac - W));
}
if (Y[3] < 0 && L.clientHeight <= V) {
e.setStyle(L, "top", M + (O - V));
}
}
function ae() {
function af(ag, ah) {
if (ah) {
if (
ad.style[ag] ||
!a.schema.isValid(ad.nodeName.toLowerCase(), ag)
) {
e.setStyle(ad, ag, ah);
} else {
e.setAttrib(ad, ag, ah);
}
}
}
af("width", W);
af("height", V);
e.unbind(T, "mousemove", R);
e.unbind(T, "mouseup", ae);
if (X != T) {
e.unbind(X, "mousemove", R);
e.unbind(X, "mouseup", ae);
}
e.remove(L);
Q(ad);
}
function Q(ai) {
var ag, ah, af;
S();
ag = e.getPos(ai);
N = ag.x;
M = ag.y;
ah = ai.offsetWidth;
af = ai.offsetHeight;
if (ad != ai) {
ad = ai;
W = V = 0;
}
E(aa, function (al, aj) {
var ak;
ak = e.get("mceResizeHandle" + aj);
if (!ak) {
ak = e.add(T.documentElement, "div", {
id: "mceResizeHandle" + aj,
class: "mceResizeHandle",
style: "cursor:" + aj + "-resize; margin:0; padding:0",
});
e.bind(ak, "mousedown", function (am) {
am.preventDefault();
ae();
ab = am.screenX;
Z = am.screenY;
ac = ad.clientWidth;
O = ad.clientHeight;
P = O / ac;
Y = al;
L = ad.cloneNode(true);
e.addClass(L, "mceClonedResizable");
e.setStyles(L, { left: N, top: M, margin: 0 });
T.documentElement.appendChild(L);
e.bind(T, "mousemove", R);
e.bind(T, "mouseup", ae);
if (X != T) {
e.bind(X, "mousemove", R);
e.bind(X, "mouseup", ae);
}
});
} else {
e.show(ak);
}
e.setStyles(ak, {
left: ah * al[0] + N - ak.offsetWidth / 2,
top: af * al[1] + M - ak.offsetHeight / 2,
});
});
if (!tinymce.isOpera && ad.nodeName == "IMG") {
ad.setAttribute("data-mce-selected", "1");
}
}
function S() {
if (ad) {
ad.removeAttribute("data-mce-selected");
}
for (var af in aa) {
e.hide("mceResizeHandle" + af);
}
}
a.contentStyles.push(
".mceResizeHandle {position: absolute;border: 1px solid black;background: #FFF;width: 5px;height: 5px;z-index: 10000}.mceResizeHandle:hover {background: #000}img[data-mce-selected] {outline: 1px solid black}img.mceClonedResizable, table.mceClonedResizable {position: absolute;outline: 1px dashed black;opacity: .5;z-index: 10000}",
);
function U() {
var af = e.getParent(l.getNode(), "table,img");
E(e.select("img[data-mce-selected]"), function (ag) {
ag.removeAttribute("data-mce-selected");
});
if (af) {
Q(af);
} else {
S();
}
}
a.onNodeChange.add(U);
e.bind(T, "selectionchange", U);
a.serializer.addAttributeFilter("data-mce-selected", function (af, ag) {
var ah = af.length;
while (ah--) {
af[ah].attr(ag, null);
}
});
}
function D() {
if (n() < 9) {
v.addNodeFilter("noscript", function (L) {
var M = L.length,
N,
O;
while (M--) {
N = L[M];
O = N.firstChild;
if (O) {
N.attr("data-mce-innertext", O.value);
}
}
});
o.addNodeFilter("noscript", function (L) {
var M = L.length,
N,
P,
O;
while (M--) {
N = L[M];
P = L[M].firstChild;
if (P) {
P.value = tinymce.html.Entities.decode(P.value);
} else {
O = N.attributes.map["data-mce-innertext"];
if (O) {
N.attr("data-mce-innertext", null);
P = new tinymce.html.Node("#text", 3);
P.value = O;
P.raw = true;
N.append(P);
}
}
}
});
}
}
t();
G();
q();
if (tinymce.isWebKit) {
d();
J();
K();
h();
m();
if (tinymce.isIDevice) {
b();
} else {
u();
I();
}
}
if (tinymce.isIE) {
B();
x();
C();
g();
i();
r();
D();
}
if (tinymce.isGecko) {
B();
y();
c();
F();
s();
p();
}
if (tinymce.isOpera) {
u();
}
};
(function (j) {
var a,
g,
d,
k = /[&<>\"\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
b = /[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,
f = /[<>&\"\']/g,
c = /&(#x|#)?([\w]+);/g,
i = {
128: "\u20AC",
130: "\u201A",
131: "\u0192",
132: "\u201E",
133: "\u2026",
134: "\u2020",
135: "\u2021",
136: "\u02C6",
137: "\u2030",
138: "\u0160",
139: "\u2039",
140: "\u0152",
142: "\u017D",
145: "\u2018",
146: "\u2019",
147: "\u201C",
148: "\u201D",
149: "\u2022",
150: "\u2013",
151: "\u2014",
152: "\u02DC",
153: "\u2122",
154: "\u0161",
155: "\u203A",
156: "\u0153",
158: "\u017E",
159: "\u0178",
};
g = { '"': "&quot;", "'": "&#39;", "<": "&lt;", ">": "&gt;", "&": "&amp;" };
d = { "&lt;": "<", "&gt;": ">", "&amp;": "&", "&quot;": '"', "&apos;": "'" };
function h(l) {
var m;
m = document.createElement("div");
m.innerHTML = l;
return m.textContent || m.innerText || l;
}
function e(m, p) {
var n,
o,
l,
q = {};
if (m) {
m = m.split(",");
p = p || 10;
for (n = 0; n < m.length; n += 2) {
o = String.fromCharCode(parseInt(m[n], p));
if (!g[o]) {
l = "&" + m[n + 1] + ";";
q[o] = l;
q[l] = o;
}
}
return q;
}
}
a = e(
"50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",
32,
);
j.html = j.html || {};
j.html.Entities = {
encodeRaw: function (m, l) {
return m.replace(l ? k : b, function (n) {
return g[n] || n;
});
},
encodeAllRaw: function (l) {
return ("" + l).replace(f, function (m) {
return g[m] || m;
});
},
encodeNumeric: function (m, l) {
return m.replace(l ? k : b, function (n) {
if (n.length > 1) {
return (
"&#" +
((n.charCodeAt(0) - 55296) * 1024 +
(n.charCodeAt(1) - 56320) +
65536) +
";"
);
}
return g[n] || "&#" + n.charCodeAt(0) + ";";
});
},
encodeNamed: function (n, l, m) {
m = m || a;
return n.replace(l ? k : b, function (o) {
return g[o] || m[o] || o;
});
},
getEncodeFunc: function (l, o) {
var p = j.html.Entities;
o = e(o) || a;
function m(r, q) {
return r.replace(q ? k : b, function (s) {
return g[s] || o[s] || "&#" + s.charCodeAt(0) + ";" || s;
});
}
function n(r, q) {
return p.encodeNamed(r, q, o);
}
l = j.makeMap(l.replace(/\+/g, ","));
if (l.named && l.numeric) {
return m;
}
if (l.named) {
if (o) {
return n;
}
return p.encodeNamed;
}
if (l.numeric) {
return p.encodeNumeric;
}
return p.encodeRaw;
},
decode: function (l) {
return l.replace(c, function (n, m, o) {
if (m) {
o = parseInt(o, m.length === 2 ? 16 : 10);
if (o > 65535) {
o -= 65536;
return String.fromCharCode(55296 + (o >> 10), 56320 + (o & 1023));
} else {
return i[o] || String.fromCharCode(o);
}
}
return d[n] || a[n] || h(n);
});
},
};
})(tinymce);
tinymce.html.Styles = function (d, f) {
var k = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,
h =
/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,
b = /\s*([^:]+):\s*([^;]+);?/g,
l = /\s+$/,
m = /rgb/,
e,
g,
a = {},
j;
d = d || {};
j = "\\\" \\' \\; \\: ; : \uFEFF".split(" ");
for (g = 0; g < j.length; g++) {
a[j[g]] = "\uFEFF" + g;
a["\uFEFF" + g] = j[g];
}
function c(n, q, p, i) {
function o(r) {
r = parseInt(r).toString(16);
return r.length > 1 ? r : "0" + r;
}
return "#" + o(q) + o(p) + o(i);
}
return {
toHex: function (i) {
return i.replace(k, c);
},
parse: function (s) {
var z = {},
q,
n,
x,
r,
v = d.url_converter,
y = d.url_converter_scope || this;
function p(D, G) {
var F, C, B, E;
F = z[D + "-top" + G];
if (!F) {
return;
}
C = z[D + "-right" + G];
if (F != C) {
return;
}
B = z[D + "-bottom" + G];
if (C != B) {
return;
}
E = z[D + "-left" + G];
if (B != E) {
return;
}
z[D + G] = E;
delete z[D + "-top" + G];
delete z[D + "-right" + G];
delete z[D + "-bottom" + G];
delete z[D + "-left" + G];
}
function u(C) {
var D = z[C],
B;
if (!D || D.indexOf(" ") < 0) {
return;
}
D = D.split(" ");
B = D.length;
while (B--) {
if (D[B] !== D[0]) {
return false;
}
}
z[C] = D[0];
return true;
}
function A(D, C, B, E) {
if (!u(C)) {
return;
}
if (!u(B)) {
return;
}
if (!u(E)) {
return;
}
z[D] = z[C] + " " + z[B] + " " + z[E];
delete z[C];
delete z[B];
delete z[E];
}
function t(B) {
r = true;
return a[B];
}
function i(C, B) {
if (r) {
C = C.replace(/\uFEFF[0-9]/g, function (D) {
return a[D];
});
}
if (!B) {
C = C.replace(/\\([\'\";:])/g, "$1");
}
return C;
}
function o(C, B, F, E, G, D) {
G = G || D;
if (G) {
G = i(G);
return "'" + G.replace(/\'/g, "\\'") + "'";
}
B = i(B || F || E);
if (v) {
B = v.call(y, B, "style");
}
return "url('" + B.replace(/\'/g, "\\'") + "')";
}
if (s) {
s = s
.replace(/\\[\"\';:\uFEFF]/g, t)
.replace(/\"[^\"]+\"|\'[^\']+\'/g, function (B) {
return B.replace(/[;:]/g, t);
});
while ((q = b.exec(s))) {
n = q[1].replace(l, "").toLowerCase();
x = q[2].replace(l, "");
if (n && x.length > 0) {
if (n === "font-weight" && x === "700") {
x = "bold";
} else {
if (n === "color" || n === "background-color") {
x = x.toLowerCase();
}
}
x = x.replace(k, c);
x = x.replace(h, o);
z[n] = r ? i(x, true) : x;
}
b.lastIndex = q.index + q[0].length;
}
p("border", "");
p("border", "-width");
p("border", "-color");
p("border", "-style");
p("padding", "");
p("margin", "");
A("border", "border-width", "border-style", "border-color");
if (z.border === "medium none") {
delete z.border;
}
}
return z;
},
serialize: function (p, r) {
var o = "",
n,
q;
function i(t) {
var x, u, s, v;
x = f.styles[t];
if (x) {
for (u = 0, s = x.length; u < s; u++) {
t = x[u];
v = p[t];
if (v !== e && v.length > 0) {
o += (o.length > 0 ? " " : "") + t + ": " + v + ";";
}
}
}
}
if (r && f && f.styles) {
i("*");
i(r);
} else {
for (n in p) {
q = p[n];
if (q !== e && q.length > 0) {
o += (o.length > 0 ? " " : "") + n + ": " + q + ";";
}
}
}
return o;
},
};
};
(function (f) {
var a = {},
e = f.makeMap,
g = f.each;
function d(j, i) {
return j.split(i || ",");
}
function h(m, l) {
var j,
k = {};
function i(n) {
return n.replace(/[A-Z]+/g, function (o) {
return i(m[o]);
});
}
for (j in m) {
if (m.hasOwnProperty(j)) {
m[j] = i(m[j]);
}
}
i(l)
.replace(/#/g, "#text")
.replace(/(\w+)\[([^\]]+)\]\[([^\]]*)\]/g, function (q, o, n, p) {
n = d(n, "|");
k[o] = {
attributes: e(n),
attributesOrder: n,
children: e(p, "|", { "#comment": {} }),
};
});
return k;
}
function b() {
var i = a.html5;
if (!i) {
i = a.html5 = h(
{
A: "id|accesskey|class|dir|draggable|item|hidden|itemprop|role|spellcheck|style|subject|title|onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",
B: "#|a|abbr|area|audio|b|bdo|br|button|canvas|cite|code|command|datalist|del|dfn|em|embed|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|meta|meter|noscript|object|output|progress|q|ruby|samp|script|select|small|span|strong|sub|sup|svg|textarea|time|var|video|wbr",
C: "#|a|abbr|area|address|article|aside|audio|b|bdo|blockquote|br|button|canvas|cite|code|command|datalist|del|details|dfn|dialog|div|dl|em|embed|fieldset|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|i|iframe|img|input|ins|kbd|keygen|label|link|map|mark|menu|meta|meter|nav|noscript|ol|object|output|p|pre|progress|q|ruby|samp|script|section|select|small|span|strong|style|sub|sup|svg|table|textarea|time|ul|var|video",
},
"html[A|manifest][body|head]head[A][base|command|link|meta|noscript|script|style|title]title[A][#]base[A|href|target][]link[A|href|rel|media|type|sizes][]meta[A|http-equiv|name|content|charset][]style[A|type|media|scoped][#]script[A|charset|type|src|defer|async][#]noscript[A][C]body[A][C]section[A][C]nav[A][C]article[A][C]aside[A][C]h1[A][B]h2[A][B]h3[A][B]h4[A][B]h5[A][B]h6[A][B]hgroup[A][h1|h2|h3|h4|h5|h6]header[A][C]footer[A][C]address[A][C]p[A][B]br[A][]pre[A][B]dialog[A][dd|dt]blockquote[A|cite][C]ol[A|start|reversed][li]ul[A][li]li[A|value][C]dl[A][dd|dt]dt[A][B]dd[A][C]a[A|href|target|ping|rel|media|type][B]em[A][B]strong[A][B]small[A][B]cite[A][B]q[A|cite][B]dfn[A][B]abbr[A][B]code[A][B]var[A][B]samp[A][B]kbd[A][B]sub[A][B]sup[A][B]i[A][B]b[A][B]mark[A][B]progress[A|value|max][B]meter[A|value|min|max|low|high|optimum][B]time[A|datetime][B]ruby[A][B|rt|rp]rt[A][B]rp[A][B]bdo[A][B]span[A][B]ins[A|cite|datetime][B]del[A|cite|datetime][B]figure[A][C|legend|figcaption]figcaption[A][C]img[A|alt|src|height|width|usemap|ismap][]iframe[A|name|src|height|width|sandbox|seamless][]embed[A|src|height|width|type][]object[A|data|type|height|width|usemap|name|form|classid][param]param[A|name|value][]details[A|open][C|legend]command[A|type|label|icon|disabled|checked|radiogroup][]menu[A|type|label][C|li]legend[A][C|B]div[A][C]source[A|src|type|media][]audio[A|src|autobuffer|autoplay|loop|controls][source]video[A|src|autobuffer|autoplay|loop|controls|width|height|poster][source]hr[A][]form[A|accept-charset|action|autocomplete|enctype|method|name|novalidate|target][C]fieldset[A|disabled|form|name][C|legend]label[A|form|for][B]input[A|type|accept|alt|autocomplete|autofocus|checked|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|height|list|max|maxlength|min|multiple|pattern|placeholder|readonly|required|size|src|step|width|files|value|name][]button[A|autofocus|disabled|form|formaction|formenctype|formmethod|formnovalidate|formtarget|name|value|type][B]select[A|autofocus|disabled|form|multiple|name|size][option|optgroup]datalist[A][B|option]optgroup[A|disabled|label][option]option[A|disabled|selected|label|value][]textarea[A|autofocus|disabled|form|maxlength|name|placeholder|readonly|required|rows|cols|wrap][]keygen[A|autofocus|challenge|disabled|form|keytype|name][]output[A|for|form|name][B]canvas[A|width|height][]map[A|name][B|C]area[A|shape|coords|href|alt|target|media|rel|ping|type][]mathml[A][]svg[A][]table[A|border][caption|colgroup|thead|tfoot|tbody|tr]caption[A][C]colgroup[A|span][col]col[A|span][]thead[A][tr]tfoot[A][tr]tbody[A][tr]tr[A][th|td]th[A|headers|rowspan|colspan|scope][B]td[A|headers|rowspan|colspan][C]wbr[A][]",
);
}
return i;
}
function c() {
var i = a.html4;
if (!i) {
i = a.html4 = h(
{
Z: "H|K|N|O|P",
Y: "X|form|R|Q",
ZG: "E|span|width|align|char|charoff|valign",
X: "p|T|div|U|W|isindex|fieldset|table",
ZF: "E|align|char|charoff|valign",
W: "pre|hr|blockquote|address|center|noframes",
ZE: "abbr|axis|headers|scope|rowspan|colspan|align|char|charoff|valign|nowrap|bgcolor|width|height",
ZD: "[E][S]",
U: "ul|ol|dl|menu|dir",
ZC: "p|Y|div|U|W|table|br|span|bdo|object|applet|img|map|K|N|Q",
T: "h1|h2|h3|h4|h5|h6",
ZB: "X|S|Q",
S: "R|P",
ZA: "a|G|J|M|O|P",
R: "a|H|K|N|O",
Q: "noscript|P",
P: "ins|del|script",
O: "input|select|textarea|label|button",
N: "M|L",
M: "em|strong|dfn|code|q|samp|kbd|var|cite|abbr|acronym",
L: "sub|sup",
K: "J|I",
J: "tt|i|b|u|s|strike",
I: "big|small|font|basefont",
H: "G|F",
G: "br|span|bdo",
F: "object|applet|img|map|iframe",
E: "A|B|C",
D: "accesskey|tabindex|onfocus|onblur",
C: "onclick|ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup",
B: "lang|xml:lang|dir",
A: "id|class|style|title",
},
"script[id|charset|type|language|src|defer|xml:space][]style[B|id|type|media|title|xml:space][]object[E|declare|classid|codebase|data|type|codetype|archive|standby|width|height|usemap|name|tabindex|align|border|hspace|vspace][#|param|Y]param[id|name|value|valuetype|type][]p[E|align][#|S]a[E|D|charset|type|name|href|hreflang|rel|rev|shape|coords|target][#|Z]br[A|clear][]span[E][#|S]bdo[A|C|B][#|S]applet[A|codebase|archive|code|object|alt|name|width|height|align|hspace|vspace][#|param|Y]h1[E|align][#|S]img[E|src|alt|name|longdesc|width|height|usemap|ismap|align|border|hspace|vspace][]map[B|C|A|name][X|form|Q|area]h2[E|align][#|S]iframe[A|longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height][#|Y]h3[E|align][#|S]tt[E][#|S]i[E][#|S]b[E][#|S]u[E][#|S]s[E][#|S]strike[E][#|S]big[E][#|S]small[E][#|S]font[A|B|size|color|face][#|S]basefont[id|size|color|face][]em[E][#|S]strong[E][#|S]dfn[E][#|S]code[E][#|S]q[E|cite][#|S]samp[E][#|S]kbd[E][#|S]var[E][#|S]cite[E][#|S]abbr[E][#|S]acronym[E][#|S]sub[E][#|S]sup[E][#|S]input[E|D|type|name|value|checked|disabled|readonly|size|maxlength|src|alt|usemap|onselect|onchange|accept|align][]select[E|name|size|multiple|disabled|tabindex|onfocus|onblur|onchange][optgroup|option]optgroup[E|disabled|label][option]option[E|selected|disabled|label|value][]textarea[E|D|name|rows|cols|disabled|readonly|onselect|onchange][]label[E|for|accesskey|onfocus|onblur][#|S]button[E|D|name|value|type|disabled][#|p|T|div|U|W|table|G|object|applet|img|map|K|N|Q]h4[E|align][#|S]ins[E|cite|datetime][#|Y]h5[E|align][#|S]del[E|cite|datetime][#|Y]h6[E|align][#|S]div[E|align][#|Y]ul[E|type|compact][li]li[E|type|value][#|Y]ol[E|type|compact|start][li]dl[E|compact][dt|dd]dt[E][#|S]dd[E][#|Y]menu[E|compact][li]dir[E|compact][li]pre[E|width|xml:space][#|ZA]hr[E|align|noshade|size|width][]blockquote[E|cite][#|Y]address[E][#|S|p]center[E][#|Y]noframes[E][#|Y]isindex[A|B|prompt][]fieldset[E][#|legend|Y]legend[E|accesskey|align][#|S]table[E|summary|width|border|frame|rules|cellspacing|cellpadding|align|bgcolor][caption|col|colgroup|thead|tfoot|tbody|tr]caption[E|align][#|S]col[ZG][]colgroup[ZG][col]thead[ZF][tr]tr[ZF|bgcolor][th|td]th[E|ZE][#|Y]form[E|action|method|name|enctype|onsubmit|onreset|accept|accept-charset|target][#|X|R|Q]noscript[E][#|Y]td[E|ZE][#|Y]tfoot[ZF][tr]tbody[ZF][tr]area[E|D|shape|coords|href|nohref|alt|target][]base[id|href|target][]body[E|onload|onunload|background|bgcolor|text|link|vlink|alink][#|Y]",
);
}
return i;
}
f.html.Schema = function (A) {
var u = this,
s = {},
k = {},
j = [],
D,
y;
var o,
q,
z,
r,
v,
n,
p = {};
function m(F, E, H) {
var G = A[F];
if (!G) {
G = a[F];
if (!G) {
G = e(E, " ", e(E.toUpperCase(), " "));
G = f.extend(G, H);
a[F] = G;
}
} else {
G = e(G, ",", e(G.toUpperCase(), " "));
}
return G;
}
A = A || {};
y = A.schema == "html5" ? b() : c();
if (A.verify_html === false) {
A.valid_elements = "*[*]";
}
if (A.valid_styles) {
D = {};
g(A.valid_styles, function (F, E) {
D[E] = f.explode(F);
});
}
o = m("whitespace_elements", "pre script noscript style textarea");
q = m(
"self_closing_elements",
"colgroup dd dt li option p td tfoot th thead tr",
);
z = m(
"short_ended_elements",
"area base basefont br col frame hr img input isindex link meta param embed source wbr",
);
r = m(
"boolean_attributes",
"checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls",
);
n = m("non_empty_elements", "td th iframe video audio object", z);
textBlockElementsMap = m(
"text_block_elements",
"h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure",
);
v = m(
"block_elements",
"hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex samp option datalist select optgroup",
textBlockElementsMap,
);
function i(E) {
return new RegExp("^" + E.replace(/([?+*])/g, ".$1") + "$");
}
function C(L) {
var K,
G,
Z,
V,
aa,
F,
I,
U,
X,
Q,
Y,
ac,
O,
J,
W,
E,
S,
H,
ab,
ad,
P,
T,
N = /^([#+\-])?([^\[\/]+)(?:\/([^\[]+))?(?:\[([^\]]+)\])?$/,
R = /^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/,
M = /[*?+]/;
if (L) {
L = d(L);
if (s["@"]) {
S = s["@"].attributes;
H = s["@"].attributesOrder;
}
for (K = 0, G = L.length; K < G; K++) {
F = N.exec(L[K]);
if (F) {
W = F[1];
Q = F[2];
E = F[3];
X = F[4];
O = {};
J = [];
I = { attributes: O, attributesOrder: J };
if (W === "#") {
I.paddEmpty = true;
}
if (W === "-") {
I.removeEmpty = true;
}
if (S) {
for (ad in S) {
O[ad] = S[ad];
}
J.push.apply(J, H);
}
if (X) {
X = d(X, "|");
for (Z = 0, V = X.length; Z < V; Z++) {
F = R.exec(X[Z]);
if (F) {
U = {};
ac = F[1];
Y = F[2].replace(/::/g, ":");
W = F[3];
T = F[4];
if (ac === "!") {
I.attributesRequired = I.attributesRequired || [];
I.attributesRequired.push(Y);
U.required = true;
}
if (ac === "-") {
delete O[Y];
J.splice(f.inArray(J, Y), 1);
continue;
}
if (W) {
if (W === "=") {
I.attributesDefault = I.attributesDefault || [];
I.attributesDefault.push({ name: Y, value: T });
U.defaultValue = T;
}
if (W === ":") {
I.attributesForced = I.attributesForced || [];
I.attributesForced.push({ name: Y, value: T });
U.forcedValue = T;
}
if (W === "<") {
U.validValues = e(T, "?");
}
}
if (M.test(Y)) {
I.attributePatterns = I.attributePatterns || [];
U.pattern = i(Y);
I.attributePatterns.push(U);
} else {
if (!O[Y]) {
J.push(Y);
}
O[Y] = U;
}
}
}
}
if (!S && Q == "@") {
S = O;
H = J;
}
if (E) {
I.outputName = Q;
s[E] = I;
}
if (M.test(Q)) {
I.pattern = i(Q);
j.push(I);
} else {
s[Q] = I;
}
}
}
}
}
function t(E) {
s = {};
j = [];
C(E);
g(y, function (G, F) {
k[F] = G.children;
});
}
function l(F) {
var E = /^(~)?(.+)$/;
if (F) {
g(d(F), function (J) {
var H = E.exec(J),
I = H[1] === "~",
K = I ? "span" : "div",
G = H[2];
k[G] = k[K];
p[G] = K;
if (!I) {
v[G.toUpperCase()] = {};
v[G] = {};
}
if (!s[G]) {
s[G] = s[K];
}
g(k, function (L, M) {
if (L[K]) {
L[G] = L[K];
}
});
});
}
}
function x(F) {
var E = /^([+\-]?)(\w+)\[([^\]]+)\]$/;
if (F) {
g(d(F), function (J) {
var I = E.exec(J),
G,
H;
if (I) {
H = I[1];
if (H) {
G = k[I[2]];
} else {
G = k[I[2]] = { "#comment": {} };
}
G = k[I[2]];
g(d(I[3], "|"), function (K) {
if (H === "-") {
delete G[K];
} else {
G[K] = {};
}
});
}
});
}
}
function B(E) {
var G = s[E],
F;
if (G) {
return G;
}
F = j.length;
while (F--) {
G = j[F];
if (G.pattern.test(E)) {
return G;
}
}
}
if (!A.valid_elements) {
g(y, function (F, E) {
s[E] = { attributes: F.attributes, attributesOrder: F.attributesOrder };
k[E] = F.children;
});
if (A.schema != "html5") {
g(d("strong/b,em/i"), function (E) {
E = d(E, "/");
s[E[1]].outputName = E[0];
});
}
s.img.attributesDefault = [{ name: "alt", value: "" }];
g(
d("ol,ul,sub,sup,blockquote,span,font,a,table,tbody,tr,strong,em,b,i"),
function (E) {
if (s[E]) {
s[E].removeEmpty = true;
}
},
);
g(d("p,h1,h2,h3,h4,h5,h6,th,td,pre,div,address,caption"), function (E) {
s[E].paddEmpty = true;
});
} else {
t(A.valid_elements);
}
l(A.custom_elements);
x(A.valid_children);
C(A.extended_valid_elements);
x("+ol[ul|ol],+ul[ul|ol]");
if (A.invalid_elements) {
f.each(f.explode(A.invalid_elements), function (E) {
if (s[E]) {
delete s[E];
}
});
}
if (!B("span")) {
C("span[!data-mce-type|*]");
}
u.children = k;
u.styles = D;
u.getBoolAttrs = function () {
return r;
};
u.getBlockElements = function () {
return v;
};
u.getTextBlockElements = function () {
return textBlockElementsMap;
};
u.getShortEndedElements = function () {
return z;
};
u.getSelfClosingElements = function () {
return q;
};
u.getNonEmptyElements = function () {
return n;
};
u.getWhiteSpaceElements = function () {
return o;
};
u.isValidChild = function (E, G) {
var F = k[E];
return !!(F && F[G]);
};
u.isValid = function (F, E) {
var H,
G,
I = B(F);
if (I) {
if (E) {
if (I.attributes[E]) {
return true;
}
H = I.attributePatterns;
if (H) {
G = H.length;
while (G--) {
if (H[G].pattern.test(F)) {
return true;
}
}
}
} else {
return true;
}
}
return false;
};
u.getElementRule = B;
u.getCustomElements = function () {
return p;
};
u.addValidElements = C;
u.setValidElements = t;
u.addCustomElements = l;
u.addValidChildren = x;
u.elements = s;
};
})(tinymce);
(function (a) {
a.html.SaxParser = function (c, e) {
var b = this,
d = function () {};
c = c || {};
b.schema = e = e || new a.html.Schema();
if (c.fix_self_closing !== false) {
c.fix_self_closing = true;
}
a.each("comment cdata text start end pi doctype".split(" "), function (f) {
if (f) {
b[f] = c[f] || d;
}
});
b.parse = function (E) {
var n = this,
g,
G = 0,
I,
B,
A = [],
N,
Q,
C,
r,
z,
s,
M,
H,
O,
v,
m,
k,
t,
R,
o,
P,
F,
S,
L,
f,
J,
l,
D,
K,
h,
x = 0,
j = a.html.Entities.decode,
y,
q;
function u(T) {
var V, U;
V = A.length;
while (V--) {
if (A[V].name === T) {
break;
}
}
if (V >= 0) {
for (U = A.length - 1; U >= V; U--) {
T = A[U];
if (T.valid) {
n.end(T.name);
}
}
A.length = V;
}
}
function p(U, T, Y, X, W) {
var Z, V;
T = T.toLowerCase();
Y = T in H ? T : j(Y || X || W || "");
if (v && !z && T.indexOf("data-") !== 0) {
Z = P[T];
if (!Z && F) {
V = F.length;
while (V--) {
Z = F[V];
if (Z.pattern.test(T)) {
break;
}
}
if (V === -1) {
Z = null;
}
}
if (!Z) {
return;
}
if (Z.validValues && !(Y in Z.validValues)) {
return;
}
}
N.map[T] = Y;
N.push({ name: T, value: Y });
}
l = new RegExp(
"<(?:(?:!--([\\w\\W]*?)-->)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([^>]+)>)|(?:([A-Za-z0-9\\-\\:\\.]+)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))",
"g",
);
D =
/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g;
K = {
script: /<\/script[^>]*>/gi,
style: /<\/style[^>]*>/gi,
noscript: /<\/noscript[^>]*>/gi,
};
M = e.getShortEndedElements();
J = c.self_closing_elements || e.getSelfClosingElements();
H = e.getBoolAttrs();
v = c.validate;
s = c.remove_internals;
y = c.fix_self_closing;
q = a.isIE;
o = /^:/;
while ((g = l.exec(E))) {
if (G < g.index) {
n.text(j(E.substr(G, g.index - G)));
}
if ((I = g[6])) {
I = I.toLowerCase();
if (q && o.test(I)) {
I = I.substr(1);
}
u(I);
} else {
if ((I = g[7])) {
I = I.toLowerCase();
if (q && o.test(I)) {
I = I.substr(1);
}
O = I in M;
if (y && J[I] && A.length > 0 && A[A.length - 1].name === I) {
u(I);
}
if (!v || (m = e.getElementRule(I))) {
k = true;
if (v) {
P = m.attributes;
F = m.attributePatterns;
}
if ((R = g[8])) {
z = R.indexOf("data-mce-type") !== -1;
if (z && s) {
k = false;
}
N = [];
N.map = {};
R.replace(D, p);
} else {
N = [];
N.map = {};
}
if (v && !z) {
S = m.attributesRequired;
L = m.attributesDefault;
f = m.attributesForced;
if (f) {
Q = f.length;
while (Q--) {
t = f[Q];
r = t.name;
h = t.value;
if (h === "{$uid}") {
h = "mce_" + x++;
}
N.map[r] = h;
N.push({ name: r, value: h });
}
}
if (L) {
Q = L.length;
while (Q--) {
t = L[Q];
r = t.name;
if (!(r in N.map)) {
h = t.value;
if (h === "{$uid}") {
h = "mce_" + x++;
}
N.map[r] = h;
N.push({ name: r, value: h });
}
}
}
if (S) {
Q = S.length;
while (Q--) {
if (S[Q] in N.map) {
break;
}
}
if (Q === -1) {
k = false;
}
}
if (N.map["data-mce-bogus"]) {
k = false;
}
}
if (k) {
n.start(I, N, O);
}
} else {
k = false;
}
if ((B = K[I])) {
B.lastIndex = G = g.index + g[0].length;
if ((g = B.exec(E))) {
if (k) {
C = E.substr(G, g.index - G);
}
G = g.index + g[0].length;
} else {
C = E.substr(G);
G = E.length;
}
if (k && C.length > 0) {
n.text(C, true);
}
if (k) {
n.end(I);
}
l.lastIndex = G;
continue;
}
if (!O) {
if (!R || R.indexOf("/") != R.length - 1) {
A.push({ name: I, valid: k });
} else {
if (k) {
n.end(I);
}
}
}
} else {
if ((I = g[1])) {
n.comment(I);
} else {
if ((I = g[2])) {
n.cdata(I);
} else {
if ((I = g[3])) {
n.doctype(I);
} else {
if ((I = g[4])) {
n.pi(I, g[5]);
}
}
}
}
}
}
G = g.index + g[0].length;
}
if (G < E.length) {
n.text(j(E.substr(G)));
}
for (Q = A.length - 1; Q >= 0; Q--) {
I = A[Q];
if (I.valid) {
n.end(I.name);
}
}
};
};
})(tinymce);
(function (d) {
var c = /^[ \t\r\n]*$/,
e = {
"#text": 3,
"#comment": 8,
"#cdata": 4,
"#pi": 7,
"#doctype": 10,
"#document-fragment": 11,
};
function a(k, l, j) {
var i,
h,
f = j ? "lastChild" : "firstChild",
g = j ? "prev" : "next";
if (k[f]) {
return k[f];
}
if (k !== l) {
i = k[g];
if (i) {
return i;
}
for (h = k.parent; h && h !== l; h = h.parent) {
i = h[g];
if (i) {
return i;
}
}
}
}
function b(f, g) {
this.name = f;
this.type = g;
if (g === 1) {
this.attributes = [];
this.attributes.map = {};
}
}
d.extend(b.prototype, {
replace: function (g) {
var f = this;
if (g.parent) {
g.remove();
}
f.insert(g, f);
f.remove();
return f;
},
attr: function (h, l) {
var f = this,
g,
j,
k;
if (typeof h !== "string") {
for (j in h) {
f.attr(j, h[j]);
}
return f;
}
if ((g = f.attributes)) {
if (l !== k) {
if (l === null) {
if (h in g.map) {
delete g.map[h];
j = g.length;
while (j--) {
if (g[j].name === h) {
g = g.splice(j, 1);
return f;
}
}
}
return f;
}
if (h in g.map) {
j = g.length;
while (j--) {
if (g[j].name === h) {
g[j].value = l;
break;
}
}
} else {
g.push({ name: h, value: l });
}
g.map[h] = l;
return f;
} else {
return g.map[h];
}
}
},
clone: function () {
var g = this,
n = new b(g.name, g.type),
h,
f,
m,
j,
k;
if ((m = g.attributes)) {
k = [];
k.map = {};
for (h = 0, f = m.length; h < f; h++) {
j = m[h];
if (j.name !== "id") {
k[k.length] = { name: j.name, value: j.value };
k.map[j.name] = j.value;
}
}
n.attributes = k;
}
n.value = g.value;
n.shortEnded = g.shortEnded;
return n;
},
wrap: function (g) {
var f = this;
f.parent.insert(g, f);
g.append(f);
return f;
},
unwrap: function () {
var f = this,
h,
g;
for (h = f.firstChild; h; ) {
g = h.next;
f.insert(h, f, true);
h = g;
}
f.remove();
},
remove: function () {
var f = this,
h = f.parent,
g = f.next,
i = f.prev;
if (h) {
if (h.firstChild === f) {
h.firstChild = g;
if (g) {
g.prev = null;
}
} else {
i.next = g;
}
if (h.lastChild === f) {
h.lastChild = i;
if (i) {
i.next = null;
}
} else {
g.prev = i;
}
f.parent = f.next = f.prev = null;
}
return f;
},
append: function (h) {
var f = this,
g;
if (h.parent) {
h.remove();
}
g = f.lastChild;
if (g) {
g.next = h;
h.prev = g;
f.lastChild = h;
} else {
f.lastChild = f.firstChild = h;
}
h.parent = f;
return h;
},
insert: function (h, f, i) {
var g;
if (h.parent) {
h.remove();
}
g = f.parent || this;
if (i) {
if (f === g.firstChild) {
g.firstChild = h;
} else {
f.prev.next = h;
}
h.prev = f.prev;
h.next = f;
f.prev = h;
} else {
if (f === g.lastChild) {
g.lastChild = h;
} else {
f.next.prev = h;
}
h.next = f.next;
h.prev = f;
f.next = h;
}
h.parent = g;
return h;
},
getAll: function (g) {
var f = this,
h,
i = [];
for (h = f.firstChild; h; h = a(h, f)) {
if (h.name === g) {
i.push(h);
}
}
return i;
},
empty: function () {
var g = this,
f,
h,
j;
if (g.firstChild) {
f = [];
for (j = g.firstChild; j; j = a(j, g)) {
f.push(j);
}
h = f.length;
while (h--) {
j = f[h];
j.parent = j.firstChild = j.lastChild = j.next = j.prev = null;
}
}
g.firstChild = g.lastChild = null;
return g;
},
isEmpty: function (k) {
var f = this,
j = f.firstChild,
h,
g;
if (j) {
do {
if (j.type === 1) {
if (j.attributes.map["data-mce-bogus"]) {
continue;
}
if (k[j.name]) {
return false;
}
h = j.attributes.length;
while (h--) {
g = j.attributes[h].name;
if (g === "name" || g.indexOf("data-mce-") === 0) {
return false;
}
}
}
if (j.type === 8) {
return false;
}
if (j.type === 3 && !c.test(j.value)) {
return false;
}
} while ((j = a(j, f)));
}
return true;
},
walk: function (f) {
return a(this, null, f);
},
});
d.extend(b, {
create: function (g, f) {
var i, h;
i = new b(g, e[g] || 1);
if (f) {
for (h in f) {
i.attr(h, f[h]);
}
}
return i;
},
});
d.html.Node = b;
})(tinymce);
(function (b) {
var a = b.html.Node;
b.html.DomParser = function (g, h) {
var f = this,
e = {},
d = [],
i = {},
c = {};
g = g || {};
g.validate = "validate" in g ? g.validate : true;
g.root_name = g.root_name || "body";
f.schema = h = h || new b.html.Schema();
function j(n) {
var p, q, y, x, A, o, r, l, u, v, k, t, m, z, s;
t = b.makeMap("tr,td,th,tbody,thead,tfoot,table");
k = h.getNonEmptyElements();
m = h.getTextBlockElements();
for (p = 0; p < n.length; p++) {
q = n[p];
if (!q.parent || q.fixed) {
continue;
}
if (m[q.name] && q.parent.name == "li") {
z = q.next;
while (z) {
if (m[z.name]) {
z.name = "li";
z.fixed = true;
q.parent.insert(z, q.parent);
} else {
break;
}
z = z.next;
}
q.unwrap(q);
continue;
}
x = [q];
for (
y = q.parent;
y && !h.isValidChild(y.name, q.name) && !t[y.name];
y = y.parent
) {
x.push(y);
}
if (y && x.length > 1) {
x.reverse();
A = o = f.filterNode(x[0].clone());
for (u = 0; u < x.length - 1; u++) {
if (h.isValidChild(o.name, x[u].name)) {
r = f.filterNode(x[u].clone());
o.append(r);
} else {
r = o;
}
for (l = x[u].firstChild; l && l != x[u + 1]; ) {
s = l.next;
r.append(l);
l = s;
}
o = r;
}
if (!A.isEmpty(k)) {
y.insert(A, x[0], true);
y.insert(q, A);
} else {
y.insert(q, x[0], true);
}
y = x[0];
if (
y.isEmpty(k) ||
(y.firstChild === y.lastChild && y.firstChild.name === "br")
) {
y.empty().remove();
}
} else {
if (q.parent) {
if (q.name === "li") {
z = q.prev;
if (z && (z.name === "ul" || z.name === "ul")) {
z.append(q);
continue;
}
z = q.next;
if (z && (z.name === "ul" || z.name === "ul")) {
z.insert(q, z.firstChild, true);
continue;
}
q.wrap(f.filterNode(new a("ul", 1)));
continue;
}
if (
h.isValidChild(q.parent.name, "div") &&
h.isValidChild("div", q.name)
) {
q.wrap(f.filterNode(new a("div", 1)));
} else {
if (q.name === "style" || q.name === "script") {
q.empty().remove();
} else {
q.unwrap();
}
}
}
}
}
}
f.filterNode = function (m) {
var l, k, n;
if (k in e) {
n = i[k];
if (n) {
n.push(m);
} else {
i[k] = [m];
}
}
l = d.length;
while (l--) {
k = d[l].name;
if (k in m.attributes.map) {
n = c[k];
if (n) {
n.push(m);
} else {
c[k] = [m];
}
}
}
return m;
};
f.addNodeFilter = function (k, l) {
b.each(b.explode(k), function (m) {
var n = e[m];
if (!n) {
e[m] = n = [];
}
n.push(l);
});
};
f.addAttributeFilter = function (k, l) {
b.each(b.explode(k), function (m) {
var n;
for (n = 0; n < d.length; n++) {
if (d[n].name === m) {
d[n].callbacks.push(l);
return;
}
}
d.push({ name: m, callbacks: [l] });
});
};
f.parse = function (v, m) {
var n,
J,
B,
A,
D,
C,
x,
r,
F,
N,
z,
o,
E,
M = [],
L,
t,
k,
y,
s,
p,
u,
q;
m = m || {};
i = {};
c = {};
o = b.extend(
b.makeMap("script,style,head,html,body,title,meta,param"),
h.getBlockElements(),
);
u = h.getNonEmptyElements();
p = h.children;
z = g.validate;
q = "forced_root_block" in m ? m.forced_root_block : g.forced_root_block;
s = h.getWhiteSpaceElements();
E = /^[ \t\r\n]+/;
t = /[ \t\r\n]+$/;
k = /[ \t\r\n]+/g;
y = /^[ \t\r\n]+$/;
function G() {
var O = J.firstChild,
l,
P;
while (O) {
l = O.next;
if (
O.type == 3 ||
(O.type == 1 &&
O.name !== "p" &&
!o[O.name] &&
!O.attr("data-mce-type"))
) {
if (!P) {
P = K(q, 1);
J.insert(P, O);
P.append(O);
} else {
P.append(O);
}
} else {
P = null;
}
O = l;
}
}
function K(l, O) {
var P = new a(l, O),
Q;
if (l in e) {
Q = i[l];
if (Q) {
Q.push(P);
} else {
i[l] = [P];
}
}
return P;
}
function I(P) {
var Q, l, O;
for (Q = P.prev; Q && Q.type === 3; ) {
l = Q.value.replace(t, "");
if (l.length > 0) {
Q.value = l;
Q = Q.prev;
} else {
O = Q.prev;
Q.remove();
Q = O;
}
}
}
function H(O) {
var P,
l = {};
for (P in O) {
if (P !== "li" && P != "p") {
l[P] = O[P];
}
}
return l;
}
n = new b.html.SaxParser(
{
validate: z,
self_closing_elements: H(h.getSelfClosingElements()),
cdata: function (l) {
B.append(K("#cdata", 4)).value = l;
},
text: function (P, l) {
var O;
if (!L) {
P = P.replace(k, " ");
if (B.lastChild && o[B.lastChild.name]) {
P = P.replace(E, "");
}
}
if (P.length !== 0) {
O = K("#text", 3);
O.raw = !!l;
B.append(O).value = P;
}
},
comment: function (l) {
B.append(K("#comment", 8)).value = l;
},
pi: function (l, O) {
B.append(K(l, 7)).value = O;
I(B);
},
doctype: function (O) {
var l;
l = B.append(K("#doctype", 10));
l.value = O;
I(B);
},
start: function (l, W, P) {
var U, R, Q, O, S, X, V, T;
Q = z ? h.getElementRule(l) : {};
if (Q) {
U = K(Q.outputName || l, 1);
U.attributes = W;
U.shortEnded = P;
B.append(U);
T = p[B.name];
if (T && p[U.name] && !T[U.name]) {
M.push(U);
}
R = d.length;
while (R--) {
S = d[R].name;
if (S in W.map) {
F = c[S];
if (F) {
F.push(U);
} else {
c[S] = [U];
}
}
}
if (o[l]) {
I(U);
}
if (!P) {
B = U;
}
if (!L && s[l]) {
L = true;
}
}
},
end: function (l) {
var S, P, R, O, Q;
P = z ? h.getElementRule(l) : {};
if (P) {
if (o[l]) {
if (!L) {
S = B.firstChild;
if (S && S.type === 3) {
R = S.value.replace(E, "");
if (R.length > 0) {
S.value = R;
S = S.next;
} else {
O = S.next;
S.remove();
S = O;
}
while (S && S.type === 3) {
R = S.value;
O = S.next;
if (R.length === 0 || y.test(R)) {
S.remove();
S = O;
}
S = O;
}
}
S = B.lastChild;
if (S && S.type === 3) {
R = S.value.replace(t, "");
if (R.length > 0) {
S.value = R;
S = S.prev;
} else {
O = S.prev;
S.remove();
S = O;
}
while (S && S.type === 3) {
R = S.value;
O = S.prev;
if (R.length === 0 || y.test(R)) {
S.remove();
S = O;
}
S = O;
}
}
}
}
if (L && s[l]) {
L = false;
}
if (P.removeEmpty || P.paddEmpty) {
if (B.isEmpty(u)) {
if (P.paddEmpty) {
B.empty().append(new a("#text", "3")).value = "\u00a0";
} else {
if (!B.attributes.map.name && !B.attributes.map.id) {
Q = B.parent;
B.empty().remove();
B = Q;
return;
}
}
}
}
B = B.parent;
}
},
},
h,
);
J = B = new a(m.context || g.root_name, 11);
n.parse(v);
if (z && M.length) {
if (!m.context) {
j(M);
} else {
m.invalid = true;
}
}
if (q && J.name == "body") {
G();
}
if (!m.invalid) {
for (N in i) {
F = e[N];
A = i[N];
x = A.length;
while (x--) {
if (!A[x].parent) {
A.splice(x, 1);
}
}
for (D = 0, C = F.length; D < C; D++) {
F[D](A, N, m);
}
}
for (D = 0, C = d.length; D < C; D++) {
F = d[D];
if (F.name in c) {
A = c[F.name];
x = A.length;
while (x--) {
if (!A[x].parent) {
A.splice(x, 1);
}
}
for (x = 0, r = F.callbacks.length; x < r; x++) {
F.callbacks[x](A, F.name, m);
}
}
}
}
return J;
};
if (g.remove_trailing_brs) {
f.addNodeFilter("br", function (n, m) {
var r,
q = n.length,
o,
v = b.extend({}, h.getBlockElements()),
k = h.getNonEmptyElements(),
t,
s,
p,
u;
v.body = 1;
for (r = 0; r < q; r++) {
o = n[r];
t = o.parent;
if (v[o.parent.name] && o === t.lastChild) {
p = o.prev;
while (p) {
u = p.name;
if (u !== "span" || p.attr("data-mce-type") !== "bookmark") {
if (u !== "br") {
break;
}
if (u === "br") {
o = null;
break;
}
}
p = p.prev;
}
if (o) {
o.remove();
if (t.isEmpty(k)) {
elementRule = h.getElementRule(t.name);
if (elementRule) {
if (elementRule.removeEmpty) {
t.remove();
} else {
if (elementRule.paddEmpty) {
t.empty().append(new b.html.Node("#text", 3)).value =
"\u00a0";
}
}
}
}
}
} else {
s = o;
while (t.firstChild === s && t.lastChild === s) {
s = t;
if (v[t.name]) {
break;
}
t = t.parent;
}
if (s === t) {
textNode = new b.html.Node("#text", 3);
textNode.value = "\u00a0";
o.replace(textNode);
}
}
}
});
}
if (!g.allow_html_in_named_anchor) {
f.addAttributeFilter("id,name", function (k, l) {
var n = k.length,
p,
m,
o,
q;
while (n--) {
q = k[n];
if (q.name === "a" && q.firstChild && !q.attr("href")) {
o = q.parent;
p = q.lastChild;
do {
m = p.prev;
o.insert(p, q);
p = m;
} while (p);
}
}
});
}
};
})(tinymce);
tinymce.html.Writer = function (e) {
var c = [],
a,
b,
d,
f,
g;
e = e || {};
a = e.indent;
b = tinymce.makeMap(e.indent_before || "");
d = tinymce.makeMap(e.indent_after || "");
f = tinymce.html.Entities.getEncodeFunc(
e.entity_encoding || "raw",
e.entities,
);
g = e.element_format == "html";
return {
start: function (m, k, p) {
var n, j, h, o;
if (a && b[m] && c.length > 0) {
o = c[c.length - 1];
if (o.length > 0 && o !== "\n") {
c.push("\n");
}
}
c.push("<", m);
if (k) {
for (n = 0, j = k.length; n < j; n++) {
h = k[n];
c.push(" ", h.name, '="', f(h.value, true), '"');
}
}
if (!p || g) {
c[c.length] = ">";
} else {
c[c.length] = " />";
}
if (p && a && d[m] && c.length > 0) {
o = c[c.length - 1];
if (o.length > 0 && o !== "\n") {
c.push("\n");
}
}
},
end: function (h) {
var i;
c.push("</", h, ">");
if (a && d[h] && c.length > 0) {
i = c[c.length - 1];
if (i.length > 0 && i !== "\n") {
c.push("\n");
}
}
},
text: function (i, h) {
if (i.length > 0) {
c[c.length] = h ? i : f(i);
}
},
cdata: function (h) {
c.push("<![CDATA[", h, "]]>");
},
comment: function (h) {
c.push("<!--", h, "-->");
},
pi: function (h, i) {
if (i) {
c.push("<?", h, " ", i, "?>");
} else {
c.push("<?", h, "?>");
}
if (a) {
c.push("\n");
}
},
doctype: function (h) {
c.push("<!DOCTYPE", h, ">", a ? "\n" : "");
},
reset: function () {
c.length = 0;
},
getContent: function () {
return c.join("").replace(/\n$/, "");
},
};
};
(function (a) {
a.html.Serializer = function (c, d) {
var b = this,
e = new a.html.Writer(c);
c = c || {};
c.validate = "validate" in c ? c.validate : true;
b.schema = d = d || new a.html.Schema();
b.writer = e;
b.serialize = function (h) {
var g, i;
i = c.validate;
g = {
3: function (k, j) {
e.text(k.value, k.raw);
},
8: function (j) {
e.comment(j.value);
},
7: function (j) {
e.pi(j.name, j.value);
},
10: function (j) {
e.doctype(j.value);
},
4: function (j) {
e.cdata(j.value);
},
11: function (j) {
if ((j = j.firstChild)) {
do {
f(j);
} while ((j = j.next));
}
},
};
e.reset();
function f(k) {
var t = g[k.type],
j,
o,
s,
r,
p,
u,
n,
m,
q;
if (!t) {
j = k.name;
o = k.shortEnded;
s = k.attributes;
if (i && s && s.length > 1) {
u = [];
u.map = {};
q = d.getElementRule(k.name);
for (n = 0, m = q.attributesOrder.length; n < m; n++) {
r = q.attributesOrder[n];
if (r in s.map) {
p = s.map[r];
u.map[r] = p;
u.push({ name: r, value: p });
}
}
for (n = 0, m = s.length; n < m; n++) {
r = s[n].name;
if (!(r in u.map)) {
p = s.map[r];
u.map[r] = p;
u.push({ name: r, value: p });
}
}
s = u;
}
e.start(k.name, s, o);
if (!o) {
if ((k = k.firstChild)) {
do {
f(k);
} while ((k = k.next));
}
e.end(j);
}
} else {
t(k);
}
}
if (h.type == 1 && !c.inner) {
f(h);
} else {
g[11](h);
}
return e.getContent();
};
};
})(tinymce);
tinymce.dom = {};
(function (b, h) {
var g = !!document.addEventListener;
function c(k, j, l, i) {
if (k.addEventListener) {
k.addEventListener(j, l, i || false);
} else {
if (k.attachEvent) {
k.attachEvent("on" + j, l);
}
}
}
function e(k, j, l, i) {
if (k.removeEventListener) {
k.removeEventListener(j, l, i || false);
} else {
if (k.detachEvent) {
k.detachEvent("on" + j, l);
}
}
}
function a(n, l) {
var i,
k = l || {};
function j() {
return false;
}
function m() {
return true;
}
for (i in n) {
if (i !== "layerX" && i !== "layerY") {
k[i] = n[i];
}
}
if (!k.target) {
k.target = k.srcElement || document;
}
k.preventDefault = function () {
k.isDefaultPrevented = m;
if (n) {
if (n.preventDefault) {
n.preventDefault();
} else {
n.returnValue = false;
}
}
};
k.stopPropagation = function () {
k.isPropagationStopped = m;
if (n) {
if (n.stopPropagation) {
n.stopPropagation();
} else {
n.cancelBubble = true;
}
}
};
k.stopImmediatePropagation = function () {
k.isImmediatePropagationStopped = m;
k.stopPropagation();
};
if (!k.isDefaultPrevented) {
k.isDefaultPrevented = j;
k.isPropagationStopped = j;
k.isImmediatePropagationStopped = j;
}
return k;
}
function d(m, n, l) {
var k = m.document,
j = { type: "ready" };
function i() {
if (!l.domLoaded) {
l.domLoaded = true;
n(j);
}
}
if (k.readyState == "complete") {
i();
return;
}
if (g) {
c(m, "DOMContentLoaded", i);
} else {
c(k, "readystatechange", function () {
if (k.readyState === "complete") {
e(k, "readystatechange", arguments.callee);
i();
}
});
if (k.documentElement.doScroll && m === m.top) {
(function () {
try {
k.documentElement.doScroll("left");
} catch (o) {
setTimeout(arguments.callee, 0);
return;
}
i();
})();
}
}
c(m, "load", i);
}
function f(k) {
var q = this,
p = {},
i,
o,
n,
m,
l;
m = "onmouseenter" in document.documentElement;
n = "onfocusin" in document.documentElement;
l = { mouseenter: "mouseover", mouseleave: "mouseout" };
i = 1;
q.domLoaded = false;
q.events = p;
function j(t, x) {
var s, u, r, v;
s = p[x][t.type];
if (s) {
for (u = 0, r = s.length; u < r; u++) {
v = s[u];
if (v && v.func.call(v.scope, t) === false) {
t.preventDefault();
}
if (t.isImmediatePropagationStopped()) {
return;
}
}
}
}
q.bind = function (x, A, D, E) {
var s,
t,
u,
r,
B,
z,
C,
v = window;
function y(F) {
j(a(F || v.event), s);
}
if (!x || x.nodeType === 3 || x.nodeType === 8) {
return;
}
if (!x[h]) {
s = i++;
x[h] = s;
p[s] = {};
} else {
s = x[h];
if (!p[s]) {
p[s] = {};
}
}
E = E || x;
A = A.split(" ");
u = A.length;
while (u--) {
r = A[u];
z = y;
B = C = false;
if (r === "DOMContentLoaded") {
r = "ready";
}
if ((q.domLoaded || x.readyState == "complete") && r === "ready") {
q.domLoaded = true;
D.call(E, a({ type: r }));
continue;
}
if (!m) {
B = l[r];
if (B) {
z = function (F) {
var H, G;
H = F.currentTarget;
G = F.relatedTarget;
if (G && H.contains) {
G = H.contains(G);
} else {
while (G && G !== H) {
G = G.parentNode;
}
}
if (!G) {
F = a(F || v.event);
F.type = F.type === "mouseout" ? "mouseleave" : "mouseenter";
F.target = H;
j(F, s);
}
};
}
}
if (!n && (r === "focusin" || r === "focusout")) {
C = true;
B = r === "focusin" ? "focus" : "blur";
z = function (F) {
F = a(F || v.event);
F.type = F.type === "focus" ? "focusin" : "focusout";
j(F, s);
};
}
t = p[s][r];
if (!t) {
p[s][r] = t = [{ func: D, scope: E }];
t.fakeName = B;
t.capture = C;
t.nativeHandler = z;
if (!g) {
t.proxyHandler = k(s);
}
if (r === "ready") {
d(x, z, q);
} else {
c(x, B || r, g ? z : t.proxyHandler, C);
}
} else {
t.push({ func: D, scope: E });
}
}
x = t = 0;
return D;
};
q.unbind = function (x, z, A) {
var s, u, v, B, r, t;
if (!x || x.nodeType === 3 || x.nodeType === 8) {
return q;
}
s = x[h];
if (s) {
t = p[s];
if (z) {
z = z.split(" ");
v = z.length;
while (v--) {
r = z[v];
u = t[r];
if (u) {
if (A) {
B = u.length;
while (B--) {
if (u[B].func === A) {
u.splice(B, 1);
}
}
}
if (!A || u.length === 0) {
delete t[r];
e(
x,
u.fakeName || r,
g ? u.nativeHandler : u.proxyHandler,
u.capture,
);
}
}
}
} else {
for (r in t) {
u = t[r];
e(
x,
u.fakeName || r,
g ? u.nativeHandler : u.proxyHandler,
u.capture,
);
}
t = {};
}
for (r in t) {
return q;
}
delete p[s];
try {
delete x[h];
} catch (y) {
x[h] = null;
}
}
return q;
};
q.fire = function (u, s, r) {
var v, t;
if (!u || u.nodeType === 3 || u.nodeType === 8) {
return q;
}
t = a(null, r);
t.type = s;
do {
v = u[h];
if (v) {
j(t, v);
}
u = u.parentNode || u.ownerDocument || u.defaultView || u.parentWindow;
} while (u && !t.isPropagationStopped());
return q;
};
q.clean = function (u) {
var s,
r,
t = q.unbind;
if (!u || u.nodeType === 3 || u.nodeType === 8) {
return q;
}
if (u[h]) {
t(u);
}
if (!u.getElementsByTagName) {
u = u.document;
}
if (u && u.getElementsByTagName) {
t(u);
r = u.getElementsByTagName("*");
s = r.length;
while (s--) {
u = r[s];
if (u[h]) {
t(u);
}
}
}
return q;
};
q.callNativeHandler = function (s, r) {
if (p) {
p[s][r.type].nativeHandler(r);
}
};
q.destory = function () {
p = {};
};
q.add = function (v, s, u, t) {
if (typeof v === "string") {
v = document.getElementById(v);
}
if (v && v instanceof Array) {
var r = v.length;
while (r--) {
q.add(v[r], s, u, t);
}
return;
}
if (s === "init") {
s = "ready";
}
return q.bind(v, s instanceof Array ? s.join(" ") : s, u, t);
};
q.remove = function (v, s, u, t) {
if (!v) {
return q;
}
if (typeof v === "string") {
v = document.getElementById(v);
}
if (v instanceof Array) {
var r = v.length;
while (r--) {
q.remove(v[r], s, u, t);
}
return q;
}
return q.unbind(v, s instanceof Array ? s.join(" ") : s, u);
};
q.clear = function (r) {
if (typeof r === "string") {
r = document.getElementById(r);
}
return q.clean(r);
};
q.cancel = function (r) {
if (r) {
q.prevent(r);
q.stop(r);
}
return false;
};
q.prevent = function (r) {
if (!r.preventDefault) {
r = a(r);
}
r.preventDefault();
return false;
};
q.stop = function (r) {
if (!r.stopPropagation) {
r = a(r);
}
r.stopPropagation();
return false;
};
}
b.EventUtils = f;
b.Event = new f(function (i) {
return function (j) {
tinymce.dom.Event.callNativeHandler(i, j);
};
});
b.Event.bind(window, "ready", function () {});
b = 0;
})(tinymce.dom, "data-mce-expando");
tinymce.dom.TreeWalker = function (a, c) {
var b = a;
function d(i, f, e, j) {
var h, g;
if (i) {
if (!j && i[f]) {
return i[f];
}
if (i != c) {
h = i[e];
if (h) {
return h;
}
for (g = i.parentNode; g && g != c; g = g.parentNode) {
h = g[e];
if (h) {
return h;
}
}
}
}
}
this.current = function () {
return b;
};
this.next = function (e) {
return (b = d(b, "firstChild", "nextSibling", e));
};
this.prev = function (e) {
return (b = d(b, "lastChild", "previousSibling", e));
};
};
(function (e) {
var g = e.each,
d = e.is,
f = e.isWebKit,
b = e.isIE,
h = e.html.Entities,
c = /^([a-z0-9],?)+$/i,
a = /^[ \t\r\n]*$/;
e.create("tinymce.dom.DOMUtils", {
doc: null,
root: null,
files: null,
pixelStyles: /^(top|left|bottom|right|width|height|borderWidth)$/,
props: {
for: "htmlFor",
class: "className",
className: "className",
checked: "checked",
disabled: "disabled",
maxlength: "maxLength",
readonly: "readOnly",
selected: "selected",
value: "value",
id: "id",
name: "name",
type: "type",
},
DOMUtils: function (o, l) {
var k = this,
i,
j,
n;
k.doc = o;
k.win = window;
k.files = {};
k.cssFlicker = false;
k.counter = 0;
k.stdMode = !e.isIE || o.documentMode >= 8;
k.boxModel = !e.isIE || o.compatMode == "CSS1Compat" || k.stdMode;
k.hasOuterHTML = "outerHTML" in o.createElement("a");
k.settings = l = e.extend({ keep_values: false, hex_colors: 1 }, l);
k.schema = l.schema;
k.styles = new e.html.Styles(
{
url_converter: l.url_converter,
url_converter_scope: l.url_converter_scope,
},
l.schema,
);
if (e.isIE6) {
try {
o.execCommand("BackgroundImageCache", false, true);
} catch (m) {
k.cssFlicker = true;
}
}
k.fixDoc(o);
k.events = l.ownEvents ? new e.dom.EventUtils(l.proxy) : e.dom.Event;
e.addUnload(k.destroy, k);
n = l.schema ? l.schema.getBlockElements() : {};
k.isBlock = function (q) {
if (!q) {
return false;
}
var p = q.nodeType;
if (p) {
return !!(p === 1 && n[q.nodeName]);
}
return !!n[q];
};
},
fixDoc: function (k) {
var j = this.settings,
i;
if (b && j.schema) {
"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(
/\w+/g,
function (l) {
k.createElement(l);
},
);
for (i in j.schema.getCustomElements()) {
k.createElement(i);
}
}
},
clone: function (k, i) {
var j = this,
m,
l;
if (!b || k.nodeType !== 1 || i) {
return k.cloneNode(i);
}
l = j.doc;
if (!i) {
m = l.createElement(k.nodeName);
g(j.getAttribs(k), function (n) {
j.setAttrib(m, n.nodeName, j.getAttrib(k, n.nodeName));
});
return m;
}
return m.firstChild;
},
getRoot: function () {
var i = this,
j = i.settings;
return (j && i.get(j.root_element)) || i.doc.body;
},
getViewPort: function (j) {
var k, i;
j = !j ? this.win : j;
k = j.document;
i = this.boxModel ? k.documentElement : k.body;
return {
x: j.pageXOffset || i.scrollLeft,
y: j.pageYOffset || i.scrollTop,
w: j.innerWidth || i.clientWidth,
h: j.innerHeight || i.clientHeight,
};
},
getRect: function (l) {
var k,
i = this,
j;
l = i.get(l);
k = i.getPos(l);
j = i.getSize(l);
return { x: k.x, y: k.y, w: j.w, h: j.h };
},
getSize: function (l) {
var j = this,
i,
k;
l = j.get(l);
i = j.getStyle(l, "width");
k = j.getStyle(l, "height");
if (i.indexOf("px") === -1) {
i = 0;
}
if (k.indexOf("px") === -1) {
k = 0;
}
return {
w: parseInt(i, 10) || l.offsetWidth || l.clientWidth,
h: parseInt(k, 10) || l.offsetHeight || l.clientHeight,
};
},
getParent: function (k, j, i) {
return this.getParents(k, j, i, false);
},
getParents: function (s, m, k, q) {
var j = this,
i,
l = j.settings,
p = [];
s = j.get(s);
q = q === undefined;
if (l.strict_root) {
k = k || j.getRoot();
}
if (d(m, "string")) {
i = m;
if (m === "*") {
m = function (o) {
return o.nodeType == 1;
};
} else {
m = function (o) {
return j.is(o, i);
};
}
}
while (s) {
if (s == k || !s.nodeType || s.nodeType === 9) {
break;
}
if (!m || m(s)) {
if (q) {
p.push(s);
} else {
return s;
}
}
s = s.parentNode;
}
return q ? p : null;
},
get: function (i) {
var j;
if (i && this.doc && typeof i == "string") {
j = i;
i = this.doc.getElementById(i);
if (i && i.id !== j) {
return this.doc.getElementsByName(j)[1];
}
}
return i;
},
getNext: function (j, i) {
return this._findSib(j, i, "nextSibling");
},
getPrev: function (j, i) {
return this._findSib(j, i, "previousSibling");
},
select: function (k, j) {
var i = this;
return e.dom.Sizzle(
k,
i.get(j) || i.get(i.settings.root_element) || i.doc,
[],
);
},
is: function (l, j) {
var k;
if (l.length === undefined) {
if (j === "*") {
return l.nodeType == 1;
}
if (c.test(j)) {
j = j.toLowerCase().split(/,/);
l = l.nodeName.toLowerCase();
for (k = j.length - 1; k >= 0; k--) {
if (j[k] == l) {
return true;
}
}
return false;
}
}
return e.dom.Sizzle.matches(j, l.nodeType ? [l] : l).length > 0;
},
add: function (l, o, i, k, m) {
var j = this;
return this.run(l, function (r) {
var q, n;
q = d(o, "string") ? j.doc.createElement(o) : o;
j.setAttribs(q, i);
if (k) {
if (k.nodeType) {
q.appendChild(k);
} else {
j.setHTML(q, k);
}
}
return !m ? r.appendChild(q) : q;
});
},
create: function (k, i, j) {
return this.add(this.doc.createElement(k), k, i, j, 1);
},
createHTML: function (q, i, m) {
var p = "",
l = this,
j;
p += "<" + q;
for (j in i) {
if (i.hasOwnProperty(j)) {
p += " " + j + '="' + l.encode(i[j]) + '"';
}
}
if (typeof m != "undefined") {
return p + ">" + m + "</" + q + ">";
}
return p + " />";
},
remove: function (i, j) {
return this.run(i, function (l) {
var m,
k = l.parentNode;
if (!k) {
return null;
}
if (j) {
while ((m = l.firstChild)) {
if (!e.isIE || m.nodeType !== 3 || m.nodeValue) {
k.insertBefore(m, l);
} else {
l.removeChild(m);
}
}
}
return k.removeChild(l);
});
},
setStyle: function (l, i, j) {
var k = this;
return k.run(l, function (o) {
var n, m;
n = o.style;
i = i.replace(/-(\D)/g, function (q, p) {
return p.toUpperCase();
});
if (
k.pixelStyles.test(i) &&
(e.is(j, "number") || /^[\-0-9\.]+$/.test(j))
) {
j += "px";
}
switch (i) {
case "opacity":
if (b) {
n.filter = j === "" ? "" : "alpha(opacity=" + j * 100 + ")";
if (!l.currentStyle || !l.currentStyle.hasLayout) {
n.display = "inline-block";
}
}
n[i] = n["-moz-opacity"] = n["-khtml-opacity"] = j || "";
break;
case "float":
b ? (n.styleFloat = j) : (n.cssFloat = j);
break;
default:
n[i] = j || "";
}
if (k.settings.update_styles) {
k.setAttrib(o, "data-mce-style");
}
});
},
getStyle: function (l, i, k) {
l = this.get(l);
if (!l) {
return;
}
if (this.doc.defaultView && k) {
i = i.replace(/[A-Z]/g, function (m) {
return "-" + m;
});
try {
return this.doc.defaultView
.getComputedStyle(l, null)
.getPropertyValue(i);
} catch (j) {
return null;
}
}
i = i.replace(/-(\D)/g, function (n, m) {
return m.toUpperCase();
});
if (i == "float") {
i = b ? "styleFloat" : "cssFloat";
}
if (l.currentStyle && k) {
return l.currentStyle[i];
}
return l.style ? l.style[i] : undefined;
},
setStyles: function (l, m) {
var j = this,
k = j.settings,
i;
i = k.update_styles;
k.update_styles = 0;
g(m, function (o, p) {
j.setStyle(l, p, o);
});
k.update_styles = i;
if (k.update_styles) {
j.setAttrib(l, k.cssText);
}
},
removeAllAttribs: function (i) {
return this.run(i, function (l) {
var k,
j = l.attributes;
for (k = j.length - 1; k >= 0; k--) {
l.removeAttributeNode(j.item(k));
}
});
},
setAttrib: function (k, l, i) {
var j = this;
if (!k || !l) {
return;
}
if (j.settings.strict) {
l = l.toLowerCase();
}
return this.run(k, function (p) {
var o = j.settings;
var m = p.getAttribute(l);
if (i !== null) {
switch (l) {
case "style":
if (!d(i, "string")) {
g(i, function (q, r) {
j.setStyle(p, r, q);
});
return;
}
if (o.keep_values) {
if (i && !j._isRes(i)) {
p.setAttribute("data-mce-style", i, 2);
} else {
p.removeAttribute("data-mce-style", 2);
}
}
p.style.cssText = i;
break;
case "class":
p.className = i || "";
break;
case "src":
case "href":
if (o.keep_values) {
if (o.url_converter) {
i = o.url_converter.call(o.url_converter_scope || j, i, l, p);
}
j.setAttrib(p, "data-mce-" + l, i, 2);
}
break;
case "shape":
p.setAttribute("data-mce-style", i);
break;
}
}
if (d(i) && i !== null && i.length !== 0) {
p.setAttribute(l, "" + i, 2);
} else {
p.removeAttribute(l, 2);
}
if (tinyMCE.activeEditor && m != i) {
var n = tinyMCE.activeEditor;
n.onSetAttrib.dispatch(n, p, l, i);
}
});
},
setAttribs: function (j, k) {
var i = this;
return this.run(j, function (l) {
g(k, function (m, o) {
i.setAttrib(l, o, m);
});
});
},
getAttrib: function (m, o, k) {
var i,
j = this,
l;
m = j.get(m);
if (!m || m.nodeType !== 1) {
return k === l ? false : k;
}
if (!d(k)) {
k = "";
}
if (/^(src|href|style|coords|shape)$/.test(o)) {
i = m.getAttribute("data-mce-" + o);
if (i) {
return i;
}
}
if (b && j.props[o]) {
i = m[j.props[o]];
i = i && i.nodeValue ? i.nodeValue : i;
}
if (!i) {
i = m.getAttribute(o, 2);
}
if (
/^(checked|compact|declare|defer|disabled|ismap|multiple|nohref|noshade|nowrap|readonly|selected)$/.test(
o,
)
) {
if (m[j.props[o]] === true && i === "") {
return o;
}
return i ? o : "";
}
if (m.nodeName === "FORM" && m.getAttributeNode(o)) {
return m.getAttributeNode(o).nodeValue;
}
if (o === "style") {
i = i || m.style.cssText;
if (i) {
i = j.serializeStyle(j.parseStyle(i), m.nodeName);
if (j.settings.keep_values && !j._isRes(i)) {
m.setAttribute("data-mce-style", i);
}
}
}
if (f && o === "class" && i) {
i = i.replace(/(apple|webkit)\-[a-z\-]+/gi, "");
}
if (b) {
switch (o) {
case "rowspan":
case "colspan":
if (i === 1) {
i = "";
}
break;
case "size":
if (i === "+0" || i === 20 || i === 0) {
i = "";
}
break;
case "width":
case "height":
case "vspace":
case "checked":
case "disabled":
case "readonly":
if (i === 0) {
i = "";
}
break;
case "hspace":
if (i === -1) {
i = "";
}
break;
case "maxlength":
case "tabindex":
if (i === 32768 || i === 2147483647 || i === "32768") {
i = "";
}
break;
case "multiple":
case "compact":
case "noshade":
case "nowrap":
if (i === 65535) {
return o;
}
return k;
case "shape":
i = i.toLowerCase();
break;
default:
if (o.indexOf("on") === 0 && i) {
i = e._replace(
/^function\s+\w+\(\)\s+\{\s+(.*)\s+\}$/,
"$1",
"" + i,
);
}
}
}
return i !== l && i !== null && i !== "" ? "" + i : k;
},
getPos: function (q, l) {
var j = this,
i = 0,
p = 0,
m,
o = j.doc,
k;
q = j.get(q);
l = l || o.body;
if (q) {
if (q.getBoundingClientRect) {
q = q.getBoundingClientRect();
m = j.boxModel ? o.documentElement : o.body;
i =
q.left +
(o.documentElement.scrollLeft || o.body.scrollLeft) -
m.clientTop;
p =
q.top +
(o.documentElement.scrollTop || o.body.scrollTop) -
m.clientLeft;
return { x: i, y: p };
}
k = q;
while (k && k != l && k.nodeType) {
i += k.offsetLeft || 0;
p += k.offsetTop || 0;
k = k.offsetParent;
}
k = q.parentNode;
while (k && k != l && k.nodeType) {
i -= k.scrollLeft || 0;
p -= k.scrollTop || 0;
k = k.parentNode;
}
}
return { x: i, y: p };
},
parseStyle: function (i) {
return this.styles.parse(i);
},
serializeStyle: function (j, i) {
return this.styles.serialize(j, i);
},
addStyle: function (j) {
var k = this.doc,
i;
styleElm = k.getElementById("mceDefaultStyles");
if (!styleElm) {
((styleElm = k.createElement("style")),
(styleElm.id = "mceDefaultStyles"));
styleElm.type = "text/css";
i = k.getElementsByTagName("head")[0];
if (i.firstChild) {
i.insertBefore(styleElm, i.firstChild);
} else {
i.appendChild(styleElm);
}
}
if (styleElm.styleSheet) {
styleElm.styleSheet.cssText += j;
} else {
styleElm.appendChild(k.createTextNode(j));
}
},
loadCSS: function (i) {
var k = this,
l = k.doc,
j;
if (!i) {
i = "";
}
j = l.getElementsByTagName("head")[0];
g(i.split(","), function (m) {
var n;
if (k.files[m]) {
return;
}
k.files[m] = true;
n = k.create("link", { rel: "stylesheet", href: e._addVer(m) });
if (b && l.documentMode && l.recalc) {
n.onload = function () {
if (l.recalc) {
l.recalc();
}
n.onload = null;
};
}
j.appendChild(n);
});
},
addClass: function (i, j) {
return this.run(i, function (k) {
var l;
if (!j) {
return 0;
}
if (this.hasClass(k, j)) {
return k.className;
}
l = this.removeClass(k, j);
return (k.className = (l != "" ? l + " " : "") + j);
});
},
removeClass: function (k, l) {
var i = this,
j;
return i.run(k, function (n) {
var m;
if (i.hasClass(n, l)) {
if (!j) {
j = new RegExp("(^|\\s+)" + l + "(\\s+|$)", "g");
}
m = n.className.replace(j, " ");
m = e.trim(m != " " ? m : "");
n.className = m;
if (!m) {
n.removeAttribute("class");
n.removeAttribute("className");
}
return m;
}
return n.className;
});
},
hasClass: function (j, i) {
j = this.get(j);
if (!j || !i) {
return false;
}
return (" " + j.className + " ").indexOf(" " + i + " ") !== -1;
},
show: function (i) {
return this.setStyle(i, "display", "block");
},
hide: function (i) {
return this.setStyle(i, "display", "none");
},
isHidden: function (i) {
i = this.get(i);
return (
!i || i.style.display == "none" || this.getStyle(i, "display") == "none"
);
},
uniqueId: function (i) {
return (!i ? "mce_" : i) + this.counter++;
},
setHTML: function (k, j) {
var i = this;
return i.run(k, function (m) {
if (b) {
while (m.firstChild) {
m.removeChild(m.firstChild);
}
try {
m.innerHTML = "<br />" + j;
m.removeChild(m.firstChild);
} catch (l) {
var n = i.create("div");
n.innerHTML = "<br />" + j;
g(e.grep(n.childNodes), function (p, o) {
if (o && m.canHaveHTML) {
m.appendChild(p);
}
});
}
} else {
m.innerHTML = j;
}
return j;
});
},
getOuterHTML: function (k) {
var j,
i = this;
k = i.get(k);
if (!k) {
return null;
}
if (k.nodeType === 1 && i.hasOuterHTML) {
return k.outerHTML;
}
j = (k.ownerDocument || i.doc).createElement("body");
j.appendChild(k.cloneNode(true));
return j.innerHTML;
},
setOuterHTML: function (l, j, m) {
var i = this;
function k(p, o, r) {
var s, q;
q = r.createElement("body");
q.innerHTML = o;
s = q.lastChild;
while (s) {
i.insertAfter(s.cloneNode(true), p);
s = s.previousSibling;
}
i.remove(p);
}
return this.run(l, function (o) {
o = i.get(o);
if (o.nodeType == 1) {
m = m || o.ownerDocument || i.doc;
if (b) {
try {
if (b && o.nodeType == 1) {
o.outerHTML = j;
} else {
k(o, j, m);
}
} catch (n) {
k(o, j, m);
}
} else {
k(o, j, m);
}
}
});
},
decode: h.decode,
encode: h.encodeAllRaw,
insertAfter: function (i, j) {
j = this.get(j);
return this.run(i, function (l) {
var k, m;
k = j.parentNode;
m = j.nextSibling;
if (m) {
k.insertBefore(l, m);
} else {
k.appendChild(l);
}
return l;
});
},
replace: function (m, l, i) {
var j = this;
if (d(l, "array")) {
m = m.cloneNode(true);
}
return j.run(l, function (k) {
if (i) {
g(e.grep(k.childNodes), function (n) {
m.appendChild(n);
});
}
return k.parentNode.replaceChild(m, k);
});
},
rename: function (l, i) {
var k = this,
j;
if (l.nodeName != i.toUpperCase()) {
j = k.create(i);
g(k.getAttribs(l), function (m) {
k.setAttrib(j, m.nodeName, k.getAttrib(l, m.nodeName));
});
k.replace(j, l, 1);
}
return j || l;
},
findCommonAncestor: function (k, i) {
var l = k,
j;
while (l) {
j = i;
while (j && l != j) {
j = j.parentNode;
}
if (l == j) {
break;
}
l = l.parentNode;
}
if (!l && k.ownerDocument) {
return k.ownerDocument.documentElement;
}
return l;
},
toHex: function (i) {
var k =
/^\s*rgb\s*?\(\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?,\s*?([0-9]+)\s*?\)\s*$/i.exec(
i,
);
function j(l) {
l = parseInt(l, 10).toString(16);
return l.length > 1 ? l : "0" + l;
}
if (k) {
i = "#" + j(k[1]) + j(k[2]) + j(k[3]);
return i;
}
return i;
},
getClasses: function () {
var n = this,
j = [],
m,
o = {},
p = n.settings.class_filter,
l;
if (n.classes) {
return n.classes;
}
function q(i) {
g(i.imports, function (s) {
q(s);
});
g(i.cssRules || i.rules, function (s) {
switch (s.type || 1) {
case 1:
if (s.selectorText) {
g(s.selectorText.split(","), function (r) {
r = r.replace(/^\s*|\s*$|^\s\./g, "");
if (/\.mce/.test(r) || !/\.[\w\-]+$/.test(r)) {
return;
}
l = r;
r = e._replace(/.*\.([a-z0-9_\-]+).*/i, "$1", r);
if (p && !(r = p(r, l))) {
return;
}
if (!o[r]) {
j.push({ class: r });
o[r] = 1;
}
});
}
break;
case 3:
q(s.styleSheet);
break;
}
});
}
try {
g(n.doc.styleSheets, q);
} catch (k) {}
if (j.length > 0) {
n.classes = j;
}
return j;
},
run: function (l, k, j) {
var i = this,
m;
if (i.doc && typeof l === "string") {
l = i.get(l);
}
if (!l) {
return false;
}
j = j || this;
if (!l.nodeType && (l.length || l.length === 0)) {
m = [];
g(l, function (o, n) {
if (o) {
if (typeof o == "string") {
o = i.doc.getElementById(o);
}
m.push(k.call(j, o, n));
}
});
return m;
}
return k.call(j, l);
},
getAttribs: function (j) {
var i;
j = this.get(j);
if (!j) {
return [];
}
if (b) {
i = [];
if (j.nodeName == "OBJECT") {
return j.attributes;
}
if (j.nodeName === "OPTION" && this.getAttrib(j, "selected")) {
i.push({ specified: 1, nodeName: "selected" });
}
j.cloneNode(false)
.outerHTML.replace(
/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,
"",
)
.replace(/[\w:\-]+/gi, function (k) {
i.push({ specified: 1, nodeName: k });
});
return i;
}
return j.attributes;
},
isEmpty: function (m, k) {
var r = this,
o,
n,
q,
j,
l,
p = 0;
m = m.firstChild;
if (m) {
j = new e.dom.TreeWalker(m, m.parentNode);
k = k || r.schema ? r.schema.getNonEmptyElements() : null;
do {
q = m.nodeType;
if (q === 1) {
if (m.getAttribute("data-mce-bogus")) {
continue;
}
l = m.nodeName.toLowerCase();
if (k && k[l]) {
if (l === "br") {
p++;
continue;
}
return false;
}
n = r.getAttribs(m);
o = m.attributes.length;
while (o--) {
l = m.attributes[o].nodeName;
if (l === "name" || l === "data-mce-bookmark") {
return false;
}
}
}
if (q == 8) {
return false;
}
if (q === 3 && !a.test(m.nodeValue)) {
return false;
}
} while ((m = j.next()));
}
return p <= 1;
},
destroy: function (j) {
var i = this;
i.win = i.doc = i.root = i.events = i.frag = null;
if (!j) {
e.removeUnload(i.destroy);
}
},
createRng: function () {
var i = this.doc;
return i.createRange ? i.createRange() : new e.dom.Range(this);
},
nodeIndex: function (m, n) {
var i = 0,
k,
l,
j;
if (m) {
for (
k = m.nodeType, m = m.previousSibling, l = m;
m;
m = m.previousSibling
) {
j = m.nodeType;
if (n && j == 3) {
if (j == k || !m.nodeValue.length) {
continue;
}
}
i++;
k = j;
}
}
return i;
},
split: function (m, l, p) {
var q = this,
i = q.createRng(),
n,
k,
o;
function j(v) {
var t,
s = v.childNodes,
u = v.nodeType;
function x(A) {
var z = A.previousSibling && A.previousSibling.nodeName == "SPAN";
var y = A.nextSibling && A.nextSibling.nodeName == "SPAN";
return z && y;
}
if (u == 1 && v.getAttribute("data-mce-type") == "bookmark") {
return;
}
for (t = s.length - 1; t >= 0; t--) {
j(s[t]);
}
if (u != 9) {
if (u == 3 && v.nodeValue.length > 0) {
var r = e.trim(v.nodeValue).length;
if (!q.isBlock(v.parentNode) || r > 0 || (r === 0 && x(v))) {
return;
}
} else {
if (u == 1) {
s = v.childNodes;
if (
s.length == 1 &&
s[0] &&
s[0].nodeType == 1 &&
s[0].getAttribute("data-mce-type") == "bookmark"
) {
v.parentNode.insertBefore(s[0], v);
}
if (s.length || /^(br|hr|input|img)$/i.test(v.nodeName)) {
return;
}
}
}
q.remove(v);
}
return v;
}
if (m && l) {
i.setStart(m.parentNode, q.nodeIndex(m));
i.setEnd(l.parentNode, q.nodeIndex(l));
n = i.extractContents();
i = q.createRng();
i.setStart(l.parentNode, q.nodeIndex(l) + 1);
i.setEnd(m.parentNode, q.nodeIndex(m) + 1);
k = i.extractContents();
o = m.parentNode;
o.insertBefore(j(n), m);
if (p) {
o.replaceChild(p, l);
} else {
o.insertBefore(l, m);
}
o.insertBefore(j(k), m);
q.remove(m);
return p || l;
}
},
bind: function (l, i, k, j) {
return this.events.add(l, i, k, j || this);
},
unbind: function (k, i, j) {
return this.events.remove(k, i, j);
},
fire: function (k, j, i) {
return this.events.fire(k, j, i);
},
getContentEditable: function (j) {
var i;
if (j.nodeType != 1) {
return null;
}
i = j.getAttribute("data-mce-contenteditable");
if (i && i !== "inherit") {
return i;
}
return j.contentEditable !== "inherit" ? j.contentEditable : null;
},
_findSib: function (l, i, j) {
var k = this,
m = i;
if (l) {
if (d(m, "string")) {
m = function (n) {
return k.is(n, i);
};
}
for (l = l[j]; l; l = l[j]) {
if (m(l)) {
return l;
}
}
}
return null;
},
_isRes: function (i) {
return (
/^(top|left|bottom|right|width|height)/i.test(i) ||
/;\s*(top|left|bottom|right|width|height)/i.test(i)
);
},
});
e.DOM = new e.dom.DOMUtils(document, { process_html: 0 });
})(tinymce);
(function (a) {
function b(c) {
var O = this,
e = c.doc,
U = 0,
F = 1,
j = 2,
E = true,
S = false,
W = "startOffset",
h = "startContainer",
Q = "endContainer",
A = "endOffset",
k = tinymce.extend,
n = c.nodeIndex;
k(O, {
startContainer: e,
startOffset: 0,
endContainer: e,
endOffset: 0,
collapsed: E,
commonAncestorContainer: e,
START_TO_START: 0,
START_TO_END: 1,
END_TO_END: 2,
END_TO_START: 3,
setStart: q,
setEnd: s,
setStartBefore: g,
setStartAfter: J,
setEndBefore: K,
setEndAfter: u,
collapse: B,
selectNode: y,
selectNodeContents: G,
compareBoundaryPoints: v,
deleteContents: p,
extractContents: I,
cloneContents: d,
insertNode: D,
surroundContents: N,
cloneRange: L,
toStringIE: T,
});
function x() {
return e.createDocumentFragment();
}
function q(X, t) {
C(E, X, t);
}
function s(X, t) {
C(S, X, t);
}
function g(t) {
q(t.parentNode, n(t));
}
function J(t) {
q(t.parentNode, n(t) + 1);
}
function K(t) {
s(t.parentNode, n(t));
}
function u(t) {
s(t.parentNode, n(t) + 1);
}
function B(t) {
if (t) {
O[Q] = O[h];
O[A] = O[W];
} else {
O[h] = O[Q];
O[W] = O[A];
}
O.collapsed = E;
}
function y(t) {
g(t);
u(t);
}
function G(t) {
q(t, 0);
s(t, t.nodeType === 1 ? t.childNodes.length : t.nodeValue.length);
}
function v(aa, t) {
var ad = O[h],
Y = O[W],
ac = O[Q],
X = O[A],
ab = t.startContainer,
af = t.startOffset,
Z = t.endContainer,
ae = t.endOffset;
if (aa === 0) {
return H(ad, Y, ab, af);
}
if (aa === 1) {
return H(ac, X, ab, af);
}
if (aa === 2) {
return H(ac, X, Z, ae);
}
if (aa === 3) {
return H(ad, Y, Z, ae);
}
}
function p() {
l(j);
}
function I() {
return l(U);
}
function d() {
return l(F);
}
function D(aa) {
var X = this[h],
t = this[W],
Z,
Y;
if ((X.nodeType === 3 || X.nodeType === 4) && X.nodeValue) {
if (!t) {
X.parentNode.insertBefore(aa, X);
} else {
if (t >= X.nodeValue.length) {
c.insertAfter(aa, X);
} else {
Z = X.splitText(t);
X.parentNode.insertBefore(aa, Z);
}
}
} else {
if (X.childNodes.length > 0) {
Y = X.childNodes[t];
}
if (Y) {
X.insertBefore(aa, Y);
} else {
X.appendChild(aa);
}
}
}
function N(X) {
var t = O.extractContents();
O.insertNode(X);
X.appendChild(t);
O.selectNode(X);
}
function L() {
return k(new b(c), {
startContainer: O[h],
startOffset: O[W],
endContainer: O[Q],
endOffset: O[A],
collapsed: O.collapsed,
commonAncestorContainer: O.commonAncestorContainer,
});
}
function P(t, X) {
var Y;
if (t.nodeType == 3) {
return t;
}
if (X < 0) {
return t;
}
Y = t.firstChild;
while (Y && X > 0) {
--X;
Y = Y.nextSibling;
}
if (Y) {
return Y;
}
return t;
}
function m() {
return O[h] == O[Q] && O[W] == O[A];
}
function H(Z, ab, X, aa) {
var ac, Y, t, ad, af, ae;
if (Z == X) {
if (ab == aa) {
return 0;
}
if (ab < aa) {
return -1;
}
return 1;
}
ac = X;
while (ac && ac.parentNode != Z) {
ac = ac.parentNode;
}
if (ac) {
Y = 0;
t = Z.firstChild;
while (t != ac && Y < ab) {
Y++;
t = t.nextSibling;
}
if (ab <= Y) {
return -1;
}
return 1;
}
ac = Z;
while (ac && ac.parentNode != X) {
ac = ac.parentNode;
}
if (ac) {
Y = 0;
t = X.firstChild;
while (t != ac && Y < aa) {
Y++;
t = t.nextSibling;
}
if (Y < aa) {
return -1;
}
return 1;
}
ad = c.findCommonAncestor(Z, X);
af = Z;
while (af && af.parentNode != ad) {
af = af.parentNode;
}
if (!af) {
af = ad;
}
ae = X;
while (ae && ae.parentNode != ad) {
ae = ae.parentNode;
}
if (!ae) {
ae = ad;
}
if (af == ae) {
return 0;
}
t = ad.firstChild;
while (t) {
if (t == af) {
return -1;
}
if (t == ae) {
return 1;
}
t = t.nextSibling;
}
}
function C(X, aa, Z) {
var t, Y;
if (X) {
O[h] = aa;
O[W] = Z;
} else {
O[Q] = aa;
O[A] = Z;
}
t = O[Q];
while (t.parentNode) {
t = t.parentNode;
}
Y = O[h];
while (Y.parentNode) {
Y = Y.parentNode;
}
if (Y == t) {
if (H(O[h], O[W], O[Q], O[A]) > 0) {
O.collapse(X);
}
} else {
O.collapse(X);
}
O.collapsed = m();
O.commonAncestorContainer = c.findCommonAncestor(O[h], O[Q]);
}
function l(ad) {
var ac,
Z = 0,
af = 0,
X,
ab,
Y,
aa,
t,
ae;
if (O[h] == O[Q]) {
return f(ad);
}
for (ac = O[Q], X = ac.parentNode; X; ac = X, X = X.parentNode) {
if (X == O[h]) {
return r(ac, ad);
}
++Z;
}
for (ac = O[h], X = ac.parentNode; X; ac = X, X = X.parentNode) {
if (X == O[Q]) {
return V(ac, ad);
}
++af;
}
ab = af - Z;
Y = O[h];
while (ab > 0) {
Y = Y.parentNode;
ab--;
}
aa = O[Q];
while (ab < 0) {
aa = aa.parentNode;
ab++;
}
for (
t = Y.parentNode, ae = aa.parentNode;
t != ae;
t = t.parentNode, ae = ae.parentNode
) {
Y = t;
aa = ae;
}
return o(Y, aa, ad);
}
function f(ac) {
var ae, af, t, Y, Z, ad, aa, X, ab;
if (ac != j) {
ae = x();
}
if (O[W] == O[A]) {
return ae;
}
if (O[h].nodeType == 3) {
af = O[h].nodeValue;
t = af.substring(O[W], O[A]);
if (ac != F) {
Y = O[h];
X = O[W];
ab = O[A] - O[W];
if (X === 0 && ab >= Y.nodeValue.length - 1) {
Y.parentNode.removeChild(Y);
} else {
Y.deleteData(X, ab);
}
O.collapse(E);
}
if (ac == j) {
return;
}
if (t.length > 0) {
ae.appendChild(e.createTextNode(t));
}
return ae;
}
Y = P(O[h], O[W]);
Z = O[A] - O[W];
while (Y && Z > 0) {
ad = Y.nextSibling;
aa = z(Y, ac);
if (ae) {
ae.appendChild(aa);
}
--Z;
Y = ad;
}
if (ac != F) {
O.collapse(E);
}
return ae;
}
function r(ad, aa) {
var ac, ab, X, t, Z, Y;
if (aa != j) {
ac = x();
}
ab = i(ad, aa);
if (ac) {
ac.appendChild(ab);
}
X = n(ad);
t = X - O[W];
if (t <= 0) {
if (aa != F) {
O.setEndBefore(ad);
O.collapse(S);
}
return ac;
}
ab = ad.previousSibling;
while (t > 0) {
Z = ab.previousSibling;
Y = z(ab, aa);
if (ac) {
ac.insertBefore(Y, ac.firstChild);
}
--t;
ab = Z;
}
if (aa != F) {
O.setEndBefore(ad);
O.collapse(S);
}
return ac;
}
function V(ab, aa) {
var ad, X, ac, t, Z, Y;
if (aa != j) {
ad = x();
}
ac = R(ab, aa);
if (ad) {
ad.appendChild(ac);
}
X = n(ab);
++X;
t = O[A] - X;
ac = ab.nextSibling;
while (ac && t > 0) {
Z = ac.nextSibling;
Y = z(ac, aa);
if (ad) {
ad.appendChild(Y);
}
--t;
ac = Z;
}
if (aa != F) {
O.setStartAfter(ab);
O.collapse(E);
}
return ad;
}
function o(ab, t, ae) {
var Y, ag, aa, ac, ad, X, af, Z;
if (ae != j) {
ag = x();
}
Y = R(ab, ae);
if (ag) {
ag.appendChild(Y);
}
aa = ab.parentNode;
ac = n(ab);
ad = n(t);
++ac;
X = ad - ac;
af = ab.nextSibling;
while (X > 0) {
Z = af.nextSibling;
Y = z(af, ae);
if (ag) {
ag.appendChild(Y);
}
af = Z;
--X;
}
Y = i(t, ae);
if (ag) {
ag.appendChild(Y);
}
if (ae != F) {
O.setStartAfter(ab);
O.collapse(E);
}
return ag;
}
function i(ac, ad) {
var Y = P(O[Q], O[A] - 1),
ae,
ab,
aa,
t,
X,
Z = Y != O[Q];
if (Y == ac) {
return M(Y, Z, S, ad);
}
ae = Y.parentNode;
ab = M(ae, S, S, ad);
while (ae) {
while (Y) {
aa = Y.previousSibling;
t = M(Y, Z, S, ad);
if (ad != j) {
ab.insertBefore(t, ab.firstChild);
}
Z = E;
Y = aa;
}
if (ae == ac) {
return ab;
}
Y = ae.previousSibling;
ae = ae.parentNode;
X = M(ae, S, S, ad);
if (ad != j) {
X.appendChild(ab);
}
ab = X;
}
}
function R(ac, ad) {
var Z = P(O[h], O[W]),
aa = Z != O[h],
ae,
ab,
Y,
t,
X;
if (Z == ac) {
return M(Z, aa, E, ad);
}
ae = Z.parentNode;
ab = M(ae, S, E, ad);
while (ae) {
while (Z) {
Y = Z.nextSibling;
t = M(Z, aa, E, ad);
if (ad != j) {
ab.appendChild(t);
}
aa = E;
Z = Y;
}
if (ae == ac) {
return ab;
}
Z = ae.nextSibling;
ae = ae.parentNode;
X = M(ae, S, E, ad);
if (ad != j) {
X.appendChild(ab);
}
ab = X;
}
}
function M(t, aa, ad, ae) {
var Z, Y, ab, X, ac;
if (aa) {
return z(t, ae);
}
if (t.nodeType == 3) {
Z = t.nodeValue;
if (ad) {
X = O[W];
Y = Z.substring(X);
ab = Z.substring(0, X);
} else {
X = O[A];
Y = Z.substring(0, X);
ab = Z.substring(X);
}
if (ae != F) {
t.nodeValue = ab;
}
if (ae == j) {
return;
}
ac = c.clone(t, S);
ac.nodeValue = Y;
return ac;
}
if (ae == j) {
return;
}
return c.clone(t, S);
}
function z(X, t) {
if (t != j) {
return t == F ? c.clone(X, E) : X;
}
X.parentNode.removeChild(X);
}
function T() {
return c.create("body", null, d()).outerText;
}
return O;
}
a.Range = b;
b.prototype.toString = function () {
return this.toStringIE();
};
})(tinymce.dom);
(function () {
function a(d) {
var b = this,
h = d.dom,
c = true,
f = false;
function e(i, j) {
var k,
t = 0,
q,
n,
m,
l,
o,
r,
p = -1,
s;
k = i.duplicate();
k.collapse(j);
s = k.parentElement();
if (s.ownerDocument !== d.dom.doc) {
return;
}
while (s.contentEditable === "false") {
s = s.parentNode;
}
if (!s.hasChildNodes()) {
return { node: s, inside: 1 };
}
m = s.children;
q = m.length - 1;
while (t <= q) {
r = Math.floor((t + q) / 2);
l = m[r];
k.moveToElementText(l);
p = k.compareEndPoints(j ? "StartToStart" : "EndToEnd", i);
if (p > 0) {
q = r - 1;
} else {
if (p < 0) {
t = r + 1;
} else {
return { node: l };
}
}
}
if (p < 0) {
if (!l) {
k.moveToElementText(s);
k.collapse(true);
l = s;
n = true;
} else {
k.collapse(false);
}
o = 0;
while (k.compareEndPoints(j ? "StartToStart" : "StartToEnd", i) !== 0) {
if (k.move("character", 1) === 0 || s != k.parentElement()) {
break;
}
o++;
}
} else {
k.collapse(true);
o = 0;
while (k.compareEndPoints(j ? "StartToStart" : "StartToEnd", i) !== 0) {
if (k.move("character", -1) === 0 || s != k.parentElement()) {
break;
}
o++;
}
}
return { node: l, position: p, offset: o, inside: n };
}
function g() {
var i = d.getRng(),
r = h.createRng(),
l,
k,
p,
q,
m,
j;
l = i.item ? i.item(0) : i.parentElement();
if (l.ownerDocument != h.doc) {
return r;
}
k = d.isCollapsed();
if (i.item) {
r.setStart(l.parentNode, h.nodeIndex(l));
r.setEnd(r.startContainer, r.startOffset + 1);
return r;
}
function o(A) {
var u = e(i, A),
s,
y,
z = 0,
x,
v,
t;
s = u.node;
y = u.offset;
if (u.inside && !s.hasChildNodes()) {
r[A ? "setStart" : "setEnd"](s, 0);
return;
}
if (y === v) {
r[A ? "setStartBefore" : "setEndAfter"](s);
return;
}
if (u.position < 0) {
x = u.inside ? s.firstChild : s.nextSibling;
if (!x) {
r[A ? "setStartAfter" : "setEndAfter"](s);
return;
}
if (!y) {
if (x.nodeType == 3) {
r[A ? "setStart" : "setEnd"](x, 0);
} else {
r[A ? "setStartBefore" : "setEndBefore"](x);
}
return;
}
while (x) {
t = x.nodeValue;
z += t.length;
if (z >= y) {
s = x;
z -= y;
z = t.length - z;
break;
}
x = x.nextSibling;
}
} else {
x = s.previousSibling;
if (!x) {
return r[A ? "setStartBefore" : "setEndBefore"](s);
}
if (!y) {
if (s.nodeType == 3) {
r[A ? "setStart" : "setEnd"](x, s.nodeValue.length);
} else {
r[A ? "setStartAfter" : "setEndAfter"](x);
}
return;
}
while (x) {
z += x.nodeValue.length;
if (z >= y) {
s = x;
z -= y;
break;
}
x = x.previousSibling;
}
}
r[A ? "setStart" : "setEnd"](s, z);
}
try {
o(true);
if (!k) {
o();
}
} catch (n) {
if (n.number == -2147024809) {
m = b.getBookmark(2);
p = i.duplicate();
p.collapse(true);
l = p.parentElement();
if (!k) {
p = i.duplicate();
p.collapse(false);
q = p.parentElement();
q.innerHTML = q.innerHTML;
}
l.innerHTML = l.innerHTML;
b.moveToBookmark(m);
i = d.getRng();
o(true);
if (!k) {
o();
}
} else {
throw n;
}
}
return r;
}
this.getBookmark = function (m) {
var j = d.getRng(),
o,
i,
l = {};
function n(u) {
var t,
p,
s,
r,
q = [];
t = u.parentNode;
p = h.getRoot().parentNode;
while (t != p && t.nodeType !== 9) {
s = t.children;
r = s.length;
while (r--) {
if (u === s[r]) {
q.push(r);
break;
}
}
u = t;
t = t.parentNode;
}
return q;
}
function k(q) {
var p;
p = e(j, q);
if (p) {
return {
position: p.position,
offset: p.offset,
indexes: n(p.node),
inside: p.inside,
};
}
}
if (m === 2) {
if (!j.item) {
l.start = k(true);
if (!d.isCollapsed()) {
l.end = k();
}
} else {
l.start = { ctrl: true, indexes: n(j.item(0)) };
}
}
return l;
};
this.moveToBookmark = function (k) {
var j,
i = h.doc.body;
function m(o) {
var r, q, n, p;
r = h.getRoot();
for (q = o.length - 1; q >= 0; q--) {
p = r.children;
n = o[q];
if (n <= p.length - 1) {
r = p[n];
}
}
return r;
}
function l(r) {
var n = k[r ? "start" : "end"],
q,
p,
o;
if (n) {
q = n.position > 0;
p = i.createTextRange();
p.moveToElementText(m(n.indexes));
offset = n.offset;
if (offset !== o) {
p.collapse(n.inside || q);
p.moveStart("character", q ? -offset : offset);
} else {
p.collapse(r);
}
j.setEndPoint(r ? "StartToStart" : "EndToStart", p);
if (r) {
j.collapse(true);
}
}
}
if (k.start) {
if (k.start.ctrl) {
j = i.createControlRange();
j.addElement(m(k.start.indexes));
j.select();
} else {
j = i.createTextRange();
l(true);
l();
j.select();
}
}
};
this.addRange = function (i) {
var n,
l,
k,
p,
v,
q,
t,
s = d.dom.doc,
m = s.body,
r,
u;
function j(C) {
var y, B, x, A, z;
x = h.create("a");
y = C ? k : v;
B = C ? p : q;
A = n.duplicate();
if (y == s || y == s.documentElement) {
y = m;
B = 0;
}
if (y.nodeType == 3) {
y.parentNode.insertBefore(x, y);
A.moveToElementText(x);
A.moveStart("character", B);
h.remove(x);
n.setEndPoint(C ? "StartToStart" : "EndToEnd", A);
} else {
z = y.childNodes;
if (z.length) {
if (B >= z.length) {
h.insertAfter(x, z[z.length - 1]);
} else {
y.insertBefore(x, z[B]);
}
A.moveToElementText(x);
} else {
if (y.canHaveHTML) {
y.innerHTML = "<span>\uFEFF</span>";
x = y.firstChild;
A.moveToElementText(x);
A.collapse(f);
}
}
n.setEndPoint(C ? "StartToStart" : "EndToEnd", A);
h.remove(x);
}
}
k = i.startContainer;
p = i.startOffset;
v = i.endContainer;
q = i.endOffset;
n = m.createTextRange();
if (k == v && k.nodeType == 1) {
if (p == q && !k.hasChildNodes()) {
if (k.canHaveHTML) {
t = k.previousSibling;
if (t && !t.hasChildNodes() && h.isBlock(t)) {
t.innerHTML = "\uFEFF";
} else {
t = null;
}
k.innerHTML = "<span>\uFEFF</span><span>\uFEFF</span>";
n.moveToElementText(k.lastChild);
n.select();
h.doc.selection.clear();
k.innerHTML = "";
if (t) {
t.innerHTML = "";
}
return;
} else {
p = h.nodeIndex(k);
k = k.parentNode;
}
}
if (p == q - 1) {
try {
u = k.childNodes[p];
l = m.createControlRange();
l.addElement(u);
l.select();
r = d.getRng();
if (r.item && u === r.item(0)) {
return;
}
} catch (o) {}
}
}
j(true);
j();
n.select();
};
this.getRangeAt = g;
}
tinymce.dom.TridentSelection = a;
})();
(function () {
var n =
/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,
i = "sizcache",
o = 0,
r = Object.prototype.toString,
h = false,
g = true,
q = /\\/g,
u = /\r\n/g,
x = /\W/;
[0, 0].sort(function () {
g = false;
return 0;
});
var d = function (C, e, F, G) {
F = F || [];
e = e || document;
var I = e;
if (e.nodeType !== 1 && e.nodeType !== 9) {
return [];
}
if (!C || typeof C !== "string") {
return F;
}
var z,
K,
N,
y,
J,
M,
L,
E,
B = true,
A = d.isXML(e),
D = [],
H = C;
do {
n.exec("");
z = n.exec(H);
if (z) {
H = z[3];
D.push(z[1]);
if (z[2]) {
y = z[3];
break;
}
}
} while (z);
if (D.length > 1 && j.exec(C)) {
if (D.length === 2 && k.relative[D[0]]) {
K = s(D[0] + D[1], e, G);
} else {
K = k.relative[D[0]] ? [e] : d(D.shift(), e);
while (D.length) {
C = D.shift();
if (k.relative[C]) {
C += D.shift();
}
K = s(C, K, G);
}
}
} else {
if (
!G &&
D.length > 1 &&
e.nodeType === 9 &&
!A &&
k.match.ID.test(D[0]) &&
!k.match.ID.test(D[D.length - 1])
) {
J = d.find(D.shift(), e, A);
e = J.expr ? d.filter(J.expr, J.set)[0] : J.set[0];
}
if (e) {
J = G
? { expr: D.pop(), set: l(G) }
: d.find(
D.pop(),
D.length === 1 && (D[0] === "~" || D[0] === "+") && e.parentNode
? e.parentNode
: e,
A,
);
K = J.expr ? d.filter(J.expr, J.set) : J.set;
if (D.length > 0) {
N = l(K);
} else {
B = false;
}
while (D.length) {
M = D.pop();
L = M;
if (!k.relative[M]) {
M = "";
} else {
L = D.pop();
}
if (L == null) {
L = e;
}
k.relative[M](N, L, A);
}
} else {
N = D = [];
}
}
if (!N) {
N = K;
}
if (!N) {
d.error(M || C);
}
if (r.call(N) === "[object Array]") {
if (!B) {
F.push.apply(F, N);
} else {
if (e && e.nodeType === 1) {
for (E = 0; N[E] != null; E++) {
if (
N[E] &&
(N[E] === true || (N[E].nodeType === 1 && d.contains(e, N[E])))
) {
F.push(K[E]);
}
}
} else {
for (E = 0; N[E] != null; E++) {
if (N[E] && N[E].nodeType === 1) {
F.push(K[E]);
}
}
}
}
} else {
l(N, F);
}
if (y) {
d(y, I, F, G);
d.uniqueSort(F);
}
return F;
};
d.uniqueSort = function (y) {
if (p) {
h = g;
y.sort(p);
if (h) {
for (var e = 1; e < y.length; e++) {
if (y[e] === y[e - 1]) {
y.splice(e--, 1);
}
}
}
}
return y;
};
d.matches = function (e, y) {
return d(e, null, null, y);
};
d.matchesSelector = function (e, y) {
return d(y, null, null, [e]).length > 0;
};
d.find = function (E, e, F) {
var D, z, B, A, C, y;
if (!E) {
return [];
}
for (z = 0, B = k.order.length; z < B; z++) {
C = k.order[z];
if ((A = k.leftMatch[C].exec(E))) {
y = A[1];
A.splice(1, 1);
if (y.substr(y.length - 1) !== "\\") {
A[1] = (A[1] || "").replace(q, "");
D = k.find[C](A, e, F);
if (D != null) {
E = E.replace(k.match[C], "");
break;
}
}
}
}
if (!D) {
D =
typeof e.getElementsByTagName !== "undefined"
? e.getElementsByTagName("*")
: [];
}
return { set: D, expr: E };
};
d.filter = function (I, H, L, B) {
var D,
e,
G,
N,
K,
y,
A,
C,
J,
z = I,
M = [],
F = H,
E = H && H[0] && d.isXML(H[0]);
while (I && H.length) {
for (G in k.filter) {
if ((D = k.leftMatch[G].exec(I)) != null && D[2]) {
y = k.filter[G];
A = D[1];
e = false;
D.splice(1, 1);
if (A.substr(A.length - 1) === "\\") {
continue;
}
if (F === M) {
M = [];
}
if (k.preFilter[G]) {
D = k.preFilter[G](D, F, L, M, B, E);
if (!D) {
e = N = true;
} else {
if (D === true) {
continue;
}
}
}
if (D) {
for (C = 0; (K = F[C]) != null; C++) {
if (K) {
N = y(K, D, C, F);
J = B ^ N;
if (L && N != null) {
if (J) {
e = true;
} else {
F[C] = false;
}
} else {
if (J) {
M.push(K);
e = true;
}
}
}
}
}
if (N !== undefined) {
if (!L) {
F = M;
}
I = I.replace(k.match[G], "");
if (!e) {
return [];
}
break;
}
}
}
if (I === z) {
if (e == null) {
d.error(I);
} else {
break;
}
}
z = I;
}
return F;
};
d.error = function (e) {
throw new Error("Syntax error, unrecognized expression: " + e);
};
var b = (d.getText = function (B) {
var z,
A,
e = B.nodeType,
y = "";
if (e) {
if (e === 1 || e === 9 || e === 11) {
if (typeof B.textContent === "string") {
return B.textContent;
} else {
if (typeof B.innerText === "string") {
return B.innerText.replace(u, "");
} else {
for (B = B.firstChild; B; B = B.nextSibling) {
y += b(B);
}
}
}
} else {
if (e === 3 || e === 4) {
return B.nodeValue;
}
}
} else {
for (z = 0; (A = B[z]); z++) {
if (A.nodeType !== 8) {
y += b(A);
}
}
}
return y;
});
var k = (d.selectors = {
order: ["ID", "NAME", "TAG"],
match: {
ID: /#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
CLASS: /\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,
NAME: /\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,
ATTR: /\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,
TAG: /^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,
CHILD:
/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,
POS: /:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,
PSEUDO:
/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/,
},
leftMatch: {},
attrMap: { class: "className", for: "htmlFor" },
attrHandle: {
href: function (e) {
return e.getAttribute("href");
},
type: function (e) {
return e.getAttribute("type");
},
},
relative: {
"+": function (D, y) {
var A = typeof y === "string",
C = A && !x.test(y),
E = A && !C;
if (C) {
y = y.toLowerCase();
}
for (var z = 0, e = D.length, B; z < e; z++) {
if ((B = D[z])) {
while ((B = B.previousSibling) && B.nodeType !== 1) {}
D[z] =
E || (B && B.nodeName.toLowerCase() === y) ? B || false : B === y;
}
}
if (E) {
d.filter(y, D, true);
}
},
">": function (D, y) {
var C,
B = typeof y === "string",
z = 0,
e = D.length;
if (B && !x.test(y)) {
y = y.toLowerCase();
for (; z < e; z++) {
C = D[z];
if (C) {
var A = C.parentNode;
D[z] = A.nodeName.toLowerCase() === y ? A : false;
}
}
} else {
for (; z < e; z++) {
C = D[z];
if (C) {
D[z] = B ? C.parentNode : C.parentNode === y;
}
}
if (B) {
d.filter(y, D, true);
}
}
},
"": function (A, y, C) {
var B,
z = o++,
e = t;
if (typeof y === "string" && !x.test(y)) {
y = y.toLowerCase();
B = y;
e = a;
}
e("parentNode", y, z, A, B, C);
},
"~": function (A, y, C) {
var B,
z = o++,
e = t;
if (typeof y === "string" && !x.test(y)) {
y = y.toLowerCase();
B = y;
e = a;
}
e("previousSibling", y, z, A, B, C);
},
},
find: {
ID: function (y, z, A) {
if (typeof z.getElementById !== "undefined" && !A) {
var e = z.getElementById(y[1]);
return e && e.parentNode ? [e] : [];
}
},
NAME: function (z, C) {
if (typeof C.getElementsByName !== "undefined") {
var y = [],
B = C.getElementsByName(z[1]);
for (var A = 0, e = B.length; A < e; A++) {
if (B[A].getAttribute("name") === z[1]) {
y.push(B[A]);
}
}
return y.length === 0 ? null : y;
}
},
TAG: function (e, y) {
if (typeof y.getElementsByTagName !== "undefined") {
return y.getElementsByTagName(e[1]);
}
},
},
preFilter: {
CLASS: function (A, y, z, e, D, E) {
A = " " + A[1].replace(q, "") + " ";
if (E) {
return A;
}
for (var B = 0, C; (C = y[B]) != null; B++) {
if (C) {
if (
D ^
(C.className &&
(" " + C.className + " ")
.replace(/[\t\n\r]/g, " ")
.indexOf(A) >= 0)
) {
if (!z) {
e.push(C);
}
} else {
if (z) {
y[B] = false;
}
}
}
}
return false;
},
ID: function (e) {
return e[1].replace(q, "");
},
TAG: function (y, e) {
return y[1].replace(q, "").toLowerCase();
},
CHILD: function (e) {
if (e[1] === "nth") {
if (!e[2]) {
d.error(e[0]);
}
e[2] = e[2].replace(/^\+|\s*/g, "");
var y = /(-?)(\d*)(?:n([+\-]?\d*))?/.exec(
(e[2] === "even" && "2n") ||
(e[2] === "odd" && "2n+1") ||
(!/\D/.test(e[2]) && "0n+" + e[2]) ||
e[2],
);
e[2] = y[1] + (y[2] || 1) - 0;
e[3] = y[3] - 0;
} else {
if (e[2]) {
d.error(e[0]);
}
}
e[0] = o++;
return e;
},
ATTR: function (B, y, z, e, C, D) {
var A = (B[1] = B[1].replace(q, ""));
if (!D && k.attrMap[A]) {
B[1] = k.attrMap[A];
}
B[4] = (B[4] || B[5] || "").replace(q, "");
if (B[2] === "~=") {
B[4] = " " + B[4] + " ";
}
return B;
},
PSEUDO: function (B, y, z, e, C) {
if (B[1] === "not") {
if ((n.exec(B[3]) || "").length > 1 || /^\w/.test(B[3])) {
B[3] = d(B[3], null, null, y);
} else {
var A = d.filter(B[3], y, z, true ^ C);
if (!z) {
e.push.apply(e, A);
}
return false;
}
} else {
if (k.match.POS.test(B[0]) || k.match.CHILD.test(B[0])) {
return true;
}
}
return B;
},
POS: function (e) {
e.unshift(true);
return e;
},
},
filters: {
enabled: function (e) {
return e.disabled === false && e.type !== "hidden";
},
disabled: function (e) {
return e.disabled === true;
},
checked: function (e) {
return e.checked === true;
},
selected: function (e) {
if (e.parentNode) {
e.parentNode.selectedIndex;
}
return e.selected === true;
},
parent: function (e) {
return !!e.firstChild;
},
empty: function (e) {
return !e.firstChild;
},
has: function (z, y, e) {
return !!d(e[3], z).length;
},
header: function (e) {
return /h\d/i.test(e.nodeName);
},
text: function (z) {
var e = z.getAttribute("type"),
y = z.type;
return (
z.nodeName.toLowerCase() === "input" &&
"text" === y &&
(e === y || e === null)
);
},
radio: function (e) {
return e.nodeName.toLowerCase() === "input" && "radio" === e.type;
},
checkbox: function (e) {
return e.nodeName.toLowerCase() === "input" && "checkbox" === e.type;
},
file: function (e) {
return e.nodeName.toLowerCase() === "input" && "file" === e.type;
},
password: function (e) {
return e.nodeName.toLowerCase() === "input" && "password" === e.type;
},
submit: function (y) {
var e = y.nodeName.toLowerCase();
return (e === "input" || e === "button") && "submit" === y.type;
},
image: function (e) {
return e.nodeName.toLowerCase() === "input" && "image" === e.type;
},
reset: function (y) {
var e = y.nodeName.toLowerCase();
return (e === "input" || e === "button") && "reset" === y.type;
},
button: function (y) {
var e = y.nodeName.toLowerCase();
return (e === "input" && "button" === y.type) || e === "button";
},
input: function (e) {
return /input|select|textarea|button/i.test(e.nodeName);
},
focus: function (e) {
return e === e.ownerDocument.activeElement;
},
},
setFilters: {
first: function (y, e) {
return e === 0;
},
last: function (z, y, e, A) {
return y === A.length - 1;
},
even: function (y, e) {
return e % 2 === 0;
},
odd: function (y, e) {
return e % 2 === 1;
},
lt: function (z, y, e) {
return y < e[3] - 0;
},
gt: function (z, y, e) {
return y > e[3] - 0;
},
nth: function (z, y, e) {
return e[3] - 0 === y;
},
eq: function (z, y, e) {
return e[3] - 0 === y;
},
},
filter: {
PSEUDO: function (z, E, D, F) {
var e = E[1],
y = k.filters[e];
if (y) {
return y(z, D, E, F);
} else {
if (e === "contains") {
return (
(z.textContent || z.innerText || b([z]) || "").indexOf(E[3]) >= 0
);
} else {
if (e === "not") {
var A = E[3];
for (var C = 0, B = A.length; C < B; C++) {
if (A[C] === z) {
return false;
}
}
return true;
} else {
d.error(e);
}
}
}
},
CHILD: function (z, B) {
var A,
H,
D,
G,
e,
C,
F,
E = B[1],
y = z;
switch (E) {
case "only":
case "first":
while ((y = y.previousSibling)) {
if (y.nodeType === 1) {
return false;
}
}
if (E === "first") {
return true;
}
y = z;
case "last":
while ((y = y.nextSibling)) {
if (y.nodeType === 1) {
return false;
}
}
return true;
case "nth":
A = B[2];
H = B[3];
if (A === 1 && H === 0) {
return true;
}
D = B[0];
G = z.parentNode;
if (G && (G[i] !== D || !z.nodeIndex)) {
C = 0;
for (y = G.firstChild; y; y = y.nextSibling) {
if (y.nodeType === 1) {
y.nodeIndex = ++C;
}
}
G[i] = D;
}
F = z.nodeIndex - H;
if (A === 0) {
return F === 0;
} else {
return F % A === 0 && F / A >= 0;
}
}
},
ID: function (y, e) {
return y.nodeType === 1 && y.getAttribute("id") === e;
},
TAG: function (y, e) {
return (
(e === "*" && y.nodeType === 1) ||
(!!y.nodeName && y.nodeName.toLowerCase() === e)
);
},
CLASS: function (y, e) {
return (
(" " + (y.className || y.getAttribute("class")) + " ").indexOf(e) > -1
);
},
ATTR: function (C, A) {
var z = A[1],
e = d.attr
? d.attr(C, z)
: k.attrHandle[z]
? k.attrHandle[z](C)
: C[z] != null
? C[z]
: C.getAttribute(z),
D = e + "",
B = A[2],
y = A[4];
return e == null
? B === "!="
: !B && d.attr
? e != null
: B === "="
? D === y
: B === "*="
? D.indexOf(y) >= 0
: B === "~="
? (" " + D + " ").indexOf(y) >= 0
: !y
? D && e !== false
: B === "!="
? D !== y
: B === "^="
? D.indexOf(y) === 0
: B === "$="
? D.substr(D.length - y.length) === y
: B === "|="
? D === y || D.substr(0, y.length + 1) === y + "-"
: false;
},
POS: function (B, y, z, C) {
var e = y[2],
A = k.setFilters[e];
if (A) {
return A(B, z, y, C);
}
},
},
});
var j = k.match.POS,
c = function (y, e) {
return "\\" + (e - 0 + 1);
};
for (var f in k.match) {
k.match[f] = new RegExp(
k.match[f].source + /(?![^\[]*\])(?![^\(]*\))/.source,
);
k.leftMatch[f] = new RegExp(
/(^(?:.|\r|\n)*?)/.source + k.match[f].source.replace(/\\(\d+)/g, c),
);
}
k.match.globalPOS = j;
var l = function (y, e) {
y = Array.prototype.slice.call(y, 0);
if (e) {
e.push.apply(e, y);
return e;
}
return y;
};
try {
Array.prototype.slice.call(document.documentElement.childNodes, 0)[0]
.nodeType;
} catch (v) {
l = function (B, A) {
var z = 0,
y = A || [];
if (r.call(B) === "[object Array]") {
Array.prototype.push.apply(y, B);
} else {
if (typeof B.length === "number") {
for (var e = B.length; z < e; z++) {
y.push(B[z]);
}
} else {
for (; B[z]; z++) {
y.push(B[z]);
}
}
}
return y;
};
}
var p, m;
if (document.documentElement.compareDocumentPosition) {
p = function (y, e) {
if (y === e) {
h = true;
return 0;
}
if (!y.compareDocumentPosition || !e.compareDocumentPosition) {
return y.compareDocumentPosition ? -1 : 1;
}
return y.compareDocumentPosition(e) & 4 ? -1 : 1;
};
} else {
p = function (F, E) {
if (F === E) {
h = true;
return 0;
} else {
if (F.sourceIndex && E.sourceIndex) {
return F.sourceIndex - E.sourceIndex;
}
}
var C,
y,
z = [],
e = [],
B = F.parentNode,
D = E.parentNode,
G = B;
if (B === D) {
return m(F, E);
} else {
if (!B) {
return -1;
} else {
if (!D) {
return 1;
}
}
}
while (G) {
z.unshift(G);
G = G.parentNode;
}
G = D;
while (G) {
e.unshift(G);
G = G.parentNode;
}
C = z.length;
y = e.length;
for (var A = 0; A < C && A < y; A++) {
if (z[A] !== e[A]) {
return m(z[A], e[A]);
}
}
return A === C ? m(F, e[A], -1) : m(z[A], E, 1);
};
m = function (y, e, z) {
if (y === e) {
return z;
}
var A = y.nextSibling;
while (A) {
if (A === e) {
return -1;
}
A = A.nextSibling;
}
return 1;
};
}
(function () {
var y = document.createElement("div"),
z = "script" + new Date().getTime(),
e = document.documentElement;
y.innerHTML = "<a name='" + z + "'/>";
e.insertBefore(y, e.firstChild);
if (document.getElementById(z)) {
k.find.ID = function (B, C, D) {
if (typeof C.getElementById !== "undefined" && !D) {
var A = C.getElementById(B[1]);
return A
? A.id === B[1] ||
(typeof A.getAttributeNode !== "undefined" &&
A.getAttributeNode("id").nodeValue === B[1])
? [A]
: undefined
: [];
}
};
k.filter.ID = function (C, A) {
var B =
typeof C.getAttributeNode !== "undefined" && C.getAttributeNode("id");
return C.nodeType === 1 && B && B.nodeValue === A;
};
}
e.removeChild(y);
e = y = null;
})();
(function () {
var e = document.createElement("div");
e.appendChild(document.createComment(""));
if (e.getElementsByTagName("*").length > 0) {
k.find.TAG = function (y, C) {
var B = C.getElementsByTagName(y[1]);
if (y[1] === "*") {
var A = [];
for (var z = 0; B[z]; z++) {
if (B[z].nodeType === 1) {
A.push(B[z]);
}
}
B = A;
}
return B;
};
}
e.innerHTML = "<a href='#'></a>";
if (
e.firstChild &&
typeof e.firstChild.getAttribute !== "undefined" &&
e.firstChild.getAttribute("href") !== "#"
) {
k.attrHandle.href = function (y) {
return y.getAttribute("href", 2);
};
}
e = null;
})();
if (document.querySelectorAll) {
(function () {
var e = d,
A = document.createElement("div"),
z = "__sizzle__";
A.innerHTML = "<p class='TEST'></p>";
if (A.querySelectorAll && A.querySelectorAll(".TEST").length === 0) {
return;
}
d = function (L, C, G, K) {
C = C || document;
if (!K && !d.isXML(C)) {
var J = /^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(L);
if (J && (C.nodeType === 1 || C.nodeType === 9)) {
if (J[1]) {
return l(C.getElementsByTagName(L), G);
} else {
if (J[2] && k.find.CLASS && C.getElementsByClassName) {
return l(C.getElementsByClassName(J[2]), G);
}
}
}
if (C.nodeType === 9) {
if (L === "body" && C.body) {
return l([C.body], G);
} else {
if (J && J[3]) {
var F = C.getElementById(J[3]);
if (F && F.parentNode) {
if (F.id === J[3]) {
return l([F], G);
}
} else {
return l([], G);
}
}
}
try {
return l(C.querySelectorAll(L), G);
} catch (H) {}
} else {
if (C.nodeType === 1 && C.nodeName.toLowerCase() !== "object") {
var D = C,
E = C.getAttribute("id"),
B = E || z,
N = C.parentNode,
M = /^\s*[+~]/.test(L);
if (!E) {
C.setAttribute("id", B);
} else {
B = B.replace(/'/g, "\\$&");
}
if (M && N) {
C = C.parentNode;
}
try {
if (!M || N) {
return l(C.querySelectorAll("[id='" + B + "'] " + L), G);
}
} catch (I) {
} finally {
if (!E) {
D.removeAttribute("id");
}
}
}
}
}
return e(L, C, G, K);
};
for (var y in e) {
d[y] = e[y];
}
A = null;
})();
}
(function () {
var e = document.documentElement,
z =
e.matchesSelector ||
e.mozMatchesSelector ||
e.webkitMatchesSelector ||
e.msMatchesSelector;
if (z) {
var B = !z.call(document.createElement("div"), "div"),
y = false;
try {
z.call(document.documentElement, "[test!='']:sizzle");
} catch (A) {
y = true;
}
d.matchesSelector = function (D, F) {
F = F.replace(/\=\s*([^'"\]]*)\s*\]/g, "='$1']");
if (!d.isXML(D)) {
try {
if (y || (!k.match.PSEUDO.test(F) && !/!=/.test(F))) {
var C = z.call(D, F);
if (C || !B || (D.document && D.document.nodeType !== 11)) {
return C;
}
}
} catch (E) {}
}
return d(F, null, null, [D]).length > 0;
};
}
})();
(function () {
var e = document.createElement("div");
e.innerHTML = "<div class='test e'></div><div class='test'></div>";
if (
!e.getElementsByClassName ||
e.getElementsByClassName("e").length === 0
) {
return;
}
e.lastChild.className = "e";
if (e.getElementsByClassName("e").length === 1) {
return;
}
k.order.splice(1, 0, "CLASS");
k.find.CLASS = function (y, z, A) {
if (typeof z.getElementsByClassName !== "undefined" && !A) {
return z.getElementsByClassName(y[1]);
}
};
e = null;
})();
function a(y, D, C, G, E, F) {
for (var A = 0, z = G.length; A < z; A++) {
var e = G[A];
if (e) {
var B = false;
e = e[y];
while (e) {
if (e[i] === C) {
B = G[e.sizset];
break;
}
if (e.nodeType === 1 && !F) {
e[i] = C;
e.sizset = A;
}
if (e.nodeName.toLowerCase() === D) {
B = e;
break;
}
e = e[y];
}
G[A] = B;
}
}
}
function t(y, D, C, G, E, F) {
for (var A = 0, z = G.length; A < z; A++) {
var e = G[A];
if (e) {
var B = false;
e = e[y];
while (e) {
if (e[i] === C) {
B = G[e.sizset];
break;
}
if (e.nodeType === 1) {
if (!F) {
e[i] = C;
e.sizset = A;
}
if (typeof D !== "string") {
if (e === D) {
B = true;
break;
}
} else {
if (d.filter(D, [e]).length > 0) {
B = e;
break;
}
}
}
e = e[y];
}
G[A] = B;
}
}
}
if (document.documentElement.contains) {
d.contains = function (y, e) {
return y !== e && (y.contains ? y.contains(e) : true);
};
} else {
if (document.documentElement.compareDocumentPosition) {
d.contains = function (y, e) {
return !!(y.compareDocumentPosition(e) & 16);
};
} else {
d.contains = function () {
return false;
};
}
}
d.isXML = function (e) {
var y = (e ? e.ownerDocument || e : 0).documentElement;
return y ? y.nodeName !== "HTML" : false;
};
var s = function (z, e, D) {
var C,
E = [],
B = "",
F = e.nodeType ? [e] : e;
while ((C = k.match.PSEUDO.exec(z))) {
B += C[0];
z = z.replace(k.match.PSEUDO, "");
}
z = k.relative[z] ? z + "*" : z;
for (var A = 0, y = F.length; A < y; A++) {
d(z, F[A], E, D);
}
return d.filter(B, E);
};
window.tinymce.dom.Sizzle = d;
})();
(function (a) {
a.dom.Element = function (f, d) {
var b = this,
e,
c;
b.settings = d = d || {};
b.id = f;
b.dom = e = d.dom || a.DOM;
if (!a.isIE) {
c = e.get(b.id);
}
a.each(
"getPos,getRect,getParent,add,setStyle,getStyle,setStyles,setAttrib,setAttribs,getAttrib,addClass,removeClass,hasClass,getOuterHTML,setOuterHTML,remove,show,hide,isHidden,setHTML,get".split(
/,/,
),
function (g) {
b[g] = function () {
var h = [f],
j;
for (j = 0; j < arguments.length; j++) {
h.push(arguments[j]);
}
h = e[g].apply(e, h);
b.update(g);
return h;
};
},
);
a.extend(b, {
on: function (i, h, g) {
return a.dom.Event.add(b.id, i, h, g);
},
getXY: function () {
return {
x: parseInt(b.getStyle("left")),
y: parseInt(b.getStyle("top")),
};
},
getSize: function () {
var g = e.get(b.id);
return {
w: parseInt(b.getStyle("width") || g.clientWidth),
h: parseInt(b.getStyle("height") || g.clientHeight),
};
},
moveTo: function (g, h) {
b.setStyles({ left: g, top: h });
},
moveBy: function (g, i) {
var h = b.getXY();
b.moveTo(h.x + g, h.y + i);
},
resizeTo: function (g, i) {
b.setStyles({ width: g, height: i });
},
resizeBy: function (g, j) {
var i = b.getSize();
b.resizeTo(i.w + g, i.h + j);
},
update: function (h) {
var g;
if (a.isIE6 && d.blocker) {
h = h || "";
if (
h.indexOf("get") === 0 ||
h.indexOf("has") === 0 ||
h.indexOf("is") === 0
) {
return;
}
if (h == "remove") {
e.remove(b.blocker);
return;
}
if (!b.blocker) {
b.blocker = e.uniqueId();
g = e.add(d.container || e.getRoot(), "iframe", {
id: b.blocker,
style: "position:absolute;",
frameBorder: 0,
src: 'javascript:""',
});
e.setStyle(g, "opacity", 0);
} else {
g = e.get(b.blocker);
}
e.setStyles(g, {
left: b.getStyle("left", 1),
top: b.getStyle("top", 1),
width: b.getStyle("width", 1),
height: b.getStyle("height", 1),
display: b.getStyle("display", 1),
zIndex: parseInt(b.getStyle("zIndex", 1) || 0) - 1,
});
}
},
});
};
})(tinymce);
(function (d) {
function f(g) {
return g.replace(/[\n\r]+/g, "");
}
var c = d.is,
b = d.isIE,
e = d.each,
a = d.dom.TreeWalker;
d.create("tinymce.dom.Selection", {
Selection: function (k, j, i, h) {
var g = this;
g.dom = k;
g.win = j;
g.serializer = i;
g.editor = h;
e(
[
"onBeforeSetContent",
"onBeforeGetContent",
"onSetContent",
"onGetContent",
],
function (l) {
g[l] = new d.util.Dispatcher(g);
},
);
if (!g.win.getSelection) {
g.tridentSel = new d.dom.TridentSelection(g);
}
if (d.isIE && k.boxModel) {
this._fixIESelection();
}
d.addUnload(g.destroy, g);
},
setCursorLocation: function (i, j) {
var g = this;
var h = g.dom.createRng();
h.setStart(i, j);
h.setEnd(i, j);
g.setRng(h);
g.collapse(false);
},
getContent: function (h) {
var g = this,
i = g.getRng(),
m = g.dom.create("body"),
k = g.getSel(),
j,
l,
o;
h = h || {};
j = l = "";
h.get = true;
h.format = h.format || "html";
h.forced_root_block = "";
g.onBeforeGetContent.dispatch(g, h);
if (h.format == "text") {
return g.isCollapsed()
? ""
: i.text || (k.toString ? k.toString() : "");
}
if (i.cloneContents) {
o = i.cloneContents();
if (o) {
m.appendChild(o);
}
} else {
if (c(i.item) || c(i.htmlText)) {
m.innerHTML = "<br>" + (i.item ? i.item(0).outerHTML : i.htmlText);
m.removeChild(m.firstChild);
} else {
m.innerHTML = i.toString();
}
}
if (/^\s/.test(m.innerHTML)) {
j = " ";
}
if (/\s+$/.test(m.innerHTML)) {
l = " ";
}
h.getInner = true;
h.content = g.isCollapsed() ? "" : j + g.serializer.serialize(m, h) + l;
g.onGetContent.dispatch(g, h);
return h.content;
},
setContent: function (h, j) {
var o = this,
g = o.getRng(),
k,
l = o.win.document,
n,
m;
j = j || { format: "html" };
j.set = true;
h = j.content = h;
if (!j.no_events) {
o.onBeforeSetContent.dispatch(o, j);
}
h = j.content;
if (g.insertNode) {
h += '<span id="__caret">_</span>';
if (g.startContainer == l && g.endContainer == l) {
l.body.innerHTML = h;
} else {
g.deleteContents();
if (l.body.childNodes.length === 0) {
l.body.innerHTML = h;
} else {
if (g.createContextualFragment) {
g.insertNode(g.createContextualFragment(h));
} else {
n = l.createDocumentFragment();
m = l.createElement("div");
n.appendChild(m);
m.outerHTML = h;
g.insertNode(n);
}
}
}
k = o.dom.get("__caret");
g = l.createRange();
g.setStartBefore(k);
g.setEndBefore(k);
o.setRng(g);
o.dom.remove("__caret");
try {
o.setRng(g);
} catch (i) {}
} else {
if (g.item) {
l.execCommand("Delete", false, null);
g = o.getRng();
}
if (/^\s+/.test(h)) {
g.pasteHTML('<span id="__mce_tmp">_</span>' + h);
o.dom.remove("__mce_tmp");
} else {
g.pasteHTML(h);
}
}
if (!j.no_events) {
o.onSetContent.dispatch(o, j);
}
},
getStart: function () {
var i = this,
h = i.getRng(),
j,
g,
l,
k;
if (h.duplicate || h.item) {
if (h.item) {
return h.item(0);
}
l = h.duplicate();
l.collapse(1);
j = l.parentElement();
if (j.ownerDocument !== i.dom.doc) {
j = i.dom.getRoot();
}
g = k = h.parentElement();
while ((k = k.parentNode)) {
if (k == j) {
j = g;
break;
}
}
return j;
} else {
j = h.startContainer;
if (j.nodeType == 1 && j.hasChildNodes()) {
j = j.childNodes[Math.min(j.childNodes.length - 1, h.startOffset)];
}
if (j && j.nodeType == 3) {
return j.parentNode;
}
return j;
}
},
getEnd: function () {
var h = this,
g = h.getRng(),
j,
i;
if (g.duplicate || g.item) {
if (g.item) {
return g.item(0);
}
g = g.duplicate();
g.collapse(0);
j = g.parentElement();
if (j.ownerDocument !== h.dom.doc) {
j = h.dom.getRoot();
}
if (j && j.nodeName == "BODY") {
return j.lastChild || j;
}
return j;
} else {
j = g.endContainer;
i = g.endOffset;
if (j.nodeType == 1 && j.hasChildNodes()) {
j = j.childNodes[i > 0 ? i - 1 : i];
}
if (j && j.nodeType == 3) {
return j.parentNode;
}
return j;
}
},
getBookmark: function (s, v) {
var y = this,
n = y.dom,
h,
k,
j,
o,
i,
p,
q,
m = "\uFEFF",
x;
function g(z, A) {
var t = 0;
e(n.select(z), function (C, B) {
if (C == A) {
t = B;
}
});
return t;
}
function u(t) {
function z(E) {
var A,
D,
C,
B = E ? "start" : "end";
A = t[B + "Container"];
D = t[B + "Offset"];
if (A.nodeType == 1 && A.nodeName == "TR") {
C = A.childNodes;
A = C[Math.min(E ? D : D - 1, C.length - 1)];
if (A) {
D = E ? 0 : A.childNodes.length;
t["set" + (E ? "Start" : "End")](A, D);
}
}
}
z(true);
z();
return t;
}
function l() {
var z = y.getRng(true),
t = n.getRoot(),
A = {};
function B(E, J) {
var D = E[J ? "startContainer" : "endContainer"],
I = E[J ? "startOffset" : "endOffset"],
C = [],
F,
H,
G = 0;
if (D.nodeType == 3) {
if (v) {
for (
F = D.previousSibling;
F && F.nodeType == 3;
F = F.previousSibling
) {
I += F.nodeValue.length;
}
}
C.push(I);
} else {
H = D.childNodes;
if (I >= H.length && H.length) {
G = 1;
I = Math.max(0, H.length - 1);
}
C.push(y.dom.nodeIndex(H[I], v) + G);
}
for (; D && D != t; D = D.parentNode) {
C.push(y.dom.nodeIndex(D, v));
}
return C;
}
A.start = B(z, true);
if (!y.isCollapsed()) {
A.end = B(z);
}
return A;
}
if (s == 2) {
if (y.tridentSel) {
return y.tridentSel.getBookmark(s);
}
return l();
}
if (s) {
return { rng: y.getRng() };
}
h = y.getRng();
j = n.uniqueId();
o = tinyMCE.activeEditor.selection.isCollapsed();
x = "overflow:hidden;line-height:0px";
if (h.duplicate || h.item) {
if (!h.item) {
k = h.duplicate();
try {
h.collapse();
h.pasteHTML(
'<span data-mce-type="bookmark" id="' +
j +
'_start" style="' +
x +
'">' +
m +
"</span>",
);
if (!o) {
k.collapse(false);
h.moveToElementText(k.parentElement());
if (h.compareEndPoints("StartToEnd", k) === 0) {
k.move("character", -1);
}
k.pasteHTML(
'<span data-mce-type="bookmark" id="' +
j +
'_end" style="' +
x +
'">' +
m +
"</span>",
);
}
} catch (r) {
return null;
}
} else {
p = h.item(0);
i = p.nodeName;
return { name: i, index: g(i, p) };
}
} else {
p = y.getNode();
i = p.nodeName;
if (i == "IMG") {
return { name: i, index: g(i, p) };
}
k = u(h.cloneRange());
if (!o) {
k.collapse(false);
k.insertNode(
n.create(
"span",
{ "data-mce-type": "bookmark", id: j + "_end", style: x },
m,
),
);
}
h = u(h);
h.collapse(true);
h.insertNode(
n.create(
"span",
{ "data-mce-type": "bookmark", id: j + "_start", style: x },
m,
),
);
}
y.moveToBookmark({ id: j, keep: 1 });
return { id: j };
},
moveToBookmark: function (o) {
var s = this,
m = s.dom,
j,
i,
g,
r,
k,
u,
p,
q;
function h(A) {
var t = o[A ? "start" : "end"],
x,
y,
z,
v;
if (t) {
z = t[0];
for (y = r, x = t.length - 1; x >= 1; x--) {
v = y.childNodes;
if (t[x] > v.length - 1) {
return;
}
y = v[t[x]];
}
if (y.nodeType === 3) {
z = Math.min(t[0], y.nodeValue.length);
}
if (y.nodeType === 1) {
z = Math.min(t[0], y.childNodes.length);
}
if (A) {
g.setStart(y, z);
} else {
g.setEnd(y, z);
}
}
return true;
}
function l(B) {
var v = m.get(o.id + "_" + B),
A,
t,
y,
z,
x = o.keep;
if (v) {
A = v.parentNode;
if (B == "start") {
if (!x) {
t = m.nodeIndex(v);
} else {
A = v.firstChild;
t = 1;
}
k = u = A;
p = q = t;
} else {
if (!x) {
t = m.nodeIndex(v);
} else {
A = v.firstChild;
t = 1;
}
u = A;
q = t;
}
if (!x) {
z = v.previousSibling;
y = v.nextSibling;
e(d.grep(v.childNodes), function (C) {
if (C.nodeType == 3) {
C.nodeValue = C.nodeValue.replace(/\uFEFF/g, "");
}
});
while ((v = m.get(o.id + "_" + B))) {
m.remove(v, 1);
}
if (
z &&
y &&
z.nodeType == y.nodeType &&
z.nodeType == 3 &&
!d.isOpera
) {
t = z.nodeValue.length;
z.appendData(y.nodeValue);
m.remove(y);
if (B == "start") {
k = u = z;
p = q = t;
} else {
u = z;
q = t;
}
}
}
}
}
function n(t) {
if (m.isBlock(t) && !t.innerHTML && !b) {
t.innerHTML = '<br data-mce-bogus="1" />';
}
return t;
}
if (o) {
if (o.start) {
g = m.createRng();
r = m.getRoot();
if (s.tridentSel) {
return s.tridentSel.moveToBookmark(o);
}
if (h(true) && h()) {
s.setRng(g);
}
} else {
if (o.id) {
l("start");
l("end");
if (k) {
g = m.createRng();
g.setStart(n(k), p);
g.setEnd(n(u), q);
s.setRng(g);
}
} else {
if (o.name) {
s.select(m.select(o.name)[o.index]);
} else {
if (o.rng) {
s.setRng(o.rng);
}
}
}
}
}
},
select: function (l, k) {
var j = this,
m = j.dom,
h = m.createRng(),
g;
function i(n, p) {
var o = new a(n, n);
do {
if (n.nodeType == 3 && d.trim(n.nodeValue).length !== 0) {
if (p) {
h.setStart(n, 0);
} else {
h.setEnd(n, n.nodeValue.length);
}
return;
}
if (n.nodeName == "BR") {
if (p) {
h.setStartBefore(n);
} else {
h.setEndBefore(n);
}
return;
}
} while ((n = p ? o.next() : o.prev()));
}
if (l) {
g = m.nodeIndex(l);
h.setStart(l.parentNode, g);
h.setEnd(l.parentNode, g + 1);
if (k) {
i(l, 1);
i(l);
}
j.setRng(h);
}
return l;
},
isCollapsed: function () {
var g = this,
i = g.getRng(),
h = g.getSel();
if (!i || i.item) {
return false;
}
if (i.compareEndPoints) {
return i.compareEndPoints("StartToEnd", i) === 0;
}
return !h || i.collapsed;
},
collapse: function (g) {
var i = this,
h = i.getRng(),
j;
if (h.item) {
j = h.item(0);
h = i.win.document.body.createTextRange();
h.moveToElementText(j);
}
h.collapse(!!g);
i.setRng(h);
},
getSel: function () {
var h = this,
g = this.win;
return g.getSelection ? g.getSelection() : g.document.selection;
},
getRng: function (m) {
var h = this,
j,
g,
l,
k = h.win.document;
if (m && h.tridentSel) {
return h.tridentSel.getRangeAt(0);
}
try {
if ((j = h.getSel())) {
g =
j.rangeCount > 0
? j.getRangeAt(0)
: j.createRange
? j.createRange()
: k.createRange();
}
} catch (i) {}
if (d.isIE && g && g.setStart && k.selection.createRange().item) {
l = k.selection.createRange().item(0);
g = k.createRange();
g.setStartBefore(l);
g.setEndAfter(l);
}
if (!g) {
g = k.createRange ? k.createRange() : k.body.createTextRange();
}
if (g.setStart && g.startContainer.nodeType === 9 && g.collapsed) {
l = h.dom.getRoot();
g.setStart(l, 0);
g.setEnd(l, 0);
}
if (h.selectedRange && h.explicitRange) {
if (
g.compareBoundaryPoints(g.START_TO_START, h.selectedRange) === 0 &&
g.compareBoundaryPoints(g.END_TO_END, h.selectedRange) === 0
) {
g = h.explicitRange;
} else {
h.selectedRange = null;
h.explicitRange = null;
}
}
return g;
},
setRng: function (k, g) {
var j,
i = this;
if (!i.tridentSel) {
j = i.getSel();
if (j) {
i.explicitRange = k;
try {
j.removeAllRanges();
} catch (h) {}
j.addRange(k);
if (g === false && j.extend) {
j.collapse(k.endContainer, k.endOffset);
j.extend(k.startContainer, k.startOffset);
}
i.selectedRange = j.rangeCount > 0 ? j.getRangeAt(0) : null;
}
} else {
if (k.cloneRange) {
try {
i.tridentSel.addRange(k);
return;
} catch (h) {}
}
try {
k.select();
} catch (h) {}
}
},
setNode: function (h) {
var g = this;
g.setContent(g.dom.getOuterHTML(h));
return h;
},
getNode: function () {
var i = this,
h = i.getRng(),
j = i.getSel(),
m,
l = h.startContainer,
g = h.endContainer;
function k(q, o) {
var p = q;
while (q && q.nodeType === 3 && q.length === 0) {
q = o ? q.nextSibling : q.previousSibling;
}
return q || p;
}
if (!h) {
return i.dom.getRoot();
}
if (h.setStart) {
m = h.commonAncestorContainer;
if (!h.collapsed) {
if (h.startContainer == h.endContainer) {
if (h.endOffset - h.startOffset < 2) {
if (h.startContainer.hasChildNodes()) {
m = h.startContainer.childNodes[h.startOffset];
}
}
}
if (l.nodeType === 3 && g.nodeType === 3) {
if (l.length === h.startOffset) {
l = k(l.nextSibling, true);
} else {
l = l.parentNode;
}
if (h.endOffset === 0) {
g = k(g.previousSibling, false);
} else {
g = g.parentNode;
}
if (l && l === g) {
return l;
}
}
}
if (m && m.nodeType == 3) {
return m.parentNode;
}
return m;
}
return h.item ? h.item(0) : h.parentElement();
},
getSelectedBlocks: function (p, h) {
var o = this,
k = o.dom,
m,
l,
i,
j = [];
m = k.getParent(p || o.getStart(), k.isBlock);
l = k.getParent(h || o.getEnd(), k.isBlock);
if (m) {
j.push(m);
}
if (m && l && m != l) {
i = m;
var g = new a(m, k.getRoot());
while ((i = g.next()) && i != l) {
if (k.isBlock(i)) {
j.push(i);
}
}
}
if (l && m != l) {
j.push(l);
}
return j;
},
isForward: function () {
var i = this.dom,
g = this.getSel(),
j,
h;
if (!g || g.anchorNode == null || g.focusNode == null) {
return true;
}
j = i.createRng();
j.setStart(g.anchorNode, g.anchorOffset);
j.collapse(true);
h = i.createRng();
h.setStart(g.focusNode, g.focusOffset);
h.collapse(true);
return j.compareBoundaryPoints(j.START_TO_START, h) <= 0;
},
normalize: function () {
var h = this,
g,
m,
l,
j,
i;
function k(p) {
var o,
r,
n,
s = h.dom,
u = s.getRoot(),
q,
t,
v;
function y(z, A) {
var B = new a(z, s.getParent(z.parentNode, s.isBlock) || u);
while ((z = B[A ? "prev" : "next"]())) {
if (z.nodeName === "BR") {
return true;
}
}
}
function x(B, z) {
var C, A;
z = z || o;
C = new a(z, s.getParent(z.parentNode, s.isBlock) || u);
while ((q = C[B ? "prev" : "next"]())) {
if (q.nodeType === 3 && q.nodeValue.length > 0) {
o = q;
r = B ? q.nodeValue.length : 0;
m = true;
return;
}
if (s.isBlock(q) || t[q.nodeName.toLowerCase()]) {
return;
}
A = q;
}
if (l && A) {
o = A;
m = true;
r = 0;
}
}
o = g[(p ? "start" : "end") + "Container"];
r = g[(p ? "start" : "end") + "Offset"];
t = s.schema.getNonEmptyElements();
if (o.nodeType === 9) {
o = s.getRoot();
r = 0;
}
if (o === u) {
if (p) {
q = o.childNodes[r > 0 ? r - 1 : 0];
if (q) {
v = q.nodeName.toLowerCase();
if (t[q.nodeName] || q.nodeName == "TABLE") {
return;
}
}
}
if (o.hasChildNodes()) {
o =
o.childNodes[
Math.min(!p && r > 0 ? r - 1 : r, o.childNodes.length - 1)
];
r = 0;
if (o.hasChildNodes() && !/TABLE/.test(o.nodeName)) {
q = o;
n = new a(o, u);
do {
if (q.nodeType === 3 && q.nodeValue.length > 0) {
r = p ? 0 : q.nodeValue.length;
o = q;
m = true;
break;
}
if (t[q.nodeName.toLowerCase()]) {
r = s.nodeIndex(q);
o = q.parentNode;
if (q.nodeName == "IMG" && !p) {
r++;
}
m = true;
break;
}
} while ((q = p ? n.next() : n.prev()));
}
}
}
if (l) {
if (o.nodeType === 3 && r === 0) {
x(true);
}
if (o.nodeType === 1) {
q = o.childNodes[r];
if (q && q.nodeName === "BR" && !y(q) && !y(q, true)) {
x(true, o.childNodes[r]);
}
}
}
if (p && !l && o.nodeType === 3 && r === o.nodeValue.length) {
x(false);
}
if (m) {
g["set" + (p ? "Start" : "End")](o, r);
}
}
if (d.isIE) {
return;
}
g = h.getRng();
l = g.collapsed;
k(true);
if (!l) {
k();
}
if (m) {
if (l) {
g.collapse(true);
}
h.setRng(g, h.isForward());
}
},
selectorChanged: function (g, j) {
var h = this,
i;
if (!h.selectorChangedData) {
h.selectorChangedData = {};
i = {};
h.editor.onNodeChange.addToTop(function (l, k, o) {
var p = h.dom,
m = p.getParents(o, null, p.getRoot()),
n = {};
e(h.selectorChangedData, function (r, q) {
e(m, function (s) {
if (p.is(s, q)) {
if (!i[q]) {
e(r, function (t) {
t(true, { node: s, selector: q, parents: m });
});
i[q] = r;
}
n[q] = r;
return false;
}
});
});
e(i, function (r, q) {
if (!n[q]) {
delete i[q];
e(r, function (s) {
s(false, { node: o, selector: q, parents: m });
});
}
});
});
}
if (!h.selectorChangedData[g]) {
h.selectorChangedData[g] = [];
}
h.selectorChangedData[g].push(j);
return h;
},
scrollIntoView: function (k) {
var j,
h,
g = this,
i = g.dom;
h = i.getViewPort(g.editor.getWin());
j = i.getPos(k).y;
if (j < h.y || j + 25 > h.y + h.h) {
g.editor.getWin().scrollTo(0, j < h.y ? j : j - h.h + 25);
}
},
destroy: function (h) {
var g = this;
g.win = null;
if (!h) {
d.removeUnload(g.destroy);
}
},
_fixIESelection: function () {
var h = this.dom,
n = h.doc,
i = n.body,
k,
o,
g;
function j(p, s) {
var q = i.createTextRange();
try {
q.moveToPoint(p, s);
} catch (r) {
q = null;
}
return q;
}
function m(q) {
var p;
if (q.button) {
p = j(q.x, q.y);
if (p) {
if (p.compareEndPoints("StartToStart", o) > 0) {
p.setEndPoint("StartToStart", o);
} else {
p.setEndPoint("EndToEnd", o);
}
p.select();
}
} else {
l();
}
}
function l() {
var p = n.selection.createRange();
if (o && !p.item && p.compareEndPoints("StartToEnd", p) === 0) {
o.select();
}
h.unbind(n, "mouseup", l);
h.unbind(n, "mousemove", m);
o = k = 0;
}
n.documentElement.unselectable = true;
h.bind(n, ["mousedown", "contextmenu"], function (p) {
if (p.target.nodeName === "HTML") {
if (k) {
l();
}
g = n.documentElement;
if (g.scrollHeight > g.clientHeight) {
return;
}
k = 1;
o = j(p.x, p.y);
if (o) {
h.bind(n, "mouseup", l);
h.bind(n, "mousemove", m);
h.win.focus();
o.select();
}
}
});
},
});
})(tinymce);
(function (a) {
a.dom.Serializer = function (e, i, f) {
var h,
b,
d = a.isIE,
g = a.each,
c;
if (!e.apply_source_formatting) {
e.indent = false;
}
i = i || a.DOM;
f = f || new a.html.Schema(e);
e.entity_encoding = e.entity_encoding || "named";
e.remove_trailing_brs =
"remove_trailing_brs" in e ? e.remove_trailing_brs : true;
h = new a.util.Dispatcher(self);
b = new a.util.Dispatcher(self);
c = new a.html.DomParser(e, f);
c.addAttributeFilter("src,href,style", function (k, j) {
var o = k.length,
l,
q,
n = "data-mce-" + j,
p = e.url_converter,
r = e.url_converter_scope,
m;
while (o--) {
l = k[o];
q = l.attributes.map[n];
if (q !== m) {
l.attr(j, q.length > 0 ? q : null);
l.attr(n, null);
} else {
q = l.attributes.map[j];
if (j === "style") {
q = i.serializeStyle(i.parseStyle(q), l.name);
} else {
if (p) {
q = p.call(r, q, j, l.name);
}
}
l.attr(j, q.length > 0 ? q : null);
}
}
});
c.addAttributeFilter("class", function (j, k) {
var l = j.length,
m,
n;
while (l--) {
m = j[l];
n = m.attr("class").replace(/(?:^|\s)mce(Item\w+|Selected)(?!\S)/g, "");
m.attr("class", n.length > 0 ? n : null);
}
});
c.addAttributeFilter("data-mce-type", function (j, l, k) {
var m = j.length,
n;
while (m--) {
n = j[m];
if (n.attributes.map["data-mce-type"] === "bookmark" && !k.cleanup) {
n.remove();
}
}
});
c.addAttributeFilter("data-mce-expando", function (j, l, k) {
var m = j.length;
while (m--) {
j[m].attr(l, null);
}
});
c.addNodeFilter("noscript", function (j) {
var k = j.length,
l;
while (k--) {
l = j[k].firstChild;
if (l) {
l.value = a.html.Entities.decode(l.value);
}
}
});
c.addNodeFilter("script,style", function (k, l) {
var m = k.length,
n,
o;
function j(p) {
return p
.replace(/(<!--\[CDATA\[|\]\]-->)/g, "\n")
.replace(/^[\r\n]*|[\r\n]*$/g, "")
.replace(
/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,
"",
)
.replace(
/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,
"",
);
}
while (m--) {
n = k[m];
o = n.firstChild ? n.firstChild.value : "";
if (l === "script") {
n.attr(
"type",
(n.attr("type") || "text/javascript").replace(/^mce\-/, ""),
);
if (o.length > 0) {
n.firstChild.value = "// <![CDATA[\n" + j(o) + "\n// ]]>";
}
} else {
if (o.length > 0) {
n.firstChild.value = "<!--\n" + j(o) + "\n-->";
}
}
}
});
c.addNodeFilter("#comment", function (j, k) {
var l = j.length,
m;
while (l--) {
m = j[l];
if (m.value.indexOf("[CDATA[") === 0) {
m.name = "#cdata";
m.type = 4;
m.value = m.value.replace(/^\[CDATA\[|\]\]$/g, "");
} else {
if (m.value.indexOf("mce:protected ") === 0) {
m.name = "#text";
m.type = 3;
m.raw = true;
m.value = unescape(m.value).substr(14);
}
}
}
});
c.addNodeFilter("xml:namespace,input", function (j, k) {
var l = j.length,
m;
while (l--) {
m = j[l];
if (m.type === 7) {
m.remove();
} else {
if (m.type === 1) {
if (k === "input" && !("type" in m.attributes.map)) {
m.attr("type", "text");
}
}
}
}
});
if (e.fix_list_elements) {
c.addNodeFilter("ul,ol", function (k, l) {
var m = k.length,
n,
j;
while (m--) {
n = k[m];
j = n.parent;
if (j.name === "ul" || j.name === "ol") {
if (n.prev && n.prev.name === "li") {
n.prev.append(n);
}
}
}
});
}
c.addAttributeFilter(
"data-mce-src,data-mce-href,data-mce-style",
function (j, k) {
var l = j.length;
while (l--) {
j[l].attr(k, null);
}
},
);
return {
schema: f,
addNodeFilter: c.addNodeFilter,
addAttributeFilter: c.addAttributeFilter,
onPreProcess: h,
onPostProcess: b,
serialize: function (o, m) {
var l, p, k, j, n;
if (d && i.select("script,style,select,map").length > 0) {
n = o.innerHTML;
o = o.cloneNode(false);
i.setHTML(o, n);
} else {
o = o.cloneNode(true);
}
l = o.ownerDocument.implementation;
if (l.createHTMLDocument) {
p = l.createHTMLDocument("");
g(o.nodeName == "BODY" ? o.childNodes : [o], function (q) {
p.body.appendChild(p.importNode(q, true));
});
if (o.nodeName != "BODY") {
o = p.body.firstChild;
} else {
o = p.body;
}
k = i.doc;
i.doc = p;
}
m = m || {};
m.format = m.format || "html";
if (!m.no_events) {
m.node = o;
h.dispatch(self, m);
}
j = new a.html.Serializer(e, f);
m.content = j.serialize(
c.parse(a.trim(m.getInner ? o.innerHTML : i.getOuterHTML(o)), m),
);
if (!m.cleanup) {
m.content = m.content.replace(/\uFEFF/g, "");
}
if (!m.no_events) {
b.dispatch(self, m);
}
if (k) {
i.doc = k;
}
m.node = null;
return m.content;
},
addRules: function (j) {
f.addValidElements(j);
},
setRules: function (j) {
f.setValidElements(j);
},
};
};
})(tinymce);
(function (a) {
a.dom.ScriptLoader = function (h) {
var c = 0,
k = 1,
i = 2,
l = {},
j = [],
e = {},
d = [],
g = 0,
f;
function b(m, v) {
var x = this,
q = a.DOM,
s,
o,
r,
n;
function p() {
q.remove(n);
if (s) {
s.onreadystatechange = s.onload = s = null;
}
v();
}
function u() {
if (typeof console !== "undefined" && console.log) {
console.log("Failed to load: " + m);
}
}
n = q.uniqueId();
if (a.isIE6) {
o = new a.util.URI(m);
r = location;
if (
o.host == r.hostname &&
o.port == r.port &&
o.protocol + ":" == r.protocol &&
o.protocol.toLowerCase() != "file"
) {
a.util.XHR.send({
url: a._addVer(o.getURI()),
success: function (y) {
var t = q.create("script", { type: "text/javascript" });
t.text = y;
document.getElementsByTagName("head")[0].appendChild(t);
q.remove(t);
p();
},
error: u,
});
return;
}
}
s = document.createElement("script");
s.id = n;
s.type = "text/javascript";
s.src = a._addVer(m);
if (!a.isIE) {
s.onload = p;
}
s.onerror = u;
if (!a.isOpera) {
s.onreadystatechange = function () {
var t = s.readyState;
if (t == "complete" || t == "loaded") {
p();
}
};
}
(document.getElementsByTagName("head")[0] || document.body).appendChild(
s,
);
}
this.isDone = function (m) {
return l[m] == i;
};
this.markDone = function (m) {
l[m] = i;
};
this.add = this.load = function (m, q, n) {
var o,
p = l[m];
if (p == f) {
j.push(m);
l[m] = c;
}
if (q) {
if (!e[m]) {
e[m] = [];
}
e[m].push({ func: q, scope: n || this });
}
};
this.loadQueue = function (n, m) {
this.loadScripts(j, n, m);
};
this.loadScripts = function (m, q, p) {
var o;
function n(r) {
a.each(e[r], function (s) {
s.func.call(s.scope);
});
e[r] = f;
}
d.push({ func: q, scope: p || this });
o = function () {
var r = a.grep(m);
m.length = 0;
a.each(r, function (s) {
if (l[s] == i) {
n(s);
return;
}
if (l[s] != k) {
l[s] = k;
g++;
b(s, function () {
l[s] = i;
g--;
n(s);
o();
});
}
});
if (!g) {
a.each(d, function (s) {
s.func.call(s.scope);
});
d.length = 0;
}
};
o();
};
};
a.ScriptLoader = new a.dom.ScriptLoader();
})(tinymce);
(function (a) {
a.dom.RangeUtils = function (c) {
var b = "\uFEFF";
this.walk = function (d, s) {
var i = d.startContainer,
l = d.startOffset,
t = d.endContainer,
m = d.endOffset,
j,
g,
o,
h,
r,
q,
e;
e = c.select("td.mceSelected,th.mceSelected");
if (e.length > 0) {
a.each(e, function (u) {
s([u]);
});
return;
}
function f(u) {
var v;
v = u[0];
if (v.nodeType === 3 && v === i && l >= v.nodeValue.length) {
u.splice(0, 1);
}
v = u[u.length - 1];
if (m === 0 && u.length > 0 && v === t && v.nodeType === 3) {
u.splice(u.length - 1, 1);
}
return u;
}
function p(x, v, u) {
var y = [];
for (; x && x != u; x = x[v]) {
y.push(x);
}
return y;
}
function n(v, u) {
do {
if (v.parentNode == u) {
return v;
}
v = v.parentNode;
} while (v);
}
function k(x, v, y) {
var u = y ? "nextSibling" : "previousSibling";
for (h = x, r = h.parentNode; h && h != v; h = r) {
r = h.parentNode;
q = p(h == x ? h : h[u], u);
if (q.length) {
if (!y) {
q.reverse();
}
s(f(q));
}
}
}
if (i.nodeType == 1 && i.hasChildNodes()) {
i = i.childNodes[l];
}
if (t.nodeType == 1 && t.hasChildNodes()) {
t = t.childNodes[Math.min(m - 1, t.childNodes.length - 1)];
}
if (i == t) {
return s(f([i]));
}
j = c.findCommonAncestor(i, t);
for (h = i; h; h = h.parentNode) {
if (h === t) {
return k(i, j, true);
}
if (h === j) {
break;
}
}
for (h = t; h; h = h.parentNode) {
if (h === i) {
return k(t, j);
}
if (h === j) {
break;
}
}
g = n(i, j) || i;
o = n(t, j) || t;
k(i, g, true);
q = p(
g == i ? g : g.nextSibling,
"nextSibling",
o == t ? o.nextSibling : o,
);
if (q.length) {
s(f(q));
}
k(t, o);
};
this.split = function (e) {
var h = e.startContainer,
d = e.startOffset,
i = e.endContainer,
g = e.endOffset;
function f(j, k) {
return j.splitText(k);
}
if (h == i && h.nodeType == 3) {
if (d > 0 && d < h.nodeValue.length) {
i = f(h, d);
h = i.previousSibling;
if (g > d) {
g = g - d;
h = i = f(i, g).previousSibling;
g = i.nodeValue.length;
d = 0;
} else {
g = 0;
}
}
} else {
if (h.nodeType == 3 && d > 0 && d < h.nodeValue.length) {
h = f(h, d);
d = 0;
}
if (i.nodeType == 3 && g > 0 && g < i.nodeValue.length) {
i = f(i, g).previousSibling;
g = i.nodeValue.length;
}
}
return {
startContainer: h,
startOffset: d,
endContainer: i,
endOffset: g,
};
};
};
a.dom.RangeUtils.compareRanges = function (c, b) {
if (c && b) {
if (c.item || c.duplicate) {
if (c.item && b.item && c.item(0) === b.item(0)) {
return true;
}
if (c.isEqual && b.isEqual && b.isEqual(c)) {
return true;
}
} else {
return (
c.startContainer == b.startContainer && c.startOffset == b.startOffset
);
}
}
return false;
};
})(tinymce);
(function (b) {
var a = b.dom.Event,
c = b.each;
b.create("tinymce.ui.KeyboardNavigation", {
KeyboardNavigation: function (e, f) {
var q = this,
n = e.root,
m = e.items,
o = e.enableUpDown,
i = e.enableLeftRight || !e.enableUpDown,
l = e.excludeFromTabOrder,
k,
h,
p,
d,
g;
f = f || b.DOM;
k = function (r) {
g = r.target.id;
};
h = function (r) {
f.setAttrib(r.target.id, "tabindex", "-1");
};
d = function (r) {
var s = f.get(g);
f.setAttrib(s, "tabindex", "0");
s.focus();
};
q.focus = function () {
f.get(g).focus();
};
q.destroy = function () {
c(m, function (s) {
var t = f.get(s.id);
f.unbind(t, "focus", k);
f.unbind(t, "blur", h);
});
var r = f.get(n);
f.unbind(r, "focus", d);
f.unbind(r, "keydown", p);
m = f = n = q.focus = k = h = p = d = null;
q.destroy = function () {};
};
q.moveFocus = function (v, s) {
var r = -1,
u = q.controls,
t;
if (!g) {
return;
}
c(m, function (y, x) {
if (y.id === g) {
r = x;
return false;
}
});
r += v;
if (r < 0) {
r = m.length - 1;
} else {
if (r >= m.length) {
r = 0;
}
}
t = m[r];
f.setAttrib(g, "tabindex", "-1");
f.setAttrib(t.id, "tabindex", "0");
f.get(t.id).focus();
if (e.actOnFocus) {
e.onAction(t.id);
}
if (s) {
a.cancel(s);
}
};
p = function (z) {
var v = 37,
u = 39,
y = 38,
A = 40,
r = 27,
t = 14,
s = 13,
x = 32;
switch (z.keyCode) {
case v:
if (i) {
q.moveFocus(-1);
}
break;
case u:
if (i) {
q.moveFocus(1);
}
break;
case y:
if (o) {
q.moveFocus(-1);
}
break;
case A:
if (o) {
q.moveFocus(1);
}
break;
case r:
if (e.onCancel) {
e.onCancel();
a.cancel(z);
}
break;
case t:
case s:
case x:
if (e.onAction) {
e.onAction(g);
a.cancel(z);
}
break;
}
};
c(m, function (t, r) {
var s, u;
if (!t.id) {
t.id = f.uniqueId("_mce_item_");
}
u = f.get(t.id);
if (l) {
f.bind(u, "blur", h);
s = "-1";
} else {
s = r === 0 ? "0" : "-1";
}
u.setAttribute("tabindex", s);
f.bind(u, "focus", k);
});
if (m[0]) {
g = m[0].id;
}
f.setAttrib(n, "tabindex", "-1");
var j = f.get(n);
f.bind(j, "focus", d);
f.bind(j, "keydown", p);
},
});
})(tinymce);
(function (c) {
var b = c.DOM,
a = c.is;
c.create("tinymce.ui.Control", {
Control: function (f, e, d) {
this.id = f;
this.settings = e = e || {};
this.rendered = false;
this.onRender = new c.util.Dispatcher(this);
this.classPrefix = "";
this.scope = e.scope || this;
this.disabled = 0;
this.active = 0;
this.editor = d;
},
setAriaProperty: function (f, e) {
var d = b.get(this.id + "_aria") || b.get(this.id);
if (d) {
b.setAttrib(d, "aria-" + f, !!e);
}
},
focus: function () {
b.get(this.id).focus();
},
setDisabled: function (d) {
if (d != this.disabled) {
this.setAriaProperty("disabled", d);
this.setState("Disabled", d);
this.setState("Enabled", !d);
this.disabled = d;
}
},
isDisabled: function () {
return this.disabled;
},
setActive: function (d) {
if (d != this.active) {
this.setState("Active", d);
this.active = d;
this.setAriaProperty("pressed", d);
}
},
isActive: function () {
return this.active;
},
setState: function (f, d) {
var e = b.get(this.id);
f = this.classPrefix + f;
if (d) {
b.addClass(e, f);
} else {
b.removeClass(e, f);
}
},
isRendered: function () {
return this.rendered;
},
renderHTML: function () {},
renderTo: function (d) {
b.setHTML(d, this.renderHTML());
},
postRender: function () {
var e = this,
d;
if (a(e.disabled)) {
d = e.disabled;
e.disabled = -1;
e.setDisabled(d);
}
if (a(e.active)) {
d = e.active;
e.active = -1;
e.setActive(d);
}
},
remove: function () {
b.remove(this.id);
this.destroy();
},
destroy: function () {
c.dom.Event.clear(this.id);
},
});
})(tinymce);
tinymce.create("tinymce.ui.Container:tinymce.ui.Control", {
Container: function (c, b, a) {
this.parent(c, b, a);
this.controls = [];
this.lookup = {};
},
add: function (a) {
this.lookup[a.id] = a;
this.controls.push(a);
return a;
},
get: function (a) {
return this.lookup[a];
},
});
tinymce.create("tinymce.ui.Separator:tinymce.ui.Control", {
Separator: function (b, a) {
this.parent(b, a);
this.classPrefix = "mceSeparator";
this.setDisabled(true);
},
renderHTML: function () {
return tinymce.DOM.createHTML("span", {
class: this.classPrefix,
role: "separator",
"aria-orientation": "vertical",
tabindex: "-1",
});
},
});
(function (d) {
var c = d.is,
b = d.DOM,
e = d.each,
a = d.walk;
d.create("tinymce.ui.MenuItem:tinymce.ui.Control", {
MenuItem: function (g, f) {
this.parent(g, f);
this.classPrefix = "mceMenuItem";
},
setSelected: function (f) {
this.setState("Selected", f);
this.setAriaProperty("checked", !!f);
this.selected = f;
},
isSelected: function () {
return this.selected;
},
postRender: function () {
var f = this;
f.parent();
if (c(f.selected)) {
f.setSelected(f.selected);
}
},
});
})(tinymce);
(function (d) {
var c = d.is,
b = d.DOM,
e = d.each,
a = d.walk;
d.create("tinymce.ui.Menu:tinymce.ui.MenuItem", {
Menu: function (h, g) {
var f = this;
f.parent(h, g);
f.items = {};
f.collapsed = false;
f.menuCount = 0;
f.onAddItem = new d.util.Dispatcher(this);
},
expand: function (g) {
var f = this;
if (g) {
a(
f,
function (h) {
if (h.expand) {
h.expand();
}
},
"items",
f,
);
}
f.collapsed = false;
},
collapse: function (g) {
var f = this;
if (g) {
a(
f,
function (h) {
if (h.collapse) {
h.collapse();
}
},
"items",
f,
);
}
f.collapsed = true;
},
isCollapsed: function () {
return this.collapsed;
},
add: function (f) {
if (!f.settings) {
f = new d.ui.MenuItem(f.id || b.uniqueId(), f);
}
this.onAddItem.dispatch(this, f);
return (this.items[f.id] = f);
},
addSeparator: function () {
return this.add({ separator: true });
},
addMenu: function (f) {
if (!f.collapse) {
f = this.createMenu(f);
}
this.menuCount++;
return this.add(f);
},
hasMenus: function () {
return this.menuCount !== 0;
},
remove: function (f) {
delete this.items[f.id];
},
removeAll: function () {
var f = this;
a(
f,
function (g) {
if (g.removeAll) {
g.removeAll();
} else {
g.remove();
}
g.destroy();
},
"items",
f,
);
f.items = {};
},
createMenu: function (g) {
var f = new d.ui.Menu(g.id || b.uniqueId(), g);
f.onAddItem.add(this.onAddItem.dispatch, this.onAddItem);
return f;
},
});
})(tinymce);
(function (e) {
var d = e.is,
c = e.DOM,
f = e.each,
a = e.dom.Event,
b = e.dom.Element;
e.create("tinymce.ui.DropMenu:tinymce.ui.Menu", {
DropMenu: function (h, g) {
g = g || {};
g.container = g.container || c.doc.body;
g.offset_x = g.offset_x || 0;
g.offset_y = g.offset_y || 0;
g.vp_offset_x = g.vp_offset_x || 0;
g.vp_offset_y = g.vp_offset_y || 0;
if (d(g.icons) && !g.icons) {
g["class"] += " mceNoIcons";
}
this.parent(h, g);
this.onShowMenu = new e.util.Dispatcher(this);
this.onHideMenu = new e.util.Dispatcher(this);
this.classPrefix = "mceMenu";
},
createMenu: function (j) {
var h = this,
i = h.settings,
g;
j.container = j.container || i.container;
j.parent = h;
j.constrain = j.constrain || i.constrain;
j["class"] = j["class"] || i["class"];
j.vp_offset_x = j.vp_offset_x || i.vp_offset_x;
j.vp_offset_y = j.vp_offset_y || i.vp_offset_y;
j.keyboard_focus = i.keyboard_focus;
g = new e.ui.DropMenu(j.id || c.uniqueId(), j);
g.onAddItem.add(h.onAddItem.dispatch, h.onAddItem);
return g;
},
focus: function () {
var g = this;
if (g.keyboardNav) {
g.keyboardNav.focus();
}
},
update: function () {
var i = this,
j = i.settings,
g = c.get("menu_" + i.id + "_tbl"),
l = c.get("menu_" + i.id + "_co"),
h,
k;
h = j.max_width ? Math.min(g.offsetWidth, j.max_width) : g.offsetWidth;
k = j.max_height
? Math.min(g.offsetHeight, j.max_height)
: g.offsetHeight;
if (!c.boxModel) {
i.element.setStyles({ width: h + 2, height: k + 2 });
} else {
i.element.setStyles({ width: h, height: k });
}
if (j.max_width) {
c.setStyle(l, "width", h);
}
if (j.max_height) {
c.setStyle(l, "height", k);
if (g.clientHeight < j.max_height) {
c.setStyle(l, "overflow", "hidden");
}
}
},
showMenu: function (p, n, r) {
var z = this,
A = z.settings,
o,
g = c.getViewPort(),
u,
l,
v,
q,
i = 2,
k,
j,
m = z.classPrefix;
z.collapse(1);
if (z.isMenuVisible) {
return;
}
if (!z.rendered) {
o = c.add(z.settings.container, z.renderNode());
f(z.items, function (h) {
h.postRender();
});
z.element = new b("menu_" + z.id, {
blocker: 1,
container: A.container,
});
} else {
o = c.get("menu_" + z.id);
}
if (!e.isOpera) {
c.setStyles(o, { left: -65535, top: -65535 });
}
c.show(o);
z.update();
p += A.offset_x || 0;
n += A.offset_y || 0;
g.w -= 4;
g.h -= 4;
if (A.constrain) {
u = o.clientWidth - i;
l = o.clientHeight - i;
v = g.x + g.w;
q = g.y + g.h;
if (p + A.vp_offset_x + u > v) {
p = r ? r - u : Math.max(0, v - A.vp_offset_x - u);
}
if (n + A.vp_offset_y + l > q) {
n = Math.max(0, q - A.vp_offset_y - l);
}
}
c.setStyles(o, { left: p, top: n });
z.element.update();
z.isMenuVisible = 1;
z.mouseClickFunc = a.add(o, "click", function (s) {
var h;
s = s.target;
if (s && (s = c.getParent(s, "tr")) && !c.hasClass(s, m + "ItemSub")) {
h = z.items[s.id];
if (h.isDisabled()) {
return;
}
k = z;
while (k) {
if (k.hideMenu) {
k.hideMenu();
}
k = k.settings.parent;
}
if (h.settings.onclick) {
h.settings.onclick(s);
}
return false;
}
});
if (z.hasMenus()) {
z.mouseOverFunc = a.add(o, "mouseover", function (x) {
var h, t, s;
x = x.target;
if (x && (x = c.getParent(x, "tr"))) {
h = z.items[x.id];
if (z.lastMenu) {
z.lastMenu.collapse(1);
}
if (h.isDisabled()) {
return;
}
if (x && c.hasClass(x, m + "ItemSub")) {
t = c.getRect(x);
h.showMenu(t.x + t.w - i, t.y - i, t.x);
z.lastMenu = h;
c.addClass(c.get(h.id).firstChild, m + "ItemActive");
}
}
});
}
a.add(o, "keydown", z._keyHandler, z);
z.onShowMenu.dispatch(z);
if (A.keyboard_focus) {
z._setupKeyboardNav();
}
},
hideMenu: function (j) {
var g = this,
i = c.get("menu_" + g.id),
h;
if (!g.isMenuVisible) {
return;
}
if (g.keyboardNav) {
g.keyboardNav.destroy();
}
a.remove(i, "mouseover", g.mouseOverFunc);
a.remove(i, "click", g.mouseClickFunc);
a.remove(i, "keydown", g._keyHandler);
c.hide(i);
g.isMenuVisible = 0;
if (!j) {
g.collapse(1);
}
if (g.element) {
g.element.hide();
}
if ((h = c.get(g.id))) {
c.removeClass(h.firstChild, g.classPrefix + "ItemActive");
}
g.onHideMenu.dispatch(g);
},
add: function (i) {
var g = this,
h;
i = g.parent(i);
if (g.isRendered && (h = c.get("menu_" + g.id))) {
g._add(c.select("tbody", h)[0], i);
}
return i;
},
collapse: function (g) {
this.parent(g);
this.hideMenu(1);
},
remove: function (g) {
c.remove(g.id);
this.destroy();
return this.parent(g);
},
destroy: function () {
var g = this,
h = c.get("menu_" + g.id);
if (g.keyboardNav) {
g.keyboardNav.destroy();
}
a.remove(h, "mouseover", g.mouseOverFunc);
a.remove(c.select("a", h), "focus", g.mouseOverFunc);
a.remove(h, "click", g.mouseClickFunc);
a.remove(h, "keydown", g._keyHandler);
if (g.element) {
g.element.remove();
}
c.remove(h);
},
renderNode: function () {
var i = this,
j = i.settings,
l,
h,
k,
g;
g = c.create("div", {
role: "listbox",
id: "menu_" + i.id,
class: j["class"],
style: "position:absolute;left:0;top:0;z-index:200000;outline:0",
});
if (i.settings.parent) {
c.setAttrib(g, "aria-parent", "menu_" + i.settings.parent.id);
}
k = c.add(g, "div", {
role: "presentation",
id: "menu_" + i.id + "_co",
class: i.classPrefix + (j["class"] ? " " + j["class"] : ""),
});
i.element = new b("menu_" + i.id, { blocker: 1, container: j.container });
if (j.menu_line) {
c.add(k, "span", { class: i.classPrefix + "Line" });
}
l = c.add(k, "table", {
role: "presentation",
id: "menu_" + i.id + "_tbl",
border: 0,
cellPadding: 0,
cellSpacing: 0,
});
h = c.add(l, "tbody");
f(i.items, function (m) {
i._add(h, m);
});
i.rendered = true;
return g;
},
_setupKeyboardNav: function () {
var i,
h,
g = this;
i = c.get("menu_" + g.id);
h = c.select("a[role=option]", "menu_" + g.id);
h.splice(0, 0, i);
g.keyboardNav = new e.ui.KeyboardNavigation({
root: "menu_" + g.id,
items: h,
onCancel: function () {
g.hideMenu();
},
enableUpDown: true,
});
i.focus();
},
_keyHandler: function (g) {
var h = this,
i;
switch (g.keyCode) {
case 37:
if (h.settings.parent) {
h.hideMenu();
h.settings.parent.focus();
a.cancel(g);
}
break;
case 39:
if (h.mouseOverFunc) {
h.mouseOverFunc(g);
}
break;
}
},
_add: function (j, h) {
var i,
q = h.settings,
p,
l,
k,
m = this.classPrefix,
g;
if (q.separator) {
l = c.add(j, "tr", { id: h.id, class: m + "ItemSeparator" });
c.add(l, "td", { class: m + "ItemSeparator" });
if ((i = l.previousSibling)) {
c.addClass(i, "mceLast");
}
return;
}
i = l = c.add(j, "tr", {
id: h.id,
class: m + "Item " + m + "ItemEnabled",
});
i = k = c.add(i, q.titleItem ? "th" : "td");
i = p = c.add(i, "a", {
id: h.id + "_aria",
role: q.titleItem ? "presentation" : "option",
href: "javascript:;",
onclick: "return false;",
onmousedown: "return false;",
});
if (q.parent) {
c.setAttrib(p, "aria-haspopup", "true");
c.setAttrib(p, "aria-owns", "menu_" + h.id);
}
c.addClass(k, q["class"]);
g = c.add(i, "span", {
class: "mceIcon" + (q.icon ? " mce_" + q.icon : ""),
});
if (q.icon_src) {
c.add(g, "img", { src: q.icon_src });
}
i = c.add(
i,
q.element || "span",
{ class: "mceText", title: h.settings.title },
h.settings.title,
);
if (h.settings.style) {
if (typeof h.settings.style == "function") {
h.settings.style = h.settings.style();
}
c.setAttrib(i, "style", h.settings.style);
}
if (j.childNodes.length == 1) {
c.addClass(l, "mceFirst");
}
if ((i = l.previousSibling) && c.hasClass(i, m + "ItemSeparator")) {
c.addClass(l, "mceFirst");
}
if (h.collapse) {
c.addClass(l, m + "ItemSub");
}
if ((i = l.previousSibling)) {
c.removeClass(i, "mceLast");
}
c.addClass(l, "mceLast");
},
});
})(tinymce);
(function (b) {
var a = b.DOM;
b.create("tinymce.ui.Button:tinymce.ui.Control", {
Button: function (e, d, c) {
this.parent(e, d, c);
this.classPrefix = "mceButton";
},
renderHTML: function () {
var f = this.classPrefix,
e = this.settings,
d,
c;
c = a.encode(e.label || "");
d =
'<a role="button" id="' +
this.id +
'" href="javascript:;" class="' +
f +
" " +
f +
"Enabled " +
e["class"] +
(c ? " " + f + "Labeled" : "") +
'" onmousedown="return false;" onclick="return false;" aria-labelledby="' +
this.id +
'_voice" title="' +
a.encode(e.title) +
'">';
if (e.image && !(this.editor && this.editor.forcedHighContrastMode)) {
d +=
'<span class="mceIcon ' +
e["class"] +
'"><img class="mceIcon" src="' +
e.image +
'" alt="' +
a.encode(e.title) +
'" /></span>' +
(c ? '<span class="' + f + 'Label">' + c + "</span>" : "");
} else {
d +=
'<span class="mceIcon ' +
e["class"] +
'"></span>' +
(c ? '<span class="' + f + 'Label">' + c + "</span>" : "");
}
d +=
'<span class="mceVoiceLabel mceIconOnly" style="display: none;" id="' +
this.id +
'_voice">' +
e.title +
"</span>";
d += "</a>";
return d;
},
postRender: function () {
var d = this,
e = d.settings,
c;
if (b.isIE && d.editor) {
b.dom.Event.add(d.id, "mousedown", function (f) {
var g = d.editor.selection.getNode().nodeName;
c = g === "IMG" ? d.editor.selection.getBookmark() : null;
});
}
b.dom.Event.add(d.id, "click", function (f) {
if (!d.isDisabled()) {
if (b.isIE && d.editor && c !== null) {
d.editor.selection.moveToBookmark(c);
}
return e.onclick.call(e.scope, f);
}
});
b.dom.Event.add(d.id, "keyup", function (f) {
if (!d.isDisabled() && f.keyCode == b.VK.SPACEBAR) {
return e.onclick.call(e.scope, f);
}
});
},
});
})(tinymce);
(function (e) {
var d = e.DOM,
b = e.dom.Event,
f = e.each,
a = e.util.Dispatcher,
c;
e.create("tinymce.ui.ListBox:tinymce.ui.Control", {
ListBox: function (j, i, g) {
var h = this;
h.parent(j, i, g);
h.items = [];
h.onChange = new a(h);
h.onPostRender = new a(h);
h.onAdd = new a(h);
h.onRenderMenu = new e.util.Dispatcher(this);
h.classPrefix = "mceListBox";
h.marked = {};
},
select: function (h) {
var g = this,
j,
i;
g.marked = {};
if (h == c) {
return g.selectByIndex(-1);
}
if (h && typeof h == "function") {
i = h;
} else {
i = function (k) {
return k == h;
};
}
if (h != g.selectedValue) {
f(g.items, function (l, k) {
if (i(l.value)) {
j = 1;
g.selectByIndex(k);
return false;
}
});
if (!j) {
g.selectByIndex(-1);
}
}
},
selectByIndex: function (g) {
var i = this,
j,
k,
h;
i.marked = {};
if (g != i.selectedIndex) {
j = d.get(i.id + "_text");
h = d.get(i.id + "_voiceDesc");
k = i.items[g];
if (k) {
i.selectedValue = k.value;
i.selectedIndex = g;
d.setHTML(j, d.encode(k.title));
d.setHTML(h, i.settings.title + " - " + k.title);
d.removeClass(j, "mceTitle");
d.setAttrib(i.id, "aria-valuenow", k.title);
} else {
d.setHTML(j, d.encode(i.settings.title));
d.setHTML(h, d.encode(i.settings.title));
d.addClass(j, "mceTitle");
i.selectedValue = i.selectedIndex = null;
d.setAttrib(i.id, "aria-valuenow", i.settings.title);
}
j = 0;
}
},
mark: function (g) {
this.marked[g] = true;
},
add: function (j, g, i) {
var h = this;
i = i || {};
i = e.extend(i, { title: j, value: g });
h.items.push(i);
h.onAdd.dispatch(h, i);
},
getLength: function () {
return this.items.length;
},
renderHTML: function () {
var j = "",
g = this,
i = g.settings,
k = g.classPrefix;
j =
'<span role="listbox" aria-haspopup="true" aria-labelledby="' +
g.id +
'_voiceDesc" aria-describedby="' +
g.id +
'_voiceDesc"><table role="presentation" tabindex="0" id="' +
g.id +
'" cellpadding="0" cellspacing="0" class="' +
k +
" " +
k +
"Enabled" +
(i["class"] ? " " + i["class"] : "") +
'"><tbody><tr>';
j +=
"<td>" +
d.createHTML(
"span",
{
id: g.id + "_voiceDesc",
class: "voiceLabel",
style: "display:none;",
},
g.settings.title,
);
j +=
d.createHTML(
"a",
{
id: g.id + "_text",
tabindex: -1,
href: "javascript:;",
class: "mceText",
onclick: "return false;",
onmousedown: "return false;",
},
d.encode(g.settings.title),
) + "</td>";
j +=
"<td>" +
d.createHTML(
"a",
{
id: g.id + "_open",
tabindex: -1,
href: "javascript:;",
class: "mceOpen",
onclick: "return false;",
onmousedown: "return false;",
},
'<span><span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span></span>',
) +
"</td>";
j += "</tr></tbody></table></span>";
return j;
},
showMenu: function () {
var h = this,
j,
i = d.get(this.id),
g;
if (h.isDisabled() || h.items.length === 0) {
return;
}
if (h.menu && h.menu.isMenuVisible) {
return h.hideMenu();
}
if (!h.isMenuRendered) {
h.renderMenu();
h.isMenuRendered = true;
}
j = d.getPos(i);
g = h.menu;
g.settings.offset_x = j.x;
g.settings.offset_y = j.y;
g.settings.keyboard_focus = !e.isOpera;
f(h.items, function (k) {
if (g.items[k.id]) {
g.items[k.id].setSelected(0);
}
});
f(h.items, function (k) {
if (g.items[k.id] && h.marked[k.value]) {
g.items[k.id].setSelected(1);
}
if (k.value === h.selectedValue) {
g.items[k.id].setSelected(1);
}
});
g.showMenu(0, i.clientHeight);
b.add(d.doc, "mousedown", h.hideMenu, h);
d.addClass(h.id, h.classPrefix + "Selected");
},
hideMenu: function (h) {
var g = this;
if (g.menu && g.menu.isMenuVisible) {
d.removeClass(g.id, g.classPrefix + "Selected");
if (
h &&
h.type == "mousedown" &&
(h.target.id == g.id + "_text" || h.target.id == g.id + "_open")
) {
return;
}
if (!h || !d.getParent(h.target, ".mceMenu")) {
d.removeClass(g.id, g.classPrefix + "Selected");
b.remove(d.doc, "mousedown", g.hideMenu, g);
g.menu.hideMenu();
}
}
},
renderMenu: function () {
var h = this,
g;
g = h.settings.control_manager.createDropMenu(h.id + "_menu", {
menu_line: 1,
class: h.classPrefix + "Menu mceNoIcons",
max_width: 250,
max_height: 150,
});
g.onHideMenu.add(function () {
h.hideMenu();
h.focus();
});
g.add({
title: h.settings.title,
class: "mceMenuItemTitle",
onclick: function () {
if (h.settings.onselect("") !== false) {
h.select("");
}
},
});
f(h.items, function (i) {
if (i.value === c) {
g.add({
title: i.title,
role: "option",
class: "mceMenuItemTitle",
onclick: function () {
if (h.settings.onselect("") !== false) {
h.select("");
}
},
});
} else {
i.id = d.uniqueId();
i.role = "option";
i.onclick = function () {
if (h.settings.onselect(i.value) !== false) {
h.select(i.value);
}
};
g.add(i);
}
});
h.onRenderMenu.dispatch(h, g);
h.menu = g;
},
postRender: function () {
var g = this,
h = g.classPrefix;
b.add(g.id, "click", g.showMenu, g);
b.add(g.id, "keydown", function (i) {
if (i.keyCode == 32) {
g.showMenu(i);
b.cancel(i);
}
});
b.add(g.id, "focus", function () {
if (!g._focused) {
g.keyDownHandler = b.add(g.id, "keydown", function (i) {
if (i.keyCode == 40) {
g.showMenu();
b.cancel(i);
}
});
g.keyPressHandler = b.add(g.id, "keypress", function (j) {
var i;
if (j.keyCode == 13) {
i = g.selectedValue;
g.selectedValue = null;
b.cancel(j);
g.settings.onselect(i);
}
});
}
g._focused = 1;
});
b.add(g.id, "blur", function () {
b.remove(g.id, "keydown", g.keyDownHandler);
b.remove(g.id, "keypress", g.keyPressHandler);
g._focused = 0;
});
if (e.isIE6 || !d.boxModel) {
b.add(g.id, "mouseover", function () {
if (!d.hasClass(g.id, h + "Disabled")) {
d.addClass(g.id, h + "Hover");
}
});
b.add(g.id, "mouseout", function () {
if (!d.hasClass(g.id, h + "Disabled")) {
d.removeClass(g.id, h + "Hover");
}
});
}
g.onPostRender.dispatch(g, d.get(g.id));
},
destroy: function () {
this.parent();
b.clear(this.id + "_text");
b.clear(this.id + "_open");
},
});
})(tinymce);
(function (e) {
var d = e.DOM,
b = e.dom.Event,
f = e.each,
a = e.util.Dispatcher,
c;
e.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox", {
NativeListBox: function (h, g) {
this.parent(h, g);
this.classPrefix = "mceNativeListBox";
},
setDisabled: function (g) {
d.get(this.id).disabled = g;
this.setAriaProperty("disabled", g);
},
isDisabled: function () {
return d.get(this.id).disabled;
},
select: function (h) {
var g = this,
j,
i;
if (h == c) {
return g.selectByIndex(-1);
}
if (h && typeof h == "function") {
i = h;
} else {
i = function (k) {
return k == h;
};
}
if (h != g.selectedValue) {
f(g.items, function (l, k) {
if (i(l.value)) {
j = 1;
g.selectByIndex(k);
return false;
}
});
if (!j) {
g.selectByIndex(-1);
}
}
},
selectByIndex: function (g) {
d.get(this.id).selectedIndex = g + 1;
this.selectedValue = this.items[g] ? this.items[g].value : null;
},
add: function (k, h, g) {
var j,
i = this;
g = g || {};
g.value = h;
if (i.isRendered()) {
d.add(d.get(this.id), "option", g, k);
}
j = { title: k, value: h, attribs: g };
i.items.push(j);
i.onAdd.dispatch(i, j);
},
getLength: function () {
return this.items.length;
},
renderHTML: function () {
var i,
g = this;
i = d.createHTML(
"option",
{ value: "" },
"-- " + g.settings.title + " --",
);
f(g.items, function (h) {
i += d.createHTML("option", { value: h.value }, h.title);
});
i = d.createHTML(
"select",
{
id: g.id,
class: "mceNativeListBox",
"aria-labelledby": g.id + "_aria",
},
i,
);
i += d.createHTML(
"span",
{ id: g.id + "_aria", style: "display: none" },
g.settings.title,
);
return i;
},
postRender: function () {
var h = this,
i,
j = true;
h.rendered = true;
function g(l) {
var k = h.items[l.target.selectedIndex - 1];
if (k && (k = k.value)) {
h.onChange.dispatch(h, k);
if (h.settings.onselect) {
h.settings.onselect(k);
}
}
}
b.add(h.id, "change", g);
b.add(h.id, "keydown", function (l) {
var k;
b.remove(h.id, "change", i);
j = false;
k = b.add(h.id, "blur", function () {
if (j) {
return;
}
j = true;
b.add(h.id, "change", g);
b.remove(h.id, "blur", k);
});
if (e.isWebKit && (l.keyCode == 37 || l.keyCode == 39)) {
return b.prevent(l);
}
if (l.keyCode == 13 || l.keyCode == 32) {
g(l);
return b.cancel(l);
}
});
h.onPostRender.dispatch(h, d.get(h.id));
},
});
})(tinymce);
(function (c) {
var b = c.DOM,
a = c.dom.Event,
d = c.each;
c.create("tinymce.ui.MenuButton:tinymce.ui.Button", {
MenuButton: function (g, f, e) {
this.parent(g, f, e);
this.onRenderMenu = new c.util.Dispatcher(this);
f.menu_container = f.menu_container || b.doc.body;
},
showMenu: function () {
var g = this,
j,
i,
h = b.get(g.id),
f;
if (g.isDisabled()) {
return;
}
if (!g.isMenuRendered) {
g.renderMenu();
g.isMenuRendered = true;
}
if (g.isMenuVisible) {
return g.hideMenu();
}
j = b.getPos(g.settings.menu_container);
i = b.getPos(h);
f = g.menu;
f.settings.offset_x = i.x;
f.settings.offset_y = i.y;
f.settings.vp_offset_x = i.x;
f.settings.vp_offset_y = i.y;
f.settings.keyboard_focus = g._focused;
f.showMenu(0, h.firstChild.clientHeight);
a.add(b.doc, "mousedown", g.hideMenu, g);
g.setState("Selected", 1);
g.isMenuVisible = 1;
},
renderMenu: function () {
var f = this,
e;
e = f.settings.control_manager.createDropMenu(f.id + "_menu", {
menu_line: 1,
class: this.classPrefix + "Menu",
icons: f.settings.icons,
});
e.onHideMenu.add(function () {
f.hideMenu();
f.focus();
});
f.onRenderMenu.dispatch(f, e);
f.menu = e;
},
hideMenu: function (g) {
var f = this;
if (
g &&
g.type == "mousedown" &&
b.getParent(g.target, function (h) {
return h.id === f.id || h.id === f.id + "_open";
})
) {
return;
}
if (!g || !b.getParent(g.target, ".mceMenu")) {
f.setState("Selected", 0);
a.remove(b.doc, "mousedown", f.hideMenu, f);
if (f.menu) {
f.menu.hideMenu();
}
}
f.isMenuVisible = 0;
},
postRender: function () {
var e = this,
f = e.settings;
a.add(e.id, "click", function () {
if (!e.isDisabled()) {
if (f.onclick) {
f.onclick(e.value);
}
e.showMenu();
}
});
},
});
})(tinymce);
(function (c) {
var b = c.DOM,
a = c.dom.Event,
d = c.each;
c.create("tinymce.ui.SplitButton:tinymce.ui.MenuButton", {
SplitButton: function (g, f, e) {
this.parent(g, f, e);
this.classPrefix = "mceSplitButton";
},
renderHTML: function () {
var i,
f = this,
g = f.settings,
e;
i = "<tbody><tr>";
if (g.image) {
e = b.createHTML("img ", {
src: g.image,
role: "presentation",
class: "mceAction " + g["class"],
});
} else {
e = b.createHTML("span", { class: "mceAction " + g["class"] }, "");
}
e += b.createHTML(
"span",
{
class: "mceVoiceLabel mceIconOnly",
id: f.id + "_voice",
style: "display:none;",
},
g.title,
);
i +=
"<td >" +
b.createHTML(
"a",
{
role: "button",
id: f.id + "_action",
tabindex: "-1",
href: "javascript:;",
class: "mceAction " + g["class"],
onclick: "return false;",
onmousedown: "return false;",
title: g.title,
},
e,
) +
"</td>";
e = b.createHTML(
"span",
{ class: "mceOpen " + g["class"] },
'<span style="display:none;" class="mceIconOnly" aria-hidden="true">\u25BC</span>',
);
i +=
"<td >" +
b.createHTML(
"a",
{
role: "button",
id: f.id + "_open",
tabindex: "-1",
href: "javascript:;",
class: "mceOpen " + g["class"],
onclick: "return false;",
onmousedown: "return false;",
title: g.title,
},
e,
) +
"</td>";
i += "</tr></tbody>";
i = b.createHTML(
"table",
{
role: "presentation",
class: "mceSplitButton mceSplitButtonEnabled " + g["class"],
cellpadding: "0",
cellspacing: "0",
title: g.title,
},
i,
);
return b.createHTML(
"div",
{
id: f.id,
role: "button",
tabindex: "0",
"aria-labelledby": f.id + "_voice",
"aria-haspopup": "true",
},
i,
);
},
postRender: function () {
var e = this,
g = e.settings,
f;
if (g.onclick) {
f = function (h) {
if (!e.isDisabled()) {
g.onclick(e.value);
a.cancel(h);
}
};
a.add(e.id + "_action", "click", f);
a.add(e.id, ["click", "keydown"], function (h) {
var k = 32,
m = 14,
i = 13,
j = 38,
l = 40;
if (
(h.keyCode === 32 || h.keyCode === 13 || h.keyCode === 14) &&
!h.altKey &&
!h.ctrlKey &&
!h.metaKey
) {
f();
a.cancel(h);
} else {
if (h.type === "click" || h.keyCode === l) {
e.showMenu();
a.cancel(h);
}
}
});
}
a.add(e.id + "_open", "click", function (h) {
e.showMenu();
a.cancel(h);
});
a.add([e.id, e.id + "_open"], "focus", function () {
e._focused = 1;
});
a.add([e.id, e.id + "_open"], "blur", function () {
e._focused = 0;
});
if (c.isIE6 || !b.boxModel) {
a.add(e.id, "mouseover", function () {
if (!b.hasClass(e.id, "mceSplitButtonDisabled")) {
b.addClass(e.id, "mceSplitButtonHover");
}
});
a.add(e.id, "mouseout", function () {
if (!b.hasClass(e.id, "mceSplitButtonDisabled")) {
b.removeClass(e.id, "mceSplitButtonHover");
}
});
}
},
destroy: function () {
this.parent();
a.clear(this.id + "_action");
a.clear(this.id + "_open");
a.clear(this.id);
},
});
})(tinymce);
(function (d) {
var c = d.DOM,
a = d.dom.Event,
b = d.is,
e = d.each;
d.create("tinymce.ui.ColorSplitButton:tinymce.ui.SplitButton", {
ColorSplitButton: function (i, h, f) {
var g = this;
g.parent(i, h, f);
g.settings = h = d.extend(
{
colors:
"000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,C0C0C0,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF,FFFFFF",
grid_width: 8,
default_color: "#888888",
},
g.settings,
);
g.onShowMenu = new d.util.Dispatcher(g);
g.onHideMenu = new d.util.Dispatcher(g);
g.value = h.default_color;
},
showMenu: function () {
var f = this,
g,
j,
i,
h;
if (f.isDisabled()) {
return;
}
if (!f.isMenuRendered) {
f.renderMenu();
f.isMenuRendered = true;
}
if (f.isMenuVisible) {
return f.hideMenu();
}
i = c.get(f.id);
c.show(f.id + "_menu");
c.addClass(i, "mceSplitButtonSelected");
h = c.getPos(i);
c.setStyles(f.id + "_menu", {
left: h.x,
top: h.y + i.firstChild.clientHeight,
zIndex: 200000,
});
i = 0;
a.add(c.doc, "mousedown", f.hideMenu, f);
f.onShowMenu.dispatch(f);
if (f._focused) {
f._keyHandler = a.add(f.id + "_menu", "keydown", function (k) {
if (k.keyCode == 27) {
f.hideMenu();
}
});
c.select("a", f.id + "_menu")[0].focus();
}
f.keyboardNav = new d.ui.KeyboardNavigation({
root: f.id + "_menu",
items: c.select("a", f.id + "_menu"),
onCancel: function () {
f.hideMenu();
f.focus();
},
});
f.keyboardNav.focus();
f.isMenuVisible = 1;
},
hideMenu: function (g) {
var f = this;
if (f.isMenuVisible) {
if (
g &&
g.type == "mousedown" &&
c.getParent(g.target, function (h) {
return h.id === f.id + "_open";
})
) {
return;
}
if (!g || !c.getParent(g.target, ".mceSplitButtonMenu")) {
c.removeClass(f.id, "mceSplitButtonSelected");
a.remove(c.doc, "mousedown", f.hideMenu, f);
a.remove(f.id + "_menu", "keydown", f._keyHandler);
c.hide(f.id + "_menu");
}
f.isMenuVisible = 0;
f.onHideMenu.dispatch();
f.keyboardNav.destroy();
}
},
renderMenu: function () {
var p = this,
h,
k = 0,
q = p.settings,
g,
j,
l,
o,
f;
o = c.add(q.menu_container, "div", {
role: "listbox",
id: p.id + "_menu",
class: q.menu_class + " " + q["class"],
style: "position:absolute;left:0;top:-1000px;",
});
h = c.add(o, "div", { class: q["class"] + " mceSplitButtonMenu" });
c.add(h, "span", { class: "mceMenuLine" });
g = c.add(h, "table", {
role: "presentation",
class: "mceColorSplitMenu",
});
j = c.add(g, "tbody");
k = 0;
e(b(q.colors, "array") ? q.colors : q.colors.split(","), function (m) {
m = m.replace(/^#/, "");
if (!k--) {
l = c.add(j, "tr");
k = q.grid_width - 1;
}
g = c.add(l, "td");
var i = {
href: "javascript:;",
style: { backgroundColor: "#" + m },
title: p.editor.getLang("colors." + m, m),
"data-mce-color": "#" + m,
};
if (!d.isIE) {
i.role = "option";
}
g = c.add(g, "a", i);
if (p.editor.forcedHighContrastMode) {
g = c.add(g, "canvas", {
width: 16,
height: 16,
"aria-hidden": "true",
});
if (g.getContext && (f = g.getContext("2d"))) {
f.fillStyle = "#" + m;
f.fillRect(0, 0, 16, 16);
} else {
c.remove(g);
}
}
});
if (q.more_colors_func) {
g = c.add(j, "tr");
g = c.add(g, "td", { colspan: q.grid_width, class: "mceMoreColors" });
g = c.add(
g,
"a",
{
role: "option",
id: p.id + "_more",
href: "javascript:;",
onclick: "return false;",
class: "mceMoreColors",
},
q.more_colors_title,
);
a.add(g, "click", function (i) {
q.more_colors_func.call(q.more_colors_scope || this);
return a.cancel(i);
});
}
c.addClass(h, "mceColorSplitMenu");
a.add(p.id + "_menu", "mousedown", function (i) {
return a.cancel(i);
});
a.add(p.id + "_menu", "click", function (i) {
var m;
i = c.getParent(i.target, "a", j);
if (
i &&
i.nodeName.toLowerCase() == "a" &&
(m = i.getAttribute("data-mce-color"))
) {
p.setColor(m);
}
return false;
});
return o;
},
setColor: function (f) {
this.displayColor(f);
this.hideMenu();
this.settings.onselect(f);
},
displayColor: function (g) {
var f = this;
c.setStyle(f.id + "_preview", "backgroundColor", g);
f.value = g;
},
postRender: function () {
var f = this,
g = f.id;
f.parent();
c.add(g + "_action", "div", {
id: g + "_preview",
class: "mceColorPreview",
});
c.setStyle(f.id + "_preview", "backgroundColor", f.value);
},
destroy: function () {
var f = this;
f.parent();
a.clear(f.id + "_menu");
a.clear(f.id + "_more");
c.remove(f.id + "_menu");
if (f.keyboardNav) {
f.keyboardNav.destroy();
}
},
});
})(tinymce);
(function (b) {
var d = b.DOM,
c = b.each,
a = b.dom.Event;
b.create("tinymce.ui.ToolbarGroup:tinymce.ui.Container", {
renderHTML: function () {
var f = this,
i = [],
e = f.controls,
j = b.each,
g = f.settings;
i.push(
'<div id="' +
f.id +
'" role="group" aria-labelledby="' +
f.id +
'_voice">',
);
i.push("<span role='application'>");
i.push(
'<span id="' +
f.id +
'_voice" class="mceVoiceLabel" style="display:none;">' +
d.encode(g.name) +
"</span>",
);
j(e, function (h) {
i.push(h.renderHTML());
});
i.push("</span>");
i.push("</div>");
return i.join("");
},
focus: function () {
var e = this;
d.get(e.id).focus();
},
postRender: function () {
var f = this,
e = [];
c(f.controls, function (g) {
c(g.controls, function (h) {
if (h.id) {
e.push(h);
}
});
});
f.keyNav = new b.ui.KeyboardNavigation({
root: f.id,
items: e,
onCancel: function () {
if (b.isWebKit) {
d.get(f.editor.id + "_ifr").focus();
}
f.editor.focus();
},
excludeFromTabOrder: !f.settings.tab_focus_toolbar,
});
},
destroy: function () {
var e = this;
e.parent();
e.keyNav.destroy();
a.clear(e.id);
},
});
})(tinymce);
(function (a) {
var c = a.DOM,
b = a.each;
a.create("tinymce.ui.Toolbar:tinymce.ui.Container", {
renderHTML: function () {
var m = this,
f = "",
j,
k,
n = m.settings,
e,
d,
g,
l;
l = m.controls;
for (e = 0; e < l.length; e++) {
k = l[e];
d = l[e - 1];
g = l[e + 1];
if (e === 0) {
j = "mceToolbarStart";
if (k.Button) {
j += " mceToolbarStartButton";
} else {
if (k.SplitButton) {
j += " mceToolbarStartSplitButton";
} else {
if (k.ListBox) {
j += " mceToolbarStartListBox";
}
}
}
f += c.createHTML(
"td",
{ class: j },
c.createHTML("span", null, "<!-- IE -->"),
);
}
if (d && k.ListBox) {
if (d.Button || d.SplitButton) {
f += c.createHTML(
"td",
{ class: "mceToolbarEnd" },
c.createHTML("span", null, "<!-- IE -->"),
);
}
}
if (c.stdMode) {
f += '<td style="position: relative">' + k.renderHTML() + "</td>";
} else {
f += "<td>" + k.renderHTML() + "</td>";
}
if (g && k.ListBox) {
if (g.Button || g.SplitButton) {
f += c.createHTML(
"td",
{ class: "mceToolbarStart" },
c.createHTML("span", null, "<!-- IE -->"),
);
}
}
}
j = "mceToolbarEnd";
if (k.Button) {
j += " mceToolbarEndButton";
} else {
if (k.SplitButton) {
j += " mceToolbarEndSplitButton";
} else {
if (k.ListBox) {
j += " mceToolbarEndListBox";
}
}
}
f += c.createHTML(
"td",
{ class: j },
c.createHTML("span", null, "<!-- IE -->"),
);
return c.createHTML(
"table",
{
id: m.id,
class: "mceToolbar" + (n["class"] ? " " + n["class"] : ""),
cellpadding: "0",
cellspacing: "0",
align: m.settings.align || "",
role: "presentation",
tabindex: "-1",
},
"<tbody><tr>" + f + "</tr></tbody>",
);
},
});
})(tinymce);
(function (b) {
var a = b.util.Dispatcher,
c = b.each;
b.create("tinymce.AddOnManager", {
AddOnManager: function () {
var d = this;
d.items = [];
d.urls = {};
d.lookup = {};
d.onAdd = new a(d);
},
get: function (d) {
if (this.lookup[d]) {
return this.lookup[d].instance;
} else {
return undefined;
}
},
dependencies: function (e) {
var d;
if (this.lookup[e]) {
d = this.lookup[e].dependencies;
}
return d || [];
},
requireLangPack: function (e) {
var d = b.settings;
if (d && d.language && d.language_load !== false) {
b.ScriptLoader.add(this.urls[e] + "/" + d.language + ".js");
}
},
add: function (f, e, d) {
this.items.push(e);
this.lookup[f] = { instance: e, dependencies: d };
this.onAdd.dispatch(this, f, e);
return e;
},
createUrl: function (d, e) {
if (typeof e === "object") {
return e;
} else {
return { prefix: d.prefix, resource: e, suffix: d.suffix };
}
},
addComponents: function (f, d) {
var e = this.urls[f];
b.each(d, function (g) {
b.ScriptLoader.add(e + "/" + g);
});
},
load: function (j, f, d, h) {
var g = this,
e = f;
function i() {
var k = g.dependencies(j);
b.each(k, function (m) {
var l = g.createUrl(f, m);
g.load(l.resource, l, undefined, undefined);
});
if (d) {
if (h) {
d.call(h);
} else {
d.call(b.ScriptLoader);
}
}
}
if (g.urls[j]) {
return;
}
if (typeof f === "object") {
e = f.prefix + f.resource + f.suffix;
}
if (e.indexOf("/") !== 0 && e.indexOf("://") == -1) {
e = b.baseURL + "/" + e;
}
g.urls[j] = e.substring(0, e.lastIndexOf("/"));
if (g.lookup[j]) {
i();
} else {
b.ScriptLoader.add(e, i, h);
}
},
});
b.PluginManager = new b.AddOnManager();
b.ThemeManager = new b.AddOnManager();
})(tinymce);
(function (j) {
var g = j.each,
d = j.extend,
k = j.DOM,
i = j.dom.Event,
f = j.ThemeManager,
b = j.PluginManager,
e = j.explode,
h = j.util.Dispatcher,
a,
c = 0;
j.documentBaseURL = window.location.href
.replace(/[\?#].*$/, "")
.replace(/[\/\\][^\/]+$/, "");
if (!/[\/\\]$/.test(j.documentBaseURL)) {
j.documentBaseURL += "/";
}
j.baseURL = new j.util.URI(j.documentBaseURL).toAbsolute(j.baseURL);
j.baseURI = new j.util.URI(j.baseURL);
j.onBeforeUnload = new h(j);
i.add(window, "beforeunload", function (l) {
j.onBeforeUnload.dispatch(j, l);
});
j.onAddEditor = new h(j);
j.onRemoveEditor = new h(j);
j.EditorManager = d(j, {
editors: [],
i18n: {},
activeEditor: null,
init: function (x) {
var v = this,
o,
n = j.ScriptLoader,
u,
l = [],
r;
function q(t) {
var s = t.id;
if (!s) {
s = t.name;
if (s && !k.get(s)) {
s = t.name;
} else {
s = k.uniqueId();
}
t.setAttribute("id", s);
}
return s;
}
function m(z, A, t) {
var y = z[A];
if (!y) {
return;
}
if (j.is(y, "string")) {
t = y.replace(/\.\w+$/, "");
t = t ? j.resolve(t) : 0;
y = j.resolve(y);
}
return y.apply(t || this, Array.prototype.slice.call(arguments, 2));
}
function p(t, s) {
return s.constructor === RegExp
? s.test(t.className)
: k.hasClass(t, s);
}
v.settings = x;
i.bind(window, "ready", function () {
var s, t;
m(x, "onpageload");
switch (x.mode) {
case "exact":
s = x.elements || "";
if (s.length > 0) {
g(e(s), function (y) {
if (k.get(y)) {
r = new j.Editor(y, x);
l.push(r);
r.render(1);
} else {
g(document.forms, function (z) {
g(z.elements, function (A) {
if (A.name === y) {
y = "mce_editor_" + c++;
k.setAttrib(A, "id", y);
r = new j.Editor(y, x);
l.push(r);
r.render(1);
}
});
});
}
});
}
break;
case "textareas":
case "specific_textareas":
g(k.select("textarea"), function (y) {
if (x.editor_deselector && p(y, x.editor_deselector)) {
return;
}
if (!x.editor_selector || p(y, x.editor_selector)) {
r = new j.Editor(q(y), x);
l.push(r);
r.render(1);
}
});
break;
default:
if (x.types) {
g(x.types, function (y) {
g(k.select(y.selector), function (A) {
var z = new j.Editor(q(A), j.extend({}, x, y));
l.push(z);
z.render(1);
});
});
} else {
if (x.selector) {
g(k.select(x.selector), function (z) {
var y = new j.Editor(q(z), x);
l.push(y);
y.render(1);
});
}
}
}
if (x.oninit) {
s = t = 0;
g(l, function (y) {
t++;
if (!y.initialized) {
y.onInit.add(function () {
s++;
if (s == t) {
m(x, "oninit");
}
});
} else {
s++;
}
if (s == t) {
m(x, "oninit");
}
});
}
});
},
get: function (l) {
if (l === a) {
return this.editors;
}
if (!this.editors.hasOwnProperty(l)) {
return a;
}
return this.editors[l];
},
getInstanceById: function (l) {
return this.get(l);
},
add: function (m) {
var l = this,
n = l.editors;
n[m.id] = m;
n.push(m);
l._setActive(m);
l.onAddEditor.dispatch(l, m);
return m;
},
remove: function (n) {
var m = this,
l,
o = m.editors;
if (!o[n.id]) {
return null;
}
delete o[n.id];
for (l = 0; l < o.length; l++) {
if (o[l] == n) {
o.splice(l, 1);
break;
}
}
if (m.activeEditor == n) {
m._setActive(o[0]);
}
n.destroy();
m.onRemoveEditor.dispatch(m, n);
return n;
},
execCommand: function (r, p, o) {
var q = this,
n = q.get(o),
l;
function m() {
n.destroy();
l.detachEvent("onunload", m);
l = l.tinyMCE = l.tinymce = null;
}
switch (r) {
case "mceFocus":
n.focus();
return true;
case "mceAddEditor":
case "mceAddControl":
if (!q.get(o)) {
new j.Editor(o, q.settings).render();
}
return true;
case "mceAddFrameControl":
l = o.window;
l.tinyMCE = tinyMCE;
l.tinymce = j;
j.DOM.doc = l.document;
j.DOM.win = l;
n = new j.Editor(o.element_id, o);
n.render();
if (j.isIE) {
l.attachEvent("onunload", m);
}
o.page_window = null;
return true;
case "mceRemoveEditor":
case "mceRemoveControl":
if (n) {
n.remove();
}
return true;
case "mceToggleEditor":
if (!n) {
q.execCommand("mceAddControl", 0, o);
return true;
}
if (n.isHidden()) {
n.show();
} else {
n.hide();
}
return true;
}
if (q.activeEditor) {
return q.activeEditor.execCommand(r, p, o);
}
return false;
},
execInstanceCommand: function (p, o, n, m) {
var l = this.get(p);
if (l) {
return l.execCommand(o, n, m);
}
return false;
},
triggerSave: function () {
g(this.editors, function (l) {
l.save();
});
},
addI18n: function (n, q) {
var l,
m = this.i18n;
if (!j.is(n, "string")) {
g(n, function (r, p) {
g(r, function (t, s) {
g(t, function (v, u) {
if (s === "common") {
m[p + "." + u] = v;
} else {
m[p + "." + s + "." + u] = v;
}
});
});
});
} else {
g(q, function (r, p) {
m[n + "." + p] = r;
});
}
},
_setActive: function (l) {
this.selectedInstance = this.activeEditor = l;
},
});
})(tinymce);
(function (k) {
var l = k.DOM,
j = k.dom.Event,
f = k.extend,
i = k.each,
a = k.isGecko,
b = k.isIE,
e = k.isWebKit,
d = k.is,
h = k.ThemeManager,
c = k.PluginManager,
g = k.explode;
k.create("tinymce.Editor", {
Editor: function (p, o) {
var m = this,
n = true;
m.settings = o = f(
{
id: p,
language: "en",
theme: "advanced",
skin: "default",
delta_width: 0,
delta_height: 0,
popup_css: "",
plugins: "",
document_base_url: k.documentBaseURL,
add_form_submit_trigger: n,
submit_patch: n,
add_unload_trigger: n,
convert_urls: n,
relative_urls: n,
remove_script_host: n,
table_inline_editing: false,
object_resizing: n,
accessibility_focus: n,
doctype: k.isIE6
? '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">'
: "<!DOCTYPE>",
visual: n,
font_size_style_values:
"xx-small,x-small,small,medium,large,x-large,xx-large",
font_size_legacy_values:
"xx-small,small,medium,large,x-large,xx-large,300%",
apply_source_formatting: n,
directionality: "ltr",
forced_root_block: "p",
hidden_input: n,
padd_empty_editor: n,
render_ui: n,
indentation: "30px",
fix_table_elements: n,
inline_styles: n,
convert_fonts_to_spans: n,
indent: "simple",
indent_before:
"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",
indent_after:
"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist",
validate: n,
entity_encoding: "named",
url_converter: m.convertURL,
url_converter_scope: m,
ie7_compat: n,
},
o,
);
m.id = m.editorId = p;
m.isNotDirty = false;
m.plugins = {};
m.documentBaseURI = new k.util.URI(
o.document_base_url || k.documentBaseURL,
{ base_uri: tinyMCE.baseURI },
);
m.baseURI = k.baseURI;
m.contentCSS = [];
m.contentStyles = [];
m.setupEvents();
m.execCommands = {};
m.queryStateCommands = {};
m.queryValueCommands = {};
m.execCallback("setup", m);
},
render: function (o) {
var p = this,
q = p.settings,
r = p.id,
m = k.ScriptLoader;
if (!j.domLoaded) {
j.add(window, "ready", function () {
p.render();
});
return;
}
tinyMCE.settings = q;
if (!p.getElement()) {
return;
}
if (k.isIDevice && !k.isIOS5) {
return;
}
if (
!/TEXTAREA|INPUT/i.test(p.getElement().nodeName) &&
q.hidden_input &&
l.getParent(r, "form")
) {
l.insertAfter(l.create("input", { type: "hidden", name: r }), r);
}
if (!q.content_editable) {
p.orgVisibility = p.getElement().style.visibility;
p.getElement().style.visibility = "hidden";
}
if (k.WindowManager) {
p.windowManager = new k.WindowManager(p);
}
if (q.encoding == "xml") {
p.onGetContent.add(function (s, t) {
if (t.save) {
t.content = l.encode(t.content);
}
});
}
if (q.add_form_submit_trigger) {
p.onSubmit.addToTop(function () {
if (p.initialized) {
p.save();
p.isNotDirty = 1;
}
});
}
if (q.add_unload_trigger) {
p._beforeUnload = tinyMCE.onBeforeUnload.add(function () {
if (p.initialized && !p.destroyed && !p.isHidden()) {
p.save({ format: "raw", no_events: true });
}
});
}
k.addUnload(p.destroy, p);
if (q.submit_patch) {
p.onBeforeRenderUI.add(function () {
var s = p.getElement().form;
if (!s) {
return;
}
if (s._mceOldSubmit) {
return;
}
if (!s.submit.nodeType && !s.submit.length) {
p.formElement = s;
s._mceOldSubmit = s.submit;
s.submit = function () {
k.triggerSave();
p.isNotDirty = 1;
return p.formElement._mceOldSubmit(p.formElement);
};
}
s = null;
});
}
function n() {
if (q.language && q.language_load !== false) {
m.add(k.baseURL + "/" + q.language + ".js");
}
if (
q.theme &&
typeof q.theme != "function" &&
q.theme.charAt(0) != "-" &&
!h.urls[q.theme]
) {
h.load(
q.theme,
"editor_template" + k.suffix + ".js",
);
}
i(g(q.plugins), function (t) {
if (t && !c.urls[t]) {
if (t.charAt(0) == "-") {
t = t.substr(1, t.length);
var s = c.dependencies(t);
i(s, function (v) {
var u = {
prefix: "plugins/",
resource: v,
suffix: "/editor_plugin" + k.suffix + ".js",
};
v = c.createUrl(u, v);
c.load(v.resource, v);
});
} else {
if (t == "safari") {
return;
}
c.load(t, {
prefix: "plugins/",
resource: t,
suffix: "/editor_plugin" + k.suffix + ".js",
});
}
}
});
m.loadQueue(function () {
if (!p.removed) {
p.init();
}
});
}
n();
},
init: function () {
var q,
G = this,
H = G.settings,
D,
y,
z,
C = G.getElement(),
p,
m,
E,
v,
B,
F,
x,
r = [];
k.add(G);
H.aria_label =
H.aria_label ||
l.getAttrib(C, "aria-label", G.getLang("aria.rich_text_area"));
if (H.theme) {
if (typeof H.theme != "function") {
H.theme = H.theme.replace(/-/, "");
p = h.get(H.theme);
G.theme = new p();
if (G.theme.init) {
G.theme.init(
G,
h.urls[H.theme] || k.documentBaseURL.replace(/\/$/, ""),
);
}
} else {
G.theme = H.theme;
}
}
function A(s) {
var t = c.get(s),
o = c.urls[s] || k.documentBaseURL.replace(/\/$/, ""),
n;
if (t && k.inArray(r, s) === -1) {
i(c.dependencies(s), function (u) {
A(u);
});
n = new t(G, o);
G.plugins[s] = n;
if (n.init) {
n.init(G, o);
r.push(s);
}
}
}
i(g(H.plugins.replace(/\-/g, "")), A);
if (H.popup_css !== false) {
if (H.popup_css) {
H.popup_css = G.documentBaseURI.toAbsolute(H.popup_css);
} else {
H.popup_css = G.baseURI.toAbsolute(
"dialog.css",
);
}
}
if (H.popup_css_add) {
H.popup_css += "," + G.documentBaseURI.toAbsolute(H.popup_css_add);
}
G.controlManager = new k.ControlManager(G);
G.onBeforeRenderUI.dispatch(G, G.controlManager);
if (H.render_ui && G.theme) {
G.orgDisplay = C.style.display;
if (typeof H.theme != "function") {
D = H.width || C.style.width || C.offsetWidth;
y = H.height || C.style.height || C.offsetHeight;
z = H.min_height || 100;
F = /^[0-9\.]+(|px)$/i;
if (F.test("" + D)) {
D = Math.max(parseInt(D, 10) + (p.deltaWidth || 0), 100);
}
if (F.test("" + y)) {
y = Math.max(parseInt(y, 10) + (p.deltaHeight || 0), z);
}
p = G.theme.renderUI({
targetNode: C,
width: D,
height: y,
deltaWidth: H.delta_width,
deltaHeight: H.delta_height,
});
l.setStyles(p.sizeContainer || p.editorContainer, {
width: D,
height: y,
});
y =
(p.iframeHeight || y) +
(typeof y == "number" ? p.deltaHeight || 0 : "");
if (y < z) {
y = z;
}
} else {
p = H.theme(G, C);
if (p.editorContainer.nodeType) {
p.editorContainer = p.editorContainer.id =
p.editorContainer.id || G.id + "_parent";
}
if (p.iframeContainer.nodeType) {
p.iframeContainer = p.iframeContainer.id =
p.iframeContainer.id || G.id + "_iframecontainer";
}
y = p.iframeHeight || C.offsetHeight;
if (b) {
G.onInit.add(function (n) {
n.dom.bind(n.getBody(), "beforedeactivate keydown", function () {
n.lastIERng = n.selection.getRng();
});
});
}
}
G.editorContainer = p.editorContainer;
}
if (H.content_css) {
i(g(H.content_css), function (n) {
G.contentCSS.push(G.documentBaseURI.toAbsolute(n));
});
}
if (H.content_style) {
G.contentStyles.push(H.content_style);
}
if (H.content_editable) {
C = q = p = null;
return G.initContentBody();
}
if (document.domain && location.hostname != document.domain) {
k.relaxedDomain = document.domain;
}
G.iframeHTML =
H.doctype + '<html><head xmlns="http://www.w3.org/1999/xhtml">';
if (H.document_base_url != k.documentBaseURL) {
G.iframeHTML += '<base href="' + G.documentBaseURI.getURI() + '" />';
}
if (k.isIE8) {
if (H.ie7_compat) {
G.iframeHTML +=
'<meta http-equiv="X-UA-Compatible" content="IE=7" />';
} else {
G.iframeHTML +=
'<meta http-equiv="X-UA-Compatible" content="IE=edge" />';
}
}
G.iframeHTML +=
'<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />';
for (x = 0; x < G.contentCSS.length; x++) {
G.iframeHTML +=
'<link type="text/css" rel="stylesheet" href="' +
G.contentCSS[x] +
'" />';
}
G.contentCSS = [];
v = H.body_id || "tinymce";
if (v.indexOf("=") != -1) {
v = G.getParam("body_id", "", "hash");
v = v[G.id] || v;
}
B = H.body_class || "";
if (B.indexOf("=") != -1) {
B = G.getParam("body_class", "", "hash");
B = B[G.id] || "";
}
G.iframeHTML +=
'</head><body id="' +
v +
'" class="mceContentBody ' +
B +
'" onload="window.parent.tinyMCE.get(\'' +
G.id +
"').onLoad.dispatch();\"><br></body></html>";
if (
k.relaxedDomain &&
(b || (k.isOpera && parseFloat(opera.version()) < 11))
) {
E =
'javascript:(function(){document.open();document.domain="' +
document.domain +
'";var ed = window.parent.tinyMCE.get("' +
G.id +
'");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()';
}
q = l.add(p.iframeContainer, "iframe", {
id: G.id + "_ifr",
src: E || 'javascript:""',
frameBorder: "0",
allowTransparency: "true",
title: H.aria_label,
style: { width: "100%", height: y, display: "block" },
});
G.contentAreaContainer = p.iframeContainer;
if (p.editorContainer) {
l.get(p.editorContainer).style.display = G.orgDisplay;
}
C.style.visibility = G.orgVisibility;
l.get(G.id).style.display = "none";
l.setAttrib(G.id, "aria-hidden", true);
if (!k.relaxedDomain || !E) {
G.initContentBody();
}
C = q = p = null;
},
initContentBody: function () {
var n = this,
p = n.settings,
q = l.get(n.id),
r = n.getDoc(),
o,
m,
s;
if ((!b || !k.relaxedDomain) && !p.content_editable) {
r.open();
r.write(n.iframeHTML);
r.close();
if (k.relaxedDomain) {
r.domain = k.relaxedDomain;
}
}
if (p.content_editable) {
l.addClass(q, "mceContentBody");
n.contentDocument = r = p.content_document || document;
n.contentWindow = p.content_window || window;
n.bodyElement = q;
p.content_document = p.content_window = null;
}
m = n.getBody();
m.disabled = true;
if (!p.readonly) {
m.contentEditable = n.getParam("content_editable_state", true);
}
m.disabled = false;
n.schema = new k.html.Schema(p);
n.dom = new k.dom.DOMUtils(r, {
keep_values: true,
url_converter: n.convertURL,
url_converter_scope: n,
hex_colors: p.force_hex_style_colors,
class_filter: p.class_filter,
update_styles: true,
root_element: p.content_editable ? n.id : null,
schema: n.schema,
});
n.parser = new k.html.DomParser(p, n.schema);
n.parser.addAttributeFilter("src,href,style", function (t, u) {
var v = t.length,
y,
A = n.dom,
z,
x;
while (v--) {
y = t[v];
z = y.attr(u);
x = "data-mce-" + u;
if (!y.attributes.map[x]) {
if (u === "style") {
y.attr(x, A.serializeStyle(A.parseStyle(z), y.name));
} else {
y.attr(x, n.convertURL(z, u, y.name));
}
}
}
});
n.parser.addNodeFilter("script", function (t, u) {
var v = t.length,
x;
while (v--) {
x = t[v];
x.attr("type", "mce-" + (x.attr("type") || "text/javascript"));
}
});
n.parser.addNodeFilter("#cdata", function (t, u) {
var v = t.length,
x;
while (v--) {
x = t[v];
x.type = 8;
x.name = "#comment";
x.value = "[CDATA[" + x.value + "]]";
}
});
n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div", function (u, v) {
var x = u.length,
y,
t = n.schema.getNonEmptyElements();
while (x--) {
y = u[x];
if (y.isEmpty(t)) {
y.empty().append(new k.html.Node("br", 1)).shortEnded = true;
}
}
});
n.serializer = new k.dom.Serializer(p, n.dom, n.schema);
n.selection = new k.dom.Selection(n.dom, n.getWin(), n.serializer, n);
n.formatter = new k.Formatter(n);
n.undoManager = new k.UndoManager(n);
n.forceBlocks = new k.ForceBlocks(n);
n.enterKey = new k.EnterKey(n);
n.editorCommands = new k.EditorCommands(n);
n.onExecCommand.add(function (t, u) {
if (!/^(FontName|FontSize)$/.test(u)) {
n.nodeChanged();
}
});
n.serializer.onPreProcess.add(function (t, u) {
return n.onPreProcess.dispatch(n, u, t);
});
n.serializer.onPostProcess.add(function (t, u) {
return n.onPostProcess.dispatch(n, u, t);
});
n.onPreInit.dispatch(n);
if (!p.browser_spellcheck && !p.gecko_spellcheck) {
r.body.spellcheck = false;
}
if (!p.readonly) {
n.bindNativeEvents();
}
n.controlManager.onPostRender.dispatch(n, n.controlManager);
n.onPostRender.dispatch(n);
n.quirks = k.util.Quirks(n);
if (p.directionality) {
m.dir = p.directionality;
}
if (p.nowrap) {
m.style.whiteSpace = "nowrap";
}
if (p.protect) {
n.onBeforeSetContent.add(function (t, u) {
i(p.protect, function (v) {
u.content = u.content.replace(v, function (x) {
return "<!--mce:protected " + escape(x) + "-->";
});
});
});
}
n.onSetContent.add(function () {
n.addVisual(n.getBody());
});
if (p.padd_empty_editor) {
n.onPostProcess.add(function (t, u) {
u.content = u.content.replace(
/^(<p[^>]*>(&nbsp;|&#160;|\s|\u00a0|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,
"",
);
});
}
n.load({ initial: true, format: "html" });
n.startContent = n.getContent({ format: "raw" });
n.initialized = true;
n.onInit.dispatch(n);
n.execCallback("setupcontent_callback", n.id, m, r);
n.execCallback("init_instance_callback", n);
n.focus(true);
n.nodeChanged({ initial: true });
if (n.contentStyles.length > 0) {
s = "";
i(n.contentStyles, function (t) {
s += t + "\r\n";
});
n.dom.addStyle(s);
}
i(n.contentCSS, function (t) {
n.dom.loadCSS(t);
});
if (p.auto_focus) {
setTimeout(function () {
var t = k.get(p.auto_focus);
t.selection.select(t.getBody(), 1);
t.selection.collapse(1);
t.getBody().focus();
t.getWin().focus();
}, 100);
}
q = r = m = null;
},
focus: function (p) {
var o,
u = this,
t = u.selection,
q = u.settings.content_editable,
n,
r,
s = u.getDoc(),
m;
if (!p) {
if (u.lastIERng) {
t.setRng(u.lastIERng);
}
n = t.getRng();
if (n.item) {
r = n.item(0);
}
u._refreshContentEditable();
if (!q) {
u.getWin().focus();
}
if (k.isGecko || q) {
m = u.getBody();
if (m.setActive) {
m.setActive();
} else {
m.focus();
}
if (q) {
t.normalize();
}
}
if (r && r.ownerDocument == s) {
n = s.body.createControlRange();
n.addElement(r);
n.select();
}
}
if (k.activeEditor != u) {
if ((o = k.activeEditor) != null) {
o.onDeactivate.dispatch(o, u);
}
u.onActivate.dispatch(u, o);
}
k._setActive(u);
},
execCallback: function (q) {
var m = this,
p = m.settings[q],
o;
if (!p) {
return;
}
if (m.callbackLookup && (o = m.callbackLookup[q])) {
p = o.func;
o = o.scope;
}
if (d(p, "string")) {
o = p.replace(/\.\w+$/, "");
o = o ? k.resolve(o) : 0;
p = k.resolve(p);
m.callbackLookup = m.callbackLookup || {};
m.callbackLookup[q] = { func: p, scope: o };
}
return p.apply(o || m, Array.prototype.slice.call(arguments, 1));
},
translate: function (m) {
var o = this.settings.language || "en",
n = k.i18n;
if (!m) {
return "";
}
return (
n[o + "." + m] ||
m.replace(/\{\#([^\}]+)\}/g, function (q, p) {
return n[o + "." + p] || "{#" + p + "}";
})
);
},
getLang: function (o, m) {
return (
k.i18n[(this.settings.language || "en") + "." + o] ||
(d(m) ? m : "{#" + o + "}")
);
},
getParam: function (t, q, m) {
var r = k.trim,
p = d(this.settings[t]) ? this.settings[t] : q,
s;
if (m === "hash") {
s = {};
if (d(p, "string")) {
i(
p.indexOf("=") > 0
? p.split(/[;,](?![^=;,]*(?:[;,]|$))/)
: p.split(","),
function (n) {
n = n.split("=");
if (n.length > 1) {
s[r(n[0])] = r(n[1]);
} else {
s[r(n[0])] = r(n);
}
},
);
} else {
s = p;
}
return s;
}
return p;
},
nodeChanged: function (q) {
var m = this,
n = m.selection,
p;
if (m.initialized) {
q = q || {};
p = n.getStart() || m.getBody();
p = b && p.ownerDocument != m.getDoc() ? m.getBody() : p;
q.parents = [];
m.dom.getParent(p, function (o) {
if (o.nodeName == "BODY") {
return true;
}
q.parents.push(o);
});
m.onNodeChange.dispatch(
m,
q ? q.controlManager || m.controlManager : m.controlManager,
p,
n.isCollapsed(),
q,
);
}
},
addButton: function (n, o) {
var m = this;
m.buttons = m.buttons || {};
m.buttons[n] = o;
},
addCommand: function (m, o, n) {
this.execCommands[m] = { func: o, scope: n || this };
},
addQueryStateHandler: function (m, o, n) {
this.queryStateCommands[m] = { func: o, scope: n || this };
},
addQueryValueHandler: function (m, o, n) {
this.queryValueCommands[m] = { func: o, scope: n || this };
},
addShortcut: function (o, q, m, p) {
var n = this,
r;
if (n.settings.custom_shortcuts === false) {
return false;
}
n.shortcuts = n.shortcuts || {};
if (d(m, "string")) {
r = m;
m = function () {
n.execCommand(r, false, null);
};
}
if (d(m, "object")) {
r = m;
m = function () {
n.execCommand(r[0], r[1], r[2]);
};
}
i(g(o), function (s) {
var t = {
func: m,
scope: p || this,
desc: n.translate(q),
alt: false,
ctrl: false,
shift: false,
};
i(g(s, "+"), function (u) {
switch (u) {
case "alt":
case "ctrl":
case "shift":
t[u] = true;
break;
default:
t.charCode = u.charCodeAt(0);
t.keyCode = u.toUpperCase().charCodeAt(0);
}
});
n.shortcuts[
(t.ctrl ? "ctrl" : "") +
"," +
(t.alt ? "alt" : "") +
"," +
(t.shift ? "shift" : "") +
"," +
t.keyCode
] = t;
});
return true;
},
execCommand: function (u, r, x, m) {
var p = this,
q = 0,
v,
n;
if (
!/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(
u,
) &&
(!m || !m.skip_focus)
) {
p.focus();
}
m = f({}, m);
p.onBeforeExecCommand.dispatch(p, u, r, x, m);
if (m.terminate) {
return false;
}
if (
p.execCallback(
"execcommand_callback",
p.id,
p.selection.getNode(),
u,
r,
x,
)
) {
p.onExecCommand.dispatch(p, u, r, x, m);
return true;
}
if ((v = p.execCommands[u])) {
n = v.func.call(v.scope, r, x);
if (n !== true) {
p.onExecCommand.dispatch(p, u, r, x, m);
return n;
}
}
i(p.plugins, function (o) {
if (o.execCommand && o.execCommand(u, r, x)) {
p.onExecCommand.dispatch(p, u, r, x, m);
q = 1;
return false;
}
});
if (q) {
return true;
}
if (p.theme && p.theme.execCommand && p.theme.execCommand(u, r, x)) {
p.onExecCommand.dispatch(p, u, r, x, m);
return true;
}
if (p.editorCommands.execCommand(u, r, x)) {
p.onExecCommand.dispatch(p, u, r, x, m);
return true;
}
p.getDoc().execCommand(u, r, x);
p.onExecCommand.dispatch(p, u, r, x, m);
},
queryCommandState: function (q) {
var n = this,
r,
p;
if (n._isHidden()) {
return;
}
if ((r = n.queryStateCommands[q])) {
p = r.func.call(r.scope);
if (p !== true) {
return p;
}
}
r = n.editorCommands.queryCommandState(q);
if (r !== -1) {
return r;
}
try {
return this.getDoc().queryCommandState(q);
} catch (m) {}
},
queryCommandValue: function (r) {
var n = this,
q,
p;
if (n._isHidden()) {
return;
}
if ((q = n.queryValueCommands[r])) {
p = q.func.call(q.scope);
if (p !== true) {
return p;
}
}
q = n.editorCommands.queryCommandValue(r);
if (d(q)) {
return q;
}
try {
return this.getDoc().queryCommandValue(r);
} catch (m) {}
},
show: function () {
var m = this;
l.show(m.getContainer());
l.hide(m.id);
m.load();
},
hide: function () {
var m = this,
n = m.getDoc();
if (b && n) {
n.execCommand("SelectAll");
}
m.save();
l.hide(m.getContainer());
l.setStyle(m.id, "display", m.orgDisplay);
},
isHidden: function () {
return !l.isHidden(this.id);
},
setProgressState: function (m, n, p) {
this.onSetProgressState.dispatch(this, m, n, p);
return m;
},
load: function (q) {
var m = this,
p = m.getElement(),
n;
if (p) {
q = q || {};
q.load = true;
n = m.setContent(d(p.value) ? p.value : p.innerHTML, q);
q.element = p;
if (!q.no_events) {
m.onLoadContent.dispatch(m, q);
}
q.element = p = null;
return n;
}
},
save: function (r) {
var m = this,
q = m.getElement(),
n,
p;
if (!q || !m.initialized) {
return;
}
r = r || {};
r.save = true;
r.element = q;
n = r.content = m.getContent(r);
if (!r.no_events) {
m.onSaveContent.dispatch(m, r);
}
n = r.content;
if (!/TEXTAREA|INPUT/i.test(q.nodeName)) {
q.innerHTML = n;
if ((p = l.getParent(m.id, "form"))) {
i(p.elements, function (o) {
if (o.name == m.id) {
o.value = n;
return false;
}
});
}
} else {
q.value = n;
}
r.element = q = null;
return n;
},
setContent: function (r, p) {
var o = this,
n,
m = o.getBody(),
q;
p = p || {};
p.format = p.format || "html";
p.set = true;
p.content = r;
if (!p.no_events) {
o.onBeforeSetContent.dispatch(o, p);
}
r = p.content;
if (!k.isIE && (r.length === 0 || /^\s+$/.test(r))) {
q = o.settings.forced_root_block;
if (q) {
r = "<" + q + '><br data-mce-bogus="1"></' + q + ">";
} else {
r = '<br data-mce-bogus="1">';
}
m.innerHTML = r;
o.selection.select(m, true);
o.selection.collapse(true);
return;
}
if (p.format !== "raw") {
r = new k.html.Serializer({}, o.schema).serialize(o.parser.parse(r));
}
p.content = k.trim(r);
o.dom.setHTML(m, p.content);
if (!p.no_events) {
o.onSetContent.dispatch(o, p);
}
if (
!o.settings.content_editable ||
document.activeElement === o.getBody()
) {
o.selection.normalize();
}
return p.content;
},
getContent: function (o) {
var n = this,
p,
m = n.getBody();
o = o || {};
o.format = o.format || "html";
o.get = true;
o.getInner = true;
if (!o.no_events) {
n.onBeforeGetContent.dispatch(n, o);
}
if (o.format == "raw") {
p = m.innerHTML;
} else {
if (o.format == "text") {
p = m.innerText || m.textContent;
} else {
p = n.serializer.serialize(m, o);
}
}
if (o.format != "text") {
o.content = k.trim(p);
} else {
o.content = p;
}
if (!o.no_events) {
n.onGetContent.dispatch(n, o);
}
return o.content;
},
isDirty: function () {
var m = this;
return (
k.trim(m.startContent) !=
k.trim(m.getContent({ format: "raw", no_events: 1 })) && !m.isNotDirty
);
},
getContainer: function () {
var m = this;
if (!m.container) {
m.container = l.get(m.editorContainer || m.id + "_parent");
}
return m.container;
},
getContentAreaContainer: function () {
return this.contentAreaContainer;
},
getElement: function () {
return l.get(this.settings.content_element || this.id);
},
getWin: function () {
var m = this,
n;
if (!m.contentWindow) {
n = l.get(m.id + "_ifr");
if (n) {
m.contentWindow = n.contentWindow;
}
}
return m.contentWindow;
},
getDoc: function () {
var m = this,
n;
if (!m.contentDocument) {
n = m.getWin();
if (n) {
m.contentDocument = n.document;
}
}
return m.contentDocument;
},
getBody: function () {
return this.bodyElement || this.getDoc().body;
},
convertURL: function (o, n, q) {
var m = this,
p = m.settings;
if (p.urlconverter_callback) {
return m.execCallback("urlconverter_callback", o, q, true, n);
}
if (
!p.convert_urls ||
(q && q.nodeName == "LINK") ||
o.indexOf("file:") === 0
) {
return o;
}
if (p.relative_urls) {
return m.documentBaseURI.toRelative(o);
}
o = m.documentBaseURI.toAbsolute(o, p.remove_script_host);
return o;
},
addVisual: function (q) {
var n = this,
o = n.settings,
p = n.dom,
m;
q = q || n.getBody();
if (!d(n.hasVisual)) {
n.hasVisual = o.visual;
}
i(p.select("table,a", q), function (s) {
var r;
switch (s.nodeName) {
case "TABLE":
m = o.visual_table_class || "mceItemTable";
r = p.getAttrib(s, "border");
if (!r || r == "0") {
if (n.hasVisual) {
p.addClass(s, m);
} else {
p.removeClass(s, m);
}
}
return;
case "A":
if (!p.getAttrib(s, "href", false)) {
r = p.getAttrib(s, "name") || s.id;
m = "mceItemAnchor";
if (r) {
if (n.hasVisual) {
p.addClass(s, m);
} else {
p.removeClass(s, m);
}
}
}
return;
}
});
n.onVisualAid.dispatch(n, q, n.hasVisual);
},
remove: function () {
var m = this,
o = m.getContainer(),
n = m.getDoc();
if (!m.removed) {
m.removed = 1;
if (b && n) {
n.execCommand("SelectAll");
}
m.save();
l.setStyle(m.id, "display", m.orgDisplay);
if (!m.settings.content_editable) {
j.unbind(m.getWin());
j.unbind(m.getDoc());
}
j.unbind(m.getBody());
j.clear(o);
m.execCallback("remove_instance_callback", m);
m.onRemove.dispatch(m);
m.onExecCommand.listeners = [];
k.remove(m);
l.remove(o);
}
},
destroy: function (n) {
var m = this;
if (m.destroyed) {
return;
}
if (a) {
j.unbind(m.getDoc());
j.unbind(m.getWin());
j.unbind(m.getBody());
}
if (!n) {
k.removeUnload(m.destroy);
tinyMCE.onBeforeUnload.remove(m._beforeUnload);
if (m.theme && m.theme.destroy) {
m.theme.destroy();
}
m.controlManager.destroy();
m.selection.destroy();
m.dom.destroy();
}
if (m.formElement) {
m.formElement.submit = m.formElement._mceOldSubmit;
m.formElement._mceOldSubmit = null;
}
m.contentAreaContainer =
m.formElement =
m.container =
m.settings.content_element =
m.bodyElement =
m.contentDocument =
m.contentWindow =
null;
if (m.selection) {
m.selection =
m.selection.win =
m.selection.dom =
m.selection.dom.doc =
null;
}
m.destroyed = 1;
},
_refreshContentEditable: function () {
var n = this,
m,
o;
if (n._isHidden()) {
m = n.getBody();
o = m.parentNode;
o.removeChild(m);
o.appendChild(m);
m.focus();
}
},
_isHidden: function () {
var m;
if (!a) {
return 0;
}
m = this.selection.getSel();
return !m || !m.rangeCount || m.rangeCount === 0;
},
});
})(tinymce);
(function (a) {
var b = a.each;
a.Editor.prototype.setupEvents = function () {
var c = this,
d = c.settings;
b(
[
"onPreInit",
"onBeforeRenderUI",
"onPostRender",
"onLoad",
"onInit",
"onRemove",
"onActivate",
"onDeactivate",
"onClick",
"onEvent",
"onMouseUp",
"onMouseDown",
"onDblClick",
"onKeyDown",
"onKeyUp",
"onKeyPress",
"onContextMenu",
"onSubmit",
"onReset",
"onPaste",
"onPreProcess",
"onPostProcess",
"onBeforeSetContent",
"onBeforeGetContent",
"onSetContent",
"onGetContent",
"onLoadContent",
"onSaveContent",
"onNodeChange",
"onChange",
"onBeforeExecCommand",
"onExecCommand",
"onUndo",
"onRedo",
"onVisualAid",
"onSetProgressState",
"onSetAttrib",
],
function (e) {
c[e] = new a.util.Dispatcher(c);
},
);
if (d.cleanup_callback) {
c.onBeforeSetContent.add(function (e, f) {
f.content = e.execCallback(
"cleanup_callback",
"insert_to_editor",
f.content,
f,
);
});
c.onPreProcess.add(function (e, f) {
if (f.set) {
e.execCallback("cleanup_callback", "insert_to_editor_dom", f.node, f);
}
if (f.get) {
e.execCallback("cleanup_callback", "get_from_editor_dom", f.node, f);
}
});
c.onPostProcess.add(function (e, f) {
if (f.set) {
f.content = e.execCallback(
"cleanup_callback",
"insert_to_editor",
f.content,
f,
);
}
if (f.get) {
f.content = e.execCallback(
"cleanup_callback",
"get_from_editor",
f.content,
f,
);
}
});
}
if (d.save_callback) {
c.onGetContent.add(function (e, f) {
if (f.save) {
f.content = e.execCallback(
"save_callback",
e.id,
f.content,
e.getBody(),
);
}
});
}
if (d.handle_event_callback) {
c.onEvent.add(function (f, g, h) {
if (c.execCallback("handle_event_callback", g, f, h) === false) {
g.preventDefault();
g.stopPropagation();
}
});
}
if (d.handle_node_change_callback) {
c.onNodeChange.add(function (f, e, g) {
f.execCallback(
"handle_node_change_callback",
f.id,
g,
-1,
-1,
true,
f.selection.isCollapsed(),
);
});
}
if (d.save_callback) {
c.onSaveContent.add(function (e, g) {
var f = e.execCallback("save_callback", e.id, g.content, e.getBody());
if (f) {
g.content = f;
}
});
}
if (d.onchange_callback) {
c.onChange.add(function (f, e) {
f.execCallback("onchange_callback", f, e);
});
}
};
a.Editor.prototype.bindNativeEvents = function () {
var l = this,
f,
d = l.settings,
e = l.dom,
h;
h = {
mouseup: "onMouseUp",
mousedown: "onMouseDown",
click: "onClick",
keyup: "onKeyUp",
keydown: "onKeyDown",
keypress: "onKeyPress",
submit: "onSubmit",
reset: "onReset",
contextmenu: "onContextMenu",
dblclick: "onDblClick",
paste: "onPaste",
};
function c(i, m) {
var n = i.type;
if (l.removed) {
return;
}
if (l.onEvent.dispatch(l, i, m) !== false) {
l[h[i.fakeType || i.type]].dispatch(l, i, m);
}
}
function j(i) {
l.focus(true);
}
function k(i, m) {
if (m.keyCode != 65 || !a.VK.metaKeyPressed(m)) {
l.selection.normalize();
}
l.nodeChanged();
}
b(h, function (m, n) {
var i = d.content_editable ? l.getBody() : l.getDoc();
switch (n) {
case "contextmenu":
e.bind(i, n, c);
break;
case "paste":
e.bind(l.getBody(), n, c);
break;
case "submit":
case "reset":
e.bind(l.getElement().form || a.DOM.getParent(l.id, "form"), n, c);
break;
default:
e.bind(i, n, c);
}
});
e.bind(
d.content_editable ? l.getBody() : a.isGecko ? l.getDoc() : l.getWin(),
"focus",
function (i) {
l.focus(true);
},
);
if (d.content_editable && a.isOpera) {
e.bind(l.getBody(), "click", j);
e.bind(l.getBody(), "keydown", j);
}
l.onMouseUp.add(k);
l.onKeyUp.add(function (i, n) {
var m = n.keyCode;
if (
(m >= 33 && m <= 36) ||
(m >= 37 && m <= 40) ||
m == 13 ||
m == 45 ||
m == 46 ||
m == 8 ||
(a.isMac && (m == 91 || m == 93)) ||
n.ctrlKey
) {
k(i, n);
}
});
l.onReset.add(function () {
l.setContent(l.startContent, { format: "raw" });
});
function g(m, i) {
if (m.altKey || m.ctrlKey || m.metaKey) {
b(l.shortcuts, function (n) {
var o = a.isMac ? m.metaKey : m.ctrlKey;
if (n.ctrl != o || n.alt != m.altKey || n.shift != m.shiftKey) {
return;
}
if (
m.keyCode == n.keyCode ||
(m.charCode && m.charCode == n.charCode)
) {
m.preventDefault();
if (i) {
n.func.call(n.scope);
}
return true;
}
});
}
}
l.onKeyUp.add(function (i, m) {
g(m);
});
l.onKeyPress.add(function (i, m) {
g(m);
});
l.onKeyDown.add(function (i, m) {
g(m, true);
});
if (a.isOpera) {
l.onClick.add(function (i, m) {
m.preventDefault();
});
}
};
})(tinymce);
(function (d) {
var e = d.each,
b,
a = true,
c = false;
d.EditorCommands = function (n) {
var m = n.dom,
p = n.selection,
j = { state: {}, exec: {}, value: {} },
k = n.settings,
q = n.formatter,
o;
function r(z, y, x) {
var v;
z = z.toLowerCase();
if ((v = j.exec[z])) {
v(z, y, x);
return a;
}
return c;
}
function l(x) {
var v;
x = x.toLowerCase();
if ((v = j.state[x])) {
return v(x);
}
return -1;
}
function h(x) {
var v;
x = x.toLowerCase();
if ((v = j.value[x])) {
return v(x);
}
return c;
}
function u(v, x) {
x = x || "exec";
e(v, function (z, y) {
e(y.toLowerCase().split(","), function (A) {
j[x][A] = z;
});
});
}
d.extend(this, {
execCommand: r,
queryCommandState: l,
queryCommandValue: h,
addCommands: u,
});
function f(y, x, v) {
if (x === b) {
x = c;
}
if (v === b) {
v = null;
}
return n.getDoc().execCommand(y, x, v);
}
function t(v) {
return q.match(v);
}
function s(v, x) {
q.toggle(v, x ? { value: x } : b);
}
function i(v) {
o = p.getBookmark(v);
}
function g() {
p.moveToBookmark(o);
}
u({
"mceResetDesignMode,mceBeginUndoLevel": function () {},
"mceEndUndoLevel,mceAddUndoLevel": function () {
n.undoManager.add();
},
"Cut,Copy,Paste": function (z) {
var y = n.getDoc(),
v;
try {
f(z);
} catch (x) {
v = a;
}
if (v || !y.queryCommandSupported(z)) {
if (d.isGecko) {
n.windowManager.confirm(n.getLang("clipboard_msg"), function (A) {
if (A) {
open(
"http://www.mozilla.org/editor/midasdemo/securityprefs.html",
"_blank",
);
}
});
} else {
n.windowManager.alert(n.getLang("clipboard_no_support"));
}
}
},
unlink: function (v) {
if (p.isCollapsed()) {
p.select(p.getNode());
}
f(v);
p.collapse(c);
},
"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull": function (v) {
var x = v.substring(7);
e("left,center,right,full".split(","), function (y) {
if (x != y) {
q.remove("align" + y);
}
});
s("align" + x);
r("mceRepaint");
},
"InsertUnorderedList,InsertOrderedList": function (y) {
var v, x;
f(y);
v = m.getParent(p.getNode(), "ol,ul");
if (v) {
x = v.parentNode;
if (/^(H[1-6]|P|ADDRESS|PRE)$/.test(x.nodeName)) {
i();
m.split(x, v);
g();
}
}
},
"Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function (
v,
) {
s(v);
},
"ForeColor,HiliteColor,FontName": function (y, x, v) {
s(y, v);
},
FontSize: function (z, y, x) {
var v, A;
if (x >= 1 && x <= 7) {
A = d.explode(k.font_size_style_values);
v = d.explode(k.font_size_classes);
if (v) {
x = v[x - 1] || x;
} else {
x = A[x - 1] || x;
}
}
s(z, x);
},
RemoveFormat: function (v) {
q.remove(v);
},
mceBlockQuote: function (v) {
s("blockquote");
},
FormatBlock: function (y, x, v) {
return s(v || "p");
},
mceCleanup: function () {
var v = p.getBookmark();
n.setContent(n.getContent({ cleanup: a }), { cleanup: a });
p.moveToBookmark(v);
},
mceRemoveNode: function (z, y, x) {
var v = x || p.getNode();
if (v != n.getBody()) {
i();
n.dom.remove(v, a);
g();
}
},
mceSelectNodeDepth: function (z, y, x) {
var v = 0;
m.getParent(
p.getNode(),
function (A) {
if (A.nodeType == 1 && v++ == x) {
p.select(A);
return c;
}
},
n.getBody(),
);
},
mceSelectNode: function (y, x, v) {
p.select(v);
},
mceInsertContent: function (B, I, K) {
var y, J, E, z, F, G, D, C, L, x, A, M, v, H;
y = n.parser;
J = new d.html.Serializer({}, n.schema);
v = '<span id="mce_marker" data-mce-type="bookmark">\uFEFF</span>';
G = { content: K, format: "html" };
p.onBeforeSetContent.dispatch(p, G);
K = G.content;
if (K.indexOf("{$caret}") == -1) {
K += "{$caret}";
}
K = K.replace(/\{\$caret\}/, v);
if (!p.isCollapsed()) {
n.getDoc().execCommand("Delete", false, null);
}
E = p.getNode();
G = { context: E.nodeName.toLowerCase() };
F = y.parse(K, G);
A = F.lastChild;
if (A.attr("id") == "mce_marker") {
D = A;
for (A = A.prev; A; A = A.walk(true)) {
if (A.type == 3 || !m.isBlock(A.name)) {
A.parent.insert(D, A, A.name === "br");
break;
}
}
}
if (!G.invalid) {
K = J.serialize(F);
A = E.firstChild;
M = E.lastChild;
if (!A || (A === M && A.nodeName === "BR")) {
m.setHTML(E, K);
} else {
p.setContent(K);
}
} else {
p.setContent(v);
E = p.getNode();
z = n.getBody();
if (E.nodeType == 9) {
E = A = z;
} else {
A = E;
}
while (A !== z) {
E = A;
A = A.parentNode;
}
K = E == z ? z.innerHTML : m.getOuterHTML(E);
K = J.serialize(
y.parse(
K.replace(
/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,
function () {
return J.serialize(F);
},
),
),
);
if (E == z) {
m.setHTML(z, K);
} else {
m.setOuterHTML(E, K);
}
}
D = m.get("mce_marker");
C = m.getRect(D);
L = m.getViewPort(n.getWin());
if (
C.y + C.h > L.y + L.h ||
C.y < L.y ||
C.x > L.x + L.w ||
C.x < L.x
) {
H = d.isIE ? n.getDoc().documentElement : n.getBody();
H.scrollLeft = C.x;
H.scrollTop = C.y - L.h + 25;
}
x = m.createRng();
A = D.previousSibling;
if (A && A.nodeType == 3) {
x.setStart(A, A.nodeValue.length);
} else {
x.setStartBefore(D);
x.setEndBefore(D);
}
m.remove(D);
p.setRng(x);
p.onSetContent.dispatch(p, G);
n.addVisual();
},
mceInsertRawHTML: function (y, x, v) {
p.setContent("tiny_mce_marker");
n.setContent(
n.getContent().replace(/tiny_mce_marker/g, function () {
return v;
}),
);
},
mceToggleFormat: function (y, x, v) {
s(v);
},
mceSetContent: function (y, x, v) {
n.setContent(v);
},
"Indent,Outdent": function (z) {
var x, v, y;
x = k.indentation;
v = /[a-z%]+$/i.exec(x);
x = parseInt(x);
if (!l("InsertUnorderedList") && !l("InsertOrderedList")) {
if (!k.forced_root_block && !m.getParent(p.getNode(), m.isBlock)) {
q.apply("div");
}
e(p.getSelectedBlocks(), function (A) {
if (z == "outdent") {
y = Math.max(0, parseInt(A.style.paddingLeft || 0) - x);
m.setStyle(A, "paddingLeft", y ? y + v : "");
} else {
m.setStyle(
A,
"paddingLeft",
parseInt(A.style.paddingLeft || 0) + x + v,
);
}
});
} else {
f(z);
}
},
mceRepaint: function () {
var x;
if (d.isGecko) {
try {
i(a);
if (p.getSel()) {
p.getSel().selectAllChildren(n.getBody());
}
p.collapse(a);
g();
} catch (v) {}
}
},
mceToggleFormat: function (y, x, v) {
q.toggle(v);
},
InsertHorizontalRule: function () {
n.execCommand("mceInsertContent", false, "<hr />");
},
mceToggleVisualAid: function () {
n.hasVisual = !n.hasVisual;
n.addVisual();
},
mceReplaceContent: function (y, x, v) {
n.execCommand(
"mceInsertContent",
false,
v.replace(/\{\$selection\}/g, p.getContent({ format: "text" })),
);
},
mceInsertLink: function (z, y, x) {
var v;
if (typeof x == "string") {
x = { href: x };
}
v = m.getParent(p.getNode(), "a");
x.href = x.href.replace(" ", "%20");
if (!v || !x.href) {
q.remove("link");
}
if (x.href) {
q.apply("link", x, v);
}
},
selectAll: function () {
var x = m.getRoot(),
v = m.createRng();
if (p.getRng().setStart) {
v.setStart(x, 0);
v.setEnd(x, x.childNodes.length);
p.setRng(v);
} else {
f("SelectAll");
}
},
});
u(
{
"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull": function (z) {
var x = "align" + z.substring(7);
var v = p.isCollapsed()
? [m.getParent(p.getNode(), m.isBlock)]
: p.getSelectedBlocks();
var y = d.map(v, function (A) {
return !!q.matchNode(A, x);
});
return d.inArray(y, a) !== -1;
},
"Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function (
v,
) {
return t(v);
},
mceBlockQuote: function () {
return t("blockquote");
},
Outdent: function () {
var v;
if (k.inline_styles) {
if (
(v = m.getParent(p.getStart(), m.isBlock)) &&
parseInt(v.style.paddingLeft) > 0
) {
return a;
}
if (
(v = m.getParent(p.getEnd(), m.isBlock)) &&
parseInt(v.style.paddingLeft) > 0
) {
return a;
}
}
return (
l("InsertUnorderedList") ||
l("InsertOrderedList") ||
(!k.inline_styles && !!m.getParent(p.getNode(), "BLOCKQUOTE"))
);
},
"InsertUnorderedList,InsertOrderedList": function (x) {
var v = m.getParent(p.getNode(), "ul,ol");
return (
v &&
((x === "insertunorderedlist" && v.tagName === "UL") ||
(x === "insertorderedlist" && v.tagName === "OL"))
);
},
},
"state",
);
u(
{
"FontSize,FontName": function (y) {
var x = 0,
v;
if ((v = m.getParent(p.getNode(), "span"))) {
if (y == "fontsize") {
x = v.style.fontSize;
} else {
x = v.style.fontFamily
.replace(/, /g, ",")
.replace(/[\'\"]/g, "")
.toLowerCase();
}
}
return x;
},
},
"value",
);
u({
Undo: function () {
n.undoManager.undo();
},
Redo: function () {
n.undoManager.redo();
},
});
};
})(tinymce);
(function (b) {
var a = b.util.Dispatcher;
b.UndoManager = function (h) {
var l,
i = 0,
e = [],
g,
k,
j,
f;
function c() {
return b.trim(
h
.getContent({ format: "raw", no_events: 1 })
.replace(
/<span[^>]+data-mce-bogus[^>]+>[\u200B\uFEFF]+<\/span>/g,
"",
),
);
}
function d() {
l.typing = false;
l.add();
}
onBeforeAdd = new a(l);
k = new a(l);
j = new a(l);
f = new a(l);
k.add(function (m, n) {
if (m.hasUndo()) {
return h.onChange.dispatch(h, n, m);
}
});
j.add(function (m, n) {
return h.onUndo.dispatch(h, n, m);
});
f.add(function (m, n) {
return h.onRedo.dispatch(h, n, m);
});
h.onInit.add(function () {
l.add();
});
h.onBeforeExecCommand.add(function (m, p, o, q, n) {
if (
p != "Undo" &&
p != "Redo" &&
p != "mceRepaint" &&
(!n || !n.skip_undo)
) {
l.beforeChange();
}
});
h.onExecCommand.add(function (m, p, o, q, n) {
if (
p != "Undo" &&
p != "Redo" &&
p != "mceRepaint" &&
(!n || !n.skip_undo)
) {
l.add();
}
});
h.onSaveContent.add(d);
h.dom.bind(h.dom.getRoot(), "dragend", d);
h.dom.bind(h.getBody(), "focusout", function (m) {
if (!h.removed && l.typing) {
d();
}
});
h.onKeyUp.add(function (m, o) {
var n = o.keyCode;
if (
(n >= 33 && n <= 36) ||
(n >= 37 && n <= 40) ||
n == 45 ||
n == 13 ||
o.ctrlKey
) {
d();
}
});
h.onKeyDown.add(function (m, o) {
var n = o.keyCode;
if ((n >= 33 && n <= 36) || (n >= 37 && n <= 40) || n == 45) {
if (l.typing) {
d();
}
return;
}
if ((n < 16 || n > 20) && n != 224 && n != 91 && !l.typing) {
l.beforeChange();
l.typing = true;
l.add();
}
});
h.onMouseDown.add(function (m, n) {
if (l.typing) {
d();
}
});
h.addShortcut("ctrl+z", "undo_desc", "Undo");
h.addShortcut("ctrl+y", "redo_desc", "Redo");
l = {
data: e,
typing: false,
onBeforeAdd: onBeforeAdd,
onAdd: k,
onUndo: j,
onRedo: f,
beforeChange: function () {
g = h.selection.getBookmark(2, true);
},
add: function (p) {
var m,
n = h.settings,
o;
p = p || {};
p.content = c();
l.onBeforeAdd.dispatch(l, p);
o = e[i];
if (o && o.content == p.content) {
return null;
}
if (e[i]) {
e[i].beforeBookmark = g;
}
if (n.custom_undo_redo_levels) {
if (e.length > n.custom_undo_redo_levels) {
for (m = 0; m < e.length - 1; m++) {
e[m] = e[m + 1];
}
e.length--;
i = e.length;
}
}
p.bookmark = h.selection.getBookmark(2, true);
if (i < e.length - 1) {
e.length = i + 1;
}
e.push(p);
i = e.length - 1;
l.onAdd.dispatch(l, p);
h.isNotDirty = 0;
return p;
},
undo: function () {
var n, m;
if (l.typing) {
l.add();
l.typing = false;
}
if (i > 0) {
n = e[--i];
h.setContent(n.content, { format: "raw" });
h.selection.moveToBookmark(n.beforeBookmark);
l.onUndo.dispatch(l, n);
}
return n;
},
redo: function () {
var m;
if (i < e.length - 1) {
m = e[++i];
h.setContent(m.content, { format: "raw" });
h.selection.moveToBookmark(m.bookmark);
l.onRedo.dispatch(l, m);
}
return m;
},
clear: function () {
e = [];
i = 0;
l.typing = false;
},
hasUndo: function () {
return i > 0 || this.typing;
},
hasRedo: function () {
return i < e.length - 1 && !this.typing;
},
};
return l;
};
})(tinymce);
tinymce.ForceBlocks = function (c) {
var b = c.settings,
e = c.dom,
a = c.selection,
d = c.schema.getBlockElements();
function f() {
var j = a.getStart(),
h = c.getBody(),
g,
k,
o,
s,
q,
i,
l,
m = -16777215,
p,
r;
if (!j || j.nodeType !== 1 || !b.forced_root_block) {
return;
}
while (j && j != h) {
if (d[j.nodeName]) {
return;
}
j = j.parentNode;
}
g = a.getRng();
if (g.setStart) {
k = g.startContainer;
o = g.startOffset;
s = g.endContainer;
q = g.endOffset;
} else {
if (g.item) {
j = g.item(0);
g = c.getDoc().body.createTextRange();
g.moveToElementText(j);
}
r = g.parentElement().ownerDocument === c.getDoc();
tmpRng = g.duplicate();
tmpRng.collapse(true);
o = tmpRng.move("character", m) * -1;
if (!tmpRng.collapsed) {
tmpRng = g.duplicate();
tmpRng.collapse(false);
q = tmpRng.move("character", m) * -1 - o;
}
}
j = h.firstChild;
while (j) {
if (j.nodeType === 3 || (j.nodeType == 1 && !d[j.nodeName])) {
if (j.nodeType === 3 && j.nodeValue.length == 0) {
l = j;
j = j.nextSibling;
e.remove(l);
continue;
}
if (!i) {
i = e.create(b.forced_root_block);
j.parentNode.insertBefore(i, j);
p = true;
}
l = j;
j = j.nextSibling;
i.appendChild(l);
} else {
i = null;
j = j.nextSibling;
}
}
if (p) {
if (g.setStart) {
g.setStart(k, o);
g.setEnd(s, q);
a.setRng(g);
} else {
if (r) {
try {
g = c.getDoc().body.createTextRange();
g.moveToElementText(h);
g.collapse(true);
g.moveStart("character", o);
if (q > 0) {
g.moveEnd("character", q);
}
g.select();
} catch (n) {}
}
}
c.nodeChanged();
}
}
if (b.forced_root_block) {
c.onKeyUp.add(f);
c.onNodeChange.add(f);
}
};
(function (c) {
var b = c.DOM,
a = c.dom.Event,
d = c.each,
e = c.extend;
c.create("tinymce.ControlManager", {
ControlManager: function (f, j) {
var h = this,
g;
j = j || {};
h.editor = f;
h.controls = {};
h.onAdd = new c.util.Dispatcher(h);
h.onPostRender = new c.util.Dispatcher(h);
h.prefix = j.prefix || f.id + "_";
h._cls = {};
h.onPostRender.add(function () {
d(h.controls, function (i) {
i.postRender();
});
});
},
get: function (f) {
return this.controls[this.prefix + f] || this.controls[f];
},
setActive: function (h, f) {
var g = null;
if ((g = this.get(h))) {
g.setActive(f);
}
return g;
},
setDisabled: function (h, f) {
var g = null;
if ((g = this.get(h))) {
g.setDisabled(f);
}
return g;
},
add: function (g) {
var f = this;
if (g) {
f.controls[g.id] = g;
f.onAdd.dispatch(g, f);
}
return g;
},
createControl: function (j) {
var o,
k,
g,
h = this,
m = h.editor,
n,
f;
if (!h.controlFactories) {
h.controlFactories = [];
d(m.plugins, function (i) {
if (i.createControl) {
h.controlFactories.push(i);
}
});
}
n = h.controlFactories;
for (k = 0, g = n.length; k < g; k++) {
o = n[k].createControl(j, h);
if (o) {
return h.add(o);
}
}
if (j === "|" || j === "separator") {
return h.createSeparator();
}
if (m.buttons && (o = m.buttons[j])) {
return h.createButton(j, o);
}
return h.add(o);
},
createDropMenu: function (f, n, h) {
var m = this,
i = m.editor,
j,
g,
k,
l;
n = e({ class: "mceDropDown", constrain: i.settings.constrain_menus }, n);
n["class"] = n["class"] + " " + i.getParam("skin") + "Skin";
if ((k = i.getParam("skin_variant"))) {
n["class"] +=
" " +
i.getParam("skin") +
"Skin" +
k.substring(0, 1).toUpperCase() +
k.substring(1);
}
n["class"] += i.settings.directionality == "rtl" ? " mceRtl" : "";
f = m.prefix + f;
l = h || m._cls.dropmenu || c.ui.DropMenu;
j = m.controls[f] = new l(f, n);
j.onAddItem.add(function (r, q) {
var p = q.settings;
p.title = i.getLang(p.title, p.title);
if (!p.onclick) {
p.onclick = function (o) {
if (p.cmd) {
i.execCommand(p.cmd, p.ui || false, p.value);
}
};
}
});
i.onRemove.add(function () {
j.destroy();
});
if (c.isIE) {
j.onShowMenu.add(function () {
i.focus();
g = i.selection.getBookmark(1);
});
j.onHideMenu.add(function () {
if (g) {
i.selection.moveToBookmark(g);
g = 0;
}
});
}
return m.add(j);
},
createListBox: function (f, n, h) {
var l = this,
j = l.editor,
i,
k,
m;
if (l.get(f)) {
return null;
}
n.title = j.translate(n.title);
n.scope = n.scope || j;
if (!n.onselect) {
n.onselect = function (o) {
j.execCommand(n.cmd, n.ui || false, o || n.value);
};
}
n = e(
{
title: n.title,
class: "mce_" + f,
scope: n.scope,
control_manager: l,
},
n,
);
f = l.prefix + f;
function g(o) {
return o.settings.use_accessible_selects && !c.isGecko;
}
if (j.settings.use_native_selects || g(j)) {
k = new c.ui.NativeListBox(f, n);
} else {
m = h || l._cls.listbox || c.ui.ListBox;
k = new m(f, n, j);
}
l.controls[f] = k;
if (c.isWebKit) {
k.onPostRender.add(function (p, o) {
a.add(o, "mousedown", function () {
j.bookmark = j.selection.getBookmark(1);
});
a.add(o, "focus", function () {
j.selection.moveToBookmark(j.bookmark);
j.bookmark = null;
});
});
}
if (k.hideMenu) {
j.onMouseDown.add(k.hideMenu, k);
}
return l.add(k);
},
createButton: function (m, i, l) {
var h = this,
g = h.editor,
j,
k,
f;
if (h.get(m)) {
return null;
}
i.title = g.translate(i.title);
i.label = g.translate(i.label);
i.scope = i.scope || g;
if (!i.onclick && !i.menu_button) {
i.onclick = function () {
g.execCommand(i.cmd, i.ui || false, i.value);
};
}
i = e(
{
title: i.title,
class: "mce_" + m,
unavailable_prefix: g.getLang("unavailable", ""),
scope: i.scope,
control_manager: h,
},
i,
);
m = h.prefix + m;
if (i.menu_button) {
f = l || h._cls.menubutton || c.ui.MenuButton;
k = new f(m, i, g);
g.onMouseDown.add(k.hideMenu, k);
} else {
f = h._cls.button || c.ui.Button;
k = new f(m, i, g);
}
return h.add(k);
},
createMenuButton: function (h, f, g) {
f = f || {};
f.menu_button = 1;
return this.createButton(h, f, g);
},
createSplitButton: function (m, i, l) {
var h = this,
g = h.editor,
j,
k,
f;
if (h.get(m)) {
return null;
}
i.title = g.translate(i.title);
i.scope = i.scope || g;
if (!i.onclick) {
i.onclick = function (n) {
g.execCommand(i.cmd, i.ui || false, n || i.value);
};
}
if (!i.onselect) {
i.onselect = function (n) {
g.execCommand(i.cmd, i.ui || false, n || i.value);
};
}
i = e(
{
title: i.title,
class: "mce_" + m,
scope: i.scope,
control_manager: h,
},
i,
);
m = h.prefix + m;
f = l || h._cls.splitbutton || c.ui.SplitButton;
k = h.add(new f(m, i, g));
g.onMouseDown.add(k.hideMenu, k);
return k;
},
createColorSplitButton: function (f, n, h) {
var l = this,
j = l.editor,
i,
k,
m,
g;
if (l.get(f)) {
return null;
}
n.title = j.translate(n.title);
n.scope = n.scope || j;
if (!n.onclick) {
n.onclick = function (o) {
if (c.isIE) {
g = j.selection.getBookmark(1);
}
j.execCommand(n.cmd, n.ui || false, o || n.value);
};
}
if (!n.onselect) {
n.onselect = function (o) {
j.execCommand(n.cmd, n.ui || false, o || n.value);
};
}
n = e(
{
title: n.title,
class: "mce_" + f,
menu_class: j.getParam("skin") + "Skin",
scope: n.scope,
more_colors_title: j.getLang("more_colors"),
},
n,
);
f = l.prefix + f;
m = h || l._cls.colorsplitbutton || c.ui.ColorSplitButton;
k = new m(f, n, j);
j.onMouseDown.add(k.hideMenu, k);
j.onRemove.add(function () {
k.destroy();
});
if (c.isIE) {
k.onShowMenu.add(function () {
j.focus();
g = j.selection.getBookmark(1);
});
k.onHideMenu.add(function () {
if (g) {
j.selection.moveToBookmark(g);
g = 0;
}
});
}
return l.add(k);
},
createToolbar: function (k, h, j) {
var i,
g = this,
f;
k = g.prefix + k;
f = j || g._cls.toolbar || c.ui.Toolbar;
i = new f(k, h, g.editor);
if (g.get(k)) {
return null;
}
return g.add(i);
},
createToolbarGroup: function (k, h, j) {
var i,
g = this,
f;
k = g.prefix + k;
f = j || this._cls.toolbarGroup || c.ui.ToolbarGroup;
i = new f(k, h, g.editor);
if (g.get(k)) {
return null;
}
return g.add(i);
},
createSeparator: function (g) {
var f = g || this._cls.separator || c.ui.Separator;
return new f();
},
setControlType: function (g, f) {
return (this._cls[g.toLowerCase()] = f);
},
destroy: function () {
d(this.controls, function (f) {
f.destroy();
});
this.controls = null;
},
});
})(tinymce);
(function (d) {
var a = d.util.Dispatcher,
e = d.each,
c = d.isIE,
b = d.isOpera;
d.create("tinymce.WindowManager", {
WindowManager: function (f) {
var g = this;
g.editor = f;
g.onOpen = new a(g);
g.onClose = new a(g);
g.params = {};
g.features = {};
},
open: function (z, h) {
var v = this,
k = "",
n,
m,
i = v.editor.settings.dialog_type == "modal",
q,
o,
j,
g = d.DOM.getViewPort(),
r;
z = z || {};
h = h || {};
o = b ? g.w : screen.width;
j = b ? g.h : screen.height;
z.name = z.name || "mc_" + new Date().getTime();
z.width = parseInt(z.width || 320);
z.height = parseInt(z.height || 240);
z.resizable = true;
z.left = z.left || parseInt(o / 2) - z.width / 2;
z.top = z.top || parseInt(j / 2) - z.height / 2;
h.inline = false;
h.mce_width = z.width;
h.mce_height = z.height;
h.mce_auto_focus = z.auto_focus;
if (i) {
if (c) {
z.center = true;
z.help = false;
z.dialogWidth = z.width + "px";
z.dialogHeight = z.height + "px";
z.scroll = z.scrollbars || false;
}
}
e(z, function (p, f) {
if (d.is(p, "boolean")) {
p = p ? "yes" : "no";
}
if (!/^(name|url)$/.test(f)) {
if (c && i) {
k += (k ? ";" : "") + f + ":" + p;
} else {
k += (k ? "," : "") + f + "=" + p;
}
}
});
v.features = z;
v.params = h;
v.onOpen.dispatch(v, z, h);
r = z.url || z.file;
r = d._addVer(r);
try {
if (c && i) {
q = 1;
window.showModalDialog(r, window, k);
} else {
q = window.open(r, z.name, k);
}
} catch (l) {}
if (!q) {
alert(v.editor.getLang("popup_blocked"));
}
},
close: function (f) {
f.close();
this.onClose.dispatch(this);
},
createInstance: function (i, h, g, m, l, k) {
var j = d.resolve(i);
return new j(h, g, m, l, k);
},
confirm: function (h, f, i, g) {
g = g || window;
f.call(i || this, g.confirm(this._decode(this.editor.getLang(h, h))));
},
alert: function (h, f, j, g) {
var i = this;
g = g || window;
g.alert(i._decode(i.editor.getLang(h, h)));
if (f) {
f.call(j || i);
}
},
resizeBy: function (f, g, h) {
h.resizeBy(f, g);
},
_decode: function (f) {
return d.DOM.decode(f).replace(/\\n/g, "\n");
},
});
})(tinymce);
(function (a) {
a.Formatter = function (aa) {
var Q = {},
T = a.each,
c = aa.dom,
r = aa.selection,
t = a.dom.TreeWalker,
N = new a.dom.RangeUtils(c),
d = aa.schema.isValidChild,
A = a.isArray,
H = c.isBlock,
m = aa.settings.forced_root_block,
s = c.nodeIndex,
G = "\uFEFF",
e = /^(src|href|style)$/,
X = false,
C = true,
P,
D,
x = c.getContentEditable;
function I(ab) {
return !!aa.schema.getTextBlocks()[ab.toLowerCase()];
}
function n(ac, ab) {
return c.getParents(ac, ab, c.getRoot());
}
function b(ab) {
return ab.nodeType === 1 && ab.id === "_mce_caret";
}
function j() {
l({
alignleft: [
{
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
styles: { textAlign: "left" },
defaultBlock: "div",
},
{
selector: "img,table",
collapsed: false,
styles: { float: "left" },
},
],
aligncenter: [
{
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
styles: { textAlign: "center" },
defaultBlock: "div",
},
{
selector: "img",
collapsed: false,
styles: {
display: "block",
marginLeft: "auto",
marginRight: "auto",
},
},
{
selector: "table",
collapsed: false,
styles: { marginLeft: "auto", marginRight: "auto" },
},
],
alignright: [
{
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
styles: { textAlign: "right" },
defaultBlock: "div",
},
{
selector: "img,table",
collapsed: false,
styles: { float: "right" },
},
],
alignfull: [
{
selector: "figure,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li",
styles: { textAlign: "justify" },
defaultBlock: "div",
},
],
bold: [
{ inline: "strong", remove: "all" },
{ inline: "span", styles: { fontWeight: "bold" } },
{ inline: "b", remove: "all" },
],
italic: [
{ inline: "em", remove: "all" },
{ inline: "span", styles: { fontStyle: "italic" } },
{ inline: "i", remove: "all" },
],
underline: [
{
inline: "span",
styles: { textDecoration: "underline" },
exact: true,
},
{ inline: "u", remove: "all" },
],
strikethrough: [
{
inline: "span",
styles: { textDecoration: "line-through" },
exact: true,
},
{ inline: "strike", remove: "all" },
],
forecolor: {
inline: "span",
styles: { color: "%value" },
wrap_links: false,
},
hilitecolor: {
inline: "span",
styles: { backgroundColor: "%value" },
wrap_links: false,
},
fontname: { inline: "span", styles: { fontFamily: "%value" } },
fontsize: { inline: "span", styles: { fontSize: "%value" } },
fontsize_class: { inline: "span", attributes: { class: "%value" } },
blockquote: { block: "blockquote", wrapper: 1, remove: "all" },
subscript: { inline: "sub" },
superscript: { inline: "sup" },
link: {
inline: "a",
selector: "a",
remove: "all",
split: true,
deep: true,
onmatch: function (ab) {
return true;
},
onformat: function (ad, ab, ac) {
T(ac, function (af, ae) {
c.setAttrib(ad, ae, af);
});
},
},
removeformat: [
{
selector: "b,strong,em,i,font,u,strike",
remove: "all",
split: true,
expand: false,
block_expand: true,
deep: true,
},
{
selector: "span",
attributes: ["style", "class"],
remove: "empty",
split: true,
expand: false,
deep: true,
},
{
selector: "*",
attributes: ["style", "class"],
split: false,
expand: false,
deep: true,
},
],
});
T(
"p h1 h2 h3 h4 h5 h6 div address pre div code dt dd samp".split(/\s/),
function (ab) {
l(ab, { block: ab, remove: "all" });
},
);
l(aa.settings.formats);
}
function W() {
aa.addShortcut("ctrl+b", "bold_desc", "Bold");
aa.addShortcut("ctrl+i", "italic_desc", "Italic");
aa.addShortcut("ctrl+u", "underline_desc", "Underline");
for (var ab = 1; ab <= 6; ab++) {
aa.addShortcut("ctrl+" + ab, "", ["FormatBlock", false, "h" + ab]);
}
aa.addShortcut("ctrl+7", "", ["FormatBlock", false, "p"]);
aa.addShortcut("ctrl+8", "", ["FormatBlock", false, "div"]);
aa.addShortcut("ctrl+9", "", ["FormatBlock", false, "address"]);
}
function V(ab) {
return ab ? Q[ab] : Q;
}
function l(ab, ac) {
if (ab) {
if (typeof ab !== "string") {
T(ab, function (ae, ad) {
l(ad, ae);
});
} else {
ac = ac.length ? ac : [ac];
T(ac, function (ad) {
if (ad.deep === D) {
ad.deep = !ad.selector;
}
if (ad.split === D) {
ad.split = !ad.selector || ad.inline;
}
if (ad.remove === D && ad.selector && !ad.inline) {
ad.remove = "none";
}
if (ad.selector && ad.inline) {
ad.mixed = true;
ad.block_expand = true;
}
if (typeof ad.classes === "string") {
ad.classes = ad.classes.split(/\s+/);
}
});
Q[ab] = ac;
}
}
}
var i = function (ac) {
var ab;
aa.dom.getParent(ac, function (ad) {
ab = aa.dom.getStyle(ad, "text-decoration");
return ab && ab !== "none";
});
return ab;
};
var L = function (ab) {
var ac;
if (ab.nodeType === 1 && ab.parentNode && ab.parentNode.nodeType === 1) {
ac = i(ab.parentNode);
if (aa.dom.getStyle(ab, "color") && ac) {
aa.dom.setStyle(ab, "text-decoration", ac);
} else {
if (aa.dom.getStyle(ab, "textdecoration") === ac) {
aa.dom.setStyle(ab, "text-decoration", null);
}
}
}
};
function Y(ae, al, ag) {
var ah = V(ae),
am = ah[0],
ak,
ac,
aj,
ai = r.isCollapsed();
function ab(aq, ap) {
ap = ap || am;
if (aq) {
if (ap.onformat) {
ap.onformat(aq, ap, al, ag);
}
T(ap.styles, function (at, ar) {
c.setStyle(aq, ar, q(at, al));
});
T(ap.attributes, function (at, ar) {
c.setAttrib(aq, ar, q(at, al));
});
T(ap.classes, function (ar) {
ar = q(ar, al);
if (!c.hasClass(aq, ar)) {
c.addClass(aq, ar);
}
});
}
}
function af() {
function ar(ay, aw) {
var ax = new t(aw);
for (ag = ax.current(); ag; ag = ax.prev()) {
if (ag.childNodes.length > 1 || ag == ay || ag.tagName == "BR") {
return ag;
}
}
}
var aq = aa.selection.getRng();
var av = aq.startContainer;
var ap = aq.endContainer;
if (av != ap && aq.endOffset === 0) {
var au = ar(av, ap);
var at = au.nodeType == 3 ? au.length : au.childNodes.length;
aq.setEnd(au, at);
}
return aq;
}
function ad(at, ay, aw, av, aq) {
var ap = [],
ar = -1,
ax,
aA = -1,
au = -1,
az;
T(at.childNodes, function (aC, aB) {
if (aC.nodeName === "UL" || aC.nodeName === "OL") {
ar = aB;
ax = aC;
return false;
}
});
T(at.childNodes, function (aC, aB) {
if (
aC.nodeName === "SPAN" &&
c.getAttrib(aC, "data-mce-type") == "bookmark"
) {
if (aC.id == ay.id + "_start") {
aA = aB;
} else {
if (aC.id == ay.id + "_end") {
au = aB;
}
}
}
});
if (ar <= 0 || (aA < ar && au > ar)) {
T(a.grep(at.childNodes), aq);
return 0;
} else {
az = c.clone(aw, X);
T(a.grep(at.childNodes), function (aC, aB) {
if ((aA < ar && aB < ar) || (aA > ar && aB > ar)) {
ap.push(aC);
aC.parentNode.removeChild(aC);
}
});
if (aA < ar) {
at.insertBefore(az, ax);
} else {
if (aA > ar) {
at.insertBefore(az, ax.nextSibling);
}
}
av.push(az);
T(ap, function (aB) {
az.appendChild(aB);
});
return az;
}
}
function an(aq, at, aw) {
var ap = [],
av,
ar,
au = true;
av = am.inline || am.block;
ar = c.create(av);
ab(ar);
N.walk(aq, function (ax) {
var ay;
function az(aA) {
var aF, aD, aB, aC, aE;
aE = au;
aF = aA.nodeName.toLowerCase();
aD = aA.parentNode.nodeName.toLowerCase();
if (aA.nodeType === 1 && x(aA)) {
aE = au;
au = x(aA) === "true";
aC = true;
}
if (g(aF, "br")) {
ay = 0;
if (am.block) {
c.remove(aA);
}
return;
}
if (am.wrapper && y(aA, ae, al)) {
ay = 0;
return;
}
if (au && !aC && am.block && !am.wrapper && I(aF)) {
aA = c.rename(aA, av);
ab(aA);
ap.push(aA);
ay = 0;
return;
}
if (am.selector) {
T(ah, function (aG) {
if ("collapsed" in aG && aG.collapsed !== ai) {
return;
}
if (c.is(aA, aG.selector) && !b(aA)) {
ab(aA, aG);
aB = true;
}
});
if (!am.inline || aB) {
ay = 0;
return;
}
}
if (
au &&
!aC &&
d(av, aF) &&
d(aD, av) &&
!(
!aw &&
aA.nodeType === 3 &&
aA.nodeValue.length === 1 &&
aA.nodeValue.charCodeAt(0) === 65279
) &&
!b(aA)
) {
if (!ay) {
ay = c.clone(ar, X);
aA.parentNode.insertBefore(ay, aA);
ap.push(ay);
}
ay.appendChild(aA);
} else {
if (aF == "li" && at) {
ay = ad(aA, at, ar, ap, az);
} else {
ay = 0;
T(a.grep(aA.childNodes), az);
if (aC) {
au = aE;
}
ay = 0;
}
}
}
T(ax, az);
});
if (am.wrap_links === false) {
T(ap, function (ax) {
function ay(aC) {
var aB, aA, az;
if (aC.nodeName === "A") {
aA = c.clone(ar, X);
ap.push(aA);
az = a.grep(aC.childNodes);
for (aB = 0; aB < az.length; aB++) {
aA.appendChild(az[aB]);
}
aC.appendChild(aA);
}
T(a.grep(aC.childNodes), ay);
}
ay(ax);
});
}
T(ap, function (az) {
var ax;
function aA(aC) {
var aB = 0;
T(aC.childNodes, function (aD) {
if (!f(aD) && !K(aD)) {
aB++;
}
});
return aB;
}
function ay(aB) {
var aD, aC;
T(aB.childNodes, function (aE) {
if (aE.nodeType == 1 && !K(aE) && !b(aE)) {
aD = aE;
return X;
}
});
if (aD && h(aD, am)) {
aC = c.clone(aD, X);
ab(aC);
c.replace(aC, aB, C);
c.remove(aD, 1);
}
return aC || aB;
}
ax = aA(az);
if ((ap.length > 1 || !H(az)) && ax === 0) {
c.remove(az, 1);
return;
}
if (am.inline || am.wrapper) {
if (!am.exact && ax === 1) {
az = ay(az);
}
T(ah, function (aB) {
T(c.select(aB.inline, az), function (aD) {
var aC;
if (aB.wrap_links === false) {
aC = aD.parentNode;
do {
if (aC.nodeName === "A") {
return;
}
} while ((aC = aC.parentNode));
}
Z(aB, al, aD, aB.exact ? aD : null);
});
});
if (y(az.parentNode, ae, al)) {
c.remove(az, 1);
az = 0;
return C;
}
if (am.merge_with_parents) {
c.getParent(az.parentNode, function (aB) {
if (y(aB, ae, al)) {
c.remove(az, 1);
az = 0;
return C;
}
});
}
if (az && am.merge_siblings !== false) {
az = u(E(az), az);
az = u(az, E(az, C));
}
}
});
}
if (am) {
if (ag) {
if (ag.nodeType) {
ac = c.createRng();
ac.setStartBefore(ag);
ac.setEndAfter(ag);
an(p(ac, ah), null, true);
} else {
an(ag, null, true);
}
} else {
if (
!ai ||
!am.inline ||
c.select("td.mceSelected,th.mceSelected").length
) {
var ao = aa.selection.getNode();
if (!m && ah[0].defaultBlock && !c.getParent(ao, c.isBlock)) {
Y(ah[0].defaultBlock);
}
aa.selection.setRng(af());
ak = r.getBookmark();
an(p(r.getRng(C), ah), ak);
if (am.styles && (am.styles.color || am.styles.textDecoration)) {
a.walk(ao, L, "childNodes");
L(ao);
}
r.moveToBookmark(ak);
R(r.getRng(C));
aa.nodeChanged();
} else {
U("apply", ae, al);
}
}
}
}
function B(ad, am, af) {
var ag = V(ad),
ao = ag[0],
ak,
aj,
ac,
al = true;
function ae(av) {
var au, at, ar, aq, ax, aw;
if (av.nodeType === 3) {
return;
}
if (av.nodeType === 1 && x(av)) {
ax = al;
al = x(av) === "true";
aw = true;
}
au = a.grep(av.childNodes);
if (al && !aw) {
for (at = 0, ar = ag.length; at < ar; at++) {
if (Z(ag[at], am, av, av)) {
break;
}
}
}
if (ao.deep) {
if (au.length) {
for (at = 0, ar = au.length; at < ar; at++) {
ae(au[at]);
}
if (aw) {
al = ax;
}
}
}
}
function ah(aq) {
var ar;
T(n(aq.parentNode).reverse(), function (at) {
var au;
if (!ar && at.id != "_start" && at.id != "_end") {
au = y(at, ad, am);
if (au && au.split !== false) {
ar = at;
}
}
});
return ar;
}
function ab(au, aq, aw, az) {
var aA, ay, ax, at, av, ar;
if (au) {
ar = au.parentNode;
for (aA = aq.parentNode; aA && aA != ar; aA = aA.parentNode) {
ay = c.clone(aA, X);
for (av = 0; av < ag.length; av++) {
if (Z(ag[av], am, ay, ay)) {
ay = 0;
break;
}
}
if (ay) {
if (ax) {
ay.appendChild(ax);
}
if (!at) {
at = ay;
}
ax = ay;
}
}
if (az && (!ao.mixed || !H(au))) {
aq = c.split(au, aq);
}
if (ax) {
aw.parentNode.insertBefore(ax, aw);
at.appendChild(aw);
}
}
return aq;
}
function an(aq) {
return ab(ah(aq), aq, aq, true);
}
function ai(at) {
var ar = c.get(at ? "_start" : "_end"),
aq = ar[at ? "firstChild" : "lastChild"];
if (K(aq)) {
aq = aq[at ? "firstChild" : "lastChild"];
}
c.remove(ar, true);
return aq;
}
function ap(aq) {
var at, au, ar;
aq = p(aq, ag, C);
if (ao.split) {
at = M(aq, C);
au = M(aq);
if (at != au) {
if (/^(TR|TD)$/.test(at.nodeName) && at.firstChild) {
at =
(at.nodeName == "TD"
? at.firstChild
: at.firstChild.firstChild) || at;
}
at = S(at, "span", { id: "_start", "data-mce-type": "bookmark" });
au = S(au, "span", { id: "_end", "data-mce-type": "bookmark" });
an(at);
an(au);
at = ai(C);
au = ai();
} else {
at = au = an(at);
}
aq.startContainer = at.parentNode;
aq.startOffset = s(at);
aq.endContainer = au.parentNode;
aq.endOffset = s(au) + 1;
}
N.walk(aq, function (av) {
T(av, function (aw) {
ae(aw);
if (
aw.nodeType === 1 &&
aa.dom.getStyle(aw, "text-decoration") === "underline" &&
aw.parentNode &&
i(aw.parentNode) === "underline"
) {
Z(
{
deep: false,
exact: true,
inline: "span",
styles: { textDecoration: "underline" },
},
null,
aw,
);
}
});
});
}
if (af) {
if (af.nodeType) {
ac = c.createRng();
ac.setStartBefore(af);
ac.setEndAfter(af);
ap(ac);
} else {
ap(af);
}
return;
}
if (
!r.isCollapsed() ||
!ao.inline ||
c.select("td.mceSelected,th.mceSelected").length
) {
ak = r.getBookmark();
ap(r.getRng(C));
r.moveToBookmark(ak);
if (ao.inline && k(ad, am, r.getStart())) {
R(r.getRng(true));
}
aa.nodeChanged();
} else {
U("remove", ad, am);
}
}
function F(ac, ae, ad) {
var ab = V(ac);
if (k(ac, ae, ad) && (!("toggle" in ab[0]) || ab[0].toggle)) {
B(ac, ae, ad);
} else {
Y(ac, ae, ad);
}
}
function y(ac, ab, ah, af) {
var ad = V(ab),
ai,
ag,
ae;
function aj(an, ap, aq) {
var am,
ao,
ak = ap[aq],
al;
if (ap.onmatch) {
return ap.onmatch(an, ap, aq);
}
if (ak) {
if (ak.length === D) {
for (am in ak) {
if (ak.hasOwnProperty(am)) {
if (aq === "attributes") {
ao = c.getAttrib(an, am);
} else {
ao = O(an, am);
}
if (af && !ao && !ap.exact) {
return;
}
if ((!af || ap.exact) && !g(ao, q(ak[am], ah))) {
return;
}
}
}
} else {
for (al = 0; al < ak.length; al++) {
if (
aq === "attributes" ? c.getAttrib(an, ak[al]) : O(an, ak[al])
) {
return ap;
}
}
}
}
return ap;
}
if (ad && ac) {
for (ag = 0; ag < ad.length; ag++) {
ai = ad[ag];
if (h(ac, ai) && aj(ac, ai, "attributes") && aj(ac, ai, "styles")) {
if ((ae = ai.classes)) {
for (ag = 0; ag < ae.length; ag++) {
if (!c.hasClass(ac, ae[ag])) {
return;
}
}
}
return ai;
}
}
}
}
function k(ad, af, ae) {
var ac;
function ab(ag) {
ag = c.getParent(ag, function (ah) {
return !!y(ah, ad, af, true);
});
return y(ag, ad, af);
}
if (ae) {
return ab(ae);
}
ae = r.getNode();
if (ab(ae)) {
return C;
}
ac = r.getStart();
if (ac != ae) {
if (ab(ac)) {
return C;
}
}
return X;
}
function v(ai, ah) {
var af,
ag = [],
ae = {},
ad,
ac,
ab;
af = r.getStart();
c.getParent(
af,
function (al) {
var ak, aj;
for (ak = 0; ak < ai.length; ak++) {
aj = ai[ak];
if (!ae[aj] && y(al, aj, ah)) {
ae[aj] = true;
ag.push(aj);
}
}
},
c.getRoot(),
);
return ag;
}
function z(af) {
var ah = V(af),
ae,
ad,
ag,
ac,
ab;
if (ah) {
ae = r.getStart();
ad = n(ae);
for (ac = ah.length - 1; ac >= 0; ac--) {
ab = ah[ac].selector;
if (!ab) {
return C;
}
for (ag = ad.length - 1; ag >= 0; ag--) {
if (c.is(ad[ag], ab)) {
return C;
}
}
}
}
return X;
}
function J(ab, ae, ac) {
var ad;
if (!P) {
P = {};
ad = {};
aa.onNodeChange.addToTop(function (ag, af, ai) {
var ah = n(ai),
aj = {};
T(P, function (ak, al) {
T(ah, function (am) {
if (y(am, al, {}, ak.similar)) {
if (!ad[al]) {
T(ak, function (an) {
an(true, { node: am, format: al, parents: ah });
});
ad[al] = ak;
}
aj[al] = ak;
return false;
}
});
});
T(ad, function (ak, al) {
if (!aj[al]) {
delete ad[al];
T(ak, function (am) {
am(false, { node: ai, format: al, parents: ah });
});
}
});
});
}
T(ab.split(","), function (af) {
if (!P[af]) {
P[af] = [];
P[af].similar = ac;
}
P[af].push(ae);
});
return this;
}
a.extend(this, {
get: V,
register: l,
apply: Y,
remove: B,
toggle: F,
match: k,
matchAll: v,
matchNode: y,
canApply: z,
formatChanged: J,
});
j();
W();
function h(ab, ac) {
if (g(ab, ac.inline)) {
return C;
}
if (g(ab, ac.block)) {
return C;
}
if (ac.selector) {
return c.is(ab, ac.selector);
}
}
function g(ac, ab) {
ac = ac || "";
ab = ab || "";
ac = "" + (ac.nodeName || ac);
ab = "" + (ab.nodeName || ab);
return ac.toLowerCase() == ab.toLowerCase();
}
function O(ac, ab) {
var ad = c.getStyle(ac, ab);
if (ab == "color" || ab == "backgroundColor") {
ad = c.toHex(ad);
}
if (ab == "fontWeight" && ad == 700) {
ad = "bold";
}
return "" + ad;
}
function q(ab, ac) {
if (typeof ab != "string") {
ab = ab(ac);
} else {
if (ac) {
ab = ab.replace(/%(\w+)/g, function (ae, ad) {
return ac[ad] || ae;
});
}
}
return ab;
}
function f(ab) {
return ab && ab.nodeType === 3 && /^([\t \r\n]+|)$/.test(ab.nodeValue);
}
function S(ad, ac, ab) {
var ae = c.create(ac, ab);
ad.parentNode.insertBefore(ae, ad);
ae.appendChild(ad);
return ae;
}
function p(ab, am, ae) {
var ap,
an,
ah,
al,
ad = ab.startContainer,
ai = ab.startOffset,
ar = ab.endContainer,
ak = ab.endOffset;
function ao(aA) {
var au, ax, az, aw, av, at;
au = ax = aA ? ad : ar;
av = aA ? "previousSibling" : "nextSibling";
at = c.getRoot();
function ay(aB) {
return (
aB.nodeName == "BR" &&
aB.getAttribute("data-mce-bogus") &&
!aB.nextSibling
);
}
if (au.nodeType == 3 && !f(au)) {
if (aA ? ai > 0 : ak < au.nodeValue.length) {
return au;
}
}
for (;;) {
if (!am[0].block_expand && H(ax)) {
return ax;
}
for (aw = ax[av]; aw; aw = aw[av]) {
if (!K(aw) && !f(aw) && !ay(aw)) {
return ax;
}
}
if (ax.parentNode == at) {
au = ax;
break;
}
ax = ax.parentNode;
}
return au;
}
function ag(at, au) {
if (au === D) {
au = at.nodeType === 3 ? at.length : at.childNodes.length;
}
while (at && at.hasChildNodes()) {
at = at.childNodes[au];
if (at) {
au = at.nodeType === 3 ? at.length : at.childNodes.length;
}
}
return { node: at, offset: au };
}
if (ad.nodeType == 1 && ad.hasChildNodes()) {
an = ad.childNodes.length - 1;
ad = ad.childNodes[ai > an ? an : ai];
if (ad.nodeType == 3) {
ai = 0;
}
}
if (ar.nodeType == 1 && ar.hasChildNodes()) {
an = ar.childNodes.length - 1;
ar = ar.childNodes[ak > an ? an : ak - 1];
if (ar.nodeType == 3) {
ak = ar.nodeValue.length;
}
}
function aq(au) {
var at = au;
while (at) {
if (at.nodeType === 1 && x(at)) {
return x(at) === "false" ? at : au;
}
at = at.parentNode;
}
return au;
}
function aj(au, ay, aA) {
var ax, av, az, at;
function aw(aC, aE) {
var aF,
aB,
aD = aC.nodeValue;
if (typeof aE == "undefined") {
aE = aA ? aD.length : 0;
}
if (aA) {
aF = aD.lastIndexOf(" ", aE);
aB = aD.lastIndexOf("\u00a0", aE);
aF = aF > aB ? aF : aB;
if (aF !== -1 && !ae) {
aF++;
}
} else {
aF = aD.indexOf(" ", aE);
aB = aD.indexOf("\u00a0", aE);
aF = aF !== -1 && (aB === -1 || aF < aB) ? aF : aB;
}
return aF;
}
if (au.nodeType === 3) {
az = aw(au, ay);
if (az !== -1) {
return { container: au, offset: az };
}
at = au;
}
ax = new t(au, c.getParent(au, H) || aa.getBody());
while ((av = ax[aA ? "prev" : "next"]())) {
if (av.nodeType === 3) {
at = av;
az = aw(av);
if (az !== -1) {
return { container: av, offset: az };
}
} else {
if (H(av)) {
break;
}
}
}
if (at) {
if (aA) {
ay = 0;
} else {
ay = at.length;
}
return { container: at, offset: ay };
}
}
function af(au, at) {
var av, aw, ay, ax;
if (au.nodeType == 3 && au.nodeValue.length === 0 && au[at]) {
au = au[at];
}
av = n(au);
for (aw = 0; aw < av.length; aw++) {
for (ay = 0; ay < am.length; ay++) {
ax = am[ay];
if ("collapsed" in ax && ax.collapsed !== ab.collapsed) {
continue;
}
if (c.is(av[aw], ax.selector)) {
return av[aw];
}
}
}
return au;
}
function ac(au, at, aw) {
var av;
if (!am[0].wrapper) {
av = c.getParent(au, am[0].block);
}
if (!av) {
av = c.getParent(au.nodeType == 3 ? au.parentNode : au, I);
}
if (av && am[0].wrapper) {
av = n(av, "ul,ol").reverse()[0] || av;
}
if (!av) {
av = au;
while (av[at] && !H(av[at])) {
av = av[at];
if (g(av, "br")) {
break;
}
}
}
return av || au;
}
ad = aq(ad);
ar = aq(ar);
if (K(ad.parentNode) || K(ad)) {
ad = K(ad) ? ad : ad.parentNode;
ad = ad.nextSibling || ad;
if (ad.nodeType == 3) {
ai = 0;
}
}
if (K(ar.parentNode) || K(ar)) {
ar = K(ar) ? ar : ar.parentNode;
ar = ar.previousSibling || ar;
if (ar.nodeType == 3) {
ak = ar.length;
}
}
if (am[0].inline) {
if (ab.collapsed) {
al = aj(ad, ai, true);
if (al) {
ad = al.container;
ai = al.offset;
}
al = aj(ar, ak);
if (al) {
ar = al.container;
ak = al.offset;
}
}
ah = ag(ar, ak);
if (ah.node) {
while (ah.node && ah.offset === 0 && ah.node.previousSibling) {
ah = ag(ah.node.previousSibling);
}
if (
ah.node &&
ah.offset > 0 &&
ah.node.nodeType === 3 &&
ah.node.nodeValue.charAt(ah.offset - 1) === " "
) {
if (ah.offset > 1) {
ar = ah.node;
ar.splitText(ah.offset - 1);
}
}
}
}
if (am[0].inline || am[0].block_expand) {
if (!am[0].inline || ad.nodeType != 3 || ai === 0) {
ad = ao(true);
}
if (!am[0].inline || ar.nodeType != 3 || ak === ar.nodeValue.length) {
ar = ao();
}
}
if (am[0].selector && am[0].expand !== X && !am[0].inline) {
ad = af(ad, "previousSibling");
ar = af(ar, "nextSibling");
}
if (am[0].block || am[0].selector) {
ad = ac(ad, "previousSibling");
ar = ac(ar, "nextSibling");
if (am[0].block) {
if (!H(ad)) {
ad = ao(true);
}
if (!H(ar)) {
ar = ao();
}
}
}
if (ad.nodeType == 1) {
ai = s(ad);
ad = ad.parentNode;
}
if (ar.nodeType == 1) {
ak = s(ar) + 1;
ar = ar.parentNode;
}
return {
startContainer: ad,
startOffset: ai,
endContainer: ar,
endOffset: ak,
};
}
function Z(ah, ag, ae, ab) {
var ad, ac, af;
if (!h(ae, ah)) {
return X;
}
if (ah.remove != "all") {
T(ah.styles, function (aj, ai) {
aj = q(aj, ag);
if (typeof ai === "number") {
ai = aj;
ab = 0;
}
if (!ab || g(O(ab, ai), aj)) {
c.setStyle(ae, ai, "");
}
af = 1;
});
if (af && c.getAttrib(ae, "style") == "") {
ae.removeAttribute("style");
ae.removeAttribute("data-mce-style");
}
T(ah.attributes, function (ak, ai) {
var aj;
ak = q(ak, ag);
if (typeof ai === "number") {
ai = ak;
ab = 0;
}
if (!ab || g(c.getAttrib(ab, ai), ak)) {
if (ai == "class") {
ak = c.getAttrib(ae, ai);
if (ak) {
aj = "";
T(ak.split(/\s+/), function (al) {
if (/mce\w+/.test(al)) {
aj += (aj ? " " : "") + al;
}
});
if (aj) {
c.setAttrib(ae, ai, aj);
return;
}
}
}
if (ai == "class") {
ae.removeAttribute("className");
}
if (e.test(ai)) {
ae.removeAttribute("data-mce-" + ai);
}
ae.removeAttribute(ai);
}
});
T(ah.classes, function (ai) {
ai = q(ai, ag);
if (!ab || c.hasClass(ab, ai)) {
c.removeClass(ae, ai);
}
});
ac = c.getAttribs(ae);
for (ad = 0; ad < ac.length; ad++) {
if (ac[ad].nodeName.indexOf("_") !== 0) {
return X;
}
}
}
if (ah.remove != "none") {
o(ae, ah);
return C;
}
}
function o(ad, ae) {
var ab = ad.parentNode,
ac;
function af(ah, ag, ai) {
ah = E(ah, ag, ai);
return !ah || ah.nodeName == "BR" || H(ah);
}
if (ae.block) {
if (!m) {
if (H(ad) && !H(ab)) {
if (!af(ad, X) && !af(ad.firstChild, C, 1)) {
ad.insertBefore(c.create("br"), ad.firstChild);
}
if (!af(ad, C) && !af(ad.lastChild, X, 1)) {
ad.appendChild(c.create("br"));
}
}
} else {
if (ab == c.getRoot()) {
if (!ae.list_block || !g(ad, ae.list_block)) {
T(a.grep(ad.childNodes), function (ag) {
if (d(m, ag.nodeName.toLowerCase())) {
if (!ac) {
ac = S(ag, m);
} else {
ac.appendChild(ag);
}
} else {
ac = 0;
}
});
}
}
}
}
if (ae.selector && ae.inline && !g(ae.inline, ad)) {
return;
}
c.remove(ad, 1);
}
function E(ac, ab, ad) {
if (ac) {
ab = ab ? "nextSibling" : "previousSibling";
for (ac = ad ? ac : ac[ab]; ac; ac = ac[ab]) {
if (ac.nodeType == 1 || !f(ac)) {
return ac;
}
}
}
}
function K(ab) {
return (
ab && ab.nodeType == 1 && ab.getAttribute("data-mce-type") == "bookmark"
);
}
function u(af, ae) {
var ab, ad, ac;
function ah(ak, aj) {
if (ak.nodeName != aj.nodeName) {
return X;
}
function ai(am) {
var an = {};
T(c.getAttribs(am), function (ao) {
var ap = ao.nodeName.toLowerCase();
if (ap.indexOf("_") !== 0 && ap !== "style") {
an[ap] = c.getAttrib(am, ap);
}
});
return an;
}
function al(ap, ao) {
var an, am;
for (am in ap) {
if (ap.hasOwnProperty(am)) {
an = ao[am];
if (an === D) {
return X;
}
if (ap[am] != an) {
return X;
}
delete ao[am];
}
}
for (am in ao) {
if (ao.hasOwnProperty(am)) {
return X;
}
}
return C;
}
if (!al(ai(ak), ai(aj))) {
return X;
}
if (
!al(
c.parseStyle(c.getAttrib(ak, "style")),
c.parseStyle(c.getAttrib(aj, "style")),
)
) {
return X;
}
return C;
}
function ag(aj, ai) {
for (ad = aj; ad; ad = ad[ai]) {
if (ad.nodeType == 3 && ad.nodeValue.length !== 0) {
return aj;
}
if (ad.nodeType == 1 && !K(ad)) {
return ad;
}
}
return aj;
}
if (af && ae) {
af = ag(af, "previousSibling");
ae = ag(ae, "nextSibling");
if (ah(af, ae)) {
for (ad = af.nextSibling; ad && ad != ae; ) {
ac = ad;
ad = ad.nextSibling;
af.appendChild(ac);
}
c.remove(ae);
T(a.grep(ae.childNodes), function (ai) {
af.appendChild(ai);
});
return af;
}
}
return ae;
}
function I(ab) {
return /^(h[1-6]|p|div|pre|address|dl|dt|dd)$/.test(ab);
}
function M(ac, ag) {
var ab, af, ad, ae;
ab = ac[ag ? "startContainer" : "endContainer"];
af = ac[ag ? "startOffset" : "endOffset"];
if (ab.nodeType == 1) {
ad = ab.childNodes.length - 1;
if (!ag && af) {
af--;
}
ab = ab.childNodes[af > ad ? ad : af];
}
if (ab.nodeType === 3 && ag && af >= ab.nodeValue.length) {
ab = new t(ab, aa.getBody()).next() || ab;
}
if (ab.nodeType === 3 && !ag && af === 0) {
ab = new t(ab, aa.getBody()).prev() || ab;
}
return ab;
}
function U(ak, ab, ai) {
var al = "_mce_caret",
ac = aa.settings.caret_debug;
function ad(ap) {
var ao = c.create("span", {
id: al,
"data-mce-bogus": true,
style: ac ? "color:red" : "",
});
if (ap) {
ao.appendChild(aa.getDoc().createTextNode(G));
}
return ao;
}
function aj(ap, ao) {
while (ap) {
if (
(ap.nodeType === 3 && ap.nodeValue !== G) ||
ap.childNodes.length > 1
) {
return false;
}
if (ao && ap.nodeType === 1) {
ao.push(ap);
}
ap = ap.firstChild;
}
return true;
}
function ag(ao) {
while (ao) {
if (ao.id === al) {
return ao;
}
ao = ao.parentNode;
}
}
function af(ao) {
var ap;
if (ao) {
ap = new t(ao, ao);
for (ao = ap.current(); ao; ao = ap.next()) {
if (ao.nodeType === 3) {
return ao;
}
}
}
}
function ae(aq, ap) {
var ar, ao;
if (!aq) {
aq = ag(r.getStart());
if (!aq) {
while ((aq = c.get(al))) {
ae(aq, false);
}
}
} else {
ao = r.getRng(true);
if (aj(aq)) {
if (ap !== false) {
ao.setStartBefore(aq);
ao.setEndBefore(aq);
}
c.remove(aq);
} else {
ar = af(aq);
if (ar.nodeValue.charAt(0) === G) {
ar = ar.deleteData(0, 1);
}
c.remove(aq, 1);
}
r.setRng(ao);
}
}
function ah() {
var aq, ao, av, au, ar, ap, at;
aq = r.getRng(true);
au = aq.startOffset;
ap = aq.startContainer;
at = ap.nodeValue;
ao = ag(r.getStart());
if (ao) {
av = af(ao);
}
if (
at &&
au > 0 &&
au < at.length &&
/\w/.test(at.charAt(au)) &&
/\w/.test(at.charAt(au - 1))
) {
ar = r.getBookmark();
aq.collapse(true);
aq = p(aq, V(ab));
aq = N.split(aq);
Y(ab, ai, aq);
r.moveToBookmark(ar);
} else {
if (!ao || av.nodeValue !== G) {
ao = ad(true);
av = ao.firstChild;
aq.insertNode(ao);
au = 1;
Y(ab, ai, ao);
} else {
Y(ab, ai, ao);
}
r.setCursorLocation(av, au);
}
}
function am() {
var ao = r.getRng(true),
ap,
ar,
av,
au,
aq,
ay,
ax = [],
at,
aw;
ap = ao.startContainer;
ar = ao.startOffset;
aq = ap;
if (ap.nodeType == 3) {
if (ar != ap.nodeValue.length || ap.nodeValue === G) {
au = true;
}
aq = aq.parentNode;
}
while (aq) {
if (y(aq, ab, ai)) {
ay = aq;
break;
}
if (aq.nextSibling) {
au = true;
}
ax.push(aq);
aq = aq.parentNode;
}
if (!ay) {
return;
}
if (au) {
av = r.getBookmark();
ao.collapse(true);
ao = p(ao, V(ab), true);
ao = N.split(ao);
B(ab, ai, ao);
r.moveToBookmark(av);
} else {
aw = ad();
aq = aw;
for (at = ax.length - 1; at >= 0; at--) {
aq.appendChild(c.clone(ax[at], false));
aq = aq.firstChild;
}
aq.appendChild(c.doc.createTextNode(G));
aq = aq.firstChild;
c.insertAfter(aw, ay);
r.setCursorLocation(aq, 1);
}
}
function an() {
var ap, ao, aq;
ao = ag(r.getStart());
if (ao && !c.isEmpty(ao)) {
a.walk(
ao,
function (ar) {
if (ar.nodeType == 1 && ar.id !== al && !c.isEmpty(ar)) {
c.setAttrib(ar, "data-mce-bogus", null);
}
},
"childNodes",
);
}
}
if (!self._hasCaretEvents) {
aa.onBeforeGetContent.addToTop(function () {
var ao = [],
ap;
if (aj(ag(r.getStart()), ao)) {
ap = ao.length;
while (ap--) {
c.setAttrib(ao[ap], "data-mce-bogus", "1");
}
}
});
a.each("onMouseUp onKeyUp".split(" "), function (ao) {
aa[ao].addToTop(function () {
ae();
an();
});
});
aa.onKeyDown.addToTop(function (ao, aq) {
var ap = aq.keyCode;
if (ap == 8 || ap == 37 || ap == 39) {
ae(ag(r.getStart()));
}
an();
});
r.onSetContent.add(an);
self._hasCaretEvents = true;
}
if (ak == "apply") {
ah();
} else {
am();
}
}
function R(ac) {
var ab = ac.startContainer,
ai = ac.startOffset,
ae,
ah,
ag,
ad,
af;
if (ab.nodeType == 3 && ai >= ab.nodeValue.length) {
ai = s(ab);
ab = ab.parentNode;
ae = true;
}
if (ab.nodeType == 1) {
ad = ab.childNodes;
ab = ad[Math.min(ai, ad.length - 1)];
ah = new t(ab, c.getParent(ab, c.isBlock));
if (ai > ad.length - 1 || ae) {
ah.next();
}
for (ag = ah.current(); ag; ag = ah.next()) {
if (ag.nodeType == 3 && !f(ag)) {
af = c.create("a", null, G);
ag.parentNode.insertBefore(af, ag);
ac.setStart(ag, 0);
r.setRng(ac);
c.remove(af);
return;
}
}
}
}
};
})(tinymce);
tinymce.onAddEditor.add(function (e, a) {
var d,
h,
g,
c = a.settings;
function b(j, i) {
e.each(i, function (l, k) {
if (l) {
g.setStyle(j, k, l);
}
});
g.rename(j, "span");
}
function f(i, j) {
g = i.dom;
if (c.convert_fonts_to_spans) {
e.each(g.select("font,u,strike", j.node), function (k) {
d[k.nodeName.toLowerCase()](a.dom, k);
});
}
}
if (c.inline_styles) {
h = e.explode(c.font_size_legacy_values);
d = {
font: function (j, i) {
b(i, {
backgroundColor: i.style.backgroundColor,
color: i.color,
fontFamily: i.face,
fontSize: h[parseInt(i.size, 10) - 1],
});
},
u: function (j, i) {
b(i, { textDecoration: "underline" });
},
strike: function (j, i) {
b(i, { textDecoration: "line-through" });
},
};
a.onPreProcess.add(f);
a.onSetContent.add(f);
a.onInit.add(function () {
a.selection.onSetContent.add(f);
});
}
});
(function (b) {
var a = b.dom.TreeWalker;
b.EnterKey = function (f) {
var i = f.dom,
e = f.selection,
d = f.settings,
h = f.undoManager,
c = f.schema.getNonEmptyElements();
function g(A) {
var v = e.getRng(true),
G,
j,
z,
u,
p,
M,
B,
o,
k,
n,
t,
J,
x,
C;
function E(N) {
return (
N &&
i.isBlock(N) &&
!/^(TD|TH|CAPTION|FORM)$/.test(N.nodeName) &&
!/^(fixed|absolute)/i.test(N.style.position) &&
i.getContentEditable(N) !== "true"
);
}
function F(O) {
var N;
if (b.isIE && i.isBlock(O)) {
N = e.getRng();
O.appendChild(i.create("span", null, "\u00a0"));
e.select(O);
O.lastChild.outerHTML = "";
e.setRng(N);
}
}
function y(P) {
var O = P,
Q = [],
N;
while ((O = O.firstChild)) {
if (i.isBlock(O)) {
return;
}
if (O.nodeType == 1 && !c[O.nodeName.toLowerCase()]) {
Q.push(O);
}
}
N = Q.length;
while (N--) {
O = Q[N];
if (
!O.hasChildNodes() ||
(O.firstChild == O.lastChild && O.firstChild.nodeValue === "")
) {
i.remove(O);
} else {
if (O.nodeName == "A" && (O.innerText || O.textContent) === " ") {
i.remove(O);
}
}
}
}
function m(O) {
var T,
R,
N,
U,
S,
Q = O,
P;
N = i.createRng();
if (O.hasChildNodes()) {
T = new a(O, O);
while ((R = T.current())) {
if (R.nodeType == 3) {
N.setStart(R, 0);
N.setEnd(R, 0);
break;
}
if (c[R.nodeName.toLowerCase()]) {
N.setStartBefore(R);
N.setEndBefore(R);
break;
}
Q = R;
R = T.next();
}
if (!R) {
N.setStart(Q, 0);
N.setEnd(Q, 0);
}
} else {
if (O.nodeName == "BR") {
if (O.nextSibling && i.isBlock(O.nextSibling)) {
if (!M || M < 9) {
P = i.create("br");
O.parentNode.insertBefore(P, O);
}
N.setStartBefore(O);
N.setEndBefore(O);
} else {
N.setStartAfter(O);
N.setEndAfter(O);
}
} else {
N.setStart(O, 0);
N.setEnd(O, 0);
}
}
e.setRng(N);
i.remove(P);
S = i.getViewPort(f.getWin());
U = i.getPos(O).y;
if (U < S.y || U + 25 > S.y + S.h) {
f.getWin().scrollTo(0, U < S.y ? U : U - S.h + 25);
}
}
function r(O) {
var P = z,
R,
Q,
N;
R = O || t == "TABLE" ? i.create(O || x) : p.cloneNode(false);
N = R;
if (d.keep_styles !== false) {
do {
if (/^(SPAN|STRONG|B|EM|I|FONT|STRIKE|U)$/.test(P.nodeName)) {
if (P.id == "_mce_caret") {
continue;
}
Q = P.cloneNode(false);
i.setAttrib(Q, "id", "");
if (R.hasChildNodes()) {
Q.appendChild(R.firstChild);
R.appendChild(Q);
} else {
N = Q;
R.appendChild(Q);
}
}
} while ((P = P.parentNode));
}
if (!b.isIE) {
N.innerHTML = '<br data-mce-bogus="1">';
}
return R;
}
function q(Q) {
var P, O, N;
if (z.nodeType == 3 && (Q ? u > 0 : u < z.nodeValue.length)) {
return false;
}
if (z.parentNode == p && C && !Q) {
return true;
}
if (Q && z.nodeType == 1 && z == p.firstChild) {
return true;
}
if (
z.nodeName === "TABLE" ||
(z.previousSibling && z.previousSibling.nodeName == "TABLE")
) {
return (C && !Q) || (!C && Q);
}
P = new a(z, p);
if (z.nodeType == 3) {
if (Q && u == 0) {
P.prev();
} else {
if (!Q && u == z.nodeValue.length) {
P.next();
}
}
}
while ((O = P.current())) {
if (O.nodeType === 1) {
if (!O.getAttribute("data-mce-bogus")) {
N = O.nodeName.toLowerCase();
if (c[N] && N !== "br") {
return false;
}
}
} else {
if (O.nodeType === 3 && !/^[ \t\r\n]*$/.test(O.nodeValue)) {
return false;
}
}
if (Q) {
P.prev();
} else {
P.next();
}
}
return true;
}
function l(N, T) {
var U,
S,
P,
R,
Q,
O = x || "P";
S = i.getParent(N, i.isBlock);
if (!S || !E(S)) {
S = S || j;
if (!S.hasChildNodes()) {
U = i.create(O);
S.appendChild(U);
v.setStart(U, 0);
v.setEnd(U, 0);
return U;
}
R = N;
while (R.parentNode != S) {
R = R.parentNode;
}
while (R && !i.isBlock(R)) {
P = R;
R = R.previousSibling;
}
if (P) {
U = i.create(O);
P.parentNode.insertBefore(U, P);
R = P;
while (R && !i.isBlock(R)) {
Q = R.nextSibling;
U.appendChild(R);
R = Q;
}
v.setStart(N, T);
v.setEnd(N, T);
}
}
return N;
}
function H() {
function N(P) {
var O = n[P ? "firstChild" : "lastChild"];
while (O) {
if (O.nodeType == 1) {
break;
}
O = O[P ? "nextSibling" : "previousSibling"];
}
return O === p;
}
o = x ? r(x) : i.create("BR");
if (N(true) && N()) {
i.replace(o, n);
} else {
if (N(true)) {
n.parentNode.insertBefore(o, n);
} else {
if (N()) {
i.insertAfter(o, n);
F(o);
} else {
G = v.cloneRange();
G.setStartAfter(p);
G.setEndAfter(n);
k = G.extractContents();
i.insertAfter(k, n);
i.insertAfter(o, n);
}
}
}
i.remove(p);
m(o);
h.add();
}
function D() {
var O = new a(z, p),
N;
while ((N = O.current())) {
if (N.nodeName == "BR") {
return true;
}
N = O.next();
}
}
function L() {
var P, O, N;
if (z && z.nodeType == 3 && u >= z.nodeValue.length) {
if (!b.isIE && !D()) {
P = i.create("br");
v.insertNode(P);
v.setStartAfter(P);
v.setEndAfter(P);
O = true;
}
}
P = i.create("br");
v.insertNode(P);
if (b.isIE && t == "PRE" && (!M || M < 8)) {
P.parentNode.insertBefore(i.doc.createTextNode("\r"), P);
}
N = i.create("span", {}, "&nbsp;");
P.parentNode.insertBefore(N, P);
e.scrollIntoView(N);
i.remove(N);
if (!O) {
v.setStartAfter(P);
v.setEndAfter(P);
} else {
v.setStartBefore(P);
v.setEndBefore(P);
}
e.setRng(v);
h.add();
}
function s(N) {
do {
if (N.nodeType === 3) {
N.nodeValue = N.nodeValue.replace(/^[\r\n]+/, "");
}
N = N.firstChild;
} while (N);
}
function K(P) {
var N = i.getRoot(),
O,
Q;
O = P;
while (O !== N && i.getContentEditable(O) !== "false") {
if (i.getContentEditable(O) === "true") {
Q = O;
}
O = O.parentNode;
}
return O !== N ? Q : N;
}
function I(O) {
var N;
if (!b.isIE) {
O.normalize();
N = O.lastChild;
if (!N || /^(left|right)$/gi.test(i.getStyle(N, "float", true))) {
i.add(O, "br");
}
}
}
if (!v.collapsed) {
f.execCommand("Delete");
return;
}
if (A.isDefaultPrevented()) {
return;
}
z = v.startContainer;
u = v.startOffset;
x = (d.force_p_newlines ? "p" : "") || d.forced_root_block;
x = x ? x.toUpperCase() : "";
M = i.doc.documentMode;
B = A.shiftKey;
if (z.nodeType == 1 && z.hasChildNodes()) {
C = u > z.childNodes.length - 1;
z = z.childNodes[Math.min(u, z.childNodes.length - 1)] || z;
if (C && z.nodeType == 3) {
u = z.nodeValue.length;
} else {
u = 0;
}
}
j = K(z);
if (!j) {
return;
}
h.beforeChange();
if (!i.isBlock(j) && j != i.getRoot()) {
if (!x || B) {
L();
}
return;
}
if ((x && !B) || (!x && B)) {
z = l(z, u);
}
p = i.getParent(z, i.isBlock);
n = p ? i.getParent(p.parentNode, i.isBlock) : null;
t = p ? p.nodeName.toUpperCase() : "";
J = n ? n.nodeName.toUpperCase() : "";
if (J == "LI" && !A.ctrlKey) {
p = n;
t = J;
}
if (t == "LI") {
if (!x && B) {
L();
return;
}
if (i.isEmpty(p)) {
if (/^(UL|OL|LI)$/.test(n.parentNode.nodeName)) {
return false;
}
H();
return;
}
}
if (t == "PRE" && d.br_in_pre !== false) {
if (!B) {
L();
return;
}
} else {
if ((!x && !B && t != "LI") || (x && B)) {
L();
return;
}
}
x = x || "P";
if (q()) {
if (/^(H[1-6]|PRE)$/.test(t) && J != "HGROUP") {
o = r(x);
} else {
o = r();
}
if (d.end_container_on_empty_block && E(n) && i.isEmpty(p)) {
o = i.split(n, p);
} else {
i.insertAfter(o, p);
}
m(o);
} else {
if (q(true)) {
o = p.parentNode.insertBefore(r(), p);
F(o);
} else {
G = v.cloneRange();
G.setEndAfter(p);
k = G.extractContents();
s(k);
o = k.firstChild;
i.insertAfter(k, p);
y(o);
I(p);
m(o);
}
}
i.setAttrib(o, "id", "");
h.add();
}
f.onKeyDown.add(function (k, j) {
if (j.keyCode == 13) {
if (g(j) !== false) {
j.preventDefault();
}
}
});
};
})(tinymce);