/*! * UEditor * version: ueditor * build: Wed Aug 10 2016 11:06:03 GMT+0800 (CST) */ !(function () { function getListener(a, b, c) { var d; return ( (b = b.toLowerCase()), (d = a.__allListeners || (c && (a.__allListeners = {}))) && (d[b] || (c && (d[b] = []))) ); } function getDomNode(a, b, c, d, e, f) { var g, h = d && a[b]; for (!h && (h = a[c]); !h && (g = (g || a).parentNode); ) { if ('BODY' == g.tagName || (f && !f(g))) return null; h = g[c]; } return h && e && !e(h) ? getDomNode(h, b, c, !1, e) : h; } UEDITOR_CONFIG = window.UEDITOR_CONFIG || {}; var baidu = window.baidu || {}; (window.baidu = baidu), (window.UE = baidu.editor = window.UE || {}), (UE.plugins = {}), (UE.commands = {}), (UE.instants = {}), (UE.I18N = {}), (UE._customizeUI = {}), (UE.version = '1.4.3'); var dom = (UE.dom = {}), browser = (UE.browser = (function () { var a = navigator.userAgent.toLowerCase(), b = window.opera, c = { ie: /(msie\s|trident.*rv:)([\w.]+)/.test(a), opera: !!b && b.version, webkit: a.indexOf(' applewebkit/') > -1, mac: a.indexOf('macintosh') > -1, quirks: 'BackCompat' == document.compatMode, }; c.gecko = 'Gecko' == navigator.product && !c.webkit && !c.opera && !c.ie; var d = 0; if (c.ie) { var e = a.match(/(?:msie\s([\w.]+))/), f = a.match(/(?:trident.*rv:([\w.]+))/); (d = e && f && e[1] && f[1] ? Math.max(1 * e[1], 1 * f[1]) : e && e[1] ? 1 * e[1] : f && f[1] ? 1 * f[1] : 0), (c.ie11Compat = 11 == document.documentMode), (c.ie9Compat = 9 == document.documentMode), (c.ie8 = !!document.documentMode), (c.ie8Compat = 8 == document.documentMode), (c.ie7Compat = (7 == d && !document.documentMode) || 7 == document.documentMode), (c.ie6Compat = d < 7 || c.quirks), (c.ie9above = d > 8), (c.ie9below = d < 9), (c.ie11above = d > 10), (c.ie11below = d < 11); } if (c.gecko) { var g = a.match(/rv:([\d\.]+)/); g && ((g = g[1].split('.')), (d = 1e4 * g[0] + 100 * (g[1] || 0) + 1 * (g[2] || 0))); } return ( /chrome\/(\d+\.\d)/i.test(a) && (c.chrome = +RegExp.$1), /(\d+\.\d)?(?:\.\d)?\s+safari\/?(\d+\.\d+)?/i.test(a) && !/chrome/i.test(a) && (c.safari = +(RegExp.$1 || RegExp.$2)), c.opera && (d = parseFloat(b.version())), c.webkit && (d = parseFloat(a.match(/ applewebkit\/(\d+)/)[1])), (c.version = d), (c.isCompatible = !c.mobile && ((c.ie && d >= 6) || (c.gecko && d >= 10801) || (c.opera && d >= 9.5) || (c.air && d >= 1) || (c.webkit && d >= 522) || !1)), c ); })()), ie = browser.ie, webkit = browser.webkit, gecko = browser.gecko, opera = browser.opera, utils = (UE.utils = { each: function (a, b, c) { if (null != a) if (a.length === +a.length) { for (var d = 0, e = a.length; d < e; d++) if (b.call(c, a[d], d, a) === !1) return !1; } else for (var f in a) if (a.hasOwnProperty(f) && b.call(c, a[f], f, a) === !1) return !1; }, makeInstance: function (a) { var b = new Function(); return (b.prototype = a), (a = new b()), (b.prototype = null), a; }, extend: function (a, b, c) { if (b) for (var d in b) (c && a.hasOwnProperty(d)) || (a[d] = b[d]); return a; }, extend2: function (a) { for (var b = arguments, c = 1; c < b.length; c++) { var d = b[c]; for (var e in d) a.hasOwnProperty(e) || (a[e] = d[e]); } return a; }, inherits: function (a, b) { var c = a.prototype, d = utils.makeInstance(b.prototype); return utils.extend(d, c, !0), (a.prototype = d), (d.constructor = a); }, bind: function (a, b) { return function () { return a.apply(b, arguments); }; }, defer: function (a, b, c) { var d; return function () { c && clearTimeout(d), (d = setTimeout(a, b)); }; }, indexOf: function (a, b, c) { var d = -1; return ( (c = this.isNumber(c) ? c : 0), this.each(a, function (a, e) { if (e >= c && a === b) return (d = e), !1; }), d ); }, removeItem: function (a, b) { for (var c = 0, d = a.length; c < d; c++) a[c] === b && (a.splice(c, 1), c--); }, trim: function (a) { return a.replace(/(^[ \t\n\r]+)|([ \t\n\r]+$)/g, ''); }, listToMap: function (a) { if (!a) return {}; a = utils.isArray(a) ? a : a.split(','); for (var b, c = 0, d = {}; (b = a[c++]); ) d[b.toUpperCase()] = d[b] = 1; return d; }, unhtml: function (a, b) { return a ? a.replace(b || /[&<">'](?:(amp|lt|quot|gt|#39|nbsp|#\d+);)?/g, function (a, b) { return b ? a : { '<': '<', '&': '&', '"': '"', '>': '>', "'": ''' }[a]; }) : ''; }, unhtmlForUrl: function (a, b) { return a ? a.replace(b || /[<">']/g, function (a) { return { '<': '<', '&': '&', '"': '"', '>': '>', "'": ''' }[a]; }) : ''; }, html: function (a) { return a ? a.replace(/&((g|l|quo)t|amp|#39|nbsp);/g, function (a) { return { '<': '<', '&': '&', '"': '"', '>': '>', ''': "'", ' ': ' ', }[a]; }) : ''; }, cssStyleToDomStyle: (function () { var a = document.createElement('div').style, b = { float: void 0 != a.cssFloat ? 'cssFloat' : void 0 != a.styleFloat ? 'styleFloat' : 'float', }; return function (a) { return ( b[a] || (b[a] = a.toLowerCase().replace(/-./g, function (a) { return a.charAt(1).toUpperCase(); })) ); }; })(), loadFile: (function () { function a(a, c) { try { for (var d, e = 0; (d = b[e++]); ) if (d.doc === a && d.url == (c.src || c.href)) return d; } catch (f) { return null; } } var b = []; return function (c, d, e) { var f = a(c, d); if (f) return void (f.ready ? e && e() : f.funs.push(e)); if ((b.push({ doc: c, url: d.src || d.href, funs: [e] }), !c.body)) { var g = []; for (var h in d) 'tag' != h && g.push(h + '="' + d[h] + '"'); return void c.write('<' + d.tag + ' ' + g.join(' ') + ' >'); } if (!d.id || !c.getElementById(d.id)) { var i = c.createElement(d.tag); delete d.tag; for (var h in d) i.setAttribute(h, d[h]); (i.onload = i.onreadystatechange = function () { if (!this.readyState || /loaded|complete/.test(this.readyState)) { if (((f = a(c, d)), f.funs.length > 0)) { f.ready = 1; for (var b; (b = f.funs.pop()); ) b(); } i.onload = i.onreadystatechange = null; } }), (i.onerror = function () { throw Error( 'The load ' + (d.href || d.src) + ' fails,check the url settings of file ueditor.config.js ', ); }), c.getElementsByTagName('head')[0].appendChild(i); } }; })(), isEmptyObject: function (a) { if (null == a) return !0; if (this.isArray(a) || this.isString(a)) return 0 === a.length; for (var b in a) if (a.hasOwnProperty(b)) return !1; return !0; }, fixColor: function (a, b) { if (/color/i.test(a) && /rgba?/.test(b)) { var c = b.split(','); if (c.length > 3) return ''; b = '#'; for (var d, e = 0; (d = c[e++]); ) (d = parseInt(d.replace(/[^\d]/gi, ''), 10).toString(16)), (b += 1 == d.length ? '0' + d : d); b = b.toUpperCase(); } return b; }, optCss: function (a) { function b(a, b) { if (!a) return ''; var c = a.top, d = a.bottom, e = a.left, f = a.right, g = ''; if (c && e && d && f) g += ';' + b + ':' + (c == d && d == e && e == f ? c : c == d && e == f ? c + ' ' + e : e == f ? c + ' ' + e + ' ' + d : c + ' ' + f + ' ' + d + ' ' + e) + ';'; else for (var h in a) g += ';' + b + '-' + h + ':' + a[h] + ';'; return g; } var c, d; return ( (a = a.replace(/(padding|margin|border)\-([^:]+):([^;]+);?/gi, function (a, b, e, f) { if (1 == f.split(' ').length) switch (b) { case 'padding': return !c && (c = {}), (c[e] = f), ''; case 'margin': return !d && (d = {}), (d[e] = f), ''; case 'border': return 'initial' == f ? '' : a; } return a; })), (a += b(c, 'padding') + b(d, 'margin')), a .replace(/^[ \n\r\t;]*|[ \n\r\t]*$/, '') .replace(/;([ \n\r\t]+)|\1;/g, ';') .replace(/(&((l|g)t|quot|#39))?;{2,}/g, function (a, b) { return b ? b + ';;' : ';'; }) ); }, clone: function (a, b) { var c; b = b || {}; for (var d in a) a.hasOwnProperty(d) && ((c = a[d]), 'object' == typeof c ? ((b[d] = utils.isArray(c) ? [] : {}), utils.clone(a[d], b[d])) : (b[d] = c)); return b; }, transUnitToPx: function (a) { if (!/(pt|cm)/.test(a)) return a; var b; switch ( (a.replace(/([\d.]+)(\w+)/, function (c, d, e) { (a = d), (b = e); }), b) ) { case 'cm': a = 25 * parseFloat(a); break; case 'pt': a = Math.round((96 * parseFloat(a)) / 72); } return a + (a ? 'px' : ''); }, domReady: (function () { function a(a) { a.isReady = !0; for (var c; (c = b.pop()); c()); } var b = []; return function (c, d) { d = d || window; var e = d.document; c && b.push(c), 'complete' === e.readyState ? a(e) : (e.isReady && a(e), browser.ie && 11 != browser.version ? (!(function () { if (!e.isReady) { try { e.documentElement.doScroll('left'); } catch (b) { return void setTimeout(arguments.callee, 0); } a(e); } })(), d.attachEvent('onload', function () { a(e); })) : (e.addEventListener( 'DOMContentLoaded', function () { e.removeEventListener('DOMContentLoaded', arguments.callee, !1), a(e); }, !1, ), d.addEventListener( 'load', function () { a(e); }, !1, ))); }; })(), cssRule: browser.ie && 11 != browser.version ? function (a, b, c) { var d, e; if (void 0 === b || (b && b.nodeType && 9 == b.nodeType)) { if ( ((c = b && b.nodeType && 9 == b.nodeType ? b : c || document), (d = c.indexList || (c.indexList = {})), (e = d[a]), void 0 !== e) ) return c.styleSheets[e].cssText; } else { if ( ((c = c || document), (d = c.indexList || (c.indexList = {})), (e = d[a]), '' === b) ) return void 0 !== e && ((c.styleSheets[e].cssText = ''), delete d[a], !0); void 0 !== e ? (sheetStyle = c.styleSheets[e]) : ((sheetStyle = c.createStyleSheet('', (e = c.styleSheets.length))), (d[a] = e)), (sheetStyle.cssText = b); } } : function (a, b, c) { var d; return void 0 === b || (b && b.nodeType && 9 == b.nodeType) ? ((c = b && b.nodeType && 9 == b.nodeType ? b : c || document), (d = c.getElementById(a)), d ? d.innerHTML : void 0) : ((c = c || document), (d = c.getElementById(a)), '' === b ? !!d && (d.parentNode.removeChild(d), !0) : void (d ? (d.innerHTML = b) : ((d = c.createElement('style')), (d.id = a), (d.innerHTML = b), c.getElementsByTagName('head')[0].appendChild(d)))); }, sort: function (a, b) { b = b || function (a, b) { return a.localeCompare(b); }; for (var c = 0, d = a.length; c < d; c++) for (var e = c, f = a.length; e < f; e++) if (b(a[c], a[e]) > 0) { var g = a[c]; (a[c] = a[e]), (a[e] = g); } return a; }, serializeParam: function (a) { var b = []; for (var c in a) if ('method' != c && 'timeout' != c && 'async' != c) if ( 'function' != (typeof a[c]).toLowerCase() && 'object' != (typeof a[c]).toLowerCase() ) b.push(encodeURIComponent(c) + '=' + encodeURIComponent(a[c])); else if (utils.isArray(a[c])) for (var d = 0; d < a[c].length; d++) b.push(encodeURIComponent(c) + '[]=' + encodeURIComponent(a[c][d])); return b.join('&'); }, formatUrl: function (a) { var b = a.replace(/&&/g, '&'); return ( (b = b.replace(/\?&/g, '?')), (b = b.replace(/&$/g, '')), (b = b.replace(/&#/g, '#')), (b = b.replace(/&+/g, '&')) ); }, isCrossDomainUrl: function (a) { var b = document.createElement('a'); return ( (b.href = a), browser.ie && (b.href = b.href), !( b.protocol == location.protocol && b.hostname == location.hostname && (b.port == location.port || ('80' == b.port && '' == location.port) || ('' == b.port && '80' == location.port)) ) ); }, clearEmptyAttrs: function (a) { for (var b in a) '' === a[b] && delete a[b]; return a; }, str2json: function (a) { return utils.isString(a) ? window.JSON ? JSON.parse(a) : new Function('return ' + utils.trim(a || ''))() : null; }, json2str: (function () { function a(a) { return ( /["\\\x00-\x1f]/.test(a) && (a = a.replace(/["\\\x00-\x1f]/g, function (a) { var b = e[a]; return b ? b : ((b = a.charCodeAt()), '\\u00' + Math.floor(b / 16).toString(16) + (b % 16).toString(16)); })), '"' + a + '"' ); } function b(a) { var b, c, d, e = ['['], f = a.length; for (c = 0; c < f; c++) switch (((d = a[c]), typeof d)) { case 'undefined': case 'function': case 'unknown': break; default: b && e.push(','), e.push(utils.json2str(d)), (b = 1); } return e.push(']'), e.join(''); } function c(a) { return a < 10 ? '0' + a : a; } function d(a) { return ( '"' + a.getFullYear() + '-' + c(a.getMonth() + 1) + '-' + c(a.getDate()) + 'T' + c(a.getHours()) + ':' + c(a.getMinutes()) + ':' + c(a.getSeconds()) + '"' ); } if (window.JSON) return JSON.stringify; var e = { '\b': '\\b', '\t': '\\t', '\n': '\\n', '\f': '\\f', '\r': '\\r', '"': '\\"', '\\': '\\\\', }; return function (c) { switch (typeof c) { case 'undefined': return 'undefined'; case 'number': return isFinite(c) ? String(c) : 'null'; case 'string': return a(c); case 'boolean': return String(c); default: if (null === c) return 'null'; if (utils.isArray(c)) return b(c); if (utils.isDate(c)) return d(c); var e, f, g = ['{'], h = utils.json2str; for (var i in c) if (Object.prototype.hasOwnProperty.call(c, i)) switch (((f = c[i]), typeof f)) { case 'undefined': case 'unknown': case 'function': break; default: e && g.push(','), (e = 1), g.push(h(i) + ':' + h(f)); } return g.push('}'), g.join(''); } }; })(), }); utils.each(['String', 'Function', 'Array', 'Number', 'RegExp', 'Object', 'Date'], function (a) { UE.utils['is' + a] = function (b) { return Object.prototype.toString.apply(b) == '[object ' + a + ']'; }; }); var EventBase = (UE.EventBase = function () {}); EventBase.prototype = { addListener: function (a, b) { a = utils.trim(a).split(/\s+/); for (var c, d = 0; (c = a[d++]); ) getListener(this, c, !0).push(b); }, on: function (a, b) { return this.addListener(a, b); }, off: function (a, b) { return this.removeListener(a, b); }, trigger: function () { return this.fireEvent.apply(this, arguments); }, removeListener: function (a, b) { a = utils.trim(a).split(/\s+/); for (var c, d = 0; (c = a[d++]); ) utils.removeItem(getListener(this, c) || [], b); }, fireEvent: function () { var a = arguments[0]; a = utils.trim(a).split(' '); for (var b, c = 0; (b = a[c++]); ) { var d, e, f, g = getListener(this, b); if (g) for (f = g.length; f--; ) if (g[f]) { if (((e = g[f].apply(this, arguments)), e === !0)) return e; void 0 !== e && (d = e); } (e = this['on' + b.toLowerCase()]) && (d = e.apply(this, arguments)); } return d; }, }; var dtd = (dom.dtd = (function () { function a(a) { for (var b in a) a[b.toUpperCase()] = a[b]; return a; } var b = utils.extend2, c = a({ isindex: 1, fieldset: 1 }), d = a({ input: 1, button: 1, select: 1, textarea: 1, label: 1 }), e = b(a({ a: 1 }), d), f = b({ iframe: 1 }, e), g = a({ hr: 1, ul: 1, menu: 1, div: 1, blockquote: 1, noscript: 1, table: 1, center: 1, address: 1, dir: 1, pre: 1, h5: 1, dl: 1, h4: 1, noframes: 1, h6: 1, ol: 1, h1: 1, h3: 1, h2: 1, }), h = a({ ins: 1, del: 1, script: 1, style: 1 }), i = b( a({ b: 1, acronym: 1, bdo: 1, var: 1, '#': 1, abbr: 1, code: 1, br: 1, i: 1, cite: 1, kbd: 1, u: 1, strike: 1, s: 1, tt: 1, strong: 1, q: 1, samp: 1, em: 1, dfn: 1, span: 1, }), h, ), j = b( a({ sub: 1, img: 1, embed: 1, object: 1, sup: 1, basefont: 1, map: 1, applet: 1, font: 1, big: 1, small: 1, }), i, ), k = b(a({ p: 1 }), j), l = b(a({ iframe: 1 }), j, d), m = a({ img: 1, embed: 1, noscript: 1, br: 1, kbd: 1, center: 1, button: 1, basefont: 1, h5: 1, h4: 1, samp: 1, h6: 1, ol: 1, h1: 1, h3: 1, h2: 1, form: 1, font: 1, '#': 1, select: 1, menu: 1, ins: 1, abbr: 1, label: 1, code: 1, table: 1, script: 1, cite: 1, input: 1, iframe: 1, strong: 1, textarea: 1, noframes: 1, big: 1, small: 1, span: 1, hr: 1, sub: 1, bdo: 1, var: 1, div: 1, object: 1, sup: 1, strike: 1, dir: 1, map: 1, dl: 1, applet: 1, del: 1, isindex: 1, fieldset: 1, ul: 1, b: 1, acronym: 1, a: 1, blockquote: 1, i: 1, u: 1, s: 1, tt: 1, address: 1, q: 1, pre: 1, p: 1, em: 1, dfn: 1, }), n = b(a({ a: 0 }), l), o = a({ tr: 1 }), p = a({ '#': 1 }), q = b(a({ param: 1 }), m), r = b(a({ form: 1 }), c, f, g, k), s = a({ li: 1, ol: 1, ul: 1 }), t = a({ style: 1, script: 1 }), u = a({ base: 1, link: 1, meta: 1, title: 1 }), v = b(u, t), w = a({ head: 1, body: 1 }), x = a({ html: 1 }), y = a({ address: 1, blockquote: 1, center: 1, dir: 1, div: 1, dl: 1, fieldset: 1, form: 1, h1: 1, h2: 1, h3: 1, h4: 1, h5: 1, h6: 1, hr: 1, isindex: 1, menu: 1, noframes: 1, ol: 1, p: 1, pre: 1, table: 1, ul: 1, }), z = a({ area: 1, base: 1, basefont: 1, br: 1, col: 1, command: 1, dialog: 1, embed: 1, hr: 1, img: 1, input: 1, isindex: 1, keygen: 1, link: 1, meta: 1, param: 1, source: 1, track: 1, wbr: 1, }); return a({ $nonBodyContent: b(x, w, u), $block: y, $inline: n, $inlineWithA: b(a({ a: 1 }), n), $body: b(a({ script: 1, style: 1 }), y), $cdata: a({ script: 1, style: 1 }), $empty: z, $nonChild: a({ iframe: 1, textarea: 1 }), $listItem: a({ dd: 1, dt: 1, li: 1 }), $list: a({ ul: 1, ol: 1, dl: 1 }), $isNotEmpty: a({ table: 1, ul: 1, ol: 1, dl: 1, iframe: 1, area: 1, base: 1, col: 1, hr: 1, img: 1, embed: 1, input: 1, link: 1, meta: 1, param: 1, h1: 1, h2: 1, h3: 1, h4: 1, h5: 1, h6: 1, }), $removeEmpty: a({ a: 1, abbr: 1, acronym: 1, address: 1, b: 1, bdo: 1, big: 1, cite: 1, code: 1, del: 1, dfn: 1, em: 1, font: 1, i: 1, ins: 1, label: 1, kbd: 1, q: 1, s: 1, samp: 1, small: 1, span: 1, strike: 1, strong: 1, sub: 1, sup: 1, tt: 1, u: 1, var: 1, }), $removeEmptyBlock: a({ p: 1, div: 1 }), $tableContent: a({ caption: 1, col: 1, colgroup: 1, tbody: 1, td: 1, tfoot: 1, th: 1, thead: 1, tr: 1, table: 1, }), $notTransContent: a({ pre: 1, script: 1, style: 1, textarea: 1 }), html: w, head: v, style: p, script: p, body: r, base: {}, link: {}, meta: {}, title: p, col: {}, tr: a({ td: 1, th: 1 }), img: {}, embed: {}, colgroup: a({ thead: 1, col: 1, tbody: 1, tr: 1, tfoot: 1 }), noscript: r, td: r, br: {}, th: r, center: r, kbd: n, button: b(k, g), basefont: {}, h5: n, h4: n, samp: n, h6: n, ol: s, h1: n, h3: n, option: p, h2: n, form: b(c, f, g, k), select: a({ optgroup: 1, option: 1 }), font: n, ins: n, menu: s, abbr: n, label: n, table: a({ thead: 1, col: 1, tbody: 1, tr: 1, colgroup: 1, caption: 1, tfoot: 1 }), code: n, tfoot: o, cite: n, li: r, input: {}, iframe: r, strong: n, textarea: p, noframes: r, big: n, small: n, span: a({ '#': 1, br: 1, b: 1, strong: 1, u: 1, i: 1, em: 1, sub: 1, sup: 1, strike: 1, span: 1, }), hr: n, dt: n, sub: n, optgroup: a({ option: 1 }), param: {}, bdo: n, var: n, div: r, object: q, sup: n, dd: r, strike: n, area: {}, dir: s, map: b(a({ area: 1, form: 1, p: 1 }), c, h, g), applet: q, dl: a({ dt: 1, dd: 1 }), del: n, isindex: {}, fieldset: b(a({ legend: 1 }), m), thead: o, ul: s, acronym: n, b: n, a: b(a({ a: 1 }), l), blockquote: b(a({ td: 1, tr: 1, tbody: 1, li: 1 }), r), caption: n, i: n, u: n, tbody: o, s: n, address: b(f, k), tt: n, legend: n, q: n, pre: b(i, e), p: b(a({ a: 1 }), n), em: n, dfn: n, }); })()), attrFix = ie && browser.version < 9 ? { tabindex: 'tabIndex', readonly: 'readOnly', for: 'htmlFor', class: 'className', maxlength: 'maxLength', cellspacing: 'cellSpacing', cellpadding: 'cellPadding', rowspan: 'rowSpan', colspan: 'colSpan', usemap: 'useMap', frameborder: 'frameBorder', } : { tabindex: 'tabIndex', readonly: 'readOnly' }, styleBlock = utils.listToMap([ '-webkit-box', '-moz-box', 'block', 'list-item', 'table', 'table-row-group', 'table-header-group', 'table-footer-group', 'table-row', 'table-column-group', 'table-column', 'table-cell', 'table-caption', ]), domUtils = (dom.domUtils = { NODE_ELEMENT: 1, NODE_DOCUMENT: 9, NODE_TEXT: 3, NODE_COMMENT: 8, NODE_DOCUMENT_FRAGMENT: 11, POSITION_IDENTICAL: 0, POSITION_DISCONNECTED: 1, POSITION_FOLLOWING: 2, POSITION_PRECEDING: 4, POSITION_IS_CONTAINED: 8, POSITION_CONTAINS: 16, fillChar: ie && '6' == browser.version ? '\ufeff' : '​', keys: { 8: 1, 46: 1, 16: 1, 17: 1, 18: 1, 37: 1, 38: 1, 39: 1, 40: 1, 13: 1 }, getPosition: function (a, b) { if (a === b) return 0; var c, d = [a], e = [b]; for (c = a; (c = c.parentNode); ) { if (c === b) return 10; d.push(c); } for (c = b; (c = c.parentNode); ) { if (c === a) return 20; e.push(c); } if ((d.reverse(), e.reverse(), d[0] !== e[0])) return 1; for (var f = -1; f++, d[f] === e[f]; ); for (a = d[f], b = e[f]; (a = a.nextSibling); ) if (a === b) return 4; return 2; }, getNodeIndex: function (a, b) { for (var c = a, d = 0; (c = c.previousSibling); ) b && 3 == c.nodeType ? c.nodeType != c.nextSibling.nodeType && d++ : d++; return d; }, inDoc: function (a, b) { return 10 == domUtils.getPosition(a, b); }, findParent: function (a, b, c) { if (a && !domUtils.isBody(a)) for (a = c ? a : a.parentNode; a; ) { if (!b || b(a) || domUtils.isBody(a)) return b && !b(a) && domUtils.isBody(a) ? null : a; a = a.parentNode; } return null; }, findParentByTagName: function (a, b, c, d) { return ( (b = utils.listToMap(utils.isArray(b) ? b : [b])), domUtils.findParent( a, function (a) { return b[a.tagName] && !(d && d(a)); }, c, ) ); }, findParents: function (a, b, c, d) { for (var e = b && ((c && c(a)) || !c) ? [a] : []; (a = domUtils.findParent(a, c)); ) e.push(a); return d ? e : e.reverse(); }, insertAfter: function (a, b) { return a.nextSibling ? a.parentNode.insertBefore(b, a.nextSibling) : a.parentNode.appendChild(b); }, remove: function (a, b) { var c, d = a.parentNode; if (d) { if (b && a.hasChildNodes()) for (; (c = a.firstChild); ) d.insertBefore(c, a); d.removeChild(a); } return a; }, getNextDomNode: function (a, b, c, d) { return getDomNode(a, 'firstChild', 'nextSibling', b, c, d); }, getPreDomNode: function (a, b, c, d) { return getDomNode(a, 'lastChild', 'previousSibling', b, c, d); }, isBookmarkNode: function (a) { return 1 == a.nodeType && a.id && /^_baidu_bookmark_/i.test(a.id); }, getWindow: function (a) { var b = a.ownerDocument || a; return b.defaultView || b.parentWindow; }, getCommonAncestor: function (a, b) { if (a === b) return a; for (var c = [a], d = [b], e = a, f = -1; (e = e.parentNode); ) { if (e === b) return e; c.push(e); } for (e = b; (e = e.parentNode); ) { if (e === a) return e; d.push(e); } for (c.reverse(), d.reverse(); f++, c[f] === d[f]; ); return 0 == f ? null : c[f - 1]; }, clearEmptySibling: function (a, b, c) { function d(a, b) { for ( var c; a && !domUtils.isBookmarkNode(a) && (domUtils.isEmptyInlineElement(a) || !new RegExp('[^\t\n\r' + domUtils.fillChar + ']').test(a.nodeValue)); ) (c = a[b]), domUtils.remove(a), (a = c); } !b && d(a.nextSibling, 'nextSibling'), !c && d(a.previousSibling, 'previousSibling'); }, split: function (a, b) { var c = a.ownerDocument; if (browser.ie && b == a.nodeValue.length) { var d = c.createTextNode(''); return domUtils.insertAfter(a, d); } var e = a.splitText(b); if (browser.ie8) { var f = c.createTextNode(''); domUtils.insertAfter(e, f), domUtils.remove(f); } return e; }, isWhitespace: function (a) { return !new RegExp('[^ \t\n\r' + domUtils.fillChar + ']').test(a.nodeValue); }, getXY: function (a) { for (var b = 0, c = 0; a.offsetParent; ) (c += a.offsetTop), (b += a.offsetLeft), (a = a.offsetParent); return { x: b, y: c }; }, on: function (a, b, c) { var d = utils.isArray(b) ? b : utils.trim(b).split(/\s+/), e = d.length; if (e) for (; e--; ) if (((b = d[e]), a.addEventListener)) a.addEventListener(b, c, !1); else { c._d || (c._d = { els: [] }); var f = b + c.toString(), g = utils.indexOf(c._d.els, a); (c._d[f] && g != -1) || (g == -1 && c._d.els.push(a), c._d[f] || (c._d[f] = function (a) { return c.call(a.srcElement, a || window.event); }), a.attachEvent('on' + b, c._d[f])); } a = null; }, un: function (a, b, c) { var d = utils.isArray(b) ? b : utils.trim(b).split(/\s+/), e = d.length; if (e) for (; e--; ) if (((b = d[e]), a.removeEventListener)) a.removeEventListener(b, c, !1); else { var f = b + c.toString(); try { a.detachEvent('on' + b, c._d ? c._d[f] : c); } catch (g) {} if (c._d && c._d[f]) { var h = utils.indexOf(c._d.els, a); h != -1 && c._d.els.splice(h, 1), 0 == c._d.els.length && delete c._d[f]; } } }, isSameElement: function (a, b) { if (a.tagName != b.tagName) return !1; var c = a.attributes, d = b.attributes; if (!ie && c.length != d.length) return !1; for (var e, f, g = 0, h = 0, i = 0; (e = c[i++]); ) { if ('style' == e.nodeName) { if ((e.specified && g++, domUtils.isSameStyle(a, b))) continue; return !1; } if (ie) { if (!e.specified) continue; g++, (f = d.getNamedItem(e.nodeName)); } else f = b.attributes[e.nodeName]; if (!f.specified || e.nodeValue != f.nodeValue) return !1; } if (ie) { for (i = 0; (f = d[i++]); ) f.specified && h++; if (g != h) return !1; } return !0; }, isSameStyle: function (a, b) { var c = a.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':'), d = b.style.cssText.replace(/( ?; ?)/g, ';').replace(/( ?: ?)/g, ':'); if (browser.opera) { if (((c = a.style), (d = b.style), c.length != d.length)) return !1; for (var e in c) if (!/^(\d+|csstext)$/i.test(e) && c[e] != d[e]) return !1; return !0; } if (!c || !d) return c == d; if (((c = c.split(';')), (d = d.split(';')), c.length != d.length)) return !1; for (var f, g = 0; (f = c[g++]); ) if (utils.indexOf(d, f) == -1) return !1; return !0; }, isBlockElm: function (a) { return ( 1 == a.nodeType && (dtd.$block[a.tagName] || styleBlock[domUtils.getComputedStyle(a, 'display')]) && !dtd.$nonChild[a.tagName] ); }, isBody: function (a) { return a && 1 == a.nodeType && 'body' == a.tagName.toLowerCase(); }, breakParent: function (a, b) { var c, d, e, f = a, g = a; do { for ( f = f.parentNode, d ? ((c = f.cloneNode(!1)), c.appendChild(d), (d = c), (c = f.cloneNode(!1)), c.appendChild(e), (e = c)) : ((d = f.cloneNode(!1)), (e = d.cloneNode(!1))); (c = g.previousSibling); ) d.insertBefore(c, d.firstChild); for (; (c = g.nextSibling); ) e.appendChild(c); g = f; } while (b !== f); return ( (c = b.parentNode), c.insertBefore(d, b), c.insertBefore(e, b), c.insertBefore(a, e), domUtils.remove(b), a ); }, isEmptyInlineElement: function (a) { if (1 != a.nodeType || !dtd.$removeEmpty[a.tagName]) return 0; for (a = a.firstChild; a; ) { if (domUtils.isBookmarkNode(a)) return 0; if ( (1 == a.nodeType && !domUtils.isEmptyInlineElement(a)) || (3 == a.nodeType && !domUtils.isWhitespace(a)) ) return 0; a = a.nextSibling; } return 1; }, trimWhiteTextNode: function (a) { function b(b) { for (var c; (c = a[b]) && 3 == c.nodeType && domUtils.isWhitespace(c); ) a.removeChild(c); } b('firstChild'), b('lastChild'); }, mergeChild: function (a, b, c) { for ( var d, e = domUtils.getElementsByTagName(a, a.tagName.toLowerCase()), f = 0; (d = e[f++]); ) if (d.parentNode && !domUtils.isBookmarkNode(d)) if ('span' != d.tagName.toLowerCase()) domUtils.isSameElement(a, d) && domUtils.remove(d, !0); else { if (a === d.parentNode && (domUtils.trimWhiteTextNode(a), 1 == a.childNodes.length)) { (a.style.cssText = d.style.cssText + ';' + a.style.cssText), domUtils.remove(d, !0); continue; } if (((d.style.cssText = a.style.cssText + ';' + d.style.cssText), c)) { var g = c.style; if (g) { g = g.split(';'); for (var h, i = 0; (h = g[i++]); ) d.style[utils.cssStyleToDomStyle(h.split(':')[0])] = h.split(':')[1]; } } domUtils.isSameStyle(d, a) && domUtils.remove(d, !0); } }, getElementsByTagName: function (a, b, c) { if (c && utils.isString(c)) { var d = c; c = function (a) { return domUtils.hasClass(a, d); }; } b = utils .trim(b) .replace(/[ ]{2,}/g, ' ') .split(' '); for (var e, f = [], g = 0; (e = b[g++]); ) for (var h, i = a.getElementsByTagName(e), j = 0; (h = i[j++]); ) (c && !c(h)) || f.push(h); return f; }, mergeToParent: function (a) { for (var b = a.parentNode; b && dtd.$removeEmpty[b.tagName]; ) { if (b.tagName == a.tagName || 'A' == b.tagName) { if ( (domUtils.trimWhiteTextNode(b), ('SPAN' == b.tagName && !domUtils.isSameStyle(b, a)) || ('A' == b.tagName && 'SPAN' == a.tagName)) ) { if (b.childNodes.length > 1 || b !== a.parentNode) { (a.style.cssText = b.style.cssText + ';' + a.style.cssText), (b = b.parentNode); continue; } (b.style.cssText += ';' + a.style.cssText), 'A' == b.tagName && (b.style.textDecoration = 'underline'); } if ('A' != b.tagName) { b === a.parentNode && domUtils.remove(a, !0); break; } } b = b.parentNode; } }, mergeSibling: function (a, b, c) { function d(a, b, c) { var d; if ( (d = c[a]) && !domUtils.isBookmarkNode(d) && 1 == d.nodeType && domUtils.isSameElement(c, d) ) { for (; d.firstChild; ) 'firstChild' == b ? c.insertBefore(d.lastChild, c.firstChild) : c.appendChild(d.firstChild); domUtils.remove(d); } } !b && d('previousSibling', 'firstChild', a), !c && d('nextSibling', 'lastChild', a); }, unSelectable: (ie && browser.ie9below) || browser.opera ? function (a) { (a.onselectstart = function () { return !1; }), (a.onclick = a.onkeyup = a.onkeydown = function () { return !1; }), (a.unselectable = 'on'), a.setAttribute('unselectable', 'on'); for (var b, c = 0; (b = a.all[c++]); ) switch (b.tagName.toLowerCase()) { case 'iframe': case 'textarea': case 'input': case 'select': break; default: (b.unselectable = 'on'), a.setAttribute('unselectable', 'on'); } } : function (a) { a.style.MozUserSelect = a.style.webkitUserSelect = a.style.msUserSelect = a.style.KhtmlUserSelect = 'none'; }, removeAttributes: function (a, b) { b = utils.isArray(b) ? b : utils .trim(b) .replace(/[ ]{2,}/g, ' ') .split(' '); for (var c, d = 0; (c = b[d++]); ) { switch ((c = attrFix[c] || c)) { case 'className': a[c] = ''; break; case 'style': a.style.cssText = ''; var e = a.getAttributeNode('style'); !browser.ie && e && a.removeAttributeNode(e); } a.removeAttribute(c); } }, createElement: function (a, b, c) { return domUtils.setAttributes(a.createElement(b), c); }, setAttributes: function (a, b) { for (var c in b) if (b.hasOwnProperty(c)) { var d = b[c]; switch (c) { case 'class': a.className = d; break; case 'style': a.style.cssText = a.style.cssText + ';' + d; break; case 'innerHTML': a[c] = d; break; case 'value': a.value = d; break; default: a.setAttribute(attrFix[c] || c, d); } } return a; }, getComputedStyle: function (a, b) { var c = 'width height top left'; if (c.indexOf(b) > -1) return ( a[ 'offset' + b.replace(/^\w/, function (a) { return a.toUpperCase(); }) ] + 'px' ); if ( (3 == a.nodeType && (a = a.parentNode), browser.ie && browser.version < 9 && 'font-size' == b && !a.style.fontSize && !dtd.$empty[a.tagName] && !dtd.$nonChild[a.tagName]) ) { var d = a.ownerDocument.createElement('span'); (d.style.cssText = 'padding:0;border:0;font-family:simsun;'), (d.innerHTML = '.'), a.appendChild(d); var e = d.offsetHeight; return a.removeChild(d), (d = null), e + 'px'; } try { var f = domUtils.getStyle(a, b) || (window.getComputedStyle ? domUtils.getWindow(a).getComputedStyle(a, '').getPropertyValue(b) : (a.currentStyle || a.style)[utils.cssStyleToDomStyle(b)]); } catch (g) { return ''; } return utils.transUnitToPx(utils.fixColor(b, f)); }, removeClasses: function (a, b) { b = utils.isArray(b) ? b : utils .trim(b) .replace(/[ ]{2,}/g, ' ') .split(' '); for (var c, d = 0, e = a.className; (c = b[d++]); ) e = e.replace(new RegExp('\\b' + c + '\\b'), ''); (e = utils.trim(e).replace(/[ ]{2,}/g, ' ')), e ? (a.className = e) : domUtils.removeAttributes(a, ['class']); }, addClass: function (a, b) { if (a) { b = utils .trim(b) .replace(/[ ]{2,}/g, ' ') .split(' '); for (var c, d = 0, e = a.className; (c = b[d++]); ) new RegExp('\\b' + c + '\\b').test(e) || (e += ' ' + c); a.className = utils.trim(e); } }, hasClass: function (a, b) { if (utils.isRegExp(b)) return b.test(a.className); b = utils .trim(b) .replace(/[ ]{2,}/g, ' ') .split(' '); for (var c, d = 0, e = a.className; (c = b[d++]); ) if (!new RegExp('\\b' + c + '\\b', 'i').test(e)) return !1; return d - 1 == b.length; }, preventDefault: function (a) { a.preventDefault ? a.preventDefault() : (a.returnValue = !1); }, removeStyle: function (a, b) { browser.ie ? ('color' == b && (b = '(^|;)' + b), (a.style.cssText = a.style.cssText.replace(new RegExp(b + '[^:]*:[^;]+;?', 'ig'), ''))) : a.style.removeProperty ? a.style.removeProperty(b) : a.style.removeAttribute(utils.cssStyleToDomStyle(b)), a.style.cssText || domUtils.removeAttributes(a, ['style']); }, getStyle: function (a, b) { var c = a.style[utils.cssStyleToDomStyle(b)]; return utils.fixColor(b, c); }, setStyle: function (a, b, c) { (a.style[utils.cssStyleToDomStyle(b)] = c), utils.trim(a.style.cssText) || this.removeAttributes(a, 'style'); }, setStyles: function (a, b) { for (var c in b) b.hasOwnProperty(c) && domUtils.setStyle(a, c, b[c]); }, removeDirtyAttr: function (a) { for (var b, c = 0, d = a.getElementsByTagName('*'); (b = d[c++]); ) b.removeAttribute('_moz_dirty'); a.removeAttribute('_moz_dirty'); }, getChildCount: function (a, b) { var c = 0, d = a.firstChild; for ( b = b || function () { return 1; }; d; ) b(d) && c++, (d = d.nextSibling); return c; }, isEmptyNode: function (a) { return ( !a.firstChild || 0 == domUtils.getChildCount(a, function (a) { return !domUtils.isBr(a) && !domUtils.isBookmarkNode(a) && !domUtils.isWhitespace(a); }) ); }, clearSelectedArr: function (a) { for (var b; (b = a.pop()); ) domUtils.removeAttributes(b, ['class']); }, scrollToView: function (a, b, c) { var d = function () { var a = b.document, c = 'CSS1Compat' == a.compatMode; return { width: (c ? a.documentElement.clientWidth : a.body.clientWidth) || 0, height: (c ? a.documentElement.clientHeight : a.body.clientHeight) || 0, }; }, e = function (a) { if ('pageXOffset' in a) return { x: a.pageXOffset || 0, y: a.pageYOffset || 0 }; var b = a.document; return { x: b.documentElement.scrollLeft || b.body.scrollLeft || 0, y: b.documentElement.scrollTop || b.body.scrollTop || 0, }; }, f = d().height, g = f * -1 + c; g += a.offsetHeight || 0; var h = domUtils.getXY(a); g += h.y; var i = e(b).y; (g > i || g < i - f) && b.scrollTo(0, g + (g < 0 ? -20 : 20)); }, isBr: function (a) { return 1 == a.nodeType && 'BR' == a.tagName; }, isFillChar: function (a, b) { if (3 != a.nodeType) return !1; var c = a.nodeValue; return b ? new RegExp('^' + domUtils.fillChar).test(c) : !c.replace(new RegExp(domUtils.fillChar, 'g'), '').length; }, isStartInblock: function (a) { var b, c = a.cloneRange(), d = 0, e = c.startContainer; if (1 == e.nodeType && e.childNodes[c.startOffset]) { e = e.childNodes[c.startOffset]; for (var f = e.previousSibling; f && domUtils.isFillChar(f); ) (e = f), (f = f.previousSibling); } for ( this.isFillChar(e, !0) && 1 == c.startOffset && (c.setStartBefore(e), (e = c.startContainer)); e && domUtils.isFillChar(e); ) (b = e), (e = e.previousSibling); for ( b && (c.setStartBefore(b), (e = c.startContainer)), 1 == e.nodeType && domUtils.isEmptyNode(e) && 1 == c.startOffset && c.setStart(e, 0).collapse(!0); !c.startOffset; ) { if (((e = c.startContainer), domUtils.isBlockElm(e) || domUtils.isBody(e))) { d = 1; break; } var g, f = c.startContainer.previousSibling; if (f) { for (; f && domUtils.isFillChar(f); ) (g = f), (f = f.previousSibling); g ? c.setStartBefore(g) : c.setStartBefore(c.startContainer); } else c.setStartBefore(c.startContainer); } return d && !domUtils.isBody(c.startContainer) ? 1 : 0; }, isEmptyBlock: function (a, b) { if (1 != a.nodeType) return 0; if ( ((b = b || new RegExp('[  \t\r\n' + domUtils.fillChar + ']', 'g')), a[browser.ie ? 'innerText' : 'textContent'].replace(b, '').length > 0) ) return 0; for (var c in dtd.$isNotEmpty) if (a.getElementsByTagName(c).length) return 0; return 1; }, setViewportOffset: function (a, b) { var c = 0 | parseInt(a.style.left), d = 0 | parseInt(a.style.top), e = a.getBoundingClientRect(), f = b.left - e.left, g = b.top - e.top; f && (a.style.left = c + f + 'px'), g && (a.style.top = d + g + 'px'); }, fillNode: function (a, b) { var c = browser.ie ? a.createTextNode(domUtils.fillChar) : a.createElement('br'); (b.innerHTML = ''), b.appendChild(c); }, moveChild: function (a, b, c) { for (; a.firstChild; ) c && b.firstChild ? b.insertBefore(a.lastChild, b.firstChild) : b.appendChild(a.firstChild); }, hasNoAttributes: function (a) { return browser.ie ? /^<\w+\s*?>/.test(a.outerHTML) : 0 == a.attributes.length; }, isCustomeNode: function (a) { return 1 == a.nodeType && a.getAttribute('_ue_custom_node_'); }, isTagNode: function (a, b) { return 1 == a.nodeType && new RegExp('\\b' + a.tagName + '\\b', 'i').test(b); }, filterNodeList: function (a, b, c) { var d = []; if (!utils.isFunction(b)) { var e = b; b = function (a) { return ( utils.indexOf(utils.isArray(e) ? e : e.split(' '), a.tagName.toLowerCase()) != -1 ); }; } return ( utils.each(a, function (a) { b(a) && d.push(a); }), 0 == d.length ? null : 1 != d.length && c ? d : d[0] ); }, isInNodeEndBoundary: function (a, b) { var c = a.startContainer; if (3 == c.nodeType && a.startOffset != c.nodeValue.length) return 0; if (1 == c.nodeType && a.startOffset != c.childNodes.length) return 0; for (; c !== b; ) { if (c.nextSibling) return 0; c = c.parentNode; } return 1; }, isBoundaryNode: function (a, b) { for (var c; !domUtils.isBody(a); ) if (((c = a), (a = a.parentNode), c !== a[b])) return !1; return !0; }, fillHtml: browser.ie11below ? ' ' : '
', }), fillCharReg = new RegExp(domUtils.fillChar, 'g'); !(function () { function a(a) { a.collapsed = a.startContainer && a.endContainer && a.startContainer === a.endContainer && a.startOffset == a.endOffset; } function b(a) { return ( !a.collapsed && 1 == a.startContainer.nodeType && a.startContainer === a.endContainer && a.endOffset - a.startOffset == 1 ); } function c(b, c, d, e) { return ( 1 == c.nodeType && (dtd.$empty[c.tagName] || dtd.$nonChild[c.tagName]) && ((d = domUtils.getNodeIndex(c) + (b ? 0 : 1)), (c = c.parentNode)), b ? ((e.startContainer = c), (e.startOffset = d), e.endContainer || e.collapse(!0)) : ((e.endContainer = c), (e.endOffset = d), e.startContainer || e.collapse(!1)), a(e), e ); } function d(a, b) { var c, d, e = a.startContainer, f = a.endContainer, g = a.startOffset, h = a.endOffset, i = a.document, j = i.createDocumentFragment(); if ( (1 == e.nodeType && (e = e.childNodes[g] || (c = e.appendChild(i.createTextNode('')))), 1 == f.nodeType && (f = f.childNodes[h] || (d = f.appendChild(i.createTextNode('')))), e === f && 3 == e.nodeType) ) return ( j.appendChild(i.createTextNode(e.substringData(g, h - g))), b && (e.deleteData(g, h - g), a.collapse(!0)), j ); for ( var k, l, m = j, n = domUtils.findParents(e, !0), o = domUtils.findParents(f, !0), p = 0; n[p] == o[p]; ) p++; for (var q, r = p; (q = n[r]); r++) { for ( k = q.nextSibling, q == e ? c || (3 == a.startContainer.nodeType ? (m.appendChild(i.createTextNode(e.nodeValue.slice(g))), b && e.deleteData(g, e.nodeValue.length - g)) : m.appendChild(b ? e : e.cloneNode(!0))) : ((l = q.cloneNode(!1)), m.appendChild(l)); k && k !== f && k !== o[r]; ) (q = k.nextSibling), m.appendChild(b ? k : k.cloneNode(!0)), (k = q); m = l; } (m = j), n[p] || (m.appendChild(n[p - 1].cloneNode(!1)), (m = m.firstChild)); for (var s, r = p; (s = o[r]); r++) { if ( ((k = s.previousSibling), s == f ? d || 3 != a.endContainer.nodeType || (m.appendChild(i.createTextNode(f.substringData(0, h))), b && f.deleteData(0, h)) : ((l = s.cloneNode(!1)), m.appendChild(l)), r != p || !n[p]) ) for (; k && k !== e; ) (s = k.previousSibling), m.insertBefore(b ? k : k.cloneNode(!0), m.firstChild), (k = s); m = l; } return ( b && a.setStartBefore(o[p] ? (n[p] ? o[p] : n[p - 1]) : o[p - 1]).collapse(!0), c && domUtils.remove(c), d && domUtils.remove(d), j ); } function e(a, b) { try { if (g && domUtils.inDoc(g, a)) if (g.nodeValue.replace(fillCharReg, '').length) g.nodeValue = g.nodeValue.replace(fillCharReg, ''); else { var c = g.parentNode; for ( domUtils.remove(g); c && domUtils.isEmptyInlineElement(c) && (browser.safari ? !(domUtils.getPosition(c, b) & domUtils.POSITION_CONTAINS) : !c.contains(b)); ) (g = c.parentNode), domUtils.remove(c), (c = g); } } catch (d) {} } function f(a, b) { var c; for (a = a[b]; a && domUtils.isFillChar(a); ) (c = a[b]), domUtils.remove(a), (a = c); } var g, h = 0, i = domUtils.fillChar, j = (dom.Range = function (a) { var b = this; (b.startContainer = b.startOffset = b.endContainer = b.endOffset = null), (b.document = a), (b.collapsed = !0); }); j.prototype = { cloneContents: function () { return this.collapsed ? null : d(this, 0); }, deleteContents: function () { var a; return ( this.collapsed || d(this, 1), browser.webkit && ((a = this.startContainer), 3 != a.nodeType || a.nodeValue.length || (this.setStartBefore(a).collapse(!0), domUtils.remove(a))), this ); }, extractContents: function () { return this.collapsed ? null : d(this, 2); }, setStart: function (a, b) { return c(!0, a, b, this); }, setEnd: function (a, b) { return c(!1, a, b, this); }, setStartAfter: function (a) { return this.setStart(a.parentNode, domUtils.getNodeIndex(a) + 1); }, setStartBefore: function (a) { return this.setStart(a.parentNode, domUtils.getNodeIndex(a)); }, setEndAfter: function (a) { return this.setEnd(a.parentNode, domUtils.getNodeIndex(a) + 1); }, setEndBefore: function (a) { return this.setEnd(a.parentNode, domUtils.getNodeIndex(a)); }, setStartAtFirst: function (a) { return this.setStart(a, 0); }, setStartAtLast: function (a) { return this.setStart(a, 3 == a.nodeType ? a.nodeValue.length : a.childNodes.length); }, setEndAtFirst: function (a) { return this.setEnd(a, 0); }, setEndAtLast: function (a) { return this.setEnd(a, 3 == a.nodeType ? a.nodeValue.length : a.childNodes.length); }, selectNode: function (a) { return this.setStartBefore(a).setEndAfter(a); }, selectNodeContents: function (a) { return this.setStart(a, 0).setEndAtLast(a); }, cloneRange: function () { var a = this; return new j(a.document) .setStart(a.startContainer, a.startOffset) .setEnd(a.endContainer, a.endOffset); }, collapse: function (a) { var b = this; return ( a ? ((b.endContainer = b.startContainer), (b.endOffset = b.startOffset)) : ((b.startContainer = b.endContainer), (b.startOffset = b.endOffset)), (b.collapsed = !0), b ); }, shrinkBoundary: function (a) { function b(a) { return ( 1 == a.nodeType && !domUtils.isBookmarkNode(a) && !dtd.$empty[a.tagName] && !dtd.$nonChild[a.tagName] ); } for ( var c, d = this, e = d.collapsed; 1 == d.startContainer.nodeType && (c = d.startContainer.childNodes[d.startOffset]) && b(c); ) d.setStart(c, 0); if (e) return d.collapse(!0); if (!a) for ( ; 1 == d.endContainer.nodeType && d.endOffset > 0 && (c = d.endContainer.childNodes[d.endOffset - 1]) && b(c); ) d.setEnd(c, c.childNodes.length); return d; }, getCommonAncestor: function (a, c) { var d = this, e = d.startContainer, f = d.endContainer; return e === f ? a && b(this) && ((e = e.childNodes[d.startOffset]), 1 == e.nodeType) ? e : c && 3 == e.nodeType ? e.parentNode : e : domUtils.getCommonAncestor(e, f); }, trimBoundary: function (a) { this.txtToElmBoundary(); var b = this.startContainer, c = this.startOffset, d = this.collapsed, e = this.endContainer; if (3 == b.nodeType) { if (0 == c) this.setStartBefore(b); else if (c >= b.nodeValue.length) this.setStartAfter(b); else { var f = domUtils.split(b, c); b === e ? this.setEnd(f, this.endOffset - c) : b.parentNode === e && (this.endOffset += 1), this.setStartBefore(f); } if (d) return this.collapse(!0); } return ( a || ((c = this.endOffset), (e = this.endContainer), 3 == e.nodeType && (0 == c ? this.setEndBefore(e) : (c < e.nodeValue.length && domUtils.split(e, c), this.setEndAfter(e)))), this ); }, txtToElmBoundary: function (a) { function b(a, b) { var c = a[b + 'Container'], d = a[b + 'Offset']; 3 == c.nodeType && (d ? d >= c.nodeValue.length && a[ 'set' + b.replace(/(\w)/, function (a) { return a.toUpperCase(); }) + 'After' ](c) : a[ 'set' + b.replace(/(\w)/, function (a) { return a.toUpperCase(); }) + 'Before' ](c)); } return (!a && this.collapsed) || (b(this, 'start'), b(this, 'end')), this; }, insertNode: function (a) { var b = a, c = 1; 11 == a.nodeType && ((b = a.firstChild), (c = a.childNodes.length)), this.trimBoundary(!0); var d = this.startContainer, e = this.startOffset, f = d.childNodes[e]; return ( f ? d.insertBefore(a, f) : d.appendChild(a), b.parentNode === this.endContainer && (this.endOffset = this.endOffset + c), this.setStartBefore(b) ); }, setCursor: function (a, b) { return this.collapse(!a).select(b); }, createBookmark: function (a, b) { var c, d = this.document.createElement('span'); return ( (d.style.cssText = 'display:none;line-height:0px;'), d.appendChild(this.document.createTextNode('‍')), (d.id = '_baidu_bookmark_start_' + (b ? '' : h++)), this.collapsed || ((c = d.cloneNode(!0)), (c.id = '_baidu_bookmark_end_' + (b ? '' : h++))), this.insertNode(d), c && this.collapse().insertNode(c).setEndBefore(c), this.setStartAfter(d), { start: a ? d.id : d, end: c ? (a ? c.id : c) : null, id: a } ); }, moveToBookmark: function (a) { var b = a.id ? this.document.getElementById(a.start) : a.start, c = a.end && a.id ? this.document.getElementById(a.end) : a.end; return ( this.setStartBefore(b), domUtils.remove(b), c ? (this.setEndBefore(c), domUtils.remove(c)) : this.collapse(!0), this ); }, enlarge: function (a, b) { var c, d, e = domUtils.isBody, f = this.document.createTextNode(''); if (a) { for ( d = this.startContainer, 1 == d.nodeType ? d.childNodes[this.startOffset] ? (c = d = d.childNodes[this.startOffset]) : (d.appendChild(f), (c = d = f)) : (c = d); ; ) { if (domUtils.isBlockElm(d)) { for (d = c; (c = d.previousSibling) && !domUtils.isBlockElm(c); ) d = c; this.setStartBefore(d); break; } (c = d), (d = d.parentNode); } for ( d = this.endContainer, 1 == d.nodeType ? ((c = d.childNodes[this.endOffset]) ? d.insertBefore(f, c) : d.appendChild(f), (c = d = f)) : (c = d); ; ) { if (domUtils.isBlockElm(d)) { for (d = c; (c = d.nextSibling) && !domUtils.isBlockElm(c); ) d = c; this.setEndAfter(d); break; } (c = d), (d = d.parentNode); } f.parentNode === this.endContainer && this.endOffset--, domUtils.remove(f); } if (!this.collapsed) { for ( ; !(0 != this.startOffset || (b && b(this.startContainer)) || e(this.startContainer)); ) this.setStartBefore(this.startContainer); for ( ; !( this.endOffset != (1 == this.endContainer.nodeType ? this.endContainer.childNodes.length : this.endContainer.nodeValue.length) || (b && b(this.endContainer)) || e(this.endContainer) ); ) this.setEndAfter(this.endContainer); } return this; }, enlargeToBlockElm: function (a) { for (; !domUtils.isBlockElm(this.startContainer); ) this.setStartBefore(this.startContainer); if (!a) for (; !domUtils.isBlockElm(this.endContainer); ) this.setEndAfter(this.endContainer); return this; }, adjustmentBoundary: function () { if (!this.collapsed) { for ( ; !domUtils.isBody(this.startContainer) && this.startOffset == this.startContainer[3 == this.startContainer.nodeType ? 'nodeValue' : 'childNodes'] .length && this.startContainer[3 == this.startContainer.nodeType ? 'nodeValue' : 'childNodes'] .length; ) this.setStartAfter(this.startContainer); for ( ; !domUtils.isBody(this.endContainer) && !this.endOffset && this.endContainer[3 == this.endContainer.nodeType ? 'nodeValue' : 'childNodes'].length; ) this.setEndBefore(this.endContainer); } return this; }, applyInlineStyle: function (a, b, c) { if (this.collapsed) return this; this.trimBoundary() .enlarge(!1, function (a) { return 1 == a.nodeType && domUtils.isBlockElm(a); }) .adjustmentBoundary(); for ( var d, e, f = this.createBookmark(), g = f.end, h = function (a) { return 1 == a.nodeType ? 'br' != a.tagName.toLowerCase() : !domUtils.isWhitespace(a); }, i = domUtils.getNextDomNode(f.start, !1, h), j = this.cloneRange(); i && domUtils.getPosition(i, g) & domUtils.POSITION_PRECEDING; ) if (3 == i.nodeType || dtd[a][i.tagName]) { for ( j.setStartBefore(i), d = i; d && (3 == d.nodeType || dtd[a][d.tagName]) && d !== g; ) (e = d), (d = domUtils.getNextDomNode(d, 1 == d.nodeType, null, function (b) { return dtd[a][b.tagName]; })); var k, l = j.setEndAfter(e).extractContents(); if (c && c.length > 0) { var m, n; n = m = c[0].cloneNode(!1); for (var o, p = 1; (o = c[p++]); ) m.appendChild(o.cloneNode(!1)), (m = m.firstChild); k = m; } else k = j.document.createElement(a); b && domUtils.setAttributes(k, b), k.appendChild(l), j.insertNode(c ? n : k); var q; if ( ('span' == a && b.style && /text\-decoration/.test(b.style) && (q = domUtils.findParentByTagName(k, 'a', !0)) ? (domUtils.setAttributes(q, b), domUtils.remove(k, !0), (k = q)) : (domUtils.mergeSibling(k), domUtils.clearEmptySibling(k)), domUtils.mergeChild(k, b), (i = domUtils.getNextDomNode(k, !1, h)), domUtils.mergeToParent(k), d === g) ) break; } else i = domUtils.getNextDomNode(i, !0, h); return this.moveToBookmark(f); }, removeInlineStyle: function (a) { if (this.collapsed) return this; (a = utils.isArray(a) ? a : [a]), this.shrinkBoundary().adjustmentBoundary(); for (var b = this.startContainer, c = this.endContainer; ; ) { if (1 == b.nodeType) { if (utils.indexOf(a, b.tagName.toLowerCase()) > -1) break; if ('body' == b.tagName.toLowerCase()) { b = null; break; } } b = b.parentNode; } for (;;) { if (1 == c.nodeType) { if (utils.indexOf(a, c.tagName.toLowerCase()) > -1) break; if ('body' == c.tagName.toLowerCase()) { c = null; break; } } c = c.parentNode; } var d, e, f = this.createBookmark(); b && ((e = this.cloneRange().setEndBefore(f.start).setStartBefore(b)), (d = e.extractContents()), e.insertNode(d), domUtils.clearEmptySibling(b, !0), b.parentNode.insertBefore(f.start, b)), c && ((e = this.cloneRange().setStartAfter(f.end).setEndAfter(c)), (d = e.extractContents()), e.insertNode(d), domUtils.clearEmptySibling(c, !1, !0), c.parentNode.insertBefore(f.end, c.nextSibling)); for ( var g, h = domUtils.getNextDomNode(f.start, !1, function (a) { return 1 == a.nodeType; }); h && h !== f.end; ) (g = domUtils.getNextDomNode(h, !0, function (a) { return 1 == a.nodeType; })), utils.indexOf(a, h.tagName.toLowerCase()) > -1 && domUtils.remove(h, !0), (h = g); return this.moveToBookmark(f); }, getClosedNode: function () { var a; if (!this.collapsed) { var c = this.cloneRange().adjustmentBoundary().shrinkBoundary(); if (b(c)) { var d = c.startContainer.childNodes[c.startOffset]; d && 1 == d.nodeType && (dtd.$empty[d.tagName] || dtd.$nonChild[d.tagName]) && (a = d); } } return a; }, select: browser.ie ? function (a, b) { var c; this.collapsed || this.shrinkBoundary(); var d = this.getClosedNode(); if (d && !b) { try { (c = this.document.body.createControlRange()), c.addElement(d), c.select(); } catch (h) {} return this; } var j, k = this.createBookmark(), l = k.start; if ( ((c = this.document.body.createTextRange()), c.moveToElementText(l), c.moveStart('character', 1), this.collapsed) ) { if (!a && 3 != this.startContainer.nodeType) { var m = this.document.createTextNode(i), n = this.document.createElement('span'); n.appendChild(this.document.createTextNode(i)), l.parentNode.insertBefore(n, l), l.parentNode.insertBefore(m, l), e(this.document, m), (g = m), f(n, 'previousSibling'), f(l, 'nextSibling'), c.moveStart('character', -1), c.collapse(!0); } } else { var o = this.document.body.createTextRange(); (j = k.end), o.moveToElementText(j), c.setEndPoint('EndToEnd', o); } this.moveToBookmark(k), n && domUtils.remove(n); try { c.select(); } catch (h) {} return this; } : function (a) { function b(a) { function b(b, c, d) { 3 == b.nodeType && b.nodeValue.length < c && (a[d + 'Offset'] = b.nodeValue.length); } b(a.startContainer, a.startOffset, 'start'), b(a.endContainer, a.endOffset, 'end'); } var c, d = domUtils.getWindow(this.document), h = d.getSelection(); if ((browser.gecko ? this.document.body.focus() : d.focus(), h)) { if ((h.removeAllRanges(), this.collapsed && !a)) { var j = this.startContainer, k = j; 1 == j.nodeType && (k = j.childNodes[this.startOffset]), (3 == j.nodeType && this.startOffset) || (k ? k.previousSibling && 3 == k.previousSibling.nodeType : j.lastChild && 3 == j.lastChild.nodeType) || ((c = this.document.createTextNode(i)), this.insertNode(c), e(this.document, c), f(c, 'previousSibling'), f(c, 'nextSibling'), (g = c), this.setStart(c, browser.webkit ? 1 : 0).collapse(!0)); } var l = this.document.createRange(); if (this.collapsed && browser.opera && 1 == this.startContainer.nodeType) { var k = this.startContainer.childNodes[this.startOffset]; if (k) { for (; k && domUtils.isBlockElm(k) && 1 == k.nodeType && k.childNodes[0]; ) k = k.childNodes[0]; k && this.setStartBefore(k).collapse(!0); } else (k = this.startContainer.lastChild), k && domUtils.isBr(k) && this.setStartBefore(k).collapse(!0); } b(this), l.setStart(this.startContainer, this.startOffset), l.setEnd(this.endContainer, this.endOffset), h.addRange(l); } return this; }, scrollToView: function (a, b) { a = a ? window : domUtils.getWindow(this.document); var c = this, d = c.document.createElement('span'); return ( (d.innerHTML = ' '), c.cloneRange().insertNode(d), domUtils.scrollToView(d, a, b), domUtils.remove(d), c ); }, inFillChar: function () { var a = this.startContainer; return !( !this.collapsed || 3 != a.nodeType || a.nodeValue.replace(new RegExp('^' + domUtils.fillChar), '').length + 1 != a.nodeValue.length ); }, createAddress: function (a, b) { function c(a) { for ( var c, d = a ? e.startContainer : e.endContainer, f = domUtils.findParents(d, !0, function (a) { return !domUtils.isBody(a); }), g = [], h = 0; (c = f[h++]); ) g.push(domUtils.getNodeIndex(c, b)); var i = 0; if (b) if (3 == d.nodeType) { for (var j = d.previousSibling; j && 3 == j.nodeType; ) (i += j.nodeValue.replace(fillCharReg, '').length), (j = j.previousSibling); i += a ? e.startOffset : e.endOffset; } else if ((d = d.childNodes[a ? e.startOffset : e.endOffset])) i = domUtils.getNodeIndex(d, b); else { d = a ? e.startContainer : e.endContainer; for (var k = d.firstChild; k; ) if (domUtils.isFillChar(k)) k = k.nextSibling; else if ((i++, 3 == k.nodeType)) for (; k && 3 == k.nodeType; ) k = k.nextSibling; else k = k.nextSibling; } else i = a ? (domUtils.isFillChar(d) ? 0 : e.startOffset) : e.endOffset; return i < 0 && (i = 0), g.push(i), g; } var d = {}, e = this; return ( (d.startAddress = c(!0)), a || (d.endAddress = e.collapsed ? [].concat(d.startAddress) : c()), d ); }, moveToAddress: function (a, b) { function c(a, b) { for (var c, e, f, g = d.document.body, h = 0, i = a.length; h < i; h++) if (((f = a[h]), (c = g), (g = g.childNodes[f]), !g)) { e = f; break; } b ? (g ? d.setStartBefore(g) : d.setStart(c, e)) : g ? d.setEndBefore(g) : d.setEnd(c, e); } var d = this; return c(a.startAddress, !0), !b && a.endAddress && c(a.endAddress), d; }, equals: function (a) { for (var b in this) if (this.hasOwnProperty(b) && this[b] !== a[b]) return !1; return !0; }, traversal: function (a, b) { if (this.collapsed) return this; for ( var c = this.createBookmark(), d = c.end, e = domUtils.getNextDomNode(c.start, !1, b); e && e !== d && domUtils.getPosition(e, d) & domUtils.POSITION_PRECEDING; ) { var f = domUtils.getNextDomNode(e, !1, b); a(e), (e = f); } return this.moveToBookmark(c); }, }; })(), (function () { function a(a, b) { var c = domUtils.getNodeIndex; (a = a.duplicate()), a.collapse(b); var d = a.parentElement(); if (!d.hasChildNodes()) return { container: d, offset: 0 }; for ( var e, f, g = d.children, h = a.duplicate(), i = 0, j = g.length - 1, k = -1; i <= j; ) { (k = Math.floor((i + j) / 2)), (e = g[k]), h.moveToElementText(e); var l = h.compareEndPoints('StartToStart', a); if (l > 0) j = k - 1; else { if (!(l < 0)) return { container: d, offset: c(e) }; i = k + 1; } } if (k == -1) { if ( (h.moveToElementText(d), h.setEndPoint('StartToStart', a), (f = h.text.replace(/(\r\n|\r)/g, '\n').length), (g = d.childNodes), !f) ) return (e = g[g.length - 1]), { container: e, offset: e.nodeValue.length }; for (var m = g.length; f > 0; ) f -= g[--m].nodeValue.length; return { container: g[m], offset: -f }; } if ( (h.collapse(l > 0), h.setEndPoint(l > 0 ? 'StartToStart' : 'EndToStart', a), (f = h.text.replace(/(\r\n|\r)/g, '\n').length), !f) ) return dtd.$empty[e.tagName] || dtd.$nonChild[e.tagName] ? { container: d, offset: c(e) + (l > 0 ? 0 : 1) } : { container: e, offset: l > 0 ? 0 : e.childNodes.length }; for (; f > 0; ) try { var n = e; (e = e[l > 0 ? 'previousSibling' : 'nextSibling']), (f -= e.nodeValue.length); } catch (o) { return { container: d, offset: c(n) }; } return { container: e, offset: l > 0 ? -f : e.nodeValue.length + f }; } function b(b, c) { if (b.item) c.selectNode(b.item(0)); else { var d = a(b, !0); c.setStart(d.container, d.offset), 0 != b.compareEndPoints('StartToEnd', b) && ((d = a(b, !1)), c.setEnd(d.container, d.offset)); } return c; } function c(a) { var b; try { b = a.getNative().createRange(); } catch (c) { return null; } var d = b.item ? b.item(0) : b.parentElement(); return (d.ownerDocument || d) === a.document ? b : null; } var d = (dom.Selection = function (a) { var b, d = this; (d.document = a), browser.ie9below && ((b = domUtils.getWindow(a).frameElement), domUtils.on(b, 'beforedeactivate', function () { d._bakIERange = d.getIERange(); }), domUtils.on(b, 'activate', function () { try { !c(d) && d._bakIERange && d._bakIERange.select(); } catch (a) {} d._bakIERange = null; })), (b = a = null); }); d.prototype = { rangeInBody: function (a, b) { var c = browser.ie9below || b ? (a.item ? a.item() : a.parentElement()) : a.startContainer; return c === this.document.body || domUtils.inDoc(c, this.document); }, getNative: function () { var a = this.document; try { return a ? browser.ie9below ? a.selection : domUtils.getWindow(a).getSelection() : null; } catch (b) { return null; } }, getIERange: function () { var a = c(this); return !a && this._bakIERange ? this._bakIERange : a; }, cache: function () { this.clear(), (this._cachedRange = this.getRange()), (this._cachedStartElement = this.getStart()), (this._cachedStartElementPath = this.getStartElementPath()); }, getStartElementPath: function () { if (this._cachedStartElementPath) return this._cachedStartElementPath; var a = this.getStart(); return a ? domUtils.findParents(a, !0, null, !0) : []; }, clear: function () { this._cachedStartElementPath = this._cachedRange = this._cachedStartElement = null; }, isFocus: function () { try { if (browser.ie9below) { var a = c(this); return !(!a || !this.rangeInBody(a)); } return !!this.getNative().rangeCount; } catch (b) { return !1; } }, getRange: function () { function a(a) { for (var b = c.document.body.firstChild, d = a.collapsed; b && b.firstChild; ) a.setStart(b, 0), (b = b.firstChild); a.startContainer || a.setStart(c.document.body, 0), d && a.collapse(!0); } var c = this; if (null != c._cachedRange) return this._cachedRange; var d = new baidu.editor.dom.Range(c.document); if (browser.ie9below) { var e = c.getIERange(); if (e) try { b(e, d); } catch (f) { a(d); } else a(d); } else { var g = c.getNative(); if (g && g.rangeCount) { var h = g.getRangeAt(0), i = g.getRangeAt(g.rangeCount - 1); d.setStart(h.startContainer, h.startOffset).setEnd(i.endContainer, i.endOffset), d.collapsed && domUtils.isBody(d.startContainer) && !d.startOffset && a(d); } else { if (this._bakRange && domUtils.inDoc(this._bakRange.startContainer, this.document)) return this._bakRange; a(d); } } return (this._bakRange = d); }, getStart: function () { if (this._cachedStartElement) return this._cachedStartElement; var a, b, c, d, e = browser.ie9below ? this.getIERange() : this.getRange(); if (browser.ie9below) { if (!e) return this.document.body.firstChild; if (e.item) return e.item(0); for ( a = e.duplicate(), a.text.length > 0 && a.moveStart('character', 1), a.collapse(1), b = a.parentElement(), d = c = e.parentElement(); (c = c.parentNode); ) if (c == b) { b = d; break; } } else if ( (e.shrinkBoundary(), (b = e.startContainer), 1 == b.nodeType && b.hasChildNodes() && (b = b.childNodes[Math.min(b.childNodes.length - 1, e.startOffset)]), 3 == b.nodeType) ) return b.parentNode; return b; }, getText: function () { var a, b; return this.isFocus() && (a = this.getNative()) ? ((b = browser.ie9below ? a.createRange() : a.getRangeAt(0)), browser.ie9below ? b.text : b.toString()) : ''; }, clearRange: function () { this.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); }, }; })(), (function () { function a(a, b) { var c; if (b.textarea) if (utils.isString(b.textarea)) { for (var d, e = 0, f = domUtils.getElementsByTagName(a, 'textarea'); (d = f[e++]); ) if (d.id == 'ueditor_textarea_' + b.options.textarea) { c = d; break; } } else c = b.textarea; c || (a.appendChild( (c = domUtils.createElement(document, 'textarea', { name: b.options.textarea, id: 'ueditor_textarea_' + b.options.textarea, style: 'display:none', })), ), (b.textarea = c)), !c.getAttribute('name') && c.setAttribute('name', b.options.textarea), (c.value = b.hasContents() ? b.options.allHtmlEnabled ? b.getAllHtml() : b.getContent(null, null, !0) : ''); } function b(a) { for (var b in a) return b; } function c(a) { (a.langIsReady = !0), a.fireEvent('langReady'); } var d, e = 0, f = (UE.Editor = function (a) { var d = this; (d.uid = e++), EventBase.call(d), (d.commands = {}), (d.options = utils.extend(utils.clone(a || {}), UEDITOR_CONFIG, !0)), (d.shortcutkeys = {}), (d.inputRules = []), (d.outputRules = []), d.setOpt(f.defaultOptions(d)), d.loadServerConfig(), utils.isEmptyObject(UE.I18N) ? utils.loadFile( document, { src: d.options.langPath + d.options.lang + '/' + d.options.lang + '.js', tag: 'script', type: 'text/javascript', defer: 'defer', }, function () { UE.plugin.load(d), c(d); }, ) : ((d.options.lang = b(UE.I18N)), UE.plugin.load(d), c(d)), (UE.instants['ueditorInstant' + d.uid] = d); }); (f.prototype = { registerCommand: function (a, b) { this.commands[a] = b; }, ready: function (a) { var b = this; a && (b.isReady ? a.apply(b) : b.addListener('ready', a)); }, setOpt: function (a, b) { var c = {}; utils.isString(a) ? (c[a] = b) : (c = a), utils.extend(this.options, c, !0); }, getOpt: function (a) { return this.options[a]; }, destroy: function () { var a = this; a.fireEvent('destroy'); var b = a.container.parentNode, c = a.textarea; c ? (c.style.display = '') : ((c = document.createElement('textarea')), b.parentNode.insertBefore(c, b)), (c.style.width = a.iframe.offsetWidth + 'px'), (c.style.height = a.iframe.offsetHeight + 'px'), (c.value = a.getContent()), (c.id = a.key), (b.innerHTML = ''), domUtils.remove(b); var d = a.key; for (var e in a) a.hasOwnProperty(e) && delete this[e]; UE.delEditor(d); }, render: function (a) { var b = this, c = b.options, d = function (b) { return parseInt(domUtils.getComputedStyle(a, b)); }; if ((utils.isString(a) && (a = document.getElementById(a)), a)) { c.initialFrameWidth ? (c.minFrameWidth = c.initialFrameWidth) : (c.minFrameWidth = c.initialFrameWidth = a.offsetWidth), c.initialFrameHeight ? (c.minFrameHeight = c.initialFrameHeight) : (c.initialFrameHeight = c.minFrameHeight = a.offsetHeight), (a.style.width = /%$/.test(c.initialFrameWidth) ? '100%' : c.initialFrameWidth - d('padding-left') - d('padding-right') + 'px'), (a.style.height = /%$/.test(c.initialFrameHeight) ? '100%' : c.initialFrameHeight - d('padding-top') - d('padding-bottom') + 'px'), (a.style.zIndex = c.zIndex); var e = (ie && browser.version < 9 ? '' : '') + "" + (c.iframeCssUrl ? "" : '') + (c.initialStyle ? '' : '') + ""; a.appendChild( domUtils.createElement(document, 'iframe', { id: 'ueditor_' + b.uid, width: '100%', height: '100%', frameborder: '0', src: 'javascript:void(function(){document.open();' + (c.customDomain && document.domain != location.hostname ? 'document.domain="' + document.domain + '";' : '') + 'document.write("' + e + '");document.close();}())', }), ), (a.style.overflow = 'hidden'), setTimeout(function () { /%$/.test(c.initialFrameWidth) && (c.minFrameWidth = c.initialFrameWidth = a.offsetWidth), /%$/.test(c.initialFrameHeight) && ((c.minFrameHeight = c.initialFrameHeight = a.offsetHeight), (a.style.height = c.initialFrameHeight + 'px')); }); } }, _setup: function (b) { var c = this, d = c.options; ie ? ((b.body.disabled = !0), (b.body.contentEditable = !0), (b.body.disabled = !1)) : (b.body.contentEditable = !0), (b.body.spellcheck = !1), (c.document = b), (c.window = b.defaultView || b.parentWindow), (c.iframe = c.window.frameElement), (c.body = b.body), (c.selection = new dom.Selection(b)); var e; browser.gecko && (e = this.selection.getNative()) && e.removeAllRanges(), this._initEvents(); for (var f = this.iframe.parentNode; !domUtils.isBody(f); f = f.parentNode) if ('FORM' == f.tagName) { (c.form = f), c.options.autoSyncData ? domUtils.on(c.window, 'blur', function () { a(f, c); }) : domUtils.on(f, 'submit', function () { a(this, c); }); break; } if (d.initialContent) if (d.autoClearinitialContent) { var g = c.execCommand; (c.execCommand = function () { return c.fireEvent('firstBeforeExecCommand'), g.apply(c, arguments); }), this._setDefaultContent(d.initialContent); } else this.setContent(d.initialContent, !1, !0); domUtils.isEmptyNode(c.body) && (c.body.innerHTML = '

' + (browser.ie ? '' : '
') + '

'), d.focus && setTimeout(function () { c.focus(c.options.focusInEnd), !c.options.autoClearinitialContent && c._selectionChange(); }, 0), c.container || (c.container = this.iframe.parentNode), d.fullscreen && c.ui && c.ui.setFullScreen(!0); try { c.document.execCommand('2D-position', !1, !1); } catch (h) {} try { c.document.execCommand('enableInlineTableEditing', !1, !1); } catch (h) {} try { c.document.execCommand('enableObjectResizing', !1, !1); } catch (h) {} c._bindshortcutKeys(), (c.isReady = 1), c.fireEvent('ready'), d.onready && d.onready.call(c), browser.ie9below || domUtils.on(c.window, ['blur', 'focus'], function (a) { if ('blur' == a.type) { c._bakRange = c.selection.getRange(); try { (c._bakNativeRange = c.selection.getNative().getRangeAt(0)), c.selection.getNative().removeAllRanges(); } catch (a) { c._bakNativeRange = null; } } else try { c._bakRange && c._bakRange.select(); } catch (a) {} }), browser.gecko && browser.version <= 10902 && ((c.body.contentEditable = !1), setTimeout(function () { c.body.contentEditable = !0; }, 100), setInterval(function () { c.body.style.height = c.iframe.offsetHeight - 20 + 'px'; }, 100)), !d.isShow && c.setHide(), d.readonly && c.setDisabled(); }, sync: function (b) { var c = this, d = b ? document.getElementById(b) : domUtils.findParent( c.iframe.parentNode, function (a) { return 'FORM' == a.tagName; }, !0, ); d && a(d, c); }, setHeight: function (a, b) { a !== parseInt(this.iframe.parentNode.style.height) && (this.iframe.parentNode.style.height = a + 'px'), !b && (this.options.minFrameHeight = this.options.initialFrameHeight = a), (this.body.style.height = a + 'px'), !b && this.trigger('setHeight'); }, addshortcutkey: function (a, b) { var c = {}; b ? (c[a] = b) : (c = a), utils.extend(this.shortcutkeys, c); }, _bindshortcutKeys: function () { var a = this, b = this.shortcutkeys; a.addListener('keydown', function (c, d) { var e = d.keyCode || d.which; for (var f in b) for (var g, h = b[f].split(','), i = 0; (g = h[i++]); ) { g = g.split(':'); var j = g[0], k = g[1]; (/^(ctrl)(\+shift)?\+(\d+)$/.test(j.toLowerCase()) || /^(\d+)$/.test(j)) && ((('ctrl' == RegExp.$1 ? d.ctrlKey || d.metaKey : 0) && ('' != RegExp.$2 ? d[RegExp.$2.slice(1) + 'Key'] : 1) && e == RegExp.$3) || e == RegExp.$1) && (a.queryCommandState(f, k) != -1 && a.execCommand(f, k), domUtils.preventDefault(d)); } }); }, getContent: function (a, b, c, d, e) { var f = this; if ((a && utils.isFunction(a) && ((b = a), (a = '')), b ? !b() : !this.hasContents())) return ''; f.fireEvent('beforegetcontent'); var g = UE.htmlparser(f.body.innerHTML, d); return f.filterOutputRule(g), f.fireEvent('aftergetcontent', a, g), g.toHtml(e); }, getAllHtml: function () { var a = this, b = []; if ((a.fireEvent('getAllHtml', b), browser.ie && browser.version > 8)) { var c = ''; utils.each(a.document.styleSheets, function (a) { c += a.href ? '' : ''; }), utils.each(a.document.getElementsByTagName('script'), function (a) { c += a.outerHTML; }); } return ( '' + (a.options.charset ? '' : '') + (c || a.document.getElementsByTagName('head')[0].innerHTML) + b.join('\n') + '' + a.getContent(null, null, !0) + '' ); }, getPlainTxt: function () { var a = new RegExp(domUtils.fillChar, 'g'), b = this.body.innerHTML.replace(/[\n\r]/g, ''); return ( (b = b .replace(/<(p|div)[^>]*>(| )<\/\1>/gi, '\n') .replace(//gi, '\n') .replace(/<[^>\/]+>/g, '') .replace(/(\n)?<\/([^>]+)>/g, function (a, b, c) { return dtd.$block[c] ? '\n' : b ? b : ''; })), b .replace(a, '') .replace(/\u00a0/g, ' ') .replace(/ /g, ' ') ); }, getContentTxt: function () { var a = new RegExp(domUtils.fillChar, 'g'); return this.body[browser.ie ? 'innerText' : 'textContent'] .replace(a, '') .replace(/\u00a0/g, ' '); }, setContent: function (b, c, d) { function e(a) { return 'DIV' == a.tagName && a.getAttribute('cdata_tag'); } var f = this; f.fireEvent('beforesetcontent', b); var g = UE.htmlparser(b); if ( (f.filterInputRule(g), (b = g.toHtml()), (f.body.innerHTML = (c ? f.body.innerHTML : '') + b), 'p' == f.options.enterTag) ) { var h, i = this.body.firstChild; if ( !i || (1 == i.nodeType && (dtd.$cdata[i.tagName] || e(i) || domUtils.isCustomeNode(i)) && i === this.body.lastChild) ) this.body.innerHTML = '

' + (browser.ie ? ' ' : '
') + '

' + this.body.innerHTML; else for (var j = f.document.createElement('p'); i; ) { for ( ; i && (3 == i.nodeType || (1 == i.nodeType && dtd.p[i.tagName] && !dtd.$cdata[i.tagName])); ) (h = i.nextSibling), j.appendChild(i), (i = h); if (j.firstChild) { if (!i) { f.body.appendChild(j); break; } i.parentNode.insertBefore(j, i), (j = f.document.createElement('p')); } i = i.nextSibling; } } f.fireEvent('aftersetcontent'), f.fireEvent('contentchange'), !d && f._selectionChange(), (f._bakRange = f._bakIERange = f._bakNativeRange = null); var k; browser.gecko && (k = this.selection.getNative()) && k.removeAllRanges(), f.options.autoSyncData && f.form && a(f.form, f); }, focus: function (a) { try { var b = this, c = b.selection.getRange(); if (a) { var d = b.body.lastChild; d && 1 == d.nodeType && !dtd.$empty[d.tagName] && (domUtils.isEmptyBlock(d) ? c.setStartAtFirst(d) : c.setStartAtLast(d), c.collapse(!0)), c.setCursor(!0); } else { if (!c.collapsed && domUtils.isBody(c.startContainer) && 0 == c.startOffset) { var d = b.body.firstChild; d && 1 == d.nodeType && !dtd.$empty[d.tagName] && c.setStartAtFirst(d).collapse(!0); } c.select(!0); } this.fireEvent('focus selectionchange'); } catch (e) {} }, isFocus: function () { return this.selection.isFocus(); }, blur: function () { var a = this.selection.getNative(); if (a.empty && browser.ie) { var b = document.body.createTextRange(); b.moveToElementText(document.body), b.collapse(!0), b.select(), a.empty(); } else a.removeAllRanges(); }, _initEvents: function () { var a = this, b = a.document, c = a.window; (a._proxyDomEvent = utils.bind(a._proxyDomEvent, a)), domUtils.on( b, [ 'click', 'contextmenu', 'mousedown', 'keydown', 'keyup', 'keypress', 'mouseup', 'mouseover', 'mouseout', 'selectstart', ], a._proxyDomEvent, ), domUtils.on(c, ['focus', 'blur'], a._proxyDomEvent), domUtils.on(a.body, 'drop', function (b) { browser.gecko && b.stopPropagation && b.stopPropagation(), a.fireEvent('contentchange'); }), domUtils.on(b, ['mouseup', 'keydown'], function (b) { ('keydown' == b.type && (b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)) || (2 != b.button && a._selectionChange(250, b)); }); }, _proxyDomEvent: function (a) { return ( this.fireEvent('before' + a.type.replace(/^on/, '').toLowerCase()) !== !1 && this.fireEvent(a.type.replace(/^on/, ''), a) !== !1 && this.fireEvent('after' + a.type.replace(/^on/, '').toLowerCase()) ); }, _selectionChange: function (a, b) { var c, e, f = this, g = !1; if (browser.ie && browser.version < 9 && b && 'mouseup' == b.type) { var h = this.selection.getRange(); h.collapsed || ((g = !0), (c = b.clientX), (e = b.clientY)); } clearTimeout(d), (d = setTimeout(function () { if (f.selection && f.selection.getNative()) { var a; if (g && 'None' == f.selection.getNative().type) { a = f.document.body.createTextRange(); try { a.moveToPoint(c, e); } catch (d) { a = null; } } var h; a && ((h = f.selection.getIERange), (f.selection.getIERange = function () { return a; })), f.selection.cache(), h && (f.selection.getIERange = h), f.selection._cachedRange && f.selection._cachedStartElement && (f.fireEvent('beforeselectionchange'), f.fireEvent('selectionchange', !!b), f.fireEvent('afterselectionchange'), f.selection.clear()); } }, a || 50)); }, _callCmdFn: function (a, b) { var c, d, e = b[0].toLowerCase(); return ( (c = this.commands[e] || UE.commands[e]), (d = c && c[a]), (c && d) || 'queryCommandState' != a ? (d ? d.apply(this, b) : void 0) : 0 ); }, execCommand: function (a) { a = a.toLowerCase(); var b, c = this, d = c.commands[a] || UE.commands[a]; return d && d.execCommand ? (d.notNeedUndo || c.__hasEnterExecCommand ? ((b = this._callCmdFn('execCommand', arguments)), !c.__hasEnterExecCommand && !d.ignoreContentChange && !c._ignoreContentChange && c.fireEvent('contentchange')) : ((c.__hasEnterExecCommand = !0), c.queryCommandState.apply(c, arguments) != -1 && (c.fireEvent('saveScene'), c.fireEvent.apply(c, ['beforeexeccommand', a].concat(arguments)), (b = this._callCmdFn('execCommand', arguments)), c.fireEvent.apply(c, ['afterexeccommand', a].concat(arguments)), c.fireEvent('saveScene')), (c.__hasEnterExecCommand = !1)), !c.__hasEnterExecCommand && !d.ignoreContentChange && !c._ignoreContentChange && c._selectionChange(), b) : null; }, queryCommandState: function (a) { return this._callCmdFn('queryCommandState', arguments); }, queryCommandValue: function (a) { return this._callCmdFn('queryCommandValue', arguments); }, hasContents: function (a) { if (a) for (var b, c = 0; (b = a[c++]); ) if (this.document.getElementsByTagName(b).length > 0) return !0; if (!domUtils.isEmptyBlock(this.body)) return !0; for (a = ['div'], c = 0; (b = a[c++]); ) for (var d, e = domUtils.getElementsByTagName(this.document, b), f = 0; (d = e[f++]); ) if (domUtils.isCustomeNode(d)) return !0; return !1; }, reset: function () { this.fireEvent('reset'); }, setEnabled: function () { var a, b = this; if ('false' == b.body.contentEditable) { (b.body.contentEditable = !0), (a = b.selection.getRange()); try { a.moveToBookmark(b.lastBk), delete b.lastBk; } catch (c) { a.setStartAtFirst(b.body).collapse(!0); } a.select(!0), b.bkqueryCommandState && ((b.queryCommandState = b.bkqueryCommandState), delete b.bkqueryCommandState), b.bkqueryCommandValue && ((b.queryCommandValue = b.bkqueryCommandValue), delete b.bkqueryCommandValue), b.fireEvent('selectionchange'); } }, enable: function () { return this.setEnabled(); }, setDisabled: function (a) { var b = this; (a = a ? (utils.isArray(a) ? a : [a]) : []), 'true' == b.body.contentEditable && (b.lastBk || (b.lastBk = b.selection.getRange().createBookmark(!0)), (b.body.contentEditable = !1), (b.bkqueryCommandState = b.queryCommandState), (b.bkqueryCommandValue = b.queryCommandValue), (b.queryCommandState = function (c) { return utils.indexOf(a, c) != -1 ? b.bkqueryCommandState.apply(b, arguments) : -1; }), (b.queryCommandValue = function (c) { return utils.indexOf(a, c) != -1 ? b.bkqueryCommandValue.apply(b, arguments) : null; }), b.fireEvent('selectionchange')); }, disable: function (a) { return this.setDisabled(a); }, _setDefaultContent: (function () { function a() { var b = this; b.document.getElementById('initContent') && ((b.body.innerHTML = '

' + (ie ? '' : '
') + '

'), b.removeListener('firstBeforeExecCommand focus', a), setTimeout(function () { b.focus(), b._selectionChange(); }, 0)); } return function (b) { var c = this; (c.body.innerHTML = '

' + b + '

'), c.addListener('firstBeforeExecCommand focus', a); }; })(), setShow: function () { var a = this, b = a.selection.getRange(); if ('none' == a.container.style.display) { try { b.moveToBookmark(a.lastBk), delete a.lastBk; } catch (c) { b.setStartAtFirst(a.body).collapse(!0); } setTimeout(function () { b.select(!0); }, 100), (a.container.style.display = ''); } }, show: function () { return this.setShow(); }, setHide: function () { var a = this; a.lastBk || (a.lastBk = a.selection.getRange().createBookmark(!0)), (a.container.style.display = 'none'); }, hide: function () { return this.setHide(); }, getLang: function (a) { var b = UE.I18N[this.options.lang]; if (!b) throw Error('not import language file'); a = (a || '').split('.'); for (var c, d = 0; (c = a[d++]) && ((b = b[c]), b); ); return b; }, getContentLength: function (a, b) { var c = this.getContent(!1, !1, !0).length; if (a) { (b = (b || []).concat(['hr', 'img', 'iframe'])), (c = this.getContentTxt().replace(/[\t\r\n]+/g, '').length); for (var d, e = 0; (d = b[e++]); ) c += this.document.getElementsByTagName(d).length; } return c; }, addInputRule: function (a) { this.inputRules.push(a); }, filterInputRule: function (a) { for (var b, c = 0; (b = this.inputRules[c++]); ) b.call(this, a); }, addOutputRule: function (a) { this.outputRules.push(a); }, filterOutputRule: function (a) { for (var b, c = 0; (b = this.outputRules[c++]); ) b.call(this, a); }, getActionUrl: function (a) { var b = this.getOpt(a) || a, c = this.getOpt('imageUrl'), d = this.getOpt('serverUrl'); return ( !d && c && (d = c.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2')), d ? ((d = d + (d.indexOf('?') == -1 ? '?' : '&') + 'action=' + (b || '')), utils.formatUrl(d)) : '' ); }, }), utils.inherits(f, EventBase); })(), (UE.Editor.defaultOptions = function (a) { var b = a.options.UEDITOR_HOME_URL; return { isShow: !0, initialContent: '', initialStyle: '', autoClearinitialContent: !1, iframeCssUrl: b + 'themes/iframe.css', textarea: 'editorValue', focus: !1, focusInEnd: !0, autoClearEmptyNode: !0, fullscreen: !1, readonly: !1, zIndex: 999, imagePopup: !0, enterTag: 'p', customDomain: !1, lang: 'zh-cn', langPath: b + 'lang/', theme: 'default', themePath: b + 'themes/', allHtmlEnabled: !1, scaleEnabled: !1, tableNativeEditInFF: !1, autoSyncData: !0, fileNameFormat: '{time}{rand:6}', }; }), (function () { (UE.Editor.prototype.loadServerConfig = function () { function showErrorMsg(a) { console && console.error(a); } var me = this; setTimeout(function () { try { me.options.imageUrl && me.setOpt( 'serverUrl', me.options.imageUrl.replace(/^(.*[\/]).+([\.].+)$/, '$1controller$2'), ); var configUrl = me.getActionUrl('config'), isJsonp = utils.isCrossDomainUrl(configUrl); (me._serverConfigLoaded = !1), configUrl && UE.ajax.request(configUrl, { method: 'GET', dataType: isJsonp ? 'jsonp' : '', onsuccess: function (r) { try { var config = isJsonp ? r : eval('(' + r.responseText + ')'); utils.extend(me.options, config), me.fireEvent('serverConfigLoaded'), (me._serverConfigLoaded = !0); } catch (e) { showErrorMsg(me.getLang('loadconfigFormatError')); } }, onerror: function () { showErrorMsg(me.getLang('loadconfigHttpError')); }, }); } catch (e) { showErrorMsg(me.getLang('loadconfigError')); } }); }), (UE.Editor.prototype.isServerConfigLoaded = function () { var a = this; return a._serverConfigLoaded || !1; }), (UE.Editor.prototype.afterConfigReady = function (a) { if (a && utils.isFunction(a)) { var b = this, c = function () { a.apply(b, arguments), b.removeListener('serverConfigLoaded', c); }; b.isServerConfigLoaded() ? a.call(b, 'serverConfigLoaded') : b.addListener('serverConfigLoaded', c); } }); })(), (UE.ajax = (function () { function a(a) { var b = []; for (var c in a) if ( 'method' != c && 'timeout' != c && 'async' != c && 'dataType' != c && 'callback' != c && void 0 != a[c] && null != a[c] ) if ( 'function' != (typeof a[c]).toLowerCase() && 'object' != (typeof a[c]).toLowerCase() ) b.push(encodeURIComponent(c) + '=' + encodeURIComponent(a[c])); else if (utils.isArray(a[c])) for (var d = 0; d < a[c].length; d++) b.push(encodeURIComponent(c) + '[]=' + encodeURIComponent(a[c][d])); return b.join('&'); } function b(b, c) { var d = f(), e = !1, g = { method: 'POST', timeout: 5e3, async: !0, data: {}, onsuccess: function () {}, onerror: function () {}, }; if (('object' == typeof b && ((c = b), (b = c.url)), d && b)) { var h = c ? utils.extend(g, c) : g, i = a(h); utils.isEmptyObject(h.data) || (i += (i ? '&' : '') + a(h.data)); var j = setTimeout(function () { 4 != d.readyState && ((e = !0), d.abort(), clearTimeout(j)); }, h.timeout), k = h.method.toUpperCase(), l = b + (b.indexOf('?') == -1 ? '?' : '&') + ('POST' == k ? '' : i + '&noCache=' + +new Date()); d.open(k, l, h.async), (d.onreadystatechange = function () { 4 == d.readyState && (e || 200 != d.status ? h.onerror(d) : h.onsuccess(d)); }), 'POST' == k ? (d.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'), d.send(i)) : d.send(null); } } function c(b, c) { function d(a, b, c) { a.setAttribute('type', 'text/javascript'), a.setAttribute('defer', 'defer'), c && a.setAttribute('charset', c), a.setAttribute('src', b), document.getElementsByTagName('head')[0].appendChild(a); } function e(a) { return function () { try { if (a) k.onerror && k.onerror(); else try { clearTimeout(g), i.apply(window, arguments); } catch (b) {} } catch (c) { k.onerror && k.onerror.call(window, c); } finally { k.oncomplete && k.oncomplete.apply(window, arguments), j.parentNode && j.parentNode.removeChild(j), (window[f] = null); try { delete window[f]; } catch (b) {} } }; } var f, g, h, i = c.onsuccess || function () {}, j = document.createElement('SCRIPT'), k = c || {}, l = k.charset, m = k.jsonp || 'callback', n = k.timeOut || 0, o = new RegExp('(\\?|&)' + m + '=([^&]*)'); utils.isFunction(i) ? ((f = 'bd__editor__' + Math.floor(2147483648 * Math.random()).toString(36)), (window[f] = e(0))) : utils.isString(i) ? (f = i) : (h = o.exec(b)) && (f = h[2]), (b = b.replace(o, '$1' + m + '=' + f)), b.search(o) < 0 && (b += (b.indexOf('?') < 0 ? '?' : '&') + m + '=' + f); var p = a(c); utils.isEmptyObject(c.data) || (p += (p ? '&' : '') + a(c.data)), p && (b = b.replace(/\?/, '?' + p + '&')), (j.onerror = e(1)), n && (g = setTimeout(e(1), n)), d(j, b, l); } var d = 'XMLHttpRequest()'; try { new ActiveXObject('Msxml2.XMLHTTP'), (d = "ActiveXObject('Msxml2.XMLHTTP')"); } catch (e) { try { new ActiveXObject('Microsoft.XMLHTTP'), (d = "ActiveXObject('Microsoft.XMLHTTP')"); } catch (e) {} } var f = new Function('return new ' + d); return { request: function (a, d) { d && 'jsonp' == d.dataType ? c(a, d) : b(a, d); }, getJSONP: function (a, b, d) { var e = { data: b, oncomplete: d }; c(a, e); }, }; })()); var filterWord = (UE.filterWord = (function () { function a(a) { return /(class="?Mso|style="[^"]*\bmso\-|w:WordDocument|<(v|o):|lang=)/gi.test(a); } function b(a) { return (a = a.replace(/[\d.]+\w+/g, function (a) { return utils.transUnitToPx(a); })); } function c(a) { return a .replace(/[\t\r\n]+/g, ' ') .replace(//gi, '') .replace(/]*>[\s\S]*?.<\/v:shape>/gi, function (a) { if (browser.opera) return ''; try { if (/Bitmap/i.test(a)) return ''; var c = a.match(/width:([ \d.]*p[tx])/i)[1], d = a.match(/height:([ \d.]*p[tx])/i)[1], e = a.match(/src=\s*"([^"]*)"/i)[1]; return ''; } catch (f) { return ''; } }) .replace(/<\/?div[^>]*>/g, '') .replace(/v:\w+=(["']?)[^'"]+\1/g, '') .replace( /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|xml|meta|link|style|\w+:\w+)(?=[\s\/>]))[^>]*>/gi, '', ) .replace(/

]*class="?MsoHeading"?[^>]*>(.*?)<\/p>/gi, '

$1

') .replace(/\s+(class|lang|align)\s*=\s*(['"]?)([\w-]+)\2/gi, function (a, b, c, d) { return 'class' == b && 'MsoListParagraph' == d ? a : ''; }) .replace(/<(font|span)[^>]*>(\s*)<\/\1>/gi, function (a, b, c) { return c.replace(/[\t\r\n ]+/g, ' '); }) .replace(/(<[a-z][^>]*)\sstyle=(["'])([^\2]*?)\2/gi, function (a, c, d, e) { for ( var f, g = [], h = e .replace(/^\s+|\s+$/, '') .replace(/'/g, "'") .replace(/"/gi, "'") .replace(/[\d.]+(cm|pt)/g, function (a) { return utils.transUnitToPx(a); }) .split(/;\s*/g), i = 0; (f = h[i]); i++ ) { var j, k, l = f.split(':'); if (2 == l.length) { if ( ((j = l[0].toLowerCase()), (k = l[1].toLowerCase()), (/^(background)\w*/.test(j) && 0 == k.replace(/(initial|\s)/g, '').length) || (/^(margin)\w*/.test(j) && /^0\w+$/.test(k))) ) continue; switch (j) { case 'mso-padding-alt': case 'mso-padding-top-alt': case 'mso-padding-right-alt': case 'mso-padding-bottom-alt': case 'mso-padding-left-alt': case 'mso-margin-alt': case 'mso-margin-top-alt': case 'mso-margin-right-alt': case 'mso-margin-bottom-alt': case 'mso-margin-left-alt': case 'mso-height': case 'mso-width': case 'mso-vertical-align-alt': / 1 && (a(h, j, !0), b(h, j)), c(k, h, i, j); break; case 'text': d(g, h); break; case 'element': e(g, h, i, j); break; case 'comment': f(g, h, i); } return h; } function d(a, b) { 'pre' == a.parentNode.tagName ? b.push(a.data) : b.push( l[a.parentNode.tagName] ? utils.html(a.data) : a.data.replace(/[ ]{2}/g, '  '), ); } function e(d, e, f, g) { var h = ''; if (d.attrs) { h = []; var i = d.attrs; for (var j in i) h.push( j + (void 0 !== i[j] ? '="' + (k[j] ? utils.html(i[j]).replace(/["]/g, function (a) { return '"'; }) : utils.unhtml(i[j])) + '"' : ''), ); h = h.join(' '); } if ( (e.push('<' + d.tagName + (h ? ' ' + h : '') + (dtd.$empty[d.tagName] ? '/' : '') + '>'), f && !dtd.$inlineWithA[d.tagName] && 'pre' != d.tagName && d.children && d.children.length && ((g = a(e, g, !0)), b(e, g)), d.children && d.children.length) ) for (var l, m = 0; (l = d.children[m++]); ) f && 'element' == l.type && !dtd.$inlineWithA[l.tagName] && m > 1 && (a(e, g), b(e, g)), c(l, e, f, g); dtd.$empty[d.tagName] || (f && !dtd.$inlineWithA[d.tagName] && 'pre' != d.tagName && d.children && d.children.length && ((g = a(e, g)), b(e, g)), e.push('')); } function f(a, b) { b.push(''); } function g(a, b) { var c; if ('element' == a.type && a.getAttr('id') == b) return a; if (a.children && a.children.length) for (var d, e = 0; (d = a.children[e++]); ) if ((c = g(d, b))) return c; } function h(a, b, c) { if (('element' == a.type && a.tagName == b && c.push(a), a.children && a.children.length)) for (var d, e = 0; (d = a.children[e++]); ) h(d, b, c); } function i(a, b) { if (a.children && a.children.length) for (var c, d = 0; (c = a.children[d]); ) i(c, b), c.parentNode && (c.children && c.children.length && b(c), c.parentNode && d++); else b(a); } var j = (UE.uNode = function (a) { (this.type = a.type), (this.data = a.data), (this.tagName = a.tagName), (this.parentNode = a.parentNode), (this.attrs = a.attrs || {}), (this.children = a.children); }), k = { href: 1, src: 1, _src: 1, _href: 1, cdata_data: 1 }, l = { style: 1, script: 1 }, m = ' ', n = '\n'; (j.createElement = function (a) { return /[<>]/.test(a) ? UE.htmlparser(a).children[0] : new j({ type: 'element', children: [], tagName: a }); }), (j.createText = function (a, b) { return new UE.uNode({ type: 'text', data: b ? a : utils.unhtml(a || '') }); }), (j.prototype = { toHtml: function (a) { var b = []; return c(this, b, a, 0), b.join(''); }, innerHTML: function (a) { if ('element' != this.type || dtd.$empty[this.tagName]) return this; if (utils.isString(a)) { if (this.children) for (var b, c = 0; (b = this.children[c++]); ) b.parentNode = null; this.children = []; for (var b, d = UE.htmlparser(a), c = 0; (b = d.children[c++]); ) this.children.push(b), (b.parentNode = this); return this; } var d = new UE.uNode({ type: 'root', children: this.children }); return d.toHtml(); }, innerText: function (a, b) { if ('element' != this.type || dtd.$empty[this.tagName]) return this; if (a) { if (this.children) for (var c, d = 0; (c = this.children[d++]); ) c.parentNode = null; return (this.children = []), this.appendChild(j.createText(a, b)), this; } return this.toHtml().replace(/<[^>]+>/g, ''); }, getData: function () { return 'element' == this.type ? '' : this.data; }, firstChild: function () { return this.children ? this.children[0] : null; }, lastChild: function () { return this.children ? this.children[this.children.length - 1] : null; }, previousSibling: function () { for (var a, b = this.parentNode, c = 0; (a = b.children[c]); c++) if (a === this) return 0 == c ? null : b.children[c - 1]; }, nextSibling: function () { for (var a, b = this.parentNode, c = 0; (a = b.children[c++]); ) if (a === this) return b.children[c]; }, replaceChild: function (a, b) { if (this.children) { a.parentNode && a.parentNode.removeChild(a); for (var c, d = 0; (c = this.children[d]); d++) if (c === b) return ( this.children.splice(d, 1, a), (b.parentNode = null), (a.parentNode = this), a ); } }, appendChild: function (a) { if ('root' == this.type || ('element' == this.type && !dtd.$empty[this.tagName])) { this.children || (this.children = []), a.parentNode && a.parentNode.removeChild(a); for (var b, c = 0; (b = this.children[c]); c++) if (b === a) { this.children.splice(c, 1); break; } return this.children.push(a), (a.parentNode = this), a; } }, insertBefore: function (a, b) { if (this.children) { a.parentNode && a.parentNode.removeChild(a); for (var c, d = 0; (c = this.children[d]); d++) if (c === b) return this.children.splice(d, 0, a), (a.parentNode = this), a; } }, insertAfter: function (a, b) { if (this.children) { a.parentNode && a.parentNode.removeChild(a); for (var c, d = 0; (c = this.children[d]); d++) if (c === b) return this.children.splice(d + 1, 0, a), (a.parentNode = this), a; } }, removeChild: function (a, b) { if (this.children) for (var c, d = 0; (c = this.children[d]); d++) if (c === a) { if ( (this.children.splice(d, 1), (c.parentNode = null), b && c.children && c.children.length) ) for (var e, f = 0; (e = c.children[f]); f++) this.children.splice(d + f, 0, e), (e.parentNode = this); return c; } }, getAttr: function (a) { return this.attrs && this.attrs[a.toLowerCase()]; }, setAttr: function (a, b) { if (!a) return void delete this.attrs; if ((this.attrs || (this.attrs = {}), utils.isObject(a))) for (var c in a) a[c] ? (this.attrs[c.toLowerCase()] = a[c]) : delete this.attrs[c]; else b ? (this.attrs[a.toLowerCase()] = b) : delete this.attrs[a]; }, getIndex: function () { for (var a, b = this.parentNode, c = 0; (a = b.children[c]); c++) if (a === this) return c; return -1; }, getNodeById: function (a) { var b; if (this.children && this.children.length) for (var c, d = 0; (c = this.children[d++]); ) if ((b = g(c, a))) return b; }, getNodesByTagName: function (a) { a = utils .trim(a) .replace(/[ ]{2,}/g, ' ') .split(' '); var b = [], c = this; return ( utils.each(a, function (a) { if (c.children && c.children.length) for (var d, e = 0; (d = c.children[e++]); ) h(d, a, b); }), b ); }, getStyle: function (a) { var b = this.getAttr('style'); if (!b) return ''; var c = new RegExp('(^|;)\\s*' + a + ':([^;]+)', 'i'), d = b.match(c); return d && d[0] ? d[2] : ''; }, setStyle: function (a, b) { function c(a, b) { var c = new RegExp('(^|;)\\s*' + a + ':([^;]+;?)', 'gi'); (d = d.replace(c, '$1')), b && (d = a + ':' + utils.unhtml(b) + ';' + d); } var d = this.getAttr('style'); if ((d || (d = ''), utils.isObject(a))) for (var e in a) c(e, a[e]); else c(a, b); this.setAttr('style', utils.trim(d)); }, traversal: function (a) { return this.children && this.children.length && i(this, a), this; }, }); })(); var htmlparser = (UE.htmlparser = function (a, b) { function c(a, b) { if (m[a.tagName]) { var c = k.createElement(m[a.tagName]); a.appendChild(c), c.appendChild(k.createText(b)), (a = c); } else a.appendChild(k.createText(b)); } function d(a, b, c) { var e; if ((e = l[b])) { for (var f, h = a; 'root' != h.type; ) { if (utils.isArray(e) ? utils.indexOf(e, h.tagName) != -1 : e == h.tagName) { (a = h), (f = !0); break; } h = h.parentNode; } f || (a = d(a, utils.isArray(e) ? e[0] : e)); } var i = new k({ parentNode: a, type: 'element', tagName: b.toLowerCase(), children: dtd.$empty[b] ? null : [], }); if (c) { for (var m, n = {}; (m = g.exec(c)); ) n[m[1].toLowerCase()] = j[m[1].toLowerCase()] ? m[2] || m[3] || m[4] : utils.unhtml(m[2] || m[3] || m[4]); i.attrs = n; } return a.children.push(i), dtd.$empty[b] ? a : i; } function e(a, b) { a.children.push(new k({ type: 'comment', data: b, parentNode: a })); } var f = /<(?:(?:\/([^>]+)>)|(?:!--([\S|\s]*?)-->)|(?:([^\s\/<>]+)\s*((?:(?:"[^"]*")|(?:'[^']*')|[^"'<>])*)\/?>))/g, g = /([\w\-:.]+)(?:(?:\s*=\s*(?:(?:"([^"]*)")|(?:'([^']*)')|([^\s>]+)))|(?=\s|$))/g, h = { b: 1, code: 1, i: 1, u: 1, strike: 1, s: 1, tt: 1, strong: 1, q: 1, samp: 1, em: 1, span: 1, sub: 1, img: 1, sup: 1, font: 1, big: 1, small: 1, iframe: 1, a: 1, br: 1, pre: 1, }; (a = a.replace(new RegExp(domUtils.fillChar, 'g'), '')), b || (a = a.replace( new RegExp( '[\\r\\t\\n' + (b ? '' : ' ') + ']*]*)>[\\r\\t\\n' + (b ? '' : ' ') + ']*', 'g', ), function (a, c) { return c && h[c.toLowerCase()] ? a.replace(/(^[\n\r]+)|([\n\r]+$)/g, '') : a .replace(new RegExp('^[\\r\\n' + (b ? '' : ' ') + ']+'), '') .replace(new RegExp('[\\r\\n' + (b ? '' : ' ') + ']+$'), ''); }, )); for ( var i, j = { href: 1, src: 1 }, k = UE.uNode, l = { td: 'tr', tr: ['tbody', 'thead', 'tfoot'], tbody: 'table', th: 'tr', thead: 'table', tfoot: 'table', caption: 'table', li: ['ul', 'ol'], dt: 'dl', dd: 'dl', option: 'select', }, m = { ol: 'li', ul: 'li' }, n = 0, o = 0, p = new k({ type: 'root', children: [] }), q = p; (i = f.exec(a)); ) { n = i.index; try { if ((n > o && c(q, a.slice(o, n)), i[3])) dtd.$cdata[q.tagName] ? c(q, i[0]) : (q = d(q, i[3].toLowerCase(), i[4])); else if (i[1]) { if ('root' != q.type) if (dtd.$cdata[q.tagName] && !dtd.$cdata[i[1]]) c(q, i[0]); else { for (var r = q; 'element' == q.type && q.tagName != i[1].toLowerCase(); ) if (((q = q.parentNode), 'root' == q.type)) throw ((q = r), 'break'); q = q.parentNode; } } else i[2] && e(q, i[2]); } catch (s) {} o = f.lastIndex; } return o < a.length && c(q, a.slice(o)), p; }), filterNode = (UE.filterNode = (function () { function a(b, c) { switch (b.type) { case 'text': break; case 'element': var d; if ((d = c[b.tagName])) if ('-' === d) b.parentNode.removeChild(b); else if (utils.isFunction(d)) { var e = b.parentNode, f = b.getIndex(); if ((d(b), b.parentNode)) { if (b.children) for (var g, h = 0; (g = b.children[h]); ) a(g, c), g.parentNode && h++; } else for (var g, h = f; (g = e.children[h]); ) a(g, c), g.parentNode && h++; } else { var i = d.$; if (i && b.attrs) { var j, k = {}; for (var l in i) { if (((j = b.getAttr(l)), 'style' == l && utils.isArray(i[l]))) { var m = []; utils.each(i[l], function (a) { var c; (c = b.getStyle(a)) && m.push(a + ':' + c); }), (j = m.join(';')); } j && (k[l] = j); } b.attrs = k; } if (b.children) for (var g, h = 0; (g = b.children[h]); ) a(g, c), g.parentNode && h++; } else if (dtd.$cdata[b.tagName]) b.parentNode.removeChild(b); else { var e = b.parentNode, f = b.getIndex(); b.parentNode.removeChild(b, !0); for (var g, h = f; (g = e.children[h]); ) a(g, c), g.parentNode && h++; } break; case 'comment': b.parentNode.removeChild(b); } } return function (b, c) { if (utils.isEmptyObject(c)) return b; var d; (d = c['-']) && utils.each(d.split(' '), function (a) { c[a] = '-'; }); for (var e, f = 0; (e = b.children[f]); ) a(e, c), e.parentNode && f++; return b; }; })()); UE.plugin = (function () { var a = {}; return { register: function (b, c, d, e) { d && utils.isFunction(d) && ((e = d), (d = null)), (a[b] = { optionName: d || b, execFn: c, afterDisabled: e }); }, load: function (b) { utils.each(a, function (a) { var c = a.execFn.call(b); b.options[a.optionName] !== !1 ? c && utils.each(c, function (a, c) { switch (c.toLowerCase()) { case 'shortcutkey': b.addshortcutkey(a); break; case 'bindevents': utils.each(a, function (a, c) { b.addListener(c, a); }); break; case 'bindmultievents': utils.each(utils.isArray(a) ? a : [a], function (a) { var c = utils.trim(a.type).split(/\s+/); utils.each(c, function (c) { b.addListener(c, a.handler); }); }); break; case 'commands': utils.each(a, function (a, c) { b.commands[c] = a; }); break; case 'outputrule': b.addOutputRule(a); break; case 'inputrule': b.addInputRule(a); break; case 'defaultoptions': b.setOpt(a); } }) : a.afterDisabled && a.afterDisabled.call(b); }), utils.each(UE.plugins, function (a) { a.call(b); }); }, run: function (b, c) { var d = a[b]; d && d.exeFn.call(c); }, }; })(); var keymap = (UE.keymap = { Backspace: 8, Tab: 9, Enter: 13, Shift: 16, Control: 17, Alt: 18, CapsLock: 20, Esc: 27, Spacebar: 32, PageUp: 33, PageDown: 34, End: 35, Home: 36, Left: 37, Up: 38, Right: 39, Down: 40, Insert: 45, Del: 46, NumLock: 144, Cmd: 91, '=': 187, '-': 189, b: 66, i: 73, z: 90, y: 89, v: 86, x: 88, s: 83, n: 78, }), LocalStorage = (UE.LocalStorage = (function () { function a() { var a = document.createElement('div'); return ( (a.style.display = 'none'), a.addBehavior ? (a.addBehavior('#default#userdata'), { getItem: function (b) { var d = null; try { document.body.appendChild(a), a.load(c), (d = a.getAttribute(b)), document.body.removeChild(a); } catch (e) {} return d; }, setItem: function (b, d) { document.body.appendChild(a), a.setAttribute(b, d), a.save(c), document.body.removeChild(a); }, removeItem: function (b) { document.body.appendChild(a), a.removeAttribute(b), a.save(c), document.body.removeChild(a); }, }) : null ); } var b = window.localStorage || a() || null, c = 'localStorage'; return { saveLocalData: function (a, c) { return !(!b || !c) && (b.setItem(a, c), !0); }, getLocalData: function (a) { return b ? b.getItem(a) : null; }, removeItem: function (a) { b && b.removeItem(a); }, }; })()); !(function () { var a = 'ueditor_preference'; (UE.Editor.prototype.setPreferences = function (b, c) { var d = {}; utils.isString(b) ? (d[b] = c) : (d = b); var e = LocalStorage.getLocalData(a); e && (e = utils.str2json(e)) ? utils.extend(e, d) : (e = d), e && LocalStorage.saveLocalData(a, utils.json2str(e)); }), (UE.Editor.prototype.getPreferences = function (b) { var c = LocalStorage.getLocalData(a); return c && (c = utils.str2json(c)) ? (b ? c[b] : c) : null; }), (UE.Editor.prototype.removePreferences = function (b) { var c = LocalStorage.getLocalData(a); c && (c = utils.str2json(c)) && ((c[b] = void 0), delete c[b]), c && LocalStorage.saveLocalData(a, utils.json2str(c)); }); })(), (UE.plugins.defaultfilter = function () { var a = this; a.setOpt({ allowDivTransToP: !0, disabledTableInTable: !0 }), a.addInputRule(function (b) { function c(a) { for (; a && 'element' == a.type; ) { if ('td' == a.tagName) return !0; a = a.parentNode; } return !1; } var d, e = this.options.allowDivTransToP; b.traversal(function (b) { if ('element' == b.type) { if ( !dtd.$cdata[b.tagName] && a.options.autoClearEmptyNode && dtd.$inline[b.tagName] && !dtd.$empty[b.tagName] && (!b.attrs || utils.isEmptyObject(b.attrs)) ) return void (b.firstChild() ? 'span' != b.tagName || (b.attrs && !utils.isEmptyObject(b.attrs)) || b.parentNode.removeChild(b, !0) : b.parentNode.removeChild(b)); switch (b.tagName) { case 'style': case 'script': b.setAttr({ cdata_tag: b.tagName, cdata_data: b.innerHTML() || '', _ue_custom_node_: 'true', }), (b.tagName = 'div'), b.innerHTML(''); break; case 'a': (d = b.getAttr('href')) && b.setAttr('_href', d); break; case 'img': if ((d = b.getAttr('src')) && /^data:/.test(d)) { b.parentNode.removeChild(b); break; } b.setAttr('_src', b.getAttr('src')); break; case 'span': browser.webkit && (d = b.getStyle('white-space')) && /nowrap|normal/.test(d) && (b.setStyle('white-space', ''), a.options.autoClearEmptyNode && utils.isEmptyObject(b.attrs) && b.parentNode.removeChild(b, !0)), (d = b.getAttr('id')), d && /^_baidu_bookmark_/i.test(d) && b.parentNode.removeChild(b); break; case 'p': (d = b.getAttr('align')) && (b.setAttr('align'), b.setStyle('text-align', d)), utils.each(b.children, function (a) { if ('element' == a.type && 'p' == a.tagName) { var c = a.nextSibling(); b.parentNode.insertAfter(a, b); for (var d = a; c; ) { var e = c.nextSibling(); b.parentNode.insertAfter(c, d), (d = c), (c = e); } return !1; } }), b.firstChild() || b.innerHTML(browser.ie ? ' ' : '
'); break; case 'div': if (b.getAttr('cdata_tag')) break; if (((d = b.getAttr('class')), d && /^line number\d+/.test(d))) break; if (!e) break; for (var f, g = UE.uNode.createElement('p'); (f = b.firstChild()); ) 'text' != f.type && UE.dom.dtd.$block[f.tagName] ? g.firstChild() ? (b.parentNode.insertBefore(g, b), (g = UE.uNode.createElement('p'))) : b.parentNode.insertBefore(f, b) : g.appendChild(f); g.firstChild() && b.parentNode.insertBefore(g, b), b.parentNode.removeChild(b); break; case 'dl': b.tagName = 'ul'; break; case 'dt': case 'dd': b.tagName = 'li'; break; case 'li': var h = b.getAttr('class'); (h && /list\-/.test(h)) || b.setAttr(); var i = b.getNodesByTagName('ol ul'); UE.utils.each(i, function (a) { b.parentNode.insertAfter(a, b); }); break; case 'td': case 'th': case 'caption': (b.children && b.children.length) || b.appendChild( browser.ie11below ? UE.uNode.createText(' ') : UE.uNode.createElement('br'), ); break; case 'table': a.options.disabledTableInTable && c(b) && (b.parentNode.insertBefore(UE.uNode.createText(b.innerText()), b), b.parentNode.removeChild(b)); } } }); }), a.addOutputRule(function (b) { var c; b.traversal(function (b) { if ('element' == b.type) { if ( a.options.autoClearEmptyNode && dtd.$inline[b.tagName] && !dtd.$empty[b.tagName] && (!b.attrs || utils.isEmptyObject(b.attrs)) ) return void (b.firstChild() ? 'span' != b.tagName || (b.attrs && !utils.isEmptyObject(b.attrs)) || b.parentNode.removeChild(b, !0) : b.parentNode.removeChild(b)); switch (b.tagName) { case 'div': (c = b.getAttr('cdata_tag')) && ((b.tagName = c), b.appendChild(UE.uNode.createText(b.getAttr('cdata_data'))), b.setAttr({ cdata_tag: '', cdata_data: '', _ue_custom_node_: '' })); break; case 'a': (c = b.getAttr('_href')) && b.setAttr({ href: utils.html(c), _href: '' }); break; case 'span': (c = b.getAttr('id')), c && /^_baidu_bookmark_/i.test(c) && b.parentNode.removeChild(b); break; case 'img': (c = b.getAttr('_src')) && b.setAttr({ src: b.getAttr('_src'), _src: '' }); } } }); }); }), (UE.commands.inserthtml = { execCommand: function (a, b, c) { var d, e, f = this; if (b && f.fireEvent('beforeinserthtml', b) !== !0) { if ( ((d = f.selection.getRange()), (e = d.document.createElement('div')), (e.style.display = 'inline'), !c) ) { var g = UE.htmlparser(b); f.options.filterRules && UE.filterNode(g, f.options.filterRules), f.filterInputRule(g), (b = g.toHtml()); } if (((e.innerHTML = utils.trim(b)), !d.collapsed)) { var h = d.startContainer; if ( (domUtils.isFillChar(h) && d.setStartBefore(h), (h = d.endContainer), domUtils.isFillChar(h) && d.setEndAfter(h), d.txtToElmBoundary(), d.endContainer && 1 == d.endContainer.nodeType && ((h = d.endContainer.childNodes[d.endOffset]), h && domUtils.isBr(h) && d.setEndAfter(h)), 0 == d.startOffset && ((h = d.startContainer), domUtils.isBoundaryNode(h, 'firstChild') && ((h = d.endContainer), d.endOffset == (3 == h.nodeType ? h.nodeValue.length : h.childNodes.length) && domUtils.isBoundaryNode(h, 'lastChild') && ((f.body.innerHTML = '

' + (browser.ie ? '' : '
') + '

'), d.setStart(f.body.firstChild, 0).collapse(!0)))), !d.collapsed && d.deleteContents(), 1 == d.startContainer.nodeType) ) { var i, j = d.startContainer.childNodes[d.startOffset]; if ( j && domUtils.isBlockElm(j) && (i = j.previousSibling) && domUtils.isBlockElm(i) ) { for (d.setEnd(i, i.childNodes.length).collapse(); j.firstChild; ) i.appendChild(j.firstChild); domUtils.remove(j); } } } var j, k, i, l, m, n = 0; d.inFillChar() && ((j = d.startContainer), domUtils.isFillChar(j) ? (d.setStartBefore(j).collapse(!0), domUtils.remove(j)) : domUtils.isFillChar(j, !0) && ((j.nodeValue = j.nodeValue.replace(fillCharReg, '')), d.startOffset--, d.collapsed && d.collapse(!0))); var o = domUtils.findParentByTagName(d.startContainer, 'li', !0); if (o) { for (var p, q; (j = e.firstChild); ) { for (; j && (3 == j.nodeType || !domUtils.isBlockElm(j) || 'HR' == j.tagName); ) (p = j.nextSibling), d.insertNode(j).collapse(), (q = j), (j = p); if (j) if (/^(ol|ul)$/i.test(j.tagName)) { for (; j.firstChild; ) (q = j.firstChild), domUtils.insertAfter(o, j.firstChild), (o = o.nextSibling); domUtils.remove(j); } else { var r; (p = j.nextSibling), (r = f.document.createElement('li')), domUtils.insertAfter(o, r), r.appendChild(j), (q = j), (j = p), (o = r); } } (o = domUtils.findParentByTagName(d.startContainer, 'li', !0)), domUtils.isEmptyBlock(o) && domUtils.remove(o), q && d.setStartAfter(q).collapse(!0).select(!0); } else { for (; (j = e.firstChild); ) { if (n) { for ( var s = f.document.createElement('p'); j && (3 == j.nodeType || !dtd.$block[j.tagName]); ) (m = j.nextSibling), s.appendChild(j), (j = m); s.firstChild && (j = s); } if ( (d.insertNode(j), (m = j.nextSibling), !n && j.nodeType == domUtils.NODE_ELEMENT && domUtils.isBlockElm(j) && ((k = domUtils.findParent(j, function (a) { return domUtils.isBlockElm(a); })), k && 'body' != k.tagName.toLowerCase() && (!dtd[k.tagName][j.nodeName] || j.parentNode !== k))) ) { if (dtd[k.tagName][j.nodeName]) for (l = j.parentNode; l !== k; ) (i = l), (l = l.parentNode); else i = k; domUtils.breakParent(j, i || l); var i = j.previousSibling; domUtils.trimWhiteTextNode(i), i.childNodes.length || domUtils.remove(i), !browser.ie && (p = j.nextSibling) && domUtils.isBlockElm(p) && p.lastChild && !domUtils.isBr(p.lastChild) && p.appendChild(f.document.createElement('br')), (n = 1); } var p = j.nextSibling; if (!e.firstChild && p && domUtils.isBlockElm(p)) { d.setStart(p, 0).collapse(!0); break; } d.setEndAfter(j).collapse(); } if ( ((j = d.startContainer), m && domUtils.isBr(m) && domUtils.remove(m), domUtils.isBlockElm(j) && domUtils.isEmptyNode(j)) ) if ((m = j.nextSibling)) domUtils.remove(j), 1 == m.nodeType && dtd.$block[m.tagName] && d.setStart(m, 0).collapse(!0).shrinkBoundary(); else try { j.innerHTML = browser.ie ? domUtils.fillChar : '
'; } catch (t) { d.setStartBefore(j), domUtils.remove(j); } try { d.select(!0); } catch (t) {} } setTimeout(function () { (d = f.selection.getRange()), d.scrollToView( f.autoHeightEnabled, f.autoHeightEnabled ? domUtils.getXY(f.iframe).y : 0, ), f.fireEvent('afterinserthtml', b); }, 200); } }, }), (UE.plugins.autotypeset = function () { function a(a, b) { return a && 3 != a.nodeType ? domUtils.isBr(a) ? 1 : a && a.parentNode && l[a.tagName.toLowerCase()] ? (g && g.contains(a)) || a.getAttribute('pagebreak') ? 0 : b ? !domUtils.isEmptyBlock(a) : domUtils.isEmptyBlock(a, new RegExp('[\\s' + domUtils.fillChar + ']', 'g')) : void 0 : 0; } function b(a) { a.style.cssText || (domUtils.removeAttributes(a, ['style']), 'span' == a.tagName.toLowerCase() && domUtils.hasNoAttributes(a) && domUtils.remove(a, !0)); } function c(c, f) { var h, l = this; if (f) { if (!i.pasteFilter) return; (h = l.document.createElement('div')), (h.innerHTML = f.html); } else h = l.document.body; for (var m, n = domUtils.getElementsByTagName(h, '*'), o = 0; (m = n[o++]); ) if (l.fireEvent('excludeNodeinautotype', m) !== !0) { if ( (i.clearFontSize && m.style.fontSize && (domUtils.removeStyle(m, 'font-size'), b(m)), i.clearFontFamily && m.style.fontFamily && (domUtils.removeStyle(m, 'font-family'), b(m)), a(m)) ) { if (i.mergeEmptyline) for ( var p, q = m.nextSibling, r = domUtils.isBr(m); a(q) && ((p = q), (q = p.nextSibling), !r || (q && (!q || domUtils.isBr(q)))); ) domUtils.remove(p); if ( i.removeEmptyline && domUtils.inDoc(m, h) && !k[m.parentNode.tagName.toLowerCase()] ) { if (domUtils.isBr(m) && ((q = m.nextSibling), q && !domUtils.isBr(q))) continue; domUtils.remove(m); continue; } } if ( (a(m, !0) && 'SPAN' != m.tagName && (i.indent && (m.style.textIndent = i.indentValue), i.textAlign && (m.style.textAlign = i.textAlign)), i.removeClass && m.className && !j[m.className.toLowerCase()]) ) { if (g && g.contains(m)) continue; domUtils.removeAttributes(m, ['class']); } if (i.imageBlockLine && 'img' == m.tagName.toLowerCase() && !m.getAttribute('emotion')) if (f) { var s = m; switch (i.imageBlockLine) { case 'left': case 'right': case 'none': for ( var p, t, q, u = s.parentNode; dtd.$inline[u.tagName] || 'A' == u.tagName; ) u = u.parentNode; if ( ((p = u), 'P' == p.tagName && 'center' == domUtils.getStyle(p, 'text-align') && !domUtils.isBody(p) && 1 == domUtils.getChildCount(p, function (a) { return !domUtils.isBr(a) && !domUtils.isWhitespace(a); })) ) if ( ((t = p.previousSibling), (q = p.nextSibling), t && q && 1 == t.nodeType && 1 == q.nodeType && t.tagName == q.tagName && domUtils.isBlockElm(t)) ) { for (t.appendChild(p.firstChild); q.firstChild; ) t.appendChild(q.firstChild); domUtils.remove(p), domUtils.remove(q); } else domUtils.setStyle(p, 'text-align', ''); domUtils.setStyle(s, 'float', i.imageBlockLine); break; case 'center': if ('center' != l.queryCommandValue('imagefloat')) { for ( u = s.parentNode, domUtils.setStyle(s, 'float', 'none'), p = s; u && 1 == domUtils.getChildCount(u, function (a) { return !domUtils.isBr(a) && !domUtils.isWhitespace(a); }) && (dtd.$inline[u.tagName] || 'A' == u.tagName); ) (p = u), (u = u.parentNode); var v = l.document.createElement('p'); domUtils.setAttributes(v, { style: 'text-align:center' }), p.parentNode.insertBefore(v, p), v.appendChild(p), domUtils.setStyle(p, 'float', ''); } } } else { var w = l.selection.getRange(); w.selectNode(m).select(), l.execCommand('imagefloat', i.imageBlockLine); } i.removeEmptyNode && i.removeTagNames[m.tagName.toLowerCase()] && domUtils.hasNoAttributes(m) && domUtils.isEmptyBlock(m) && domUtils.remove(m); } if (i.tobdc) { var x = UE.htmlparser(h.innerHTML); x.traversal(function (a) { 'text' == a.type && (a.data = e(a.data)); }), (h.innerHTML = x.toHtml()); } if (i.bdc2sb) { var x = UE.htmlparser(h.innerHTML); x.traversal(function (a) { 'text' == a.type && (a.data = d(a.data)); }), (h.innerHTML = x.toHtml()); } f && (f.html = h.innerHTML); } function d(a) { for (var b = '', c = 0; c < a.length; c++) { var d = a.charCodeAt(c); b += d >= 65281 && d <= 65373 ? String.fromCharCode(a.charCodeAt(c) - 65248) : 12288 == d ? String.fromCharCode(a.charCodeAt(c) - 12288 + 32) : a.charAt(c); } return b; } function e(a) { a = utils.html(a); for (var b = '', c = 0; c < a.length; c++) b += 32 == a.charCodeAt(c) ? String.fromCharCode(12288) : a.charCodeAt(c) < 127 ? String.fromCharCode(a.charCodeAt(c) + 65248) : a.charAt(c); return b; } function f() { var a = h.getPreferences('autotypeset'); utils.extend(h.options.autotypeset, a); } this.setOpt({ autotypeset: { mergeEmptyline: !0, removeClass: !0, removeEmptyline: !1, textAlign: 'left', imageBlockLine: 'center', pasteFilter: !1, clearFontSize: !1, clearFontFamily: !1, removeEmptyNode: !1, removeTagNames: utils.extend({ div: 1 }, dtd.$removeEmpty), indent: !1, indentValue: '2em', bdc2sb: !1, tobdc: !1, }, }); var g, h = this, i = h.options.autotypeset, j = { selectTdClass: 1, pagebreak: 1, anchorclass: 1 }, k = { li: 1 }, l = { div: 1, p: 1, blockquote: 1, center: 1, h1: 1, h2: 1, h3: 1, h4: 1, h5: 1, h6: 1, span: 1, }; i && (f(), i.pasteFilter && h.addListener('beforepaste', c), (h.commands.autotypeset = { execCommand: function () { h.removeListener('beforepaste', c), i.pasteFilter && h.addListener('beforepaste', c), c.call(h); }, })); }), UE.plugin.register('autosubmit', function () { return { shortcutkey: { autosubmit: 'ctrl+13' }, commands: { autosubmit: { execCommand: function () { var a = this, b = domUtils.findParentByTagName(a.iframe, 'form', !1); if (b) { if (a.fireEvent('beforesubmit') === !1) return; a.sync(), b.submit(); } }, }, }, }; }), UE.plugin.register('background', function () { function a(a) { var b = {}, c = a.split(';'); return ( utils.each(c, function (a) { var c = a.indexOf(':'), d = utils.trim(a.substr(0, c)).toLowerCase(); d && (b[d] = utils.trim(a.substr(c + 1) || '')); }), b ); } function b(a) { if (a) { var b = []; for (var c in a) a.hasOwnProperty(c) && b.push(c + ':' + a[c] + '; '); utils.cssRule(e, b.length ? 'body{' + b.join('') + '}' : '', d.document); } else utils.cssRule(e, '', d.document); } var c, d = this, e = 'editor_background', f = new RegExp('body[\\s]*\\{(.+)\\}', 'i'), g = d.hasContents; return ( (d.hasContents = function () { return !!d.queryCommandValue('background') || g.apply(d, arguments); }), { bindEvents: { getAllHtml: function (a, b) { var c = this.body, e = domUtils.getComputedStyle(c, 'background-image'), f = ''; f = e.indexOf(d.options.imagePath) > 0 ? e .substring(e.indexOf(d.options.imagePath), e.length - 1) .replace(/"|\(|\)/gi, '') : 'none' != e ? e.replace(/url\("?|"?\)/gi, '') : ''; var g = ' '), b.push(g); }, aftersetcontent: function () { 0 == c && b(); }, }, inputRule: function (d) { (c = !1), utils.each(d.getNodesByTagName('p'), function (d) { var e = d.getAttr('data-background'); e && ((c = !0), b(a(e)), d.parentNode.removeChild(d)); }); }, outputRule: function (a) { var b = this, c = (utils.cssRule(e, b.document) || '').replace(/[\n\r]+/g, '').match(f); c && a.appendChild( UE.uNode.createElement( '


', ), ); }, commands: { background: { execCommand: function (a, c) { b(c); }, queryCommandValue: function () { var b = this, c = (utils.cssRule(e, b.document) || '').replace(/[\n\r]+/g, '').match(f); return c ? a(c[1]) : null; }, notNeedUndo: !0, }, }, } ); }), (UE.commands.imagefloat = { execCommand: function (a, b) { var c = this, d = c.selection.getRange(); if (!d.collapsed) { var e = d.getClosedNode(); if (e && 'IMG' == e.tagName) switch (b) { case 'left': case 'right': case 'none': for (var f, g, h, i = e.parentNode; dtd.$inline[i.tagName] || 'A' == i.tagName; ) i = i.parentNode; if (((f = i), 'P' == f.tagName && 'center' == domUtils.getStyle(f, 'text-align'))) { if ( !domUtils.isBody(f) && 1 == domUtils.getChildCount(f, function (a) { return !domUtils.isBr(a) && !domUtils.isWhitespace(a); }) ) if ( ((g = f.previousSibling), (h = f.nextSibling), g && h && 1 == g.nodeType && 1 == h.nodeType && g.tagName == h.tagName && domUtils.isBlockElm(g)) ) { for (g.appendChild(f.firstChild); h.firstChild; ) g.appendChild(h.firstChild); domUtils.remove(f), domUtils.remove(h); } else domUtils.setStyle(f, 'text-align', ''); d.selectNode(e).select(); } domUtils.setStyle(e, 'float', 'none' == b ? '' : b), 'none' == b && domUtils.removeAttributes(e, 'align'); break; case 'center': if ('center' != c.queryCommandValue('imagefloat')) { for ( i = e.parentNode, domUtils.setStyle(e, 'float', ''), domUtils.removeAttributes(e, 'align'), f = e; i && 1 == domUtils.getChildCount(i, function (a) { return !domUtils.isBr(a) && !domUtils.isWhitespace(a); }) && (dtd.$inline[i.tagName] || 'A' == i.tagName); ) (f = i), (i = i.parentNode); d.setStartBefore(f).setCursor(!1), (i = c.document.createElement('div')), i.appendChild(f), domUtils.setStyle(f, 'float', ''), c.execCommand( 'insertHtml', '

' + i.innerHTML + '

', ), (f = c.document.getElementById('_img_parent_tmp')), f.removeAttribute('id'), (f = f.firstChild), d.selectNode(f).select(), (h = f.parentNode.nextSibling), h && domUtils.isEmptyNode(h) && domUtils.remove(h); } } } }, queryCommandValue: function () { var a, b, c = this.selection.getRange(); return c.collapsed ? 'none' : ((a = c.getClosedNode()), a && 1 == a.nodeType && 'IMG' == a.tagName ? ((b = domUtils.getComputedStyle(a, 'float') || a.getAttribute('align')), 'none' == b && (b = 'center' == domUtils.getComputedStyle(a.parentNode, 'text-align') ? 'center' : b), { left: 1, right: 1, center: 1 }[b] ? b : 'none') : 'none'); }, queryCommandState: function () { var a, b = this.selection.getRange(); return b.collapsed ? -1 : ((a = b.getClosedNode()), a && 1 == a.nodeType && 'IMG' == a.tagName ? 0 : -1); }, }), (UE.commands.insertimage = { execCommand: function (a, b) { function c(a) { utils.each('width,height,border,hspace,vspace'.split(','), function (b) { a[b] && (a[b] = parseInt(a[b], 10) || 0); }), utils.each('src,_src'.split(','), function (b) { a[b] && (a[b] = utils.unhtmlForUrl(a[b])); }), utils.each('title,alt'.split(','), function (b) { a[b] && (a[b] = utils.unhtml(a[b])); }); } if (((b = utils.isArray(b) ? b : [b]), b.length)) { var d = this, e = d.selection.getRange(), f = e.getClosedNode(); if (d.fireEvent('beforeinsertimage', b) !== !0) { if ( !f || !/img/i.test(f.tagName) || ('edui-faked-video' == f.className && f.className.indexOf('edui-upload-video') == -1) || f.getAttribute('word_img') ) { var g, h = [], i = ''; if (((g = b[0]), 1 == b.length)) c(g), (i = '' + g.alt + ''), 'center' == g.floatStyle && (i = '

' + i + '

'), h.push(i); else for (var j = 0; (g = b[j++]); ) c(g), (i = '

'), h.push(i); d.execCommand('insertHtml', h.join('')); } else { var k = b.shift(), l = k.floatStyle; delete k.floatStyle, domUtils.setAttributes(f, k), d.execCommand('imagefloat', l), b.length > 0 && (e.setStartAfter(f).setCursor(!1, !0), d.execCommand('insertimage', b)); } d.fireEvent('afterinsertimage', b); } } }, }), (UE.plugins.justify = function () { var a = domUtils.isBlockElm, b = { left: 1, right: 1, center: 1, justify: 1 }, c = function (b, c) { var d = b.createBookmark(), e = function (a) { return 1 == a.nodeType ? 'br' != a.tagName.toLowerCase() && !domUtils.isBookmarkNode(a) : !domUtils.isWhitespace(a); }; b.enlarge(!0); for ( var f, g = b.createBookmark(), h = domUtils.getNextDomNode(g.start, !1, e), i = b.cloneRange(); h && !(domUtils.getPosition(h, g.end) & domUtils.POSITION_FOLLOWING); ) if (3 != h.nodeType && a(h)) h = domUtils.getNextDomNode(h, !0, e); else { for (i.setStartBefore(h); h && h !== g.end && !a(h); ) (f = h), (h = domUtils.getNextDomNode(h, !1, null, function (b) { return !a(b); })); i.setEndAfter(f); var j = i.getCommonAncestor(); if (!domUtils.isBody(j) && a(j)) domUtils.setStyles(j, utils.isString(c) ? { 'text-align': c } : c), (h = j); else { var k = b.document.createElement('p'); domUtils.setStyles(k, utils.isString(c) ? { 'text-align': c } : c); var l = i.extractContents(); k.appendChild(l), i.insertNode(k), (h = k); } h = domUtils.getNextDomNode(h, !1, e); } return b.moveToBookmark(g).moveToBookmark(d); }; UE.commands.justify = { execCommand: function (a, b) { var d, e = this.selection.getRange(); return ( e.collapsed && ((d = this.document.createTextNode('p')), e.insertNode(d)), c(e, b), d && (e.setStartBefore(d).collapse(!0), domUtils.remove(d)), e.select(), !0 ); }, queryCommandValue: function () { var a = this.selection.getStart(), c = domUtils.getComputedStyle(a, 'text-align'); return b[c] ? c : 'left'; }, queryCommandState: function () { var a = this.selection.getStart(), b = a && domUtils.findParentByTagName(a, ['td', 'th', 'caption'], !0); return b ? -1 : 0; }, }; }), (UE.plugins.font = function () { function a(a) { for ( var b; (b = a.parentNode) && 'SPAN' == b.tagName && 1 == domUtils.getChildCount(b, function (a) { return !domUtils.isBookmarkNode(a) && !domUtils.isBr(a); }); ) (b.style.cssText += a.style.cssText), domUtils.remove(a, !0), (a = b); } function b(a, b, c) { if (g[b] && (a.adjustmentBoundary(), !a.collapsed && 1 == a.startContainer.nodeType)) { var d = a.startContainer.childNodes[a.startOffset]; if (d && domUtils.isTagNode(d, 'span')) { var e = a.createBookmark(); utils.each(domUtils.getElementsByTagName(d, 'span'), function (a) { a.parentNode && !domUtils.isBookmarkNode(a) && (('backcolor' == b && domUtils.getComputedStyle(a, 'background-color').toLowerCase() === c) || (domUtils.removeStyle(a, g[b]), 0 == a.style.cssText.replace(/^\s+$/, '').length && domUtils.remove(a, !0))); }), a.moveToBookmark(e); } } } function c(c, d, e) { var f, g = c.collapsed, h = c.createBookmark(); if (g) for (f = h.start.parentNode; dtd.$inline[f.tagName]; ) f = f.parentNode; else f = domUtils.getCommonAncestor(h.start, h.end); utils.each(domUtils.getElementsByTagName(f, 'span'), function (b) { if (b.parentNode && !domUtils.isBookmarkNode(b)) { if (/\s*border\s*:\s*none;?\s*/i.test(b.style.cssText)) return void (/^\s*border\s*:\s*none;?\s*$/.test(b.style.cssText) ? domUtils.remove(b, !0) : domUtils.removeStyle(b, 'border')); if ( (/border/i.test(b.style.cssText) && 'SPAN' == b.parentNode.tagName && /border/i.test(b.parentNode.style.cssText) && (b.style.cssText = b.style.cssText.replace(/border[^:]*:[^;]+;?/gi, '')), 'fontborder' != d || 'none' != e) ) for (var c = b.nextSibling; c && 1 == c.nodeType && 'SPAN' == c.tagName; ) if (domUtils.isBookmarkNode(c) && 'fontborder' == d) b.appendChild(c), (c = b.nextSibling); else { if ( (c.style.cssText == b.style.cssText && (domUtils.moveChild(c, b), domUtils.remove(c)), b.nextSibling === c) ) break; c = b.nextSibling; } if ((a(b), browser.ie && browser.version > 8)) { var f = domUtils.findParent(b, function (a) { return 'SPAN' == a.tagName && /background-color/.test(a.style.cssText); }); f && !/background-color/.test(b.style.cssText) && (b.style.backgroundColor = f.style.backgroundColor); } } }), c.moveToBookmark(h), b(c, d, e); } var d = this, e = { forecolor: 'color', backcolor: 'background-color', fontsize: 'font-size', fontfamily: 'font-family', underline: 'text-decoration', strikethrough: 'text-decoration', fontborder: 'border', }, f = { underline: 1, strikethrough: 1, fontborder: 1 }, g = { forecolor: 'color', backcolor: 'background-color', fontsize: 'font-size', fontfamily: 'font-family', }; d.setOpt({ fontfamily: [ { name: 'songti', val: '宋体,SimSun' }, { name: 'yahei', val: '微软雅黑,Microsoft YaHei' }, { name: 'kaiti', val: '楷体,楷体_GB2312, SimKai' }, { name: 'heiti', val: '黑体, SimHei' }, { name: 'lishu', val: '隶书, SimLi' }, { name: 'andaleMono', val: 'andale mono' }, { name: 'arial', val: 'arial, helvetica,sans-serif' }, { name: 'arialBlack', val: 'arial black,avant garde' }, { name: 'comicSansMs', val: 'comic sans ms' }, { name: 'impact', val: 'impact,chicago' }, { name: 'timesNewRoman', val: 'times new roman' }, ], fontsize: [10, 11, 12, 14, 16, 18, 20, 24, 36], }), d.addInputRule(function (a) { utils.each(a.getNodesByTagName('u s del font strike'), function (a) { if ('font' == a.tagName) { var b = []; for (var c in a.attrs) switch (c) { case 'size': b.push( 'font-size:' + ({ 1: '10', 2: '12', 3: '16', 4: '18', 5: '24', 6: '32', 7: '48' }[ a.attrs[c] ] || a.attrs[c]) + 'px', ); break; case 'color': b.push('color:' + a.attrs[c]); break; case 'face': b.push('font-family:' + a.attrs[c]); break; case 'style': b.push(a.attrs[c]); } a.attrs = { style: b.join(';') }; } else { var d = 'u' == a.tagName ? 'underline' : 'line-through'; a.attrs = { style: (a.getAttr('style') || '') + 'text-decoration:' + d + ';' }; } a.tagName = 'span'; }); }); for (var h in e) !(function (a, b) { UE.commands[a] = { execCommand: function (d, e) { e = e || (this.queryCommandState(d) ? 'none' : 'underline' == d ? 'underline' : 'fontborder' == d ? '1px solid #000' : 'line-through'); var g, h = this, i = this.selection.getRange(); if ('default' == e) i.collapsed && ((g = h.document.createTextNode('font')), i.insertNode(g).select()), h.execCommand('removeFormat', 'span,a', b), g && (i.setStartBefore(g).collapse(!0), domUtils.remove(g)), c(i, d, e), i.select(); else if (i.collapsed) { var j = domUtils.findParentByTagName(i.startContainer, 'span', !0); if ( ((g = h.document.createTextNode('font')), !j || j.children.length || j[browser.ie ? 'innerText' : 'textContent'].replace(fillCharReg, '').length) ) { if ( (i.insertNode(g), i.selectNode(g).select(), (j = i.document.createElement('span')), f[a]) ) { if (domUtils.findParentByTagName(g, 'a', !0)) return i.setStartBefore(g).setCursor(), void domUtils.remove(g); h.execCommand('removeFormat', 'span,a', b); } if ( ((j.style.cssText = b + ':' + e), g.parentNode.insertBefore(j, g), !browser.ie || (browser.ie && 9 == browser.version)) ) for (var k = j.parentNode; !domUtils.isBlockElm(k); ) 'SPAN' == k.tagName && (j.style.cssText = k.style.cssText + ';' + j.style.cssText), (k = k.parentNode); opera ? setTimeout(function () { i.setStart(j, 0).collapse(!0), c(i, d, e), i.select(); }) : (i.setStart(j, 0).collapse(!0), c(i, d, e), i.select()); } else i.insertNode(g), f[a] && (i.selectNode(g).select(), h.execCommand('removeFormat', 'span,a', b, null), (j = domUtils.findParentByTagName(g, 'span', !0)), i.setStartBefore(g)), j && (j.style.cssText += ';' + b + ':' + e), i.collapse(!0).select(); domUtils.remove(g); } else f[a] && h.queryCommandValue(a) && h.execCommand('removeFormat', 'span,a', b), (i = h.selection.getRange()), i.applyInlineStyle('span', { style: b + ':' + e }), c(i, d, e), i.select(); return !0; }, queryCommandValue: function (a) { var c = this.selection.getStart(); if ('underline' == a || 'strikethrough' == a) { for (var d, e = c; e && !domUtils.isBlockElm(e) && !domUtils.isBody(e); ) { if (1 == e.nodeType && ((d = domUtils.getComputedStyle(e, b)), 'none' != d)) return d; e = e.parentNode; } return 'none'; } if ('fontborder' == a) { for (var f, g = c; g && dtd.$inline[g.tagName]; ) { if ( (f = domUtils.getComputedStyle(g, 'border')) && /1px/.test(f) && /solid/.test(f) ) return f; g = g.parentNode; } return ''; } if ('FontSize' == a) { var h = domUtils.getComputedStyle(c, b), g = /^([\d\.]+)(\w+)$/.exec(h); return g ? Math.floor(g[1]) + g[2] : h; } return domUtils.getComputedStyle(c, b); }, queryCommandState: function (a) { if (!f[a]) return 0; var b = this.queryCommandValue(a); return 'fontborder' == a ? /1px/.test(b) && /solid/.test(b) : 'underline' == a ? /underline/.test(b) : /line\-through/.test(b); }, }; })(h, e[h]); }), (UE.plugins.link = function () { function a(a) { var b = a.startContainer, c = a.endContainer; (b = domUtils.findParentByTagName(b, 'a', !0)) && a.setStartBefore(b), (c = domUtils.findParentByTagName(c, 'a', !0)) && a.setEndAfter(c); } function b(b, c, d) { var e = b.cloneRange(), f = d.queryCommandValue('link'); a((b = b.adjustmentBoundary())); var g = b.startContainer; if ( (1 == g.nodeType && f && ((g = g.childNodes[b.startOffset]), g && 1 == g.nodeType && 'A' == g.tagName && /^(?:https?|ftp|file)\s*:\s*\/\//.test(g[browser.ie ? 'innerText' : 'textContent']) && (g[browser.ie ? 'innerText' : 'textContent'] = utils.html(c.textValue || c.href))), (e.collapsed && !f) || (b.removeInlineStyle('a'), (e = b.cloneRange())), e.collapsed) ) { var h = b.document.createElement('a'), i = ''; c.textValue ? ((i = utils.html(c.textValue)), delete c.textValue) : (i = utils.html(c.href)), domUtils.setAttributes(h, c), (g = domUtils.findParentByTagName(e.startContainer, 'a', !0)), g && domUtils.isInNodeEndBoundary(e, g) && b.setStartAfter(g).collapse(!0), (h[browser.ie ? 'innerText' : 'textContent'] = i), b.insertNode(h).selectNode(h); } else b.applyInlineStyle('a', c); } (UE.commands.unlink = { execCommand: function () { var b, c = this.selection.getRange(); (c.collapsed && !domUtils.findParentByTagName(c.startContainer, 'a', !0)) || ((b = c.createBookmark()), a(c), c.removeInlineStyle('a').moveToBookmark(b).select()); }, queryCommandState: function () { return !this.highlight && this.queryCommandValue('link') ? 0 : -1; }, }), (UE.commands.link = { execCommand: function (a, c) { var d; c._href && (c._href = utils.unhtml(c._href, /[<">]/g)), c.href && (c.href = utils.unhtml(c.href, /[<">]/g)), c.textValue && (c.textValue = utils.unhtml(c.textValue, /[<">]/g)), b((d = this.selection.getRange()), c, this), d.collapse().select(!0); }, queryCommandValue: function () { var a, b = this.selection.getRange(); if (!b.collapsed) { b.shrinkBoundary(); var c = 3 != b.startContainer.nodeType && b.startContainer.childNodes[b.startOffset] ? b.startContainer.childNodes[b.startOffset] : b.startContainer, d = 3 == b.endContainer.nodeType || 0 == b.endOffset ? b.endContainer : b.endContainer.childNodes[b.endOffset - 1], e = b.getCommonAncestor(); if (((a = domUtils.findParentByTagName(e, 'a', !0)), !a && 1 == e.nodeType)) for (var f, g, h, i = e.getElementsByTagName('a'), j = 0; (h = i[j++]); ) if ( ((f = domUtils.getPosition(h, c)), (g = domUtils.getPosition(h, d)), (f & domUtils.POSITION_FOLLOWING || f & domUtils.POSITION_CONTAINS) && (g & domUtils.POSITION_PRECEDING || g & domUtils.POSITION_CONTAINS)) ) { a = h; break; } return a; } if ( ((a = b.startContainer), (a = 1 == a.nodeType ? a : a.parentNode), a && (a = domUtils.findParentByTagName(a, 'a', !0)) && !domUtils.isInNodeEndBoundary(b, a)) ) return a; }, queryCommandState: function () { var a = this.selection.getRange().getClosedNode(), b = a && ('edui-faked-video' == a.className || a.className.indexOf('edui-upload-video') != -1); return b ? -1 : 0; }, }); }), (UE.plugins.insertframe = function () { function a() { b._iframe && delete b._iframe; } var b = this; b.addListener('selectionchange', function () { a(); }); }), (UE.commands.scrawl = { queryCommandState: function () { return browser.ie && browser.version <= 8 ? -1 : 0; }, }), (UE.plugins.removeformat = function () { var a = this; a.setOpt({ removeFormatTags: 'b,big,code,del,dfn,em,font,i,ins,kbd,q,samp,small,span,strike,strong,sub,sup,tt,u,var', removeFormatAttributes: 'class,style,lang,width,height,align,hspace,valign', }), (a.commands.removeformat = { execCommand: function (a, b, c, d, e) { function f(a) { if (3 == a.nodeType || 'span' != a.tagName.toLowerCase()) return 0; if (browser.ie) { var b = a.attributes; if (b.length) { for (var c = 0, d = b.length; c < d; c++) if (b[c].specified) return 0; return 1; } } return !a.attributes.length; } function g(a) { var b = a.createBookmark(); if ((a.collapsed && a.enlarge(!0), !e)) { var d = domUtils.findParentByTagName(a.startContainer, 'a', !0); d && a.setStartBefore(d), (d = domUtils.findParentByTagName(a.endContainer, 'a', !0)), d && a.setEndAfter(d); } for ( h = a.createBookmark(), p = h.start; (i = p.parentNode) && !domUtils.isBlockElm(i); ) domUtils.breakParent(p, i), domUtils.clearEmptySibling(p); if (h.end) { for (p = h.end; (i = p.parentNode) && !domUtils.isBlockElm(i); ) domUtils.breakParent(p, i), domUtils.clearEmptySibling(p); for (var g, l = domUtils.getNextDomNode(h.start, !1, m); l && l != h.end; ) (g = domUtils.getNextDomNode(l, !0, m)), dtd.$empty[l.tagName.toLowerCase()] || domUtils.isBookmarkNode(l) || (j.test(l.tagName) ? c ? (domUtils.removeStyle(l, c), f(l) && 'text-decoration' != c && domUtils.remove(l, !0)) : domUtils.remove(l, !0) : dtd.$tableContent[l.tagName] || dtd.$list[l.tagName] || (domUtils.removeAttributes(l, k), f(l) && domUtils.remove(l, !0))), (l = g); } var n = h.start.parentNode; !domUtils.isBlockElm(n) || dtd.$tableContent[n.tagName] || dtd.$list[n.tagName] || domUtils.removeAttributes(n, k), (n = h.end.parentNode), h.end && domUtils.isBlockElm(n) && !dtd.$tableContent[n.tagName] && !dtd.$list[n.tagName] && domUtils.removeAttributes(n, k), a.moveToBookmark(h).moveToBookmark(b); for ( var o, p = a.startContainer, q = a.collapsed; 1 == p.nodeType && domUtils.isEmptyNode(p) && dtd.$removeEmpty[p.tagName]; ) (o = p.parentNode), a.setStartBefore(p), a.startContainer === a.endContainer && a.endOffset--, domUtils.remove(p), (p = o); if (!q) for ( p = a.endContainer; 1 == p.nodeType && domUtils.isEmptyNode(p) && dtd.$removeEmpty[p.tagName]; ) (o = p.parentNode), a.setEndBefore(p), domUtils.remove(p), (p = o); } var h, i, j = new RegExp( '^(?:' + (b || this.options.removeFormatTags).replace(/,/g, '|') + ')$', 'i', ), k = c ? [] : (d || this.options.removeFormatAttributes).split(','), l = new dom.Range(this.document), m = function (a) { return 1 == a.nodeType; }; (l = this.selection.getRange()), g(l), l.select(); }, }); }), (UE.plugins.blockquote = function () { function a(a) { return domUtils.filterNodeList(a.selection.getStartElementPath(), 'blockquote'); } var b = this; b.commands.blockquote = { execCommand: function (b, c) { var d = this.selection.getRange(), e = a(this), f = dtd.blockquote, g = d.createBookmark(); if (e) { var h = d.startContainer, i = domUtils.isBlockElm(h) ? h : domUtils.findParent(h, function (a) { return domUtils.isBlockElm(a); }), j = d.endContainer, k = domUtils.isBlockElm(j) ? j : domUtils.findParent(j, function (a) { return domUtils.isBlockElm(a); }); (i = domUtils.findParentByTagName(i, 'li', !0) || i), (k = domUtils.findParentByTagName(k, 'li', !0) || k), 'LI' == i.tagName || 'TD' == i.tagName || i === e || domUtils.isBody(i) ? domUtils.remove(e, !0) : domUtils.breakParent(i, e), i !== k && ((e = domUtils.findParentByTagName(k, 'blockquote')), e && ('LI' == k.tagName || 'TD' == k.tagName || domUtils.isBody(k) ? e.parentNode && domUtils.remove(e, !0) : domUtils.breakParent(k, e))); for ( var l, m = domUtils.getElementsByTagName(this.document, 'blockquote'), n = 0; (l = m[n++]); ) l.childNodes.length ? domUtils.getPosition(l, i) & domUtils.POSITION_FOLLOWING && domUtils.getPosition(l, k) & domUtils.POSITION_PRECEDING && domUtils.remove(l, !0) : domUtils.remove(l); } else { for ( var o = d.cloneRange(), p = 1 == o.startContainer.nodeType ? o.startContainer : o.startContainer.parentNode, q = p, r = 1; ; ) { if (domUtils.isBody(p)) { q !== p ? d.collapsed ? (o.selectNode(q), (r = 0)) : o.setStartBefore(q) : o.setStart(p, 0); break; } if (!f[p.tagName]) { d.collapsed ? o.selectNode(q) : o.setStartBefore(q); break; } (q = p), (p = p.parentNode); } if (r) for ( q = p = p = 1 == o.endContainer.nodeType ? o.endContainer : o.endContainer.parentNode; ; ) { if (domUtils.isBody(p)) { q !== p ? o.setEndAfter(q) : o.setEnd(p, p.childNodes.length); break; } if (!f[p.tagName]) { o.setEndAfter(q); break; } (q = p), (p = p.parentNode); } (p = d.document.createElement('blockquote')), domUtils.setAttributes(p, c), p.appendChild(o.extractContents()), o.insertNode(p); for (var s, t = domUtils.getElementsByTagName(p, 'blockquote'), n = 0; (s = t[n++]); ) s.parentNode && domUtils.remove(s, !0); } d.moveToBookmark(g).select(); }, queryCommandState: function () { return a(this) ? 1 : 0; }, }; }), (UE.commands.touppercase = UE.commands.tolowercase = { execCommand: function (a) { var b = this, c = b.selection.getRange(); if (c.collapsed) return c; for ( var d = c.createBookmark(), e = d.end, f = function (a) { return !domUtils.isBr(a) && !domUtils.isWhitespace(a); }, g = domUtils.getNextDomNode(d.start, !1, f); g && domUtils.getPosition(g, e) & domUtils.POSITION_PRECEDING && (3 == g.nodeType && (g.nodeValue = g.nodeValue['touppercase' == a ? 'toUpperCase' : 'toLowerCase']()), (g = domUtils.getNextDomNode(g, !0, f)), g !== e); ); c.moveToBookmark(d).select(); }, }), (UE.commands.indent = { execCommand: function () { var a = this, b = a.queryCommandState('indent') ? '0em' : a.options.indentValue || '2em'; a.execCommand('Paragraph', 'p', { style: 'text-indent:' + b }); }, queryCommandState: function () { var a = domUtils.filterNodeList( this.selection.getStartElementPath(), 'p h1 h2 h3 h4 h5 h6', ); return a && a.style.textIndent && parseInt(a.style.textIndent) ? 1 : 0; }, }), (UE.commands.print = { execCommand: function () { this.window.print(); }, notNeedUndo: 1, }), (UE.commands.preview = { execCommand: function () { var a = window.open('', '_blank', ''), b = a.document; b.open(), b.write( '
" + this.getContent(null, null, !0) + '
', ), b.close(); }, notNeedUndo: 1, }), (UE.plugins.selectall = function () { var a = this; (a.commands.selectall = { execCommand: function () { var a = this, b = a.body, c = a.selection.getRange(); c.selectNodeContents(b), domUtils.isEmptyBlock(b) && (browser.opera && b.firstChild && 1 == b.firstChild.nodeType && c.setStartAtFirst(b.firstChild), c.collapse(!0)), c.select(!0); }, notNeedUndo: 1, }), a.addshortcutkey({ selectAll: 'ctrl+65' }); }), (UE.plugins.paragraph = function () { var a = this, b = domUtils.isBlockElm, c = ['TD', 'LI', 'PRE'], d = function (a, d, e, f) { var g, h = a.createBookmark(), i = function (a) { return 1 == a.nodeType ? 'br' != a.tagName.toLowerCase() && !domUtils.isBookmarkNode(a) : !domUtils.isWhitespace(a); }; a.enlarge(!0); for ( var j, k = a.createBookmark(), l = domUtils.getNextDomNode(k.start, !1, i), m = a.cloneRange(); l && !(domUtils.getPosition(l, k.end) & domUtils.POSITION_FOLLOWING); ) if (3 != l.nodeType && b(l)) l = domUtils.getNextDomNode(l, !0, i); else { for (m.setStartBefore(l); l && l !== k.end && !b(l); ) (j = l), (l = domUtils.getNextDomNode(l, !1, null, function (a) { return !b(a); })); m.setEndAfter(j), (g = a.document.createElement(d)), e && (domUtils.setAttributes(g, e), f && 'customstyle' == f && e.style && (g.style.cssText = e.style)), g.appendChild(m.extractContents()), domUtils.isEmptyNode(g) && domUtils.fillChar(a.document, g), m.insertNode(g); var n = g.parentNode; b(n) && !domUtils.isBody(g.parentNode) && utils.indexOf(c, n.tagName) == -1 && ((f && 'customstyle' == f) || (n.getAttribute('dir') && g.setAttribute('dir', n.getAttribute('dir')), n.style.cssText && (g.style.cssText = n.style.cssText + ';' + g.style.cssText), n.style.textAlign && !g.style.textAlign && (g.style.textAlign = n.style.textAlign), n.style.textIndent && !g.style.textIndent && (g.style.textIndent = n.style.textIndent), n.style.padding && !g.style.padding && (g.style.padding = n.style.padding)), e && /h\d/i.test(n.tagName) && !/h\d/i.test(g.tagName) ? (domUtils.setAttributes(n, e), f && 'customstyle' == f && e.style && (n.style.cssText = e.style), domUtils.remove(g, !0), (g = n)) : domUtils.remove(g.parentNode, !0)), (l = utils.indexOf(c, n.tagName) != -1 ? n : g), (l = domUtils.getNextDomNode(l, !1, i)); } return a.moveToBookmark(k).moveToBookmark(h); }; a.setOpt('paragraph', { p: '', h1: '', h2: '', h3: '', h4: '', h5: '', h6: '' }), (a.commands.paragraph = { execCommand: function (a, b, c, e) { var f = this.selection.getRange(); if (f.collapsed) { var g = this.document.createTextNode('p'); if ((f.insertNode(g), browser.ie)) { var h = g.previousSibling; h && domUtils.isWhitespace(h) && domUtils.remove(h), (h = g.nextSibling), h && domUtils.isWhitespace(h) && domUtils.remove(h); } } if ( ((f = d(f, b, c, e)), g && (f.setStartBefore(g).collapse(!0), (pN = g.parentNode), domUtils.remove(g), domUtils.isBlockElm(pN) && domUtils.isEmptyNode(pN) && domUtils.fillNode(this.document, pN)), browser.gecko && f.collapsed && 1 == f.startContainer.nodeType) ) { var i = f.startContainer.childNodes[f.startOffset]; i && 1 == i.nodeType && i.tagName.toLowerCase() == b && f.setStart(i, 0).collapse(!0); } return f.select(), !0; }, queryCommandValue: function () { var a = domUtils.filterNodeList( this.selection.getStartElementPath(), 'p h1 h2 h3 h4 h5 h6', ); return a ? a.tagName.toLowerCase() : ''; }, }); }), (function () { var a = domUtils.isBlockElm, b = function (a) { return domUtils.filterNodeList(a.selection.getStartElementPath(), function (a) { return a && 1 == a.nodeType && a.getAttribute('dir'); }); }, c = function (c, d, e) { var f, g = function (a) { return 1 == a.nodeType ? !domUtils.isBookmarkNode(a) : !domUtils.isWhitespace(a); }, h = b(d); if (h && c.collapsed) return h.setAttribute('dir', e), c; (f = c.createBookmark()), c.enlarge(!0); for ( var i, j = c.createBookmark(), k = domUtils.getNextDomNode(j.start, !1, g), l = c.cloneRange(); k && !(domUtils.getPosition(k, j.end) & domUtils.POSITION_FOLLOWING); ) if (3 != k.nodeType && a(k)) k = domUtils.getNextDomNode(k, !0, g); else { for (l.setStartBefore(k); k && k !== j.end && !a(k); ) (i = k), (k = domUtils.getNextDomNode(k, !1, null, function (b) { return !a(b); })); l.setEndAfter(i); var m = l.getCommonAncestor(); if (!domUtils.isBody(m) && a(m)) m.setAttribute('dir', e), (k = m); else { var n = c.document.createElement('p'); n.setAttribute('dir', e); var o = l.extractContents(); n.appendChild(o), l.insertNode(n), (k = n); } k = domUtils.getNextDomNode(k, !1, g); } return c.moveToBookmark(j).moveToBookmark(f); }; UE.commands.directionality = { execCommand: function (a, b) { var d = this.selection.getRange(); if (d.collapsed) { var e = this.document.createTextNode('d'); d.insertNode(e); } return ( c(d, this, b), e && (d.setStartBefore(e).collapse(!0), domUtils.remove(e)), d.select(), !0 ); }, queryCommandValue: function () { var a = b(this); return a ? a.getAttribute('dir') : 'ltr'; }, }; })(), (UE.plugins.horizontal = function () { var a = this; (a.commands.horizontal = { execCommand: function (a) { var b = this; if (b.queryCommandState(a) !== -1) { b.execCommand('insertHtml', '
'); var c = b.selection.getRange(), d = c.startContainer; if (1 == d.nodeType && !d.childNodes[c.startOffset]) { var e; (e = d.childNodes[c.startOffset - 1]) && 1 == e.nodeType && 'HR' == e.tagName && ('p' == b.options.enterTag ? ((e = b.document.createElement('p')), c.insertNode(e), c.setStart(e, 0).setCursor()) : ((e = b.document.createElement('br')), c.insertNode(e), c.setStartBefore(e).setCursor())); } return !0; } }, queryCommandState: function () { return domUtils.filterNodeList(this.selection.getStartElementPath(), 'table') ? -1 : 0; }, }), a.addListener('delkeydown', function (a, b) { var c = this.selection.getRange(); if ((c.txtToElmBoundary(!0), domUtils.isStartInblock(c))) { var d = c.startContainer, e = d.previousSibling; if (e && domUtils.isTagNode(e, 'hr')) return domUtils.remove(e), c.select(), domUtils.preventDefault(b), !0; } }); }), (UE.commands.time = UE.commands.date = { execCommand: function (a, b) { function c(a, b) { var c = ('0' + a.getHours()).slice(-2), d = ('0' + a.getMinutes()).slice(-2), e = ('0' + a.getSeconds()).slice(-2); return ( (b = b || 'hh:ii:ss'), b.replace(/hh/gi, c).replace(/ii/gi, d).replace(/ss/gi, e) ); } function d(a, b) { var c = ('000' + a.getFullYear()).slice(-4), d = c.slice(-2), e = ('0' + (a.getMonth() + 1)).slice(-2), f = ('0' + a.getDate()).slice(-2); return ( (b = b || 'yyyy-mm-dd'), b.replace(/yyyy/gi, c).replace(/yy/gi, d).replace(/mm/gi, e).replace(/dd/gi, f) ); } var e = new Date(); this.execCommand('insertHtml', 'time' == a ? c(e, b) : d(e, b)); }, }), (UE.plugins.rowspacing = function () { var a = this; a.setOpt({ rowspacingtop: ['5', '10', '15', '20', '25'], rowspacingbottom: ['5', '10', '15', '20', '25'], }), (a.commands.rowspacing = { execCommand: function (a, b, c) { return ( this.execCommand('paragraph', 'p', { style: 'margin-' + c + ':' + b + 'px' }), !0 ); }, queryCommandValue: function (a, b) { var c, d = domUtils.filterNodeList(this.selection.getStartElementPath(), function (a) { return domUtils.isBlockElm(a); }); return d ? ((c = domUtils.getComputedStyle(d, 'margin-' + b).replace(/[^\d]/g, '')), c ? c : 0) : 0; }, }); }), (UE.plugins.lineheight = function () { var a = this; a.setOpt({ lineheight: ['1', '1.5', '1.75', '2', '3', '4', '5'] }), (a.commands.lineheight = { execCommand: function (a, b) { return ( this.execCommand('paragraph', 'p', { style: 'line-height:' + ('1' == b ? 'normal' : b + 'em'), }), !0 ); }, queryCommandValue: function () { var a = domUtils.filterNodeList(this.selection.getStartElementPath(), function (a) { return domUtils.isBlockElm(a); }); if (a) { var b = domUtils.getComputedStyle(a, 'line-height'); return 'normal' == b ? 1 : b.replace(/[^\d.]*/gi, ''); } }, }); }), (UE.plugins.insertcode = function () { var a = this; a.ready(function () { utils.cssRule( 'pre', 'pre{margin:.5em 0;padding:.4em .6em;border-radius:8px;background:#f8f8f8;}', a.document, ); }), a.setOpt('insertcode', { as3: 'ActionScript3', bash: 'Bash/Shell', cpp: 'C/C++', css: 'Css', cf: 'CodeFunction', 'c#': 'C#', delphi: 'Delphi', diff: 'Diff', erlang: 'Erlang', groovy: 'Groovy', html: 'Html', java: 'Java', jfx: 'JavaFx', js: 'Javascript', pl: 'Perl', php: 'Php', plain: 'Plain Text', ps: 'PowerShell', python: 'Python', ruby: 'Ruby', scala: 'Scala', sql: 'Sql', vb: 'Vb', xml: 'Xml', }), (a.commands.insertcode = { execCommand: function (a, b) { var c = this, d = c.selection.getRange(), e = domUtils.findParentByTagName(d.startContainer, 'pre', !0); if (e) e.className = 'brush:' + b + ';toolbar:false;'; else { var f = ''; if (d.collapsed) f = browser.ie && browser.ie11below ? browser.version <= 8 ? ' ' : '' : '
'; else { var g = d.extractContents(), h = c.document.createElement('div'); h.appendChild(g), utils.each( UE.filterNode( UE.htmlparser(h.innerHTML.replace(/[\r\t]/g, '')), c.options.filterTxtRules, ).children, function (a) { if (browser.ie && browser.ie11below && browser.version > 8) 'element' == a.type ? 'br' == a.tagName ? (f += '\n') : dtd.$empty[a.tagName] || (utils.each(a.children, function (b) { 'element' == b.type ? 'br' == b.tagName ? (f += '\n') : dtd.$empty[a.tagName] || (f += b.innerText()) : (f += b.data); }), /\n$/.test(f) || (f += '\n')) : (f += a.data + '\n'), !a.nextSibling() && /\n$/.test(f) && (f = f.replace(/\n$/, '')); else if (browser.ie && browser.ie11below) 'element' == a.type ? 'br' == a.tagName ? (f += '
') : dtd.$empty[a.tagName] || (utils.each(a.children, function (b) { 'element' == b.type ? 'br' == b.tagName ? (f += '
') : dtd.$empty[a.tagName] || (f += b.innerText()) : (f += b.data); }), /br>$/.test(f) || (f += '
')) : (f += a.data + '
'), !a.nextSibling() && /
$/.test(f) && (f = f.replace(/
$/, '')); else if ( ((f += 'element' == a.type ? dtd.$empty[a.tagName] ? '' : a.innerText() : a.data), !/br\/?\s*>$/.test(f)) ) { if (!a.nextSibling()) return; f += '
'; } }, ); } c.execCommand( 'inserthtml', '
' + f + '
', !0, ), (e = c.document.getElementById('coder')), domUtils.removeAttributes(e, 'id'); var i = e.previousSibling; i && ((3 == i.nodeType && 1 == i.nodeValue.length && browser.ie && 6 == browser.version) || domUtils.isEmptyBlock(i)) && domUtils.remove(i); var d = c.selection.getRange(); domUtils.isEmptyBlock(e) ? d.setStart(e, 0).setCursor(!1, !0) : d.selectNodeContents(e).select(); } }, queryCommandValue: function () { var a = this.selection.getStartElementPath(), b = ''; return ( utils.each(a, function (a) { if ('PRE' == a.nodeName) { var c = a.className.match(/brush:([^;]+)/); return (b = c && c[1] ? c[1] : ''), !1; } }), b ); }, }), a.addInputRule(function (a) { utils.each(a.getNodesByTagName('pre'), function (a) { var b = a.getNodesByTagName('br'); if (b.length) return void ( browser.ie && browser.ie11below && browser.version > 8 && utils.each(b, function (a) { var b = UE.uNode.createText('\n'); a.parentNode.insertBefore(b, a), a.parentNode.removeChild(a); }) ); if (!(browser.ie && browser.ie11below && browser.version > 8)) { var c = a.innerText().split(/\n/); a.innerHTML(''), utils.each(c, function (b) { b.length && a.appendChild(UE.uNode.createText(b)), a.appendChild(UE.uNode.createElement('br')); }); } }); }), a.addOutputRule(function (a) { utils.each(a.getNodesByTagName('pre'), function (a) { var b = ''; utils.each(a.children, function (a) { b += 'text' == a.type ? a.data.replace(/[ ]/g, ' ').replace(/\n$/, '') : 'br' == a.tagName ? '\n' : dtd.$empty[a.tagName] ? a.innerText() : ''; }), a.innerText(b.replace(/( |\n)+$/, '')); }); }), (a.notNeedCodeQuery = { help: 1, undo: 1, redo: 1, source: 1, print: 1, searchreplace: 1, fullscreen: 1, preview: 1, insertparagraph: 1, elementpath: 1, insertcode: 1, inserthtml: 1, selectall: 1, }); a.queryCommandState; (a.queryCommandState = function (a) { var b = this; return !b.notNeedCodeQuery[a.toLowerCase()] && b.selection && b.queryCommandValue('insertcode') ? -1 : UE.Editor.prototype.queryCommandState.apply(this, arguments); }), a.addListener('beforeenterkeydown', function () { var b = a.selection.getRange(), c = domUtils.findParentByTagName(b.startContainer, 'pre', !0); if (c) { if ( (a.fireEvent('saveScene'), b.collapsed || b.deleteContents(), !browser.ie || browser.ie9above) ) { var c, d = a.document.createElement('br'); b.insertNode(d).setStartAfter(d).collapse(!0); var e = d.nextSibling; e || (browser.ie && !(browser.version > 10)) ? b.setStartAfter(d) : b.insertNode(d.cloneNode(!1)), (c = d.previousSibling); for (var f; c; ) if (((f = c), (c = c.previousSibling), !c || 'BR' == c.nodeName)) { c = f; break; } if (c) { for ( var g = ''; c && 'BR' != c.nodeName && new RegExp('^[\\s' + domUtils.fillChar + ']*$').test(c.nodeValue); ) (g += c.nodeValue), (c = c.nextSibling); if ('BR' != c.nodeName) { var h = c.nodeValue.match(new RegExp('^([\\s' + domUtils.fillChar + ']+)')); h && h[1] && (g += h[1]); } g && ((g = a.document.createTextNode(g)), b.insertNode(g).setStartAfter(g)); } b.collapse(!0).select(!0); } else if (browser.version > 8) { var i = a.document.createTextNode('\n'), j = b.startContainer; if (0 == b.startOffset) { var k = j.previousSibling; if (k) { b.insertNode(i); var l = a.document.createTextNode(' '); b.setStartAfter(i).insertNode(l).setStart(l, 0).collapse(!0).select(!0); } } else { b.insertNode(i).setStartAfter(i); var l = a.document.createTextNode(' '); (j = b.startContainer.childNodes[b.startOffset]), j && !/^\n/.test(j.nodeValue) && b.setStartBefore(i), b.insertNode(l).setStart(l, 0).collapse(!0).select(!0); } } else { var d = a.document.createElement('br'); b.insertNode(d), b.insertNode(a.document.createTextNode(domUtils.fillChar)), b.setStartAfter(d), (c = d.previousSibling); for (var f; c; ) if (((f = c), (c = c.previousSibling), !c || 'BR' == c.nodeName)) { c = f; break; } if (c) { for ( var g = ''; c && 'BR' != c.nodeName && new RegExp('^[ ' + domUtils.fillChar + ']*$').test(c.nodeValue); ) (g += c.nodeValue), (c = c.nextSibling); if ('BR' != c.nodeName) { var h = c.nodeValue.match(new RegExp('^([ ' + domUtils.fillChar + ']+)')); h && h[1] && (g += h[1]); } (g = a.document.createTextNode(g)), b.insertNode(g).setStartAfter(g); } b.collapse(!0).select(); } return a.fireEvent('saveScene'), !0; } }), a.addListener('tabkeydown', function (b, c) { var d = a.selection.getRange(), e = domUtils.findParentByTagName(d.startContainer, 'pre', !0); if (e) { if ((a.fireEvent('saveScene'), c.shiftKey)); else if (d.collapsed) { var f = a.document.createTextNode(' '); d.insertNode(f).setStartAfter(f).collapse(!0).select(!0); } else { for (var g = d.createBookmark(), h = g.start.previousSibling; h; ) { if (e.firstChild === h && !domUtils.isBr(h)) { e.insertBefore(a.document.createTextNode(' '), h); break; } if (domUtils.isBr(h)) { e.insertBefore(a.document.createTextNode(' '), h.nextSibling); break; } h = h.previousSibling; } var i = g.end; for ( h = g.start.nextSibling, e.firstChild === g.start && e.insertBefore(a.document.createTextNode(' '), h.nextSibling); h && h !== i; ) { if (domUtils.isBr(h) && h.nextSibling) { if (h.nextSibling === i) break; e.insertBefore(a.document.createTextNode(' '), h.nextSibling); } h = h.nextSibling; } d.moveToBookmark(g).select(); } return a.fireEvent('saveScene'), !0; } }), a.addListener('beforeinserthtml', function (a, b) { var c = this, d = c.selection.getRange(), e = domUtils.findParentByTagName(d.startContainer, 'pre', !0); if (e) { d.collapsed || d.deleteContents(); var f = ''; if (browser.ie && browser.version > 8) { utils.each( UE.filterNode(UE.htmlparser(b), c.options.filterTxtRules).children, function (a) { 'element' == a.type ? 'br' == a.tagName ? (f += '\n') : dtd.$empty[a.tagName] || (utils.each(a.children, function (b) { 'element' == b.type ? 'br' == b.tagName ? (f += '\n') : dtd.$empty[a.tagName] || (f += b.innerText()) : (f += b.data); }), /\n$/.test(f) || (f += '\n')) : (f += a.data + '\n'), !a.nextSibling() && /\n$/.test(f) && (f = f.replace(/\n$/, '')); }, ); var g = c.document.createTextNode(utils.html(f.replace(/ /g, ' '))); d.insertNode(g).selectNode(g).select(); } else { var h = c.document.createDocumentFragment(); utils.each( UE.filterNode(UE.htmlparser(b), c.options.filterTxtRules).children, function (a) { 'element' == a.type ? 'br' == a.tagName ? h.appendChild(c.document.createElement('br')) : dtd.$empty[a.tagName] || (utils.each(a.children, function (b) { 'element' == b.type ? 'br' == b.tagName ? h.appendChild(c.document.createElement('br')) : dtd.$empty[a.tagName] || h.appendChild( c.document.createTextNode( utils.html(b.innerText().replace(/ /g, ' ')), ), ) : h.appendChild( c.document.createTextNode( utils.html(b.data.replace(/ /g, ' ')), ), ); }), 'BR' != h.lastChild.nodeName && h.appendChild(c.document.createElement('br'))) : h.appendChild( c.document.createTextNode(utils.html(a.data.replace(/ /g, ' '))), ), a.nextSibling() || 'BR' != h.lastChild.nodeName || h.removeChild(h.lastChild); }, ), d.insertNode(h).select(); } return !0; } }), a.addListener('keydown', function (a, b) { var c = this, d = b.keyCode || b.which; if (40 == d) { var e, f = c.selection.getRange(), g = f.startContainer; if ( f.collapsed && (e = domUtils.findParentByTagName(f.startContainer, 'pre', !0)) && !e.nextSibling ) { for (var h = e.lastChild; h && 'BR' == h.nodeName; ) h = h.previousSibling; (h === g || (f.startContainer === e && f.startOffset == e.childNodes.length)) && (c.execCommand('insertparagraph'), domUtils.preventDefault(b)); } } }), a.addListener('delkeydown', function (b, c) { var d = this.selection.getRange(); d.txtToElmBoundary(!0); var e = d.startContainer; if (domUtils.isTagNode(e, 'pre') && d.collapsed && domUtils.isStartInblock(d)) { var f = a.document.createElement('p'); return ( domUtils.fillNode(a.document, f), e.parentNode.insertBefore(f, e), domUtils.remove(e), d.setStart(f, 0).setCursor(!1, !0), domUtils.preventDefault(c), !0 ); } }); }), (UE.commands.cleardoc = { execCommand: function (a) { var b = this, c = b.options.enterTag, d = b.selection.getRange(); 'br' == c ? ((b.body.innerHTML = '
'), d.setStart(b.body, 0).setCursor()) : ((b.body.innerHTML = '

' + (ie ? '' : '
') + '

'), d.setStart(b.body.firstChild, 0).setCursor(!1, !0)), setTimeout(function () { b.fireEvent('clearDoc'); }, 0); }, }), UE.plugin.register('anchor', function () { return { bindEvents: { ready: function () { utils.cssRule( 'anchor', ".anchorclass{background: url('" + this.options.themePath + this.options.theme + "/images/anchor.gif') no-repeat scroll left center transparent;cursor: auto;display: inline-block;height: 16px;width: 15px;}", this.document, ); }, }, outputRule: function (a) { utils.each(a.getNodesByTagName('img'), function (a) { var b; (b = a.getAttr('anchorname')) && ((a.tagName = 'a'), a.setAttr({ anchorname: '', name: b, class: '' })); }); }, inputRule: function (a) { utils.each(a.getNodesByTagName('a'), function (a) { var b; (b = a.getAttr('name')) && !a.getAttr('href') && ((a.tagName = 'img'), a.setAttr({ anchorname: a.getAttr('name'), class: 'anchorclass' }), a.setAttr('name')); }); }, commands: { anchor: { execCommand: function (a, b) { var c = this.selection.getRange(), d = c.getClosedNode(); if (d && d.getAttribute('anchorname')) b ? d.setAttribute('anchorname', b) : (c.setStartBefore(d).setCursor(), domUtils.remove(d)); else if (b) { var e = this.document.createElement('img'); c.collapse(!0), domUtils.setAttributes(e, { anchorname: b, class: 'anchorclass' }), c.insertNode(e).setStartAfter(e).setCursor(!1, !0); } }, }, }, }; }), (UE.plugins.wordcount = function () { var a = this; a.setOpt('wordCount', !0), a.addListener('contentchange', function () { a.fireEvent('wordcount'); }); var b; a.addListener('ready', function () { var a = this; domUtils.on(a.body, 'keyup', function (c) { var d = c.keyCode || c.which, e = { 16: 1, 18: 1, 20: 1, 37: 1, 38: 1, 39: 1, 40: 1 }; d in e || (clearTimeout(b), (b = setTimeout(function () { a.fireEvent('wordcount'); }, 200))); }); }); }), (UE.plugins.pagebreak = function () { function a(a) { if (domUtils.isEmptyBlock(a)) { for (var b, d = a.firstChild; d && 1 == d.nodeType && domUtils.isEmptyBlock(d); ) (b = d), (d = d.firstChild); !b && (b = a), domUtils.fillNode(c.document, b); } } function b(a) { return a && 1 == a.nodeType && 'HR' == a.tagName && 'pagebreak' == a.className; } var c = this, d = ['td']; c.setOpt('pageBreakTag', '_ueditor_page_break_tag_'), c.ready(function () { utils.cssRule( 'pagebreak', '.pagebreak{display:block;clear:both !important;cursor:default !important;width: 100% !important;margin:0;}', c.document, ); }), c.addInputRule(function (a) { a.traversal(function (a) { if ('text' == a.type && a.data == c.options.pageBreakTag) { var b = UE.uNode.createElement( '
', ); a.parentNode.insertBefore(b, a), a.parentNode.removeChild(a); } }); }), c.addOutputRule(function (a) { utils.each(a.getNodesByTagName('hr'), function (a) { if ('pagebreak' == a.getAttr('class')) { var b = UE.uNode.createText(c.options.pageBreakTag); a.parentNode.insertBefore(b, a), a.parentNode.removeChild(a); } }); }), (c.commands.pagebreak = { execCommand: function () { var e = c.selection.getRange(), f = c.document.createElement('hr'); domUtils.setAttributes(f, { class: 'pagebreak', noshade: 'noshade', size: '5' }), domUtils.unSelectable(f); var g, h = domUtils.findParentByTagName(e.startContainer, d, !0), i = []; if (h) switch (h.tagName) { case 'TD': if (((g = h.parentNode), g.previousSibling)) g.parentNode.insertBefore(f, g), (i = domUtils.findParents(f)); else { var j = domUtils.findParentByTagName(g, 'table'); j.parentNode.insertBefore(f, j), (i = domUtils.findParents(f, !0)); } (g = i[1]), f !== g && domUtils.breakParent(f, g), c.fireEvent('afteradjusttable', c.document); } else { if (!e.collapsed) { e.deleteContents(); for ( var k = e.startContainer; !domUtils.isBody(k) && domUtils.isBlockElm(k) && domUtils.isEmptyNode(k); ) e.setStartBefore(k).collapse(!0), domUtils.remove(k), (k = e.startContainer); } e.insertNode(f); for (var l, g = f.parentNode; !domUtils.isBody(g); ) domUtils.breakParent(f, g), (l = f.nextSibling), l && domUtils.isEmptyBlock(l) && domUtils.remove(l), (g = f.parentNode); l = f.nextSibling; var m = f.previousSibling; if ((b(m) ? domUtils.remove(m) : m && a(m), l)) b(l) ? domUtils.remove(l) : a(l), e.setEndAfter(f).collapse(!1); else { var n = c.document.createElement('p'); f.parentNode.appendChild(n), domUtils.fillNode(c.document, n), e.setStart(n, 0).collapse(!0); } e.select(!0); } }, }); }), UE.plugin.register('wordimage', function () { var a = this, b = []; return { commands: { wordimage: { execCommand: function () { for ( var b, c = domUtils.getElementsByTagName(a.body, 'img'), d = [], e = 0; (b = c[e++]); ) { var f = b.getAttribute('word_img'); f && d.push(f); } return d; }, queryCommandState: function () { b = domUtils.getElementsByTagName(a.body, 'img'); for (var c, d = 0; (c = b[d++]); ) if (c.getAttribute('word_img')) return 1; return -1; }, notNeedUndo: !0, }, }, inputRule: function (b) { utils.each(b.getNodesByTagName('img'), function (b) { var c = b.attrs, d = parseInt(c.width) < 128 || parseInt(c.height) < 43, e = a.options, f = e.UEDITOR_HOME_URL + 'themes/default/images/spacer.gif'; c.src && /^(?:(file:\/+))/.test(c.src) && b.setAttr({ width: c.width, height: c.height, alt: c.alt, word_img: c.src, src: f, style: 'background:url(' + (d ? e.themePath + e.theme + '/images/word.gif' : e.langPath + e.lang + '/images/localimage.png') + ') no-repeat center center;border:1px solid #ddd', }); }); }, }; }), (UE.plugins.dragdrop = function () { var a = this; a.ready(function () { domUtils.on(this.body, 'dragend', function () { var b = a.selection.getRange(), c = b.getClosedNode() || a.selection.getStart(); if (c && 'IMG' == c.tagName) { for ( var d, e = c.previousSibling; (d = c.nextSibling) && 1 == d.nodeType && 'SPAN' == d.tagName && !d.firstChild; ) domUtils.remove(d); ((!e || 1 != e.nodeType || domUtils.isEmptyBlock(e)) && e) || (d && (!d || domUtils.isEmptyBlock(d))) || (e && 'P' == e.tagName && !domUtils.isEmptyBlock(e) ? (e.appendChild(c), domUtils.moveChild(d, e), domUtils.remove(d)) : d && 'P' == d.tagName && !domUtils.isEmptyBlock(d) && d.insertBefore(c, d.firstChild), e && 'P' == e.tagName && domUtils.isEmptyBlock(e) && domUtils.remove(e), d && 'P' == d.tagName && domUtils.isEmptyBlock(d) && domUtils.remove(d), b.selectNode(c).select(), a.fireEvent('saveScene')); } }); }), a.addListener('keyup', function (b, c) { var d = c.keyCode || c.which; if (13 == d) { var e, f = a.selection.getRange(); (e = domUtils.findParentByTagName(f.startContainer, 'p', !0)) && 'center' == domUtils.getComputedStyle(e, 'text-align') && domUtils.removeStyle(e, 'text-align'); } }); }), (UE.plugins.undo = function () { function a(a, b) { if (a.length != b.length) return 0; for (var c = 0, d = a.length; c < d; c++) if (a[c] != b[c]) return 0; return 1; } function b(b, c) { return b.collapsed != c.collapsed ? 0 : a(b.startAddress, c.startAddress) && a(b.endAddress, c.endAddress) ? 1 : 0; } function c() { (this.list = []), (this.index = 0), (this.hasUndo = !1), (this.hasRedo = !1), (this.undo = function () { if (this.hasUndo) { if (!this.list[this.index - 1] && 1 == this.list.length) return void this.reset(); for (; this.list[this.index].content == this.list[this.index - 1].content; ) if ((this.index--, 0 == this.index)) return this.restore(0); this.restore(--this.index); } }), (this.redo = function () { if (this.hasRedo) { for (; this.list[this.index].content == this.list[this.index + 1].content; ) if ((this.index++, this.index == this.list.length - 1)) return this.restore(this.index); this.restore(++this.index); } }), (this.restore = function () { var a = this.editor, b = this.list[this.index], c = UE.htmlparser(b.content.replace(h, '')); (a.options.autoClearEmptyNode = !1), a.filterInputRule(c), (a.options.autoClearEmptyNode = j), (a.document.body.innerHTML = c.toHtml()), a.fireEvent('afterscencerestore'), browser.ie && utils.each( domUtils.getElementsByTagName(a.document, 'td th caption p'), function (b) { domUtils.isEmptyNode(b) && domUtils.fillNode(a.document, b); }, ); try { var d = new dom.Range(a.document).moveToAddress(b.address); d.select(i[d.startContainer.nodeName.toLowerCase()]); } catch (e) {} this.update(), this.clearKey(), a.fireEvent('reset', !0); }), (this.getScene = function () { var a = this.editor, b = a.selection.getRange(), c = b.createAddress(!1, !0); a.fireEvent('beforegetscene'); var d = UE.htmlparser(a.body.innerHTML); (a.options.autoClearEmptyNode = !1), a.filterOutputRule(d), (a.options.autoClearEmptyNode = j); var e = d.toHtml(); return a.fireEvent('aftergetscene'), { address: c, content: e }; }), (this.save = function (a, c) { clearTimeout(d); var g = this.getScene(c), h = this.list[this.index]; h && h.content != g.content && e.trigger('contentchange'), (h && h.content == g.content && (a ? 1 : b(h.address, g.address))) || ((this.list = this.list.slice(0, this.index + 1)), this.list.push(g), this.list.length > f && this.list.shift(), (this.index = this.list.length - 1), this.clearKey(), this.update()); }), (this.update = function () { (this.hasRedo = !!this.list[this.index + 1]), (this.hasUndo = !!this.list[this.index - 1]); }), (this.reset = function () { (this.list = []), (this.index = 0), (this.hasUndo = !1), (this.hasRedo = !1), this.clearKey(); }), (this.clearKey = function () { (m = 0), (k = null); }); } var d, e = this, f = e.options.maxUndoCount || 20, g = e.options.maxInputCount || 20, h = new RegExp(domUtils.fillChar + '|', 'gi'), i = { ol: 1, ul: 1, table: 1, tbody: 1, tr: 1, body: 1 }, j = e.options.autoClearEmptyNode; (e.undoManger = new c()), (e.undoManger.editor = e), e.addListener('saveScene', function () { var a = Array.prototype.splice.call(arguments, 1); this.undoManger.save.apply(this.undoManger, a); }), e.addListener('reset', function (a, b) { b || this.undoManger.reset(); }), (e.commands.redo = e.commands.undo = { execCommand: function (a) { this.undoManger[a](); }, queryCommandState: function (a) { return this.undoManger['has' + ('undo' == a.toLowerCase() ? 'Undo' : 'Redo')] ? 0 : -1; }, notNeedUndo: 1, }); var k, l = { 16: 1, 17: 1, 18: 1, 37: 1, 38: 1, 39: 1, 40: 1 }, m = 0, n = !1; e.addListener('ready', function () { domUtils.on(this.body, 'compositionstart', function () { n = !0; }), domUtils.on(this.body, 'compositionend', function () { n = !1; }); }), e.addshortcutkey({ Undo: 'ctrl+90', Redo: 'ctrl+89' }); var o = !0; e.addListener('keydown', function (a, b) { function c(a) { a.undoManger.save(!1, !0), a.fireEvent('selectionchange'); } var e = this, f = b.keyCode || b.which; if (!(l[f] || b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)) { if (n) return; if (!e.selection.getRange().collapsed) return e.undoManger.save(!1, !0), void (o = !1); 0 == e.undoManger.list.length && e.undoManger.save(!0), clearTimeout(d), (d = setTimeout(function () { if (n) var a = setInterval(function () { n || (c(e), clearInterval(a)); }, 300); else c(e); }, 200)), (k = f), m++, m >= g && c(e); } }), e.addListener('keyup', function (a, b) { var c = b.keyCode || b.which; if (!(l[c] || b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)) { if (n) return; o || (this.undoManger.save(!1, !0), (o = !0)); } }), (e.stopCmdUndo = function () { e.__hasEnterExecCommand = !0; }), (e.startCmdUndo = function () { e.__hasEnterExecCommand = !1; }); }), UE.plugin.register('copy', function () { function a() { ZeroClipboard.config({ debug: !1, swfPath: b.options.UEDITOR_HOME_URL + 'third-party/zeroclipboard/ZeroClipboard.swf', }); var a = (b.zeroclipboard = new ZeroClipboard()); a.on('copy', function (a) { var c = a.client, d = b.selection.getRange(), e = document.createElement('div'); e.appendChild(d.cloneContents()), c.setText(e.innerText || e.textContent), c.setHtml(e.innerHTML), d.select(); }), a.on('mouseover mouseout', function (a) { var b = a.target; 'mouseover' == a.type ? domUtils.addClass(b, 'edui-state-hover') : 'mouseout' == a.type && domUtils.removeClasses(b, 'edui-state-hover'); }), a.on('wrongflash noflash', function () { ZeroClipboard.destroy(); }); } var b = this; return { bindEvents: { ready: function () { browser.ie || (window.ZeroClipboard ? a() : utils.loadFile( document, { src: b.options.UEDITOR_HOME_URL + 'third-party/zeroclipboard/ZeroClipboard.js', tag: 'script', type: 'text/javascript', defer: 'defer', }, function () { a(); }, )); }, }, commands: { copy: { execCommand: function (a) { b.document.execCommand('copy') || alert(b.getLang('copymsg')); }, }, }, }; }), (UE.plugins.paste = function () { function a(a) { var b = this.document; if (!b.getElementById('baidu_pastebin')) { var c = this.selection.getRange(), d = c.createBookmark(), e = b.createElement('div'); (e.id = 'baidu_pastebin'), browser.webkit && e.appendChild(b.createTextNode(domUtils.fillChar + domUtils.fillChar)), b.body.appendChild(e), (d.start.style.display = ''), (e.style.cssText = 'position:absolute;width:1px;height:1px;overflow:hidden;left:-1000px;white-space:nowrap;top:' + domUtils.getXY(d.start).y + 'px'), c.selectNodeContents(e).select(!0), setTimeout(function () { if (browser.webkit) for (var f, g = 0, h = b.querySelectorAll('#baidu_pastebin'); (f = h[g++]); ) { if (!domUtils.isEmptyNode(f)) { e = f; break; } domUtils.remove(f); } try { e.parentNode.removeChild(e); } catch (i) {} c.moveToBookmark(d).select(!0), a(e); }, 0); } } function b(a) { return a.replace(/<(\/?)([\w\-]+)([^>]*)>/gi, function (a, b, c, d) { return ( (c = c.toLowerCase()), { img: 1 }[c] ? a : ((d = d.replace( /([\w\-]*?)\s*=\s*(("([^"]*)")|('([^']*)')|([^\s>]+))/gi, function (a, b, c) { return { src: 1, href: 1, name: 1 }[b.toLowerCase()] ? b + '=' + c + ' ' : ''; }, )), { span: 1, div: 1 }[c] ? '' : '<' + b + c + ' ' + utils.trim(d) + '>') ); }); } function c(a) { var c; if (a.firstChild) { for (var h, i = domUtils.getElementsByTagName(a, 'span'), j = 0; (h = i[j++]); ) ('_baidu_cut_start' != h.id && '_baidu_cut_end' != h.id) || domUtils.remove(h); if (browser.webkit) { for (var k, l = a.querySelectorAll('div br'), j = 0; (k = l[j++]); ) { var m = k.parentNode; 'DIV' == m.tagName && 1 == m.childNodes.length && ((m.innerHTML = '


'), domUtils.remove(m)); } for (var n, o = a.querySelectorAll('#baidu_pastebin'), j = 0; (n = o[j++]); ) { var p = d.document.createElement('p'); for (n.parentNode.insertBefore(p, n); n.firstChild; ) p.appendChild(n.firstChild); domUtils.remove(n); } for (var q, r = a.querySelectorAll('meta'), j = 0; (q = r[j++]); ) domUtils.remove(q); var l = a.querySelectorAll('br'); for (j = 0; (q = l[j++]); ) /^apple-/i.test(q.className) && domUtils.remove(q); } if (browser.gecko) { var s = a.querySelectorAll('[_moz_dirty]'); for (j = 0; (q = s[j++]); ) q.removeAttribute('_moz_dirty'); } if (!browser.ie) for (var q, t = a.querySelectorAll('span.Apple-style-span'), j = 0; (q = t[j++]); ) domUtils.remove(q, !0); (c = a.innerHTML), (c = UE.filterWord(c)); var u = UE.htmlparser(c); if ( (d.options.filterRules && UE.filterNode(u, d.options.filterRules), d.filterInputRule(u), browser.webkit) ) { var v = u.lastChild(); v && 'element' == v.type && 'br' == v.tagName && u.removeChild(v), utils.each(d.body.querySelectorAll('div'), function (a) { domUtils.isEmptyBlock(a) && domUtils.remove(a, !0); }); } if (((c = { html: u.toHtml() }), d.fireEvent('beforepaste', c, u), !c.html)) return; (u = UE.htmlparser(c.html, !0)), 1 === d.queryCommandState('pasteplain') ? d.execCommand('insertHtml', UE.filterNode(u, d.options.filterTxtRules).toHtml(), !0) : (UE.filterNode(u, d.options.filterTxtRules), (e = u.toHtml()), (f = c.html), (g = d.selection.getRange().createAddress(!0)), d.execCommand( 'insertHtml', d.getOpt('retainOnlyLabelPasted') === !0 ? b(f) : f, !0, )), d.fireEvent('afterpaste', c); } } var d = this; d.setOpt({ retainOnlyLabelPasted: !1 }); var e, f, g; d.addListener('pasteTransfer', function (a, c) { if (g && e && f && e != f) { var h = d.selection.getRange(); if ((h.moveToAddress(g, !0), !h.collapsed)) { for (; !domUtils.isBody(h.startContainer); ) { var i = h.startContainer; if (1 == i.nodeType) { if (((i = i.childNodes[h.startOffset]), !i)) { h.setStartBefore(h.startContainer); continue; } var j = i.previousSibling; j && 3 == j.nodeType && new RegExp('^[\n\r\t ' + domUtils.fillChar + ']*$').test(j.nodeValue) && h.setStartBefore(j); } if (0 != h.startOffset) break; h.setStartBefore(h.startContainer); } for (; !domUtils.isBody(h.endContainer); ) { var k = h.endContainer; if (1 == k.nodeType) { if (((k = k.childNodes[h.endOffset]), !k)) { h.setEndAfter(h.endContainer); continue; } var l = k.nextSibling; l && 3 == l.nodeType && new RegExp('^[\n\r\t' + domUtils.fillChar + ']*$').test(l.nodeValue) && h.setEndAfter(l); } if ( h.endOffset != h.endContainer[3 == h.endContainer.nodeType ? 'nodeValue' : 'childNodes'].length ) break; h.setEndAfter(h.endContainer); } } h.deleteContents(), h.select(!0), (d.__hasEnterExecCommand = !0); var m = f; 2 === c ? (m = b(m)) : c && (m = e), d.execCommand('inserthtml', m, !0), (d.__hasEnterExecCommand = !1); for ( var n = d.selection.getRange(); !domUtils.isBody(n.startContainer) && !n.startOffset && n.startContainer[3 == n.startContainer.nodeType ? 'nodeValue' : 'childNodes'].length; ) n.setStartBefore(n.startContainer); var o = n.createAddress(!0); g.endAddress = o.startAddress; } }), d.addListener('ready', function () { domUtils.on(d.body, 'cut', function () { var a = d.selection.getRange(); !a.collapsed && d.undoManger && d.undoManger.save(); }), domUtils.on(d.body, browser.ie || browser.opera ? 'keydown' : 'paste', function (b) { ((!browser.ie && !browser.opera) || ((b.ctrlKey || b.metaKey) && '86' == b.keyCode)) && a.call(d, function (a) { c(a); }); }); }), (d.commands.paste = { execCommand: function (b) { browser.ie ? (a.call(d, function (a) { c(a); }), d.document.execCommand('paste')) : alert(d.getLang('pastemsg')); }, }); }), (UE.plugins.pasteplain = function () { var a = this; a.setOpt({ pasteplain: !1, filterTxtRules: (function () { function a(a) { (a.tagName = 'p'), a.setStyle(); } function b(a) { a.parentNode.removeChild(a, !0); } return { '-': 'script style object iframe embed input select', p: { $: {} }, br: { $: {} }, div: function (a) { for (var b, c = UE.uNode.createElement('p'); (b = a.firstChild()); ) 'text' != b.type && UE.dom.dtd.$block[b.tagName] ? c.firstChild() ? (a.parentNode.insertBefore(c, a), (c = UE.uNode.createElement('p'))) : a.parentNode.insertBefore(b, a) : c.appendChild(b); c.firstChild() && a.parentNode.insertBefore(c, a), a.parentNode.removeChild(a); }, ol: b, ul: b, dl: b, dt: b, dd: b, li: b, caption: a, th: a, tr: a, h1: a, h2: a, h3: a, h4: a, h5: a, h6: a, td: function (a) { var b = !!a.innerText(); b && a.parentNode.insertAfter(UE.uNode.createText('    '), a), a.parentNode.removeChild(a, a.innerText()); }, }; })(), }); var b = a.options.pasteplain; a.commands.pasteplain = { queryCommandState: function () { return b ? 1 : 0; }, execCommand: function () { b = 0 | !b; }, notNeedUndo: 1, }; }), (UE.plugins.list = function () { function a(a) { var b = []; for (var c in a) b.push(c); return b; } function b(a) { var b = a.className; return domUtils.hasClass(a, /custom_/) ? b.match(/custom_(\w+)/)[1] : domUtils.getStyle(a, 'list-style-type'); } function c(a, c) { utils.each(domUtils.getElementsByTagName(a, 'ol ul'), function (f) { if (domUtils.inDoc(f, a)) { var g = f.parentNode; if (g.tagName == f.tagName) { var h = b(f) || ('OL' == f.tagName ? 'decimal' : 'disc'), i = b(g) || ('OL' == g.tagName ? 'decimal' : 'disc'); if (h == i) { var l = utils.indexOf(k[f.tagName], h); (l = l + 1 == k[f.tagName].length ? 0 : l + 1), e(f, k[f.tagName][l]); } } var m = 0, n = 2; domUtils.hasClass(f, /custom_/) ? (/[ou]l/i.test(g.tagName) && domUtils.hasClass(g, /custom_/)) || (n = 1) : /[ou]l/i.test(g.tagName) && domUtils.hasClass(g, /custom_/) && (n = 3); var o = domUtils.getStyle(f, 'list-style-type'); o && (f.style.cssText = 'list-style-type:' + o), (f.className = utils.trim(f.className.replace(/list-paddingleft-\w+/, '')) + ' list-paddingleft-' + n), utils.each(domUtils.getElementsByTagName(f, 'li'), function (a) { if ((a.style.cssText && (a.style.cssText = ''), !a.firstChild)) return void domUtils.remove(a); if (a.parentNode === f) { if ((m++, domUtils.hasClass(f, /custom_/))) { var c = 1, d = b(f); if ('OL' == f.tagName) { if (d) switch (d) { case 'cn': case 'cn1': case 'cn2': m > 10 && (m % 10 == 0 || (m > 10 && m < 20)) ? (c = 2) : m > 20 && (c = 3); break; case 'num2': m > 9 && (c = 2); } a.className = 'list-' + j[d] + m + ' list-' + d + '-paddingleft-' + c; } else a.className = 'list-' + j[d] + ' list-' + d + '-paddingleft'; } else a.className = a.className.replace(/list-[\w\-]+/gi, ''); var e = a.getAttribute('class'); null === e || e.replace(/\s/g, '') || domUtils.removeAttributes(a, 'class'); } }), !c && d(f, f.tagName.toLowerCase(), b(f) || domUtils.getStyle(f, 'list-style-type'), !0); } }); } function d(a, d, e, f) { var g = a.nextSibling; g && 1 == g.nodeType && g.tagName.toLowerCase() == d && (b(g) || domUtils.getStyle(g, 'list-style-type') || ('ol' == d ? 'decimal' : 'disc')) == e && (domUtils.moveChild(g, a), 0 == g.childNodes.length && domUtils.remove(g)), g && domUtils.isFillChar(g) && domUtils.remove(g); var h = a.previousSibling; h && 1 == h.nodeType && h.tagName.toLowerCase() == d && (b(h) || domUtils.getStyle(h, 'list-style-type') || ('ol' == d ? 'decimal' : 'disc')) == e && domUtils.moveChild(a, h), h && domUtils.isFillChar(h) && domUtils.remove(h), !f && domUtils.isEmptyBlock(a) && domUtils.remove(a), b(a) && c(a.ownerDocument, !0); } function e(a, b) { j[b] && (a.className = 'custom_' + b); try { domUtils.setStyle(a, 'list-style-type', b); } catch (c) {} } function f(a) { var b = a.previousSibling; b && domUtils.isEmptyBlock(b) && domUtils.remove(b), (b = a.nextSibling), b && domUtils.isEmptyBlock(b) && domUtils.remove(b); } function g(a) { for (; a && !domUtils.isBody(a); ) { if ('TABLE' == a.nodeName) return null; if ('LI' == a.nodeName) return a; a = a.parentNode; } } var h = this, i = { TD: 1, PRE: 1, BLOCKQUOTE: 1 }, j = { cn: 'cn-1-', cn1: 'cn-2-', cn2: 'cn-3-', num: 'num-1-', num1: 'num-2-', num2: 'num-3-', dash: 'dash', dot: 'dot', }; h.setOpt({ autoTransWordToList: !1, insertorderedlist: { num: '', num1: '', num2: '', cn: '', cn1: '', cn2: '', decimal: '', 'lower-alpha': '', 'lower-roman': '', 'upper-alpha': '', 'upper-roman': '', }, insertunorderedlist: { circle: '', disc: '', square: '', dash: '', dot: '' }, listDefaultPaddingLeft: '30', listiconpath: 'http://bs.baidu.com/listicon/', maxListLevel: -1, disablePInList: !1, }); var k = { OL: a(h.options.insertorderedlist), UL: a(h.options.insertunorderedlist) }, l = h.options.listiconpath; for (var m in j) h.options.insertorderedlist.hasOwnProperty(m) || h.options.insertunorderedlist.hasOwnProperty(m) || delete j[m]; h.ready(function () { var a = []; for (var b in j) { if ('dash' == b || 'dot' == b) a.push('li.list-' + j[b] + '{background-image:url(' + l + j[b] + '.gif)}'), a.push( 'ul.custom_' + b + '{list-style:none;}ul.custom_' + b + ' li{background-position:0 3px;background-repeat:no-repeat}', ); else { for (var c = 0; c < 99; c++) a.push( 'li.list-' + j[b] + c + '{background-image:url(' + l + 'list-' + j[b] + c + '.gif)}', ); a.push( 'ol.custom_' + b + '{list-style:none;}ol.custom_' + b + ' li{background-position:0 3px;background-repeat:no-repeat}', ); } switch (b) { case 'cn': a.push('li.list-' + b + '-paddingleft-1{padding-left:25px}'), a.push('li.list-' + b + '-paddingleft-2{padding-left:40px}'), a.push('li.list-' + b + '-paddingleft-3{padding-left:55px}'); break; case 'cn1': a.push('li.list-' + b + '-paddingleft-1{padding-left:30px}'), a.push('li.list-' + b + '-paddingleft-2{padding-left:40px}'), a.push('li.list-' + b + '-paddingleft-3{padding-left:55px}'); break; case 'cn2': a.push('li.list-' + b + '-paddingleft-1{padding-left:40px}'), a.push('li.list-' + b + '-paddingleft-2{padding-left:55px}'), a.push('li.list-' + b + '-paddingleft-3{padding-left:68px}'); break; case 'num': case 'num1': a.push('li.list-' + b + '-paddingleft-1{padding-left:25px}'); break; case 'num2': a.push('li.list-' + b + '-paddingleft-1{padding-left:35px}'), a.push('li.list-' + b + '-paddingleft-2{padding-left:40px}'); break; case 'dash': a.push('li.list-' + b + '-paddingleft{padding-left:35px}'); break; case 'dot': a.push('li.list-' + b + '-paddingleft{padding-left:20px}'); } } a.push('.list-paddingleft-1{padding-left:0}'), a.push('.list-paddingleft-2{padding-left:' + h.options.listDefaultPaddingLeft + 'px}'), a.push( '.list-paddingleft-3{padding-left:' + 2 * h.options.listDefaultPaddingLeft + 'px}', ), utils.cssRule( 'list', 'ol,ul{margin:0;pading:0;' + (browser.ie ? '' : 'width:95%') + '}li{clear:both;}' + a.join('\n'), h.document, ); }), h.ready(function () { domUtils.on(h.body, 'cut', function () { setTimeout(function () { var a, b = h.selection.getRange(); if ( !b.collapsed && (a = domUtils.findParentByTagName(b.startContainer, 'li', !0)) && !a.nextSibling && domUtils.isEmptyBlock(a) ) { var c, d = a.parentNode; if ((c = d.previousSibling)) domUtils.remove(d), b.setStartAtLast(c).collapse(!0), b.select(!0); else if ((c = d.nextSibling)) domUtils.remove(d), b.setStartAtFirst(c).collapse(!0), b.select(!0); else { var e = h.document.createElement('p'); domUtils.fillNode(h.document, e), d.parentNode.insertBefore(e, d), domUtils.remove(d), b.setStart(e, 0).collapse(!0), b.select(!0); } } }); }); }), h.addListener('beforepaste', function (a, c) { var d, e = this, f = e.selection.getRange(), g = UE.htmlparser(c.html, !0); if ((d = domUtils.findParentByTagName(f.startContainer, 'li', !0))) { var h = d.parentNode, i = 'OL' == h.tagName ? 'ul' : 'ol'; utils.each(g.getNodesByTagName(i), function (c) { if (((c.tagName = h.tagName), c.setAttr(), c.parentNode === g)) a = b(h) || ('OL' == h.tagName ? 'decimal' : 'disc'); else { var d = c.parentNode.getAttr('class'); (a = d && /custom_/.test(d) ? d.match(/custom_(\w+)/)[1] : c.parentNode.getStyle('list-style-type')), a || (a = 'OL' == h.tagName ? 'decimal' : 'disc'); } var e = utils.indexOf(k[h.tagName], a); c.parentNode !== g && (e = e + 1 == k[h.tagName].length ? 0 : e + 1); var f = k[h.tagName][e]; j[f] ? c.setAttr('class', 'custom_' + f) : c.setStyle('list-style-type', f); }); } c.html = g.toHtml(); }), h.getOpt('disablePInList') === !0 && h.addOutputRule(function (a) { utils.each(a.getNodesByTagName('li'), function (a) { var b = [], c = 0; utils.each(a.children, function (d) { if ('p' == d.tagName) { for (var e; (e = d.children.pop()); ) b.splice(c, 0, e), (e.parentNode = a), (lastNode = e); if (((e = b[b.length - 1]), !e || 'element' != e.type || 'br' != e.tagName)) { var f = UE.uNode.createElement('br'); (f.parentNode = a), b.push(f); } c = b.length; } }), b.length && (a.children = b); }); }), h.addInputRule(function (a) { function b(a, b) { var e = b.firstChild(); if ( e && 'element' == e.type && 'span' == e.tagName && /Wingdings|Symbol/.test(e.getStyle('font-family')) ) { for (var f in d) if (d[f] == e.data) return f; return 'disc'; } for (var f in c) if (c[f].test(a)) return f; } if ( (utils.each(a.getNodesByTagName('li'), function (a) { for (var b, c = UE.uNode.createElement('p'), d = 0; (b = a.children[d]); ) 'text' == b.type || dtd.p[b.tagName] ? c.appendChild(b) : c.firstChild() ? (a.insertBefore(c, b), (c = UE.uNode.createElement('p')), (d += 2)) : d++; ((c.firstChild() && !c.parentNode) || !a.firstChild()) && a.appendChild(c), c.firstChild() || c.innerHTML(browser.ie ? ' ' : '
'); var e = a.firstChild(), f = e.lastChild(); f && 'text' == f.type && /^\s*$/.test(f.data) && e.removeChild(f); }), h.options.autoTransWordToList) ) { var c = { num1: /^\d+\)/, decimal: /^\d+\./, 'lower-alpha': /^[a-z]+\)/, 'upper-alpha': /^[A-Z]+\./, cn: /^[\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+[\u3001]/, cn2: /^\([\u4E00\u4E8C\u4E09\u56DB\u516d\u4e94\u4e03\u516b\u4e5d]+\)/, }, d = { square: 'n' }; utils.each(a.getNodesByTagName('p'), function (a) { function d(a, b, d) { if ('ol' == a.tagName) if (browser.ie) { var e = b.firstChild(); 'element' == e.type && 'span' == e.tagName && c[d].test(e.innerText()) && b.removeChild(e); } else b.innerHTML(b.innerHTML().replace(c[d], '')); else b.removeChild(b.firstChild()); var f = UE.uNode.createElement('li'); f.appendChild(b), a.appendChild(f); } if ('MsoListParagraph' == a.getAttr('class')) { a.setStyle('margin', ''), a.setStyle('margin-left', ''), a.setAttr('class', ''); var e, f = a, g = a; if ('li' != a.parentNode.tagName && (e = b(a.innerText(), a))) { var i = UE.uNode.createElement( h.options.insertorderedlist.hasOwnProperty(e) ? 'ol' : 'ul', ); for ( j[e] ? i.setAttr('class', 'custom_' + e) : i.setStyle('list-style-type', e); a && 'li' != a.parentNode.tagName && b(a.innerText(), a); ) (f = a.nextSibling()), f || a.parentNode.insertBefore(i, a), d(i, a, e), (a = f); !i.parentNode && a && a.parentNode && a.parentNode.insertBefore(i, a); } var k = g.firstChild(); k && 'element' == k.type && 'span' == k.tagName && /^\s*( )+\s*$/.test(k.innerText()) && k.parentNode.removeChild(k); } }); } }), h.addListener('contentchange', function () { c(h.document); }), h.addListener('keydown', function (a, b) { function c() { b.preventDefault ? b.preventDefault() : (b.returnValue = !1), h.fireEvent('contentchange'), h.undoManger && h.undoManger.save(); } function d(a, b) { for (; a && !domUtils.isBody(a); ) { if (b(a)) return null; if (1 == a.nodeType && /[ou]l/i.test(a.tagName)) return a; a = a.parentNode; } return null; } var e = b.keyCode || b.which; if (13 == e && !b.shiftKey) { var g = h.selection.getRange(), i = domUtils.findParent( g.startContainer, function (a) { return domUtils.isBlockElm(a); }, !0, ), j = domUtils.findParentByTagName(g.startContainer, 'li', !0); if (i && 'PRE' != i.tagName && !j) { var k = i.innerHTML.replace(new RegExp(domUtils.fillChar, 'g'), ''); /^\s*1\s*\.[^\d]/.test(k) && ((i.innerHTML = k.replace(/^\s*1\s*\./, '')), g.setStartAtLast(i).collapse(!0).select(), (h.__hasEnterExecCommand = !0), h.execCommand('insertorderedlist'), (h.__hasEnterExecCommand = !1)); } var l = h.selection.getRange(), m = d(l.startContainer, function (a) { return 'TABLE' == a.tagName; }), n = l.collapsed ? m : d(l.endContainer, function (a) { return 'TABLE' == a.tagName; }); if (m && n && m === n) { if (!l.collapsed) { if ( ((m = domUtils.findParentByTagName(l.startContainer, 'li', !0)), (n = domUtils.findParentByTagName(l.endContainer, 'li', !0)), !m || !n || m !== n) ) { var o = l.cloneRange(), p = o.collapse(!1).createBookmark(); l.deleteContents(), o.moveToBookmark(p); var j = domUtils.findParentByTagName(o.startContainer, 'li', !0); return f(j), o.select(), void c(); } if ( (l.deleteContents(), (j = domUtils.findParentByTagName(l.startContainer, 'li', !0)), j && domUtils.isEmptyBlock(j)) ) return ( (v = j.previousSibling), (next = j.nextSibling), (s = h.document.createElement('p')), domUtils.fillNode(h.document, s), (q = j.parentNode), v && next ? (l.setStart(next, 0).collapse(!0).select(!0), domUtils.remove(j)) : ((v || next) && v ? j.parentNode.parentNode.insertBefore(s, q.nextSibling) : q.parentNode.insertBefore(s, q), domUtils.remove(j), q.firstChild || domUtils.remove(q), l.setStart(s, 0).setCursor()), void c() ); } if ((j = domUtils.findParentByTagName(l.startContainer, 'li', !0))) { if (domUtils.isEmptyBlock(j)) { p = l.createBookmark(); var q = j.parentNode; if ( (j !== q.lastChild ? (domUtils.breakParent(j, q), f(j)) : (q.parentNode.insertBefore(j, q.nextSibling), domUtils.isEmptyNode(q) && domUtils.remove(q)), !dtd.$list[j.parentNode.tagName]) ) if (domUtils.isBlockElm(j.firstChild)) domUtils.remove(j, !0); else { for ( s = h.document.createElement('p'), j.parentNode.insertBefore(s, j); j.firstChild; ) s.appendChild(j.firstChild); domUtils.remove(j); } l.moveToBookmark(p).select(); } else { var r = j.firstChild; if (!r || !domUtils.isBlockElm(r)) { var s = h.document.createElement('p'); for (!j.firstChild && domUtils.fillNode(h.document, s); j.firstChild; ) s.appendChild(j.firstChild); j.appendChild(s), (r = s); } var t = h.document.createElement('span'); l.insertNode(t), domUtils.breakParent(t, j); var u = t.nextSibling; (r = u.firstChild), r || ((s = h.document.createElement('p')), domUtils.fillNode(h.document, s), u.appendChild(s), (r = s)), domUtils.isEmptyNode(r) && ((r.innerHTML = ''), domUtils.fillNode(h.document, r)), l.setStart(r, 0).collapse(!0).shrinkBoundary().select(), domUtils.remove(t); var v = u.previousSibling; v && domUtils.isEmptyBlock(v) && ((v.innerHTML = '

'), domUtils.fillNode(h.document, v.firstChild)); } c(); } } } if ( 8 == e && ((l = h.selection.getRange()), l.collapsed && domUtils.isStartInblock(l) && ((o = l.cloneRange().trimBoundary()), (j = domUtils.findParentByTagName(l.startContainer, 'li', !0)), j && domUtils.isStartInblock(o))) ) { if ( ((m = domUtils.findParentByTagName(l.startContainer, 'p', !0)), m && m !== j.firstChild) ) { var q = domUtils.findParentByTagName(m, ['ol', 'ul']); return ( domUtils.breakParent(m, q), f(m), h.fireEvent('contentchange'), l.setStart(m, 0).setCursor(!1, !0), h.fireEvent('saveScene'), void domUtils.preventDefault(b) ); } if (j && (v = j.previousSibling)) { if (46 == e && j.childNodes.length) return; if ( (dtd.$list[v.tagName] && (v = v.lastChild), h.undoManger && h.undoManger.save(), (r = j.firstChild), domUtils.isBlockElm(r)) ) if (domUtils.isEmptyNode(r)) for (v.appendChild(r), l.setStart(r, 0).setCursor(!1, !0); j.firstChild; ) v.appendChild(j.firstChild); else (t = h.document.createElement('span')), l.insertNode(t), domUtils.isEmptyBlock(v) && (v.innerHTML = ''), domUtils.moveChild(j, v), l.setStartBefore(t).collapse(!0).select(!0), domUtils.remove(t); else if (domUtils.isEmptyNode(j)) { var s = h.document.createElement('p'); v.appendChild(s), l.setStart(s, 0).setCursor(); } else for (l.setEnd(v, v.childNodes.length).collapse().select(!0); j.firstChild; ) v.appendChild(j.firstChild); return ( domUtils.remove(j), h.fireEvent('contentchange'), h.fireEvent('saveScene'), void domUtils.preventDefault(b) ); } if (j && !j.previousSibling) { var q = j.parentNode, p = l.createBookmark(); if (domUtils.isTagNode(q.parentNode, 'ol ul')) q.parentNode.insertBefore(j, q), domUtils.isEmptyNode(q) && domUtils.remove(q); else { for (; j.firstChild; ) q.parentNode.insertBefore(j.firstChild, q); domUtils.remove(j), domUtils.isEmptyNode(q) && domUtils.remove(q); } return ( l.moveToBookmark(p).setCursor(!1, !0), h.fireEvent('contentchange'), h.fireEvent('saveScene'), void domUtils.preventDefault(b) ); } } }), h.addListener('keyup', function (a, c) { var e = c.keyCode || c.which; if (8 == e) { var f, g = h.selection.getRange(); (f = domUtils.findParentByTagName(g.startContainer, ['ol', 'ul'], !0)) && d( f, f.tagName.toLowerCase(), b(f) || domUtils.getComputedStyle(f, 'list-style-type'), !0, ); } }), h.addListener('tabkeydown', function () { function a(a) { if (h.options.maxListLevel != -1) { for (var b = a.parentNode, c = 0; /[ou]l/i.test(b.tagName); ) c++, (b = b.parentNode); if (c >= h.options.maxListLevel) return !0; } } var c = h.selection.getRange(), f = domUtils.findParentByTagName(c.startContainer, 'li', !0); if (f) { var g; if (!c.collapsed) { h.fireEvent('saveScene'), (g = c.createBookmark()); for (var i, j, l = 0, m = domUtils.findParents(f); (j = m[l++]); ) if (domUtils.isTagNode(j, 'ol ul')) { i = j; break; } var n = f; if (g.end) for (; n && !(domUtils.getPosition(n, g.end) & domUtils.POSITION_FOLLOWING); ) if (a(n)) n = domUtils.getNextDomNode(n, !1, null, function (a) { return a !== i; }); else { var o = n.parentNode, p = h.document.createElement(o.tagName), q = utils.indexOf( k[p.tagName], b(o) || domUtils.getComputedStyle(o, 'list-style-type'), ), r = q + 1 == k[p.tagName].length ? 0 : q + 1, s = k[p.tagName][r]; for ( e(p, s), o.insertBefore(p, n); n && !(domUtils.getPosition(n, g.end) & domUtils.POSITION_FOLLOWING); ) { if ( ((f = n.nextSibling), p.appendChild(n), !f || domUtils.isTagNode(f, 'ol ul')) ) { if (f) for (; (f = f.firstChild) && 'LI' != f.tagName; ); else f = domUtils.getNextDomNode(n, !1, null, function (a) { return a !== i; }); break; } n = f; } d(p, p.tagName.toLowerCase(), s), (n = f); } return h.fireEvent('contentchange'), c.moveToBookmark(g).select(), !0; } if (a(f)) return !0; var o = f.parentNode, p = h.document.createElement(o.tagName), q = utils.indexOf( k[p.tagName], b(o) || domUtils.getComputedStyle(o, 'list-style-type'), ); q = q + 1 == k[p.tagName].length ? 0 : q + 1; var s = k[p.tagName][q]; if ((e(p, s), domUtils.isStartInblock(c))) return ( h.fireEvent('saveScene'), (g = c.createBookmark()), o.insertBefore(p, f), p.appendChild(f), d(p, p.tagName.toLowerCase(), s), h.fireEvent('contentchange'), c.moveToBookmark(g).select(!0), !0 ); } }), (h.commands.insertorderedlist = h.commands.insertunorderedlist = { execCommand: function (a, c) { c || (c = 'insertorderedlist' == a.toLowerCase() ? 'decimal' : 'disc'); var f = this, h = this.selection.getRange(), j = function (a) { return 1 == a.nodeType ? 'br' != a.tagName.toLowerCase() : !domUtils.isWhitespace(a); }, k = 'insertorderedlist' == a.toLowerCase() ? 'ol' : 'ul', l = f.document.createDocumentFragment(); h.adjustmentBoundary().shrinkBoundary(); var m, n, o, p, q = h.createBookmark(!0), r = g(f.document.getElementById(q.start)), s = 0, t = g(f.document.getElementById(q.end)), u = 0; if (r || t) { if ((r && (m = r.parentNode), q.end || (t = r), t && (n = t.parentNode), m === n)) { for (; r !== t; ) { if (((p = r), (r = r.nextSibling), !domUtils.isBlockElm(p.firstChild))) { for (var v = f.document.createElement('p'); p.firstChild; ) v.appendChild(p.firstChild); p.appendChild(v); } l.appendChild(p); } if ( ((p = f.document.createElement('span')), m.insertBefore(p, t), !domUtils.isBlockElm(t.firstChild)) ) { for (v = f.document.createElement('p'); t.firstChild; ) v.appendChild(t.firstChild); t.appendChild(v); } l.appendChild(t), domUtils.breakParent(p, m), domUtils.isEmptyNode(p.previousSibling) && domUtils.remove(p.previousSibling), domUtils.isEmptyNode(p.nextSibling) && domUtils.remove(p.nextSibling); var w = b(m) || domUtils.getComputedStyle(m, 'list-style-type') || ('insertorderedlist' == a.toLowerCase() ? 'decimal' : 'disc'); if (m.tagName.toLowerCase() == k && w == c) { for ( var x, y = 0, z = f.document.createDocumentFragment(); (x = l.firstChild); ) if (domUtils.isTagNode(x, 'ol ul')) z.appendChild(x); else for (; x.firstChild; ) z.appendChild(x.firstChild), domUtils.remove(x); p.parentNode.insertBefore(z, p); } else (o = f.document.createElement(k)), e(o, c), o.appendChild(l), p.parentNode.insertBefore(o, p); return domUtils.remove(p), o && d(o, k, c), void h.moveToBookmark(q).select(); } if (r) { for (; r; ) { if (((p = r.nextSibling), domUtils.isTagNode(r, 'ol ul'))) l.appendChild(r); else { for (var A = f.document.createDocumentFragment(), B = 0; r.firstChild; ) domUtils.isBlockElm(r.firstChild) && (B = 1), A.appendChild(r.firstChild); if (B) l.appendChild(A); else { var C = f.document.createElement('p'); C.appendChild(A), l.appendChild(C); } domUtils.remove(r); } r = p; } m.parentNode.insertBefore(l, m.nextSibling), domUtils.isEmptyNode(m) ? (h.setStartBefore(m), domUtils.remove(m)) : h.setStartAfter(m), (s = 1); } if (t && domUtils.inDoc(n, f.document)) { for (r = n.firstChild; r && r !== t; ) { if (((p = r.nextSibling), domUtils.isTagNode(r, 'ol ul'))) l.appendChild(r); else { for (A = f.document.createDocumentFragment(), B = 0; r.firstChild; ) domUtils.isBlockElm(r.firstChild) && (B = 1), A.appendChild(r.firstChild); B ? l.appendChild(A) : ((C = f.document.createElement('p')), C.appendChild(A), l.appendChild(C)), domUtils.remove(r); } r = p; } var D = domUtils.createElement(f.document, 'div', { tmpDiv: 1 }); domUtils.moveChild(t, D), l.appendChild(D), domUtils.remove(t), n.parentNode.insertBefore(l, n), h.setEndBefore(n), domUtils.isEmptyNode(n) && domUtils.remove(n), (u = 1); } } s || h.setStartBefore(f.document.getElementById(q.start)), q.end && !u && h.setEndAfter(f.document.getElementById(q.end)), h.enlarge(!0, function (a) { return i[a.tagName]; }), (l = f.document.createDocumentFragment()); for ( var E, F = h.createBookmark(), G = domUtils.getNextDomNode(F.start, !1, j), H = h.cloneRange(), I = domUtils.isBlockElm; G && G !== F.end && domUtils.getPosition(G, F.end) & domUtils.POSITION_PRECEDING; ) if (3 == G.nodeType || dtd.li[G.tagName]) { if (1 == G.nodeType && dtd.$list[G.tagName]) { for (; G.firstChild; ) l.appendChild(G.firstChild); (E = domUtils.getNextDomNode(G, !1, j)), domUtils.remove(G), (G = E); continue; } for ( E = G, H.setStartBefore(G); G && G !== F.end && (!I(G) || domUtils.isBookmarkNode(G)); ) (E = G), (G = domUtils.getNextDomNode(G, !1, null, function (a) { return !i[a.tagName]; })); G && I(G) && ((p = domUtils.getNextDomNode(E, !1, j)), p && domUtils.isBookmarkNode(p) && ((G = domUtils.getNextDomNode(p, !1, j)), (E = p))), H.setEndAfter(E), (G = domUtils.getNextDomNode(E, !1, j)); var J = h.document.createElement('li'); if ((J.appendChild(H.extractContents()), domUtils.isEmptyNode(J))) { for (var E = h.document.createElement('p'); J.firstChild; ) E.appendChild(J.firstChild); J.appendChild(E); } l.appendChild(J); } else G = domUtils.getNextDomNode(G, !0, j); h.moveToBookmark(F).collapse(!0), (o = f.document.createElement(k)), e(o, c), o.appendChild(l), h.insertNode(o), d(o, k, c); for (var x, y = 0, K = domUtils.getElementsByTagName(o, 'div'); (x = K[y++]); ) x.getAttribute('tmpDiv') && domUtils.remove(x, !0); h.moveToBookmark(q).select(); }, queryCommandState: function (a) { for ( var b, c = 'insertorderedlist' == a.toLowerCase() ? 'ol' : 'ul', d = this.selection.getStartElementPath(), e = 0; (b = d[e++]); ) { if ('TABLE' == b.nodeName) return 0; if (c == b.nodeName.toLowerCase()) return 1; } return 0; }, queryCommandValue: function (a) { for ( var c, d, e = 'insertorderedlist' == a.toLowerCase() ? 'ol' : 'ul', f = this.selection.getStartElementPath(), g = 0; (d = f[g++]); ) { if ('TABLE' == d.nodeName) { c = null; break; } if (e == d.nodeName.toLowerCase()) { c = d; break; } } return c ? b(c) || domUtils.getComputedStyle(c, 'list-style-type') : null; }, }); }), (function () { var a = { textarea: function (a, b) { var c = b.ownerDocument.createElement('textarea'); return ( (c.style.cssText = 'position:absolute;resize:none;width:100%;height:100%;border:0;padding:0;margin:0;overflow-y:auto;'), browser.ie && browser.version < 8 && ((c.style.width = b.offsetWidth + 'px'), (c.style.height = b.offsetHeight + 'px'), (b.onresize = function () { (c.style.width = b.offsetWidth + 'px'), (c.style.height = b.offsetHeight + 'px'); })), b.appendChild(c), { setContent: function (a) { c.value = a; }, getContent: function () { return c.value; }, select: function () { var a; browser.ie ? ((a = c.createTextRange()), a.collapse(!0), a.select()) : (c.setSelectionRange(0, 0), c.focus()); }, dispose: function () { b.removeChild(c), (b.onresize = null), (c = null), (b = null); }, } ); }, codemirror: function (a, b) { var c = window.CodeMirror(b, { mode: 'text/html', tabMode: 'indent', lineNumbers: !0, lineWrapping: !0, }), d = c.getWrapperElement(); return ( (d.style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;font-family:consolas,"Courier new",monospace;font-size:13px;'), (c.getScrollerElement().style.cssText = 'position:absolute;left:0;top:0;width:100%;height:100%;'), c.refresh(), { getCodeMirror: function () { return c; }, setContent: function (a) { c.setValue(a); }, getContent: function () { return c.getValue(); }, select: function () { c.focus(); }, dispose: function () { b.removeChild(d), (d = null), (c = null); }, } ); }, }; UE.plugins.source = function () { function b(b) { return a['codemirror' == f.sourceEditor && window.CodeMirror ? 'codemirror' : 'textarea']( e, b, ); } var c, d, e = this, f = this.options, g = !1; (f.sourceEditor = browser.ie ? 'textarea' : f.sourceEditor || 'codemirror'), e.setOpt({ sourceEditorFirst: !1 }); var h, i, j; e.commands.source = { execCommand: function () { if ((g = !g)) { (j = e.selection.getRange().createAddress(!1, !0)), e.undoManger && e.undoManger.save(!0), browser.gecko && (e.body.contentEditable = !1), (h = e.iframe.style.cssText), (e.iframe.style.cssText += 'position:absolute;left:-32768px;top:-32768px;'), e.fireEvent('beforegetcontent'); var a = UE.htmlparser(e.body.innerHTML); e.filterOutputRule(a), a.traversal(function (a) { if ('element' == a.type) switch (a.tagName) { case 'td': case 'th': case 'caption': a.children && 1 == a.children.length && 'br' == a.firstChild().tagName && a.removeChild(a.firstChild()); break; case 'pre': a.innerText(a.innerText().replace(/ /g, ' ')); } }), e.fireEvent('aftergetcontent'); var f = a.toHtml(!0); (c = b(e.iframe.parentNode)), c.setContent(f), (d = e.setContent), (e.setContent = function (a) { var b = UE.htmlparser(a); e.filterInputRule(b), (a = b.toHtml()), c.setContent(a); }), setTimeout(function () { c.select(), e.addListener('fullscreenchanged', function () { try { c.getCodeMirror().refresh(); } catch (a) {} }); }), (i = e.getContent), (e.getContent = function () { return c.getContent() || '

' + (browser.ie ? '' : '
') + '

'; }); } else { e.iframe.style.cssText = h; var k = c.getContent() || '

' + (browser.ie ? '' : '
') + '

'; (k = k.replace( new RegExp('[\\r\\t\\n ]*]*)>', 'g'), function (a, b) { return b && !dtd.$inlineWithA[b.toLowerCase()] ? a.replace(/(^[\n\r\t ]*)|([\n\r\t ]*$)/g, '') : a.replace(/(^[\n\r\t]*)|([\n\r\t]*$)/g, ''); }, )), (e.setContent = d), e.setContent(k), c.dispose(), (c = null), (e.getContent = i); var l = e.body.firstChild; if ( (l || ((e.body.innerHTML = '

' + (browser.ie ? '' : '
') + '

'), (l = e.body.firstChild)), e.undoManger && e.undoManger.save(!0), browser.gecko) ) { var m = document.createElement('input'); (m.style.cssText = 'position:absolute;left:0;top:-32768px'), document.body.appendChild(m), (e.body.contentEditable = !1), setTimeout(function () { domUtils.setViewportOffset(m, { left: -32768, top: 0 }), m.focus(), setTimeout(function () { (e.body.contentEditable = !0), e.selection.getRange().moveToAddress(j).select(!0), domUtils.remove(m); }); }); } else try { e.selection.getRange().moveToAddress(j).select(!0); } catch (n) {} } this.fireEvent('sourcemodechanged', g); }, queryCommandState: function () { return 0 | g; }, notNeedUndo: 1, }; var k = e.queryCommandState; (e.queryCommandState = function (a) { return ( (a = a.toLowerCase()), g ? (a in { source: 1, fullscreen: 1 } ? 1 : -1) : k.apply(this, arguments) ); }), 'codemirror' == f.sourceEditor && e.addListener('ready', function () { utils.loadFile( document, { src: f.codeMirrorJsUrl || f.UEDITOR_HOME_URL + 'third-party/codemirror/codemirror.js', tag: 'script', type: 'text/javascript', defer: 'defer', }, function () { f.sourceEditorFirst && setTimeout(function () { e.execCommand('source'); }, 0); }, ), utils.loadFile(document, { tag: 'link', rel: 'stylesheet', type: 'text/css', href: f.codeMirrorCssUrl || f.UEDITOR_HOME_URL + 'third-party/codemirror/codemirror.css', }); }); }; })(), (UE.plugins.enterkey = function () { var a, b = this, c = b.options.enterTag; b.addListener('keyup', function (c, d) { var e = d.keyCode || d.which; if (13 == e) { var f, g = b.selection.getRange(), h = g.startContainer; if (browser.ie) b.fireEvent('saveScene', !0, !0); else { if (/h\d/i.test(a)) { if (browser.gecko) { var i = domUtils.findParentByTagName( h, ['h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'caption', 'table'], !0, ); i || (b.document.execCommand('formatBlock', !1, '

'), (f = 1)); } else if (1 == h.nodeType) { var j, k = b.document.createTextNode(''); if ((g.insertNode(k), (j = domUtils.findParentByTagName(k, 'div', !0)))) { for (var l = b.document.createElement('p'); j.firstChild; ) l.appendChild(j.firstChild); j.parentNode.insertBefore(l, j), domUtils.remove(j), g.setStartBefore(k).setCursor(), (f = 1); } domUtils.remove(k); } b.undoManger && f && b.undoManger.save(); } browser.opera && g.select(); } } }), b.addListener('keydown', function (d, e) { var f = e.keyCode || e.which; if (13 == f) { if (b.fireEvent('beforeenterkeydown')) return void domUtils.preventDefault(e); b.fireEvent('saveScene', !0, !0), (a = ''); var g = b.selection.getRange(); if (!g.collapsed) { var h = g.startContainer, i = g.endContainer, j = domUtils.findParentByTagName(h, 'td', !0), k = domUtils.findParentByTagName(i, 'td', !0); if ((j && k && j !== k) || (!j && k) || (j && !k)) return void (e.preventDefault ? e.preventDefault() : (e.returnValue = !1)); } if ('p' == c) browser.ie || ((h = domUtils.findParentByTagName( g.startContainer, ['ol', 'ul', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'blockquote', 'caption'], !0, )), h || browser.opera ? ((a = h.tagName), 'p' == h.tagName.toLowerCase() && browser.gecko && domUtils.removeDirtyAttr(h)) : (b.document.execCommand('formatBlock', !1, '

'), browser.gecko && ((g = b.selection.getRange()), (h = domUtils.findParentByTagName(g.startContainer, 'p', !0)), h && domUtils.removeDirtyAttr(h)))); else if ((e.preventDefault ? e.preventDefault() : (e.returnValue = !1), g.collapsed)) { (m = g.document.createElement('br')), g.insertNode(m); var l = m.parentNode; l.lastChild === m ? (m.parentNode.insertBefore(m.cloneNode(!0), m), g.setStartBefore(m)) : g.setStartAfter(m), g.setCursor(); } else if ( (g.deleteContents(), (h = g.startContainer), 1 == h.nodeType && (h = h.childNodes[g.startOffset])) ) { for (; 1 == h.nodeType; ) { if (dtd.$empty[h.tagName]) return g.setStartBefore(h).setCursor(), b.undoManger && b.undoManger.save(), !1; if (!h.firstChild) { var m = g.document.createElement('br'); return ( h.appendChild(m), g.setStart(h, 0).setCursor(), b.undoManger && b.undoManger.save(), !1 ); } h = h.firstChild; } h === g.startContainer.childNodes[g.startOffset] ? ((m = g.document.createElement('br')), g.insertNode(m).setCursor()) : g.setStart(h, 0).setCursor(); } else (m = g.document.createElement('br')), g.insertNode(m).setStartAfter(m).setCursor(); } }); }), (UE.plugins.keystrokes = function () { var a = this, b = !0; a.addListener('keydown', function (c, d) { var e = d.keyCode || d.which, f = a.selection.getRange(); if ( !f.collapsed && !(d.ctrlKey || d.shiftKey || d.altKey || d.metaKey) && ((e >= 65 && e <= 90) || (e >= 48 && e <= 57) || (e >= 96 && e <= 111) || { 13: 1, 8: 1, 46: 1 }[e]) ) { var g = f.startContainer; if ( (domUtils.isFillChar(g) && f.setStartBefore(g), (g = f.endContainer), domUtils.isFillChar(g) && f.setEndAfter(g), f.txtToElmBoundary(), f.endContainer && 1 == f.endContainer.nodeType && ((g = f.endContainer.childNodes[f.endOffset]), g && domUtils.isBr(g) && f.setEndAfter(g)), 0 == f.startOffset && ((g = f.startContainer), domUtils.isBoundaryNode(g, 'firstChild') && ((g = f.endContainer), f.endOffset == (3 == g.nodeType ? g.nodeValue.length : g.childNodes.length) && domUtils.isBoundaryNode(g, 'lastChild')))) ) return ( a.fireEvent('saveScene'), (a.body.innerHTML = '

' + (browser.ie ? '' : '
') + '

'), f.setStart(a.body.firstChild, 0).setCursor(!1, !0), void a._selectionChange() ); } if (e == keymap.Backspace) { if (((f = a.selection.getRange()), (b = f.collapsed), a.fireEvent('delkeydown', d))) return; var h, i; if ( (f.collapsed && f.inFillChar() && ((h = f.startContainer), domUtils.isFillChar(h) ? (f.setStartBefore(h).shrinkBoundary(!0).collapse(!0), domUtils.remove(h)) : ((h.nodeValue = h.nodeValue.replace(new RegExp('^' + domUtils.fillChar), '')), f.startOffset--, f.collapse(!0).select(!0))), (h = f.getClosedNode())) ) return ( a.fireEvent('saveScene'), f.setStartBefore(h), domUtils.remove(h), f.setCursor(), a.fireEvent('saveScene'), void domUtils.preventDefault(d) ); if ( !browser.ie && ((h = domUtils.findParentByTagName(f.startContainer, 'table', !0)), (i = domUtils.findParentByTagName(f.endContainer, 'table', !0)), (h && !i) || (!h && i) || h !== i) ) return void d.preventDefault(); } if (e == keymap.Tab) { var j = { ol: 1, ul: 1, table: 1 }; if (a.fireEvent('tabkeydown', d)) return void domUtils.preventDefault(d); var k = a.selection.getRange(); a.fireEvent('saveScene'); for ( var l = 0, m = '', n = a.options.tabSize || 4, o = a.options.tabNode || ' '; l < n; l++ ) m += o; var p = a.document.createElement('span'); if (((p.innerHTML = m + domUtils.fillChar), k.collapsed)) k.insertNode(p.cloneNode(!0).firstChild).setCursor(!0); else { var q = function (a) { return domUtils.isBlockElm(a) && !j[a.tagName.toLowerCase()]; }; if ( ((h = domUtils.findParent(k.startContainer, q, !0)), (i = domUtils.findParent(k.endContainer, q, !0)), h && i && h === i) ) k.deleteContents(), k.insertNode(p.cloneNode(!0).firstChild).setCursor(!0); else { var r = k.createBookmark(); k.enlarge(!0); for ( var s = k.createBookmark(), t = domUtils.getNextDomNode(s.start, !1, q); t && !(domUtils.getPosition(t, s.end) & domUtils.POSITION_FOLLOWING); ) t.insertBefore(p.cloneNode(!0).firstChild, t.firstChild), (t = domUtils.getNextDomNode(t, !1, q)); k.moveToBookmark(s).moveToBookmark(r).select(); } } domUtils.preventDefault(d); } if ( browser.gecko && 46 == e && ((k = a.selection.getRange()), k.collapsed && ((h = k.startContainer), domUtils.isEmptyBlock(h))) ) { for (var u = h.parentNode; 1 == domUtils.getChildCount(u) && !domUtils.isBody(u); ) (h = u), (u = u.parentNode); return void (h === u.lastChild && d.preventDefault()); } }), a.addListener('keyup', function (a, c) { var d, e = c.keyCode || c.which, f = this; if (e == keymap.Backspace) { if (f.fireEvent('delkeyup')) return; if (((d = f.selection.getRange()), d.collapsed)) { var g, h = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; if ( (g = domUtils.findParentByTagName(d.startContainer, h, !0)) && domUtils.isEmptyBlock(g) ) { var i = g.previousSibling; if (i && 'TABLE' != i.nodeName) return domUtils.remove(g), void d.setStartAtLast(i).setCursor(!1, !0); var j = g.nextSibling; if (j && 'TABLE' != j.nodeName) return domUtils.remove(g), void d.setStartAtFirst(j).setCursor(!1, !0); } if (domUtils.isBody(d.startContainer)) { var g = domUtils.createElement(f.document, 'p', { innerHTML: browser.ie ? domUtils.fillChar : '
', }); d.insertNode(g).setStart(g, 0).setCursor(!1, !0); } } if ( !b && (3 == d.startContainer.nodeType || (1 == d.startContainer.nodeType && domUtils.isEmptyBlock(d.startContainer))) ) if (browser.ie) { var k = d.document.createElement('span'); d.insertNode(k).setStartBefore(k).collapse(!0), d.select(), domUtils.remove(k); } else d.select(); } }); }), (UE.plugins.fiximgclick = (function () { function a() { (this.editor = null), (this.resizer = null), (this.cover = null), (this.doc = document), (this.prePos = { x: 0, y: 0 }), (this.startPos = { x: 0, y: 0 }); } var b = !1; return ( (function () { var c = [ [0, 0, -1, -1], [0, 0, 0, -1], [0, 0, 1, -1], [0, 0, -1, 0], [0, 0, 1, 0], [0, 0, -1, 1], [0, 0, 0, 1], [0, 0, 1, 1], ]; a.prototype = { init: function (a) { var b = this; (b.editor = a), (b.startPos = this.prePos = { x: 0, y: 0 }), (b.dragId = -1); var c = [], d = (b.cover = document.createElement('div')), e = (b.resizer = document.createElement('div')); for ( d.id = b.editor.ui.id + '_imagescale_cover', d.style.cssText = 'position:absolute;display:none;z-index:' + b.editor.options.zIndex + ';filter:alpha(opacity=0); opacity:0;background:#CCC;', domUtils.on(d, 'mousedown click', function () { b.hide(); }), i = 0; i < 8; i++ ) c.push(''); (e.id = b.editor.ui.id + '_imagescale'), (e.className = 'edui-editor-imagescale'), (e.innerHTML = c.join('')), (e.style.cssText += ';display:none;border:1px solid #3b77ff;z-index:' + b.editor.options.zIndex + ';'), b.editor.ui.getDom().appendChild(d), b.editor.ui.getDom().appendChild(e), b.initStyle(), b.initEvents(); }, initStyle: function () { utils.cssRule( 'imagescale', '.edui-editor-imagescale{display:none;position:absolute;border:1px solid #38B2CE;cursor:hand;-webkit-box-sizing: content-box;-moz-box-sizing: content-box;box-sizing: content-box;}.edui-editor-imagescale span{position:absolute;width:6px;height:6px;overflow:hidden;font-size:0px;display:block;background-color:#3C9DD0;}.edui-editor-imagescale .edui-editor-imagescale-hand0{cursor:nw-resize;top:0;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand1{cursor:n-resize;top:0;margin-top:-4px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand2{cursor:ne-resize;top:0;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand3{cursor:w-resize;top:50%;margin-top:-4px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand4{cursor:e-resize;top:50%;margin-top:-4px;left:100%;margin-left:-3px;}.edui-editor-imagescale .edui-editor-imagescale-hand5{cursor:sw-resize;top:100%;margin-top:-3px;left:0;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand6{cursor:s-resize;top:100%;margin-top:-3px;left:50%;margin-left:-4px;}.edui-editor-imagescale .edui-editor-imagescale-hand7{cursor:se-resize;top:100%;margin-top:-3px;left:100%;margin-left:-3px;}', ); }, initEvents: function () { var a = this; (a.startPos.x = a.startPos.y = 0), (a.isDraging = !1); }, _eventHandler: function (a) { var c = this; switch (a.type) { case 'mousedown': var d, d = a.target || a.srcElement; d.className.indexOf('edui-editor-imagescale-hand') != -1 && c.dragId == -1 && ((c.dragId = d.className.slice(-1)), (c.startPos.x = c.prePos.x = a.clientX), (c.startPos.y = c.prePos.y = a.clientY), domUtils.on(c.doc, 'mousemove', c.proxy(c._eventHandler, c))); break; case 'mousemove': c.dragId != -1 && (c.updateContainerStyle(c.dragId, { x: a.clientX - c.prePos.x, y: a.clientY - c.prePos.y, }), (c.prePos.x = a.clientX), (c.prePos.y = a.clientY), (b = !0), c.updateTargetElement()); break; case 'mouseup': c.dragId != -1 && (c.updateContainerStyle(c.dragId, { x: a.clientX - c.prePos.x, y: a.clientY - c.prePos.y, }), c.updateTargetElement(), c.target.parentNode && c.attachTo(c.target), (c.dragId = -1)), domUtils.un(c.doc, 'mousemove', c.proxy(c._eventHandler, c)), b && ((b = !1), c.editor.fireEvent('contentchange')); } }, updateTargetElement: function () { var a = this; domUtils.setStyles(a.target, { width: a.resizer.style.width, height: a.resizer.style.height, }), (a.target.width = parseInt(a.resizer.style.width)), (a.target.height = parseInt(a.resizer.style.height)), a.attachTo(a.target); }, updateContainerStyle: function (a, b) { var d, e = this, f = e.resizer; 0 != c[a][0] && ((d = parseInt(f.style.left) + b.x), (f.style.left = e._validScaledProp('left', d) + 'px')), 0 != c[a][1] && ((d = parseInt(f.style.top) + b.y), (f.style.top = e._validScaledProp('top', d) + 'px')), 0 != c[a][2] && ((d = f.clientWidth + c[a][2] * b.x), (f.style.width = e._validScaledProp('width', d) + 'px')), 0 != c[a][3] && ((d = f.clientHeight + c[a][3] * b.y), (f.style.height = e._validScaledProp('height', d) + 'px')); }, _validScaledProp: function (a, b) { var c = this.resizer, d = document; switch (((b = isNaN(b) ? 0 : b), a)) { case 'left': return b < 0 ? 0 : b + c.clientWidth > d.clientWidth ? d.clientWidth - c.clientWidth : b; case 'top': return b < 0 ? 0 : b + c.clientHeight > d.clientHeight ? d.clientHeight - c.clientHeight : b; case 'width': return b <= 0 ? 1 : b + c.offsetLeft > d.clientWidth ? d.clientWidth - c.offsetLeft : b; case 'height': return b <= 0 ? 1 : b + c.offsetTop > d.clientHeight ? d.clientHeight - c.offsetTop : b; } }, hideCover: function () { this.cover.style.display = 'none'; }, showCover: function () { var a = this, b = domUtils.getXY(a.editor.ui.getDom()), c = domUtils.getXY(a.editor.iframe); domUtils.setStyles(a.cover, { width: a.editor.iframe.offsetWidth + 'px', height: a.editor.iframe.offsetHeight + 'px', top: c.y - b.y + 'px', left: c.x - b.x + 'px', position: 'absolute', display: '', }); }, show: function (a) { var b = this; (b.resizer.style.display = 'block'), a && b.attachTo(a), domUtils.on(this.resizer, 'mousedown', b.proxy(b._eventHandler, b)), domUtils.on(b.doc, 'mouseup', b.proxy(b._eventHandler, b)), b.showCover(), b.editor.fireEvent('afterscaleshow', b), b.editor.fireEvent('saveScene'); }, hide: function () { var a = this; a.hideCover(), (a.resizer.style.display = 'none'), domUtils.un(a.resizer, 'mousedown', a.proxy(a._eventHandler, a)), domUtils.un(a.doc, 'mouseup', a.proxy(a._eventHandler, a)), a.editor.fireEvent('afterscalehide', a); }, proxy: function (a, b) { return function (c) { return a.apply(b || this, arguments); }; }, attachTo: function (a) { var b = this, c = (b.target = a), d = this.resizer, e = domUtils.getXY(c), f = domUtils.getXY(b.editor.iframe), g = domUtils.getXY(d.parentNode); domUtils.setStyles(d, { width: c.width + 'px', height: c.height + 'px', left: f.x + e.x - b.editor.document.body.scrollLeft - g.x - parseInt(d.style.borderLeftWidth) + 'px', top: f.y + e.y - b.editor.document.body.scrollTop - g.y - parseInt(d.style.borderTopWidth) + 'px', }); }, }; })(), function () { var b, c = this; c.setOpt('imageScaleEnabled', !0), !browser.ie && c.options.imageScaleEnabled && c.addListener('click', function (d, e) { var f = c.selection.getRange(), g = f.getClosedNode(); if (g && 'IMG' == g.tagName && 'false' != c.body.contentEditable) { if ( g.className.indexOf('edui-faked-music') != -1 || g.getAttribute('anchorname') || domUtils.hasClass(g, 'loadingclass') || domUtils.hasClass(g, 'loaderrorclass') ) return; if (!b) { (b = new a()), b.init(c), c.ui.getDom().appendChild(b.resizer); var h, i = function (a) { b.hide(), b.target && c.selection.getRange().selectNode(b.target).select(); }, j = function (a) { var b = a.target || a.srcElement; !b || (void 0 !== b.className && b.className.indexOf('edui-editor-imagescale') != -1) || i(a); }; c.addListener('afterscaleshow', function (a) { c.addListener('beforekeydown', i), c.addListener('beforemousedown', j), domUtils.on(document, 'keydown', i), domUtils.on(document, 'mousedown', j), c.selection.getNative().removeAllRanges(); }), c.addListener('afterscalehide', function (a) { c.removeListener('beforekeydown', i), c.removeListener('beforemousedown', j), domUtils.un(document, 'keydown', i), domUtils.un(document, 'mousedown', j); var d = b.target; d.parentNode && c.selection.getRange().selectNode(d).select(); }), domUtils.on(b.resizer, 'mousedown', function (a) { c.selection.getNative().removeAllRanges(); var d = a.target || a.srcElement; d && d.className.indexOf('edui-editor-imagescale-hand') == -1 && (h = setTimeout(function () { b.hide(), b.target && c.selection.getRange().selectNode(d).select(); }, 200)); }), domUtils.on(b.resizer, 'mouseup', function (a) { var b = a.target || a.srcElement; b && b.className.indexOf('edui-editor-imagescale-hand') == -1 && clearTimeout(h); }); } b.show(g); } else b && 'none' != b.resizer.style.display && b.hide(); }), browser.webkit && c.addListener('click', function (a, b) { if ('IMG' == b.target.tagName && 'false' != c.body.contentEditable) { var d = new dom.Range(c.document); d.selectNode(b.target).select(); } }); } ); })()), UE.plugin.register( 'autolink', function () { var a = 0; return browser.ie ? {} : { bindEvents: { reset: function () { a = 0; }, keydown: function (a, b) { var c = this, d = b.keyCode || b.which; if (32 == d || 13 == d) { for ( var e, f, g = c.selection.getNative(), h = g.getRangeAt(0).cloneRange(), i = h.startContainer; 1 == i.nodeType && h.startOffset > 0 && (i = h.startContainer.childNodes[h.startOffset - 1]); ) h.setStart(i, 1 == i.nodeType ? i.childNodes.length : i.nodeValue.length), h.collapse(!0), (i = h.startContainer); do { if (0 == h.startOffset) { for (i = h.startContainer.previousSibling; i && 1 == i.nodeType; ) i = i.lastChild; if (!i || domUtils.isFillChar(i)) break; e = i.nodeValue.length; } else (i = h.startContainer), (e = h.startOffset); h.setStart(i, e - 1), (f = h.toString().charCodeAt(0)); } while (160 != f && 32 != f); if ( h .toString() .replace(new RegExp(domUtils.fillChar, 'g'), '') .match(/(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i) ) { for ( ; h.toString().length && !/^(?:https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.)/i.test(h.toString()); ) try { h.setStart(h.startContainer, h.startOffset + 1); } catch (j) { for (var i = h.startContainer; !(next = i.nextSibling); ) { if (domUtils.isBody(i)) return; i = i.parentNode; } h.setStart(next, 0); } if (domUtils.findParentByTagName(h.startContainer, 'a', !0)) return; var k, l = c.document.createElement('a'), m = c.document.createTextNode(' '); c.undoManger && c.undoManger.save(), l.appendChild(h.extractContents()), (l.href = l.innerHTML = l.innerHTML.replace(/<[^>]+>/g, '')), (k = l .getAttribute('href') .replace(new RegExp(domUtils.fillChar, 'g'), '')), (k = /^(?:https?:\/\/)/gi.test(k) ? k : 'http://' + k), l.setAttribute('_src', utils.html(k)), (l.href = utils.html(k)), h.insertNode(l), l.parentNode.insertBefore(m, l.nextSibling), h.setStart(m, 0), h.collapse(!0), g.removeAllRanges(), g.addRange(h), c.undoManger && c.undoManger.save(); } } }, }, }; }, function () { function a(a) { if (3 == a.nodeType) return null; if ('A' == a.nodeName) return a; for (var b = a.lastChild; b; ) { if ('A' == b.nodeName) return b; if (3 == b.nodeType) { if (domUtils.isWhitespace(b)) { b = b.previousSibling; continue; } return null; } b = b.lastChild; } } var b = { 37: 1, 38: 1, 39: 1, 40: 1, 13: 1, 32: 1 }; browser.ie && this.addListener('keyup', function (c, d) { var e = this, f = d.keyCode; if (b[f]) { var g = e.selection.getRange(), h = g.startContainer; if (13 == f) { for (; h && !domUtils.isBody(h) && !domUtils.isBlockElm(h); ) h = h.parentNode; if (h && !domUtils.isBody(h) && 'P' == h.nodeName) { var i = h.previousSibling; if (i && 1 == i.nodeType) { var i = a(i); i && !i.getAttribute('_href') && domUtils.remove(i, !0); } } } else if (32 == f) 3 == h.nodeType && /^\s$/.test(h.nodeValue) && ((h = h.previousSibling), h && 'A' == h.nodeName && !h.getAttribute('_href') && domUtils.remove(h, !0)); else if ( ((h = domUtils.findParentByTagName(h, 'a', !0)), h && !h.getAttribute('_href')) ) { var j = g.createBookmark(); domUtils.remove(h, !0), g.moveToBookmark(j).select(!0); } } }); }, ), (UE.plugins.autoheight = function () { function a() { var a = this; clearTimeout(e), f || ((!a.queryCommandState || (a.queryCommandState && 1 != a.queryCommandState('source'))) && (e = setTimeout(function () { for (var b = a.body.lastChild; b && 1 != b.nodeType; ) b = b.previousSibling; b && 1 == b.nodeType && ((b.style.clear = 'both'), (d = Math.max( domUtils.getXY(b).y + b.offsetHeight + 25, Math.max(h.minFrameHeight, h.initialFrameHeight), )), d != g && (d !== parseInt(a.iframe.parentNode.style.height) && (a.iframe.parentNode.style.height = d + 'px'), (a.body.style.height = d + 'px'), (g = d)), domUtils.removeStyle(b, 'clear')); }, 50))); } var b = this; if (((b.autoHeightEnabled = b.options.autoHeightEnabled !== !1), b.autoHeightEnabled)) { var c, d, e, f, g = 0, h = b.options; b.addListener('fullscreenchanged', function (a, b) { f = b; }), b.addListener('destroy', function () { b.removeListener('contentchange afterinserthtml keyup mouseup', a); }), (b.enableAutoHeight = function () { var b = this; if (b.autoHeightEnabled) { var d = b.document; (b.autoHeightEnabled = !0), (c = d.body.style.overflowY), (d.body.style.overflowY = 'hidden'), b.addListener('contentchange afterinserthtml keyup mouseup', a), setTimeout( function () { a.call(b); }, browser.gecko ? 100 : 0, ), b.fireEvent('autoheightchanged', b.autoHeightEnabled); } }), (b.disableAutoHeight = function () { (b.body.style.overflowY = c || ''), b.removeListener('contentchange', a), b.removeListener('keyup', a), b.removeListener('mouseup', a), (b.autoHeightEnabled = !1), b.fireEvent('autoheightchanged', b.autoHeightEnabled); }), b.on('setHeight', function () { b.disableAutoHeight(); }), b.addListener('ready', function () { b.enableAutoHeight(); var c; domUtils.on( browser.ie ? b.body : b.document, browser.webkit ? 'dragover' : 'drop', function () { clearTimeout(c), (c = setTimeout(function () { a.call(b); }, 100)); }, ); var d; window.onscroll = function () { null === d ? (d = this.scrollY) : 0 == this.scrollY && 0 != d && (b.window.scrollTo(0, 0), (d = null)); }; }); } }), (UE.plugins.autofloat = function () { function a() { return UE.ui ? 1 : (alert(g.autofloatMsg), 0); } function b() { var a = document.body.style; (a.backgroundImage = 'url("about:blank")'), (a.backgroundAttachment = 'fixed'); } function c() { var a = domUtils.getXY(k), b = domUtils.getComputedStyle(k, 'position'), c = domUtils.getComputedStyle(k, 'left'); (k.style.width = k.offsetWidth + 'px'), (k.style.zIndex = 1 * f.options.zIndex + 1), k.parentNode.insertBefore(q, k), o || (p && browser.ie) ? ('absolute' != k.style.position && (k.style.position = 'absolute'), (k.style.top = (document.body.scrollTop || document.documentElement.scrollTop) - l + i + 'px')) : (browser.ie7Compat && r && ((r = !1), (k.style.left = domUtils.getXY(k).x - document.documentElement.getBoundingClientRect().left + 2 + 'px')), 'fixed' != k.style.position && ((k.style.position = 'fixed'), (k.style.top = i + 'px'), ('absolute' == b || 'relative' == b) && parseFloat(c) && (k.style.left = a.x + 'px'))); } function d() { (r = !0), q.parentNode && q.parentNode.removeChild(q), (k.style.cssText = j); } function e() { var a = m(f.container), b = f.options.toolbarTopOffset || 0; a.top < 0 && a.bottom - k.offsetHeight > b ? c() : d(); } var f = this, g = f.getLang(); f.setOpt({ topOffset: 0 }); var h = f.options.autoFloatEnabled !== !1, i = f.options.topOffset; if (h) { var j, k, l, m, n = UE.ui.uiUtils, o = browser.ie && browser.version <= 6, p = browser.quirks, q = document.createElement('div'), r = !0, s = utils.defer( function () { e(); }, browser.ie ? 200 : 100, !0, ); f.addListener('destroy', function () { domUtils.un(window, ['scroll', 'resize'], e), f.removeListener('keydown', s); }), f.addListener('ready', function () { if (a(f)) { if (!f.ui) return; (m = n.getClientRect), (k = f.ui.getDom('toolbarbox')), (l = m(k).top), (j = k.style.cssText), (q.style.height = k.offsetHeight + 'px'), o && b(), domUtils.on(window, ['scroll', 'resize'], e), f.addListener('keydown', s), f.addListener('beforefullscreenchange', function (a, b) { b && d(); }), f.addListener('fullscreenchanged', function (a, b) { b || e(); }), f.addListener('sourcemodechanged', function (a, b) { setTimeout(function () { e(); }, 0); }), f.addListener('clearDoc', function () { setTimeout(function () { e(); }, 0); }); } }); } }), (UE.plugins.video = function () { function a(a, b, d, e, f, g, h) { (a = utils.unhtmlForUrl(a)), (f = utils.unhtml(f)), (g = utils.unhtml(g)), (b = parseInt(b, 10) || 0), (d = parseInt(d, 10) || 0); var i; switch (h) { case 'image': i = ''; break; case 'embed': i = ''; break; case 'video': var j = a.substr(a.lastIndexOf('.') + 1); 'ogv' == j && (j = 'ogg'), (i = ''); } return i; } function b(b, c) { utils.each(b.getNodesByTagName(c ? 'img' : 'embed video'), function (b) { var d = b.getAttr('class'); if (d && d.indexOf('edui-faked-video') != -1) { var e = a( c ? b.getAttr('_url') : b.getAttr('src'), b.getAttr('width'), b.getAttr('height'), null, b.getStyle('float') || '', d, c ? 'embed' : 'image', ); b.parentNode.replaceChild(UE.uNode.createElement(e), b); } if (d && d.indexOf('edui-upload-video') != -1) { var e = a( c ? b.getAttr('_url') : b.getAttr('src'), b.getAttr('width'), b.getAttr('height'), null, b.getStyle('float') || '', d, c ? 'video' : 'image', ); b.parentNode.replaceChild(UE.uNode.createElement(e), b); } }); } var c = this; c.addOutputRule(function (a) { b(a, !0); }), c.addInputRule(function (a) { b(a); }), (c.commands.insertvideo = { execCommand: function (b, d, e) { d = utils.isArray(d) ? d : [d]; for (var f, g, h = [], i = 'tmpVedio', j = 0, k = d.length; j < k; j++) (g = d[j]), (f = 'upload' == e ? 'edui-upload-video video-js vjs-default-skin' : 'edui-faked-video'), h.push(a(g.url, g.width || 420, g.height || 280, i + j, null, f, 'image')); c.execCommand('inserthtml', h.join(''), !0); for (var l = this.selection.getRange(), j = 0, k = d.length; j < k; j++) { var m = this.document.getElementById('tmpVedio' + j); domUtils.removeAttributes(m, 'id'), l.selectNode(m).select(), c.execCommand('imagefloat', d[j].align); } }, queryCommandState: function () { var a = c.selection.getRange().getClosedNode(), b = a && ('edui-faked-video' == a.className || a.className.indexOf('edui-upload-video') != -1); return b ? 1 : 0; }, }); }), (function () { function a(a) {} var b = (UE.UETable = function (a) { (this.table = a), (this.indexTable = []), (this.selectedTds = []), (this.cellsRange = {}), this.update(a); }); (b.removeSelectedClass = function (a) { utils.each(a, function (a) { domUtils.removeClasses(a, 'selectTdClass'); }); }), (b.addSelectedClass = function (a) { utils.each(a, function (a) { domUtils.addClass(a, 'selectTdClass'); }); }), (b.isEmptyBlock = function (a) { var b = new RegExp(domUtils.fillChar, 'g'); if ( a[browser.ie ? 'innerText' : 'textContent'].replace(/^\s*$/, '').replace(b, '').length > 0 ) return 0; for (var c in dtd.$isNotEmpty) if (dtd.$isNotEmpty.hasOwnProperty(c) && a.getElementsByTagName(c).length) return 0; return 1; }), (b.getWidth = function (a) { return a ? parseInt(domUtils.getComputedStyle(a, 'width'), 10) : 0; }), (b.getTableCellAlignState = function (a) { !utils.isArray(a) && (a = [a]); var b = {}, c = ['align', 'valign'], d = null, e = !0; return ( utils.each(a, function (a) { return ( utils.each(c, function (c) { if (((d = a.getAttribute(c)), !b[c] && d)) b[c] = d; else if (!b[c] || d !== b[c]) return (e = !1), !1; }), e ); }), e ? b : null ); }), (b.getTableItemsByRange = function (a) { var b = a.selection.getStart(); b && b.id && 0 === b.id.indexOf('_baidu_bookmark_start_') && b.nextSibling && (b = b.nextSibling); var c = b && domUtils.findParentByTagName(b, ['td', 'th'], !0), d = c && c.parentNode, e = b && domUtils.findParentByTagName(b, 'caption', !0), f = e ? e.parentNode : d && d.parentNode.parentNode; return { cell: c, tr: d, table: f, caption: e }; }), (b.getUETableBySelected = function (a) { var c = b.getTableItemsByRange(a).table; return c && c.ueTable && c.ueTable.selectedTds.length ? c.ueTable : null; }), (b.getDefaultValue = function (a, b) { var c, d, e, f, g = { thin: '0px', medium: '1px', thick: '2px' }; if (b) return ( (h = b.getElementsByTagName('td')[0]), (f = domUtils.getComputedStyle(b, 'border-left-width')), (c = parseInt(g[f] || f, 10)), (f = domUtils.getComputedStyle(h, 'padding-left')), (d = parseInt(g[f] || f, 10)), (f = domUtils.getComputedStyle(h, 'border-left-width')), (e = parseInt(g[f] || f, 10)), { tableBorder: c, tdPadding: d, tdBorder: e } ); (b = a.document.createElement('table')), (b.insertRow(0).insertCell(0).innerHTML = 'xxx'), a.body.appendChild(b); var h = b.getElementsByTagName('td')[0]; return ( (f = domUtils.getComputedStyle(b, 'border-left-width')), (c = parseInt(g[f] || f, 10)), (f = domUtils.getComputedStyle(h, 'padding-left')), (d = parseInt(g[f] || f, 10)), (f = domUtils.getComputedStyle(h, 'border-left-width')), (e = parseInt(g[f] || f, 10)), domUtils.remove(b), { tableBorder: c, tdPadding: d, tdBorder: e } ); }), (b.getUETable = function (a) { var c = a.tagName.toLowerCase(); return ( (a = 'td' == c || 'th' == c || 'caption' == c ? domUtils.findParentByTagName(a, 'table', !0) : a), a.ueTable || (a.ueTable = new b(a)), a.ueTable ); }), (b.cloneCell = function (a, b, c) { if (!a || utils.isString(a)) return this.table.ownerDocument.createElement(a || 'td'); var d = domUtils.hasClass(a, 'selectTdClass'); d && domUtils.removeClasses(a, 'selectTdClass'); var e = a.cloneNode(!0); return ( b && (e.rowSpan = e.colSpan = 1), !c && domUtils.removeAttributes(e, 'width height'), !c && domUtils.removeAttributes(e, 'style'), (e.style.borderLeftStyle = ''), (e.style.borderTopStyle = ''), (e.style.borderLeftColor = a.style.borderRightColor), (e.style.borderLeftWidth = a.style.borderRightWidth), (e.style.borderTopColor = a.style.borderBottomColor), (e.style.borderTopWidth = a.style.borderBottomWidth), d && domUtils.addClass(a, 'selectTdClass'), e ); }), (b.prototype = { getMaxRows: function () { for (var a, b = this.table.rows, c = 1, d = 0; (a = b[d]); d++) { for (var e, f = 1, g = 0; (e = a.cells[g++]); ) f = Math.max(e.rowSpan || 1, f); c = Math.max(f + d, c); } return c; }, getMaxCols: function () { for (var a, b = this.table.rows, c = 0, d = {}, e = 0; (a = b[e]); e++) { for (var f, g = 0, h = 0; (f = a.cells[h++]); ) if (((g += f.colSpan || 1), f.rowSpan && f.rowSpan > 1)) for (var i = 1; i < f.rowSpan; i++) d['row_' + (e + i)] ? d['row_' + (e + i)]++ : (d['row_' + (e + i)] = f.colSpan || 1); (g += d['row_' + e] || 0), (c = Math.max(g, c)); } return c; }, getCellColIndex: function (a) {}, getHSideCell: function (b, c) { try { var d, e, f = this.getCellInfo(b), g = this.selectedTds.length, h = this.cellsRange; return (!c && (g ? !h.beginColIndex : !f.colIndex)) || (c && (g ? h.endColIndex == this.colsNum - 1 : f.colIndex == this.colsNum - 1)) ? null : ((d = g ? h.beginRowIndex : f.rowIndex), (e = c ? g ? h.endColIndex + 1 : f.colIndex + 1 : g ? h.beginColIndex - 1 : f.colIndex < 1 ? 0 : f.colIndex - 1), this.getCell(this.indexTable[d][e].rowIndex, this.indexTable[d][e].cellIndex)); } catch (i) { a(i); } }, getTabNextCell: function (a, b) { var c, d = this.getCellInfo(a), e = b || d.rowIndex, f = d.colIndex + 1 + (d.colSpan - 1); try { c = this.getCell(this.indexTable[e][f].rowIndex, this.indexTable[e][f].cellIndex); } catch (g) { try { (e = 1 * e + 1), (f = 0), (c = this.getCell( this.indexTable[e][f].rowIndex, this.indexTable[e][f].cellIndex, )); } catch (g) {} } return c; }, getVSideCell: function (b, c, d) { try { var e, f, g = this.getCellInfo(b), h = this.selectedTds.length && !d, i = this.cellsRange; return (!c && 0 == g.rowIndex) || (c && (h ? i.endRowIndex == this.rowsNum - 1 : g.rowIndex + g.rowSpan > this.rowsNum - 1)) ? null : ((e = c ? h ? i.endRowIndex + 1 : g.rowIndex + g.rowSpan : h ? i.beginRowIndex - 1 : g.rowIndex - 1), (f = h ? i.beginColIndex : g.colIndex), this.getCell(this.indexTable[e][f].rowIndex, this.indexTable[e][f].cellIndex)); } catch (j) { a(j); } }, getSameEndPosCells: function (b, c) { try { for ( var d = 'x' === c.toLowerCase(), e = domUtils.getXY(b)[d ? 'x' : 'y'] + b['offset' + (d ? 'Width' : 'Height')], f = this.table.rows, g = null, h = [], i = 0; i < this.rowsNum; i++ ) { g = f[i].cells; for (var j, k = 0; (j = g[k++]); ) { var l = domUtils.getXY(j)[d ? 'x' : 'y'] + j['offset' + (d ? 'Width' : 'Height')]; if (l > e && d) break; if ((b == j || e == l) && (1 == j[d ? 'colSpan' : 'rowSpan'] && h.push(j), d)) break; } } return h; } catch (m) { a(m); } }, setCellContent: function (a, b) { a.innerHTML = b || (browser.ie ? domUtils.fillChar : '
'); }, cloneCell: b.cloneCell, getSameStartPosXCells: function (b) { try { for ( var c, d = domUtils.getXY(b).x + b.offsetWidth, e = this.table.rows, f = [], g = 0; g < this.rowsNum; g++ ) { c = e[g].cells; for (var h, i = 0; (h = c[i++]); ) { var j = domUtils.getXY(h).x; if (j > d) break; if (j == d && 1 == h.colSpan) { f.push(h); break; } } } return f; } catch (k) { a(k); } }, update: function (a) { (this.table = a || this.table), (this.selectedTds = []), (this.cellsRange = {}), (this.indexTable = []); for ( var b = this.table.rows, c = this.getMaxRows(), d = c - b.length, e = this.getMaxCols(); d--; ) this.table.insertRow(b.length); (this.rowsNum = c), (this.colsNum = e); for (var f = 0, g = b.length; f < g; f++) this.indexTable[f] = new Array(e); for (var h, i = 0; (h = b[i]); i++) for (var j, k = 0, l = h.cells; (j = l[k]); k++) { j.rowSpan > c && (j.rowSpan = c); for (var m = k, n = j.rowSpan || 1, o = j.colSpan || 1; this.indexTable[i][m]; ) m++; for (var p = 0; p < n; p++) for (var q = 0; q < o; q++) this.indexTable[i + p][m + q] = { rowIndex: i, cellIndex: k, colIndex: m, rowSpan: n, colSpan: o, }; } for (p = 0; p < c; p++) for (q = 0; q < e; q++) void 0 === this.indexTable[p][q] && ((h = b[p]), (j = h.cells[h.cells.length - 1]), (j = j ? j.cloneNode(!0) : this.table.ownerDocument.createElement('td')), this.setCellContent(j), 1 !== j.colSpan && (j.colSpan = 1), 1 !== j.rowSpan && (j.rowSpan = 1), h.appendChild(j), (this.indexTable[p][q] = { rowIndex: p, cellIndex: j.cellIndex, colIndex: q, rowSpan: 1, colSpan: 1, })); var r = domUtils.getElementsByTagName(this.table, 'td'), s = []; if ( (utils.each(r, function (a) { domUtils.hasClass(a, 'selectTdClass') && s.push(a); }), s.length) ) { var t = s[0], u = s[s.length - 1], v = this.getCellInfo(t), w = this.getCellInfo(u); (this.selectedTds = s), (this.cellsRange = { beginRowIndex: v.rowIndex, beginColIndex: v.colIndex, endRowIndex: w.rowIndex + w.rowSpan - 1, endColIndex: w.colIndex + w.colSpan - 1, }); } if (!domUtils.hasClass(this.table.rows[0], 'firstRow')) { domUtils.addClass(this.table.rows[0], 'firstRow'); for (var f = 1; f < this.table.rows.length; f++) domUtils.removeClasses(this.table.rows[f], 'firstRow'); } }, getCellInfo: function (a) { if (a) for ( var b = a.cellIndex, c = a.parentNode.rowIndex, d = this.indexTable[c], e = this.colsNum, f = b; f < e; f++ ) { var g = d[f]; if (g.rowIndex === c && g.cellIndex === b) return g; } }, getCell: function (a, b) { return (a < this.rowsNum && this.table.rows[a].cells[b]) || null; }, deleteCell: function (a, b) { b = 'number' == typeof b ? b : a.parentNode.rowIndex; var c = this.table.rows[b]; c.deleteCell(a.cellIndex); }, getCellsRange: function (a, b) { function c(a, b, e, f) { var g, h, i, j = a, k = b, l = e, m = f; if (a > 0) for (h = b; h < f; h++) (g = d.indexTable[a][h]), (i = g.rowIndex), i < a && (j = Math.min(i, j)); if (f < d.colsNum) for (i = a; i < e; i++) (g = d.indexTable[i][f]), (h = g.colIndex + g.colSpan - 1), h > f && (m = Math.max(h, m)); if (e < d.rowsNum) for (h = b; h < f; h++) (g = d.indexTable[e][h]), (i = g.rowIndex + g.rowSpan - 1), i > e && (l = Math.max(i, l)); if (b > 0) for (i = a; i < e; i++) (g = d.indexTable[i][b]), (h = g.colIndex), h < b && (k = Math.min(g.colIndex, k)); return j != a || k != b || l != e || m != f ? c(j, k, l, m) : { beginRowIndex: a, beginColIndex: b, endRowIndex: e, endColIndex: f }; } try { var d = this, e = d.getCellInfo(a); if (a === b) return { beginRowIndex: e.rowIndex, beginColIndex: e.colIndex, endRowIndex: e.rowIndex + e.rowSpan - 1, endColIndex: e.colIndex + e.colSpan - 1, }; var f = d.getCellInfo(b), g = Math.min(e.rowIndex, f.rowIndex), h = Math.min(e.colIndex, f.colIndex), i = Math.max(e.rowIndex + e.rowSpan - 1, f.rowIndex + f.rowSpan - 1), j = Math.max(e.colIndex + e.colSpan - 1, f.colIndex + f.colSpan - 1); return c(g, h, i, j); } catch (k) {} }, getCells: function (a) { this.clearSelected(); for ( var b, c, d, e = a.beginRowIndex, f = a.beginColIndex, g = a.endRowIndex, h = a.endColIndex, i = {}, j = [], k = e; k <= g; k++ ) for (var l = f; l <= h; l++) { (b = this.indexTable[k][l]), (c = b.rowIndex), (d = b.colIndex); var m = c + '|' + d; if (!i[m]) { if ( ((i[m] = 1), c < k || d < l || c + b.rowSpan - 1 > g || d + b.colSpan - 1 > h) ) return null; j.push(this.getCell(c, b.cellIndex)); } } return j; }, clearSelected: function () { b.removeSelectedClass(this.selectedTds), (this.selectedTds = []), (this.cellsRange = {}); }, setSelected: function (a) { var c = this.getCells(a); b.addSelectedClass(c), (this.selectedTds = c), (this.cellsRange = a); }, isFullRow: function () { var a = this.cellsRange; return a.endColIndex - a.beginColIndex + 1 == this.colsNum; }, isFullCol: function () { var a = this.cellsRange, b = this.table, c = b.getElementsByTagName('th'), d = a.endRowIndex - a.beginRowIndex + 1; return c.length ? d == this.rowsNum || d == this.rowsNum - 1 : d == this.rowsNum; }, getNextCell: function (b, c, d) { try { var e, f, g = this.getCellInfo(b), h = this.selectedTds.length && !d, i = this.cellsRange; return (!c && 0 == g.rowIndex) || (c && (h ? i.endRowIndex == this.rowsNum - 1 : g.rowIndex + g.rowSpan > this.rowsNum - 1)) ? null : ((e = c ? h ? i.endRowIndex + 1 : g.rowIndex + g.rowSpan : h ? i.beginRowIndex - 1 : g.rowIndex - 1), (f = h ? i.beginColIndex : g.colIndex), this.getCell(this.indexTable[e][f].rowIndex, this.indexTable[e][f].cellIndex)); } catch (j) { a(j); } }, getPreviewCell: function (b, c) { try { var d, e, f = this.getCellInfo(b), g = this.selectedTds.length, h = this.cellsRange; return (!c && (g ? !h.beginColIndex : !f.colIndex)) || (c && (g ? h.endColIndex == this.colsNum - 1 : f.rowIndex > this.colsNum - 1)) ? null : ((d = c ? g ? h.beginRowIndex : f.rowIndex < 1 ? 0 : f.rowIndex - 1 : g ? h.beginRowIndex : f.rowIndex), (e = c ? g ? h.endColIndex + 1 : f.colIndex : g ? h.beginColIndex - 1 : f.colIndex < 1 ? 0 : f.colIndex - 1), this.getCell(this.indexTable[d][e].rowIndex, this.indexTable[d][e].cellIndex)); } catch (i) { a(i); } }, moveContent: function (a, c) { if (!b.isEmptyBlock(c)) { if (b.isEmptyBlock(a)) return void (a.innerHTML = c.innerHTML); var d = a.lastChild; for ( (3 != d.nodeType && dtd.$block[d.tagName]) || a.appendChild(a.ownerDocument.createElement('br')); (d = c.firstChild); ) a.appendChild(d); } }, mergeRight: function (a) { var b = this.getCellInfo(a), c = b.colIndex + b.colSpan, d = this.indexTable[b.rowIndex][c], e = this.getCell(d.rowIndex, d.cellIndex); (a.colSpan = b.colSpan + d.colSpan), a.removeAttribute('width'), this.moveContent(a, e), this.deleteCell(e, d.rowIndex), this.update(); }, mergeDown: function (a) { var b = this.getCellInfo(a), c = b.rowIndex + b.rowSpan, d = this.indexTable[c][b.colIndex], e = this.getCell(d.rowIndex, d.cellIndex); (a.rowSpan = b.rowSpan + d.rowSpan), a.removeAttribute('height'), this.moveContent(a, e), this.deleteCell(e, d.rowIndex), this.update(); }, mergeRange: function () { var a = this.cellsRange, b = this.getCell( a.beginRowIndex, this.indexTable[a.beginRowIndex][a.beginColIndex].cellIndex, ); if ('TH' == b.tagName && a.endRowIndex !== a.beginRowIndex) { var c = this.indexTable, d = this.getCellInfo(b); (b = this.getCell(1, c[1][d.colIndex].cellIndex)), (a = this.getCellsRange( b, this.getCell( c[this.rowsNum - 1][d.colIndex].rowIndex, c[this.rowsNum - 1][d.colIndex].cellIndex, ), )); } for (var e, f = this.getCells(a), g = 0; (e = f[g++]); ) e !== b && (this.moveContent(b, e), this.deleteCell(e)); if ( ((b.rowSpan = a.endRowIndex - a.beginRowIndex + 1), b.rowSpan > 1 && b.removeAttribute('height'), (b.colSpan = a.endColIndex - a.beginColIndex + 1), b.colSpan > 1 && b.removeAttribute('width'), b.rowSpan == this.rowsNum && 1 != b.colSpan && (b.colSpan = 1), b.colSpan == this.colsNum && 1 != b.rowSpan) ) { var h = b.parentNode.rowIndex; if (this.table.deleteRow) for (var g = h + 1, i = h + 1, j = b.rowSpan; g < j; g++) this.table.deleteRow(i); else for (var g = 0, j = b.rowSpan - 1; g < j; g++) { var k = this.table.rows[h + 1]; k.parentNode.removeChild(k); } b.rowSpan = 1; } this.update(); }, insertRow: function (a, b) { function c(a, b, c) { if (0 == a) { var d = c.nextSibling || c.previousSibling, e = d.cells[a]; 'TH' == e.tagName && ((e = b.ownerDocument.createElement('th')), e.appendChild(b.firstChild), c.insertBefore(e, b), domUtils.remove(b)); } else if ('TH' == b.tagName) { var f = b.ownerDocument.createElement('td'); f.appendChild(b.firstChild), c.insertBefore(f, b), domUtils.remove(b); } } var d, e = this.colsNum, f = this.table, g = f.insertRow(a), h = 'string' == typeof b && 'TH' == b.toUpperCase(); if (0 == a || a == this.rowsNum) for (var i = 0; i < e; i++) (d = this.cloneCell(b, !0)), this.setCellContent(d), d.getAttribute('vAlign') && d.setAttribute('vAlign', d.getAttribute('vAlign')), g.appendChild(d), h || c(i, d, g); else { var j = this.indexTable[a]; for (i = 0; i < e; i++) { var k = j[i]; k.rowIndex < a ? ((d = this.getCell(k.rowIndex, k.cellIndex)), (d.rowSpan = k.rowSpan + 1)) : ((d = this.cloneCell(b, !0)), this.setCellContent(d), g.appendChild(d)), h || c(i, d, g); } } return this.update(), g; }, deleteRow: function (a) { for ( var b = this.table.rows[a], c = this.indexTable[a], d = this.colsNum, e = 0, f = 0; f < d; ) { var g = c[f], h = this.getCell(g.rowIndex, g.cellIndex); if (h.rowSpan > 1 && g.rowIndex == a) { var i = h.cloneNode(!0); (i.rowSpan = h.rowSpan - 1), (i.innerHTML = ''), (h.rowSpan = 1); var j, k = a + 1, l = this.table.rows[k], m = this.getPreviewMergedCellsNum(k, f) - e; m < f ? ((j = f - m - 1), domUtils.insertAfter(l.cells[j], i)) : l.cells.length && l.insertBefore(i, l.cells[0]), (e += 1); } f += h.colSpan || 1; } var n = [], o = {}; for (f = 0; f < d; f++) { var p = c[f].rowIndex, q = c[f].cellIndex, r = p + '_' + q; o[r] || ((o[r] = 1), (h = this.getCell(p, q)), n.push(h)); } var s = []; utils.each(n, function (a) { 1 == a.rowSpan ? a.parentNode.removeChild(a) : s.push(a); }), utils.each(s, function (a) { a.rowSpan--; }), b.parentNode.removeChild(b), this.update(); }, insertCol: function (a, b, c) { function d(a, b, c) { if (0 == a) { var d = b.nextSibling || b.previousSibling; 'TH' == d.tagName && ((d = b.ownerDocument.createElement('th')), d.appendChild(b.firstChild), c.insertBefore(d, b), domUtils.remove(b)); } else if ('TH' == b.tagName) { var e = b.ownerDocument.createElement('td'); e.appendChild(b.firstChild), c.insertBefore(e, b), domUtils.remove(b); } } var e, f, g, h = this.rowsNum, i = 0, j = parseInt( (this.table.offsetWidth - 20 * (this.colsNum + 1) - (this.colsNum + 1)) / (this.colsNum + 1), 10, ), k = 'string' == typeof b && 'TH' == b.toUpperCase(); if (0 == a || a == this.colsNum) for (; i < h; i++) (e = this.table.rows[i]), (g = e.cells[0 == a ? a : e.cells.length]), (f = this.cloneCell(b, !0)), this.setCellContent(f), f.setAttribute('vAlign', f.getAttribute('vAlign')), g && f.setAttribute('width', g.getAttribute('width')), a ? domUtils.insertAfter(e.cells[e.cells.length - 1], f) : e.insertBefore(f, e.cells[0]), k || d(i, f, e); else for (; i < h; i++) { var l = this.indexTable[i][a]; l.colIndex < a ? ((f = this.getCell(l.rowIndex, l.cellIndex)), (f.colSpan = l.colSpan + 1)) : ((e = this.table.rows[i]), (g = e.cells[l.cellIndex]), (f = this.cloneCell(b, !0)), this.setCellContent(f), f.setAttribute('vAlign', f.getAttribute('vAlign')), g && f.setAttribute('width', g.getAttribute('width')), g ? e.insertBefore(f, g) : e.appendChild(f)), k || d(i, f, e); } this.update(), this.updateWidth(j, c || { tdPadding: 10, tdBorder: 1 }); }, updateWidth: function (a, c) { var d = this.table, e = b.getWidth(d) - 2 * c.tdPadding - c.tdBorder + a; if (e < d.ownerDocument.body.offsetWidth) return void d.setAttribute('width', e); var f = domUtils.getElementsByTagName(this.table, 'td th'); utils.each(f, function (b) { b.setAttribute('width', a); }); }, deleteCol: function (a) { for ( var b = this.indexTable, c = this.table.rows, d = this.table.getAttribute('width'), e = 0, f = this.rowsNum, g = {}, h = 0; h < f; ) { var i = b[h], j = i[a], k = j.rowIndex + '_' + j.colIndex; if (!g[k]) { g[k] = 1; var l = this.getCell(j.rowIndex, j.cellIndex); e || (e = l && parseInt(l.offsetWidth / l.colSpan, 10).toFixed(0)), l.colSpan > 1 ? l.colSpan-- : c[h].deleteCell(j.cellIndex), (h += j.rowSpan || 1); } } this.table.setAttribute('width', d - e), this.update(); }, splitToCells: function (a) { var b = this, c = this.splitToRows(a); utils.each(c, function (a) { b.splitToCols(a); }); }, splitToRows: function (a) { var b = this.getCellInfo(a), c = b.rowIndex, d = b.colIndex, e = []; (a.rowSpan = 1), e.push(a); for (var f = c, g = c + b.rowSpan; f < g; f++) if (f != c) { var h = this.table.rows[f], i = h.insertCell(d - this.getPreviewMergedCellsNum(f, d)); (i.colSpan = b.colSpan), this.setCellContent(i), i.setAttribute('vAlign', a.getAttribute('vAlign')), i.setAttribute('align', a.getAttribute('align')), a.style.cssText && (i.style.cssText = a.style.cssText), e.push(i); } return this.update(), e; }, getPreviewMergedCellsNum: function (a, b) { for (var c = this.indexTable[a], d = 0, e = 0; e < b; ) { var f = c[e].colSpan, g = c[e].rowIndex; (d += f - (g == a ? 1 : 0)), (e += f); } return d; }, splitToCols: function (a) { var b = (a.offsetWidth / a.colSpan - 22).toFixed(0), c = this.getCellInfo(a), d = c.rowIndex, e = c.colIndex, f = []; (a.colSpan = 1), a.setAttribute('width', b), f.push(a); for (var g = e, h = e + c.colSpan; g < h; g++) if (g != e) { var i = this.table.rows[d], j = i.insertCell(this.indexTable[d][g].cellIndex + 1); if ( ((j.rowSpan = c.rowSpan), this.setCellContent(j), j.setAttribute('vAlign', a.getAttribute('vAlign')), j.setAttribute('align', a.getAttribute('align')), j.setAttribute('width', b), a.style.cssText && (j.style.cssText = a.style.cssText), 'TH' == a.tagName) ) { var k = a.ownerDocument.createElement('th'); k.appendChild(j.firstChild), k.setAttribute('vAlign', a.getAttribute('vAlign')), (k.rowSpan = j.rowSpan), i.insertBefore(k, j), domUtils.remove(j); } f.push(j); } return this.update(), f; }, isLastCell: function (a, b, c) { (b = b || this.rowsNum), (c = c || this.colsNum); var d = this.getCellInfo(a); return d.rowIndex + d.rowSpan == b && d.colIndex + d.colSpan == c; }, getLastCell: function (a) { a = a || this.table.getElementsByTagName('td'); var b, c = (this.getCellInfo(a[0]), this), d = a[0], e = d.parentNode, f = 0, g = 0; return ( utils.each(a, function (a) { a.parentNode == e && (g += a.colSpan || 1), (f += a.rowSpan * a.colSpan || 1); }), (b = f / g), utils.each(a, function (a) { if (c.isLastCell(a, b, g)) return (d = a), !1; }), d ); }, selectRow: function (a) { var b = this.indexTable[a], c = this.getCell(b[0].rowIndex, b[0].cellIndex), d = this.getCell(b[this.colsNum - 1].rowIndex, b[this.colsNum - 1].cellIndex), e = this.getCellsRange(c, d); this.setSelected(e); }, selectTable: function () { var a = this.table.getElementsByTagName('td'), b = this.getCellsRange(a[0], a[a.length - 1]); this.setSelected(b); }, setBackground: function (a, b) { if ('string' == typeof b) utils.each(a, function (a) { a.style.backgroundColor = b; }); else if ('object' == typeof b) { b = utils.extend({ repeat: !0, colorList: ['#ddd', '#fff'] }, b); for ( var c, d = this.getCellInfo(a[0]).rowIndex, e = 0, f = b.colorList, g = function (a, b, c) { return a[b] ? a[b] : c ? a[b % a.length] : ''; }, h = 0; (c = a[h++]); ) { var i = this.getCellInfo(c); c.style.backgroundColor = g(f, d + e == i.rowIndex ? e : ++e, b.repeat); } } }, removeBackground: function (a) { utils.each(a, function (a) { a.style.backgroundColor = ''; }); }, }); })(), (function () { function a(a, c) { var d = domUtils.getElementsByTagName(a, 'td th'); utils.each(d, function (a) { a.removeAttribute('width'); }), a.setAttribute('width', b(c, !0, g(c, a))); var e = []; setTimeout(function () { utils.each(d, function (a) { 1 == a.colSpan && e.push(a.offsetWidth); }), utils.each(d, function (a, b) { 1 == a.colSpan && a.setAttribute('width', e[b] + ''); }); }, 0); } function b(a, b, c) { var d = a.body; return ( d.offsetWidth - (b ? 2 * parseInt(domUtils.getComputedStyle(d, 'margin-left'), 10) : 0) - 2 * c.tableBorder - (a.options.offsetWidth || 0) ); } function c(a) { var b = e(a).cell; if (b) { var c = h(b); return c.selectedTds.length ? c.selectedTds : [b]; } return []; } var d = UE.UETable, e = function (a) { return d.getTableItemsByRange(a); }, f = function (a) { return d.getUETableBySelected(a); }, g = function (a, b) { return d.getDefaultValue(a, b); }, h = function (a) { return d.getUETable(a); }; (UE.commands.inserttable = { queryCommandState: function () { return e(this).table ? -1 : 0; }, execCommand: function (a, b) { function c(a, b) { for (var c = [], d = a.numRows, e = a.numCols, f = 0; f < d; f++) { c.push(''); for (var g = 0; g < e; g++) c.push( '
', ); c.push(''); } return '
' + (browser.ie && browser.version < 11 ? domUtils.fillChar : '
') + '
' + c.join('') + '
'; } b || (b = utils.extend( {}, { numCols: this.options.defaultCols, numRows: this.options.defaultRows, tdvalign: this.options.tdvalign, }, )); var d = this, e = this.selection.getRange(), f = e.startContainer, h = domUtils.findParent( f, function (a) { return domUtils.isBlockElm(a); }, !0, ) || d.body, i = g(d), j = h.offsetWidth, k = Math.floor(j / b.numCols - 2 * i.tdPadding - i.tdBorder); !b.tdvalign && (b.tdvalign = d.options.tdvalign), d.execCommand('inserthtml', c(b, k)); }, }), (UE.commands.insertparagraphbeforetable = { queryCommandState: function () { return e(this).cell ? 0 : -1; }, execCommand: function () { var a = e(this).table; if (a) { var b = this.document.createElement('p'); (b.innerHTML = browser.ie ? ' ' : '
'), a.parentNode.insertBefore(b, a), this.selection.getRange().setStart(b, 0).setCursor(); } }, }), (UE.commands.deletetable = { queryCommandState: function () { var a = this.selection.getRange(); return domUtils.findParentByTagName(a.startContainer, 'table', !0) ? 0 : -1; }, execCommand: function (a, b) { var c = this.selection.getRange(); if ((b = b || domUtils.findParentByTagName(c.startContainer, 'table', !0))) { var d = b.nextSibling; d || ((d = domUtils.createElement(this.document, 'p', { innerHTML: browser.ie ? domUtils.fillChar : '
', })), b.parentNode.insertBefore(d, b)), domUtils.remove(b), (c = this.selection.getRange()), 3 == d.nodeType ? c.setStartBefore(d) : c.setStart(d, 0), c.setCursor(!1, !0), this.fireEvent('tablehasdeleted'); } }, }), (UE.commands.cellalign = { queryCommandState: function () { return c(this).length ? 0 : -1; }, execCommand: function (a, b) { var d = c(this); if (d.length) for (var e, f = 0; (e = d[f++]); ) e.setAttribute('align', b); }, }), (UE.commands.cellvalign = { queryCommandState: function () { return c(this).length ? 0 : -1; }, execCommand: function (a, b) { var d = c(this); if (d.length) for (var e, f = 0; (e = d[f++]); ) e.setAttribute('vAlign', b); }, }), (UE.commands.insertcaption = { queryCommandState: function () { var a = e(this).table; return a && 0 == a.getElementsByTagName('caption').length ? 1 : -1; }, execCommand: function () { var a = e(this).table; if (a) { var b = this.document.createElement('caption'); (b.innerHTML = browser.ie ? domUtils.fillChar : '
'), a.insertBefore(b, a.firstChild); var c = this.selection.getRange(); c.setStart(b, 0).setCursor(); } }, }), (UE.commands.deletecaption = { queryCommandState: function () { var a = this.selection.getRange(), b = domUtils.findParentByTagName(a.startContainer, 'table'); return b ? (0 == b.getElementsByTagName('caption').length ? -1 : 1) : -1; }, execCommand: function () { var a = this.selection.getRange(), b = domUtils.findParentByTagName(a.startContainer, 'table'); if (b) { domUtils.remove(b.getElementsByTagName('caption')[0]); var c = this.selection.getRange(); c.setStart(b.rows[0].cells[0], 0).setCursor(); } }, }), (UE.commands.inserttitle = { queryCommandState: function () { var a = e(this).table; if (a) { var b = a.rows[0]; return 'th' != b.cells[b.cells.length - 1].tagName.toLowerCase() ? 0 : -1; } return -1; }, execCommand: function () { var a = e(this).table; a && h(a).insertRow(0, 'th'); var b = a.getElementsByTagName('th')[0]; this.selection.getRange().setStart(b, 0).setCursor(!1, !0); }, }), (UE.commands.deletetitle = { queryCommandState: function () { var a = e(this).table; if (a) { var b = a.rows[0]; return 'th' == b.cells[b.cells.length - 1].tagName.toLowerCase() ? 0 : -1; } return -1; }, execCommand: function () { var a = e(this).table; a && domUtils.remove(a.rows[0]); var b = a.getElementsByTagName('td')[0]; this.selection.getRange().setStart(b, 0).setCursor(!1, !0); }, }), (UE.commands.inserttitlecol = { queryCommandState: function () { var a = e(this).table; if (a) { var b = a.rows[a.rows.length - 1]; return b.getElementsByTagName('th').length ? -1 : 0; } return -1; }, execCommand: function (b) { var c = e(this).table; c && h(c).insertCol(0, 'th'), a(c, this); var d = c.getElementsByTagName('th')[0]; this.selection.getRange().setStart(d, 0).setCursor(!1, !0); }, }), (UE.commands.deletetitlecol = { queryCommandState: function () { var a = e(this).table; if (a) { var b = a.rows[a.rows.length - 1]; return b.getElementsByTagName('th').length ? 0 : -1; } return -1; }, execCommand: function () { var b = e(this).table; if (b) for (var c = 0; c < b.rows.length; c++) domUtils.remove(b.rows[c].children[0]); a(b, this); var d = b.getElementsByTagName('td')[0]; this.selection.getRange().setStart(d, 0).setCursor(!1, !0); }, }), (UE.commands.mergeright = { queryCommandState: function (a) { var b = e(this), c = b.table, d = b.cell; if (!c || !d) return -1; var f = h(c); if (f.selectedTds.length) return -1; var g = f.getCellInfo(d), i = g.colIndex + g.colSpan; if (i >= f.colsNum) return -1; var j = f.indexTable[g.rowIndex][i], k = c.rows[j.rowIndex].cells[j.cellIndex]; return k && d.tagName == k.tagName && j.rowIndex == g.rowIndex && j.rowSpan == g.rowSpan ? 0 : -1; }, execCommand: function (a) { var b = this.selection.getRange(), c = b.createBookmark(!0), d = e(this).cell, f = h(d); f.mergeRight(d), b.moveToBookmark(c).select(); }, }), (UE.commands.mergedown = { queryCommandState: function (a) { var b = e(this), c = b.table, d = b.cell; if (!c || !d) return -1; var f = h(c); if (f.selectedTds.length) return -1; var g = f.getCellInfo(d), i = g.rowIndex + g.rowSpan; if (i >= f.rowsNum) return -1; var j = f.indexTable[i][g.colIndex], k = c.rows[j.rowIndex].cells[j.cellIndex]; return k && d.tagName == k.tagName && j.colIndex == g.colIndex && j.colSpan == g.colSpan ? 0 : -1; }, execCommand: function () { var a = this.selection.getRange(), b = a.createBookmark(!0), c = e(this).cell, d = h(c); d.mergeDown(c), a.moveToBookmark(b).select(); }, }), (UE.commands.mergecells = { queryCommandState: function () { return f(this) ? 0 : -1; }, execCommand: function () { var a = f(this); if (a && a.selectedTds.length) { var b = a.selectedTds[0]; a.mergeRange(); var c = this.selection.getRange(); domUtils.isEmptyBlock(b) ? c.setStart(b, 0).collapse(!0) : c.selectNodeContents(b), c.select(); } }, }), (UE.commands.insertrow = { queryCommandState: function () { var a = e(this), b = a.cell; return b && ('TD' == b.tagName || ('TH' == b.tagName && a.tr !== a.table.rows[0])) && h(a.table).rowsNum < this.options.maxRowNum ? 0 : -1; }, execCommand: function () { var a = this.selection.getRange(), b = a.createBookmark(!0), c = e(this), d = c.cell, f = c.table, g = h(f), i = g.getCellInfo(d); if (g.selectedTds.length) for (var j = g.cellsRange, k = 0, l = j.endRowIndex - j.beginRowIndex + 1; k < l; k++) g.insertRow(j.beginRowIndex, d); else g.insertRow(i.rowIndex, d); a.moveToBookmark(b).select(), 'enabled' === f.getAttribute('interlaced') && this.fireEvent('interlacetable', f); }, }), (UE.commands.insertrownext = { queryCommandState: function () { var a = e(this), b = a.cell; return b && 'TD' == b.tagName && h(a.table).rowsNum < this.options.maxRowNum ? 0 : -1; }, execCommand: function () { var a = this.selection.getRange(), b = a.createBookmark(!0), c = e(this), d = c.cell, f = c.table, g = h(f), i = g.getCellInfo(d); if (g.selectedTds.length) for (var j = g.cellsRange, k = 0, l = j.endRowIndex - j.beginRowIndex + 1; k < l; k++) g.insertRow(j.endRowIndex + 1, d); else g.insertRow(i.rowIndex + i.rowSpan, d); a.moveToBookmark(b).select(), 'enabled' === f.getAttribute('interlaced') && this.fireEvent('interlacetable', f); }, }), (UE.commands.deleterow = { queryCommandState: function () { var a = e(this); return a.cell ? 0 : -1; }, execCommand: function () { var a = e(this).cell, b = h(a), c = b.cellsRange, d = b.getCellInfo(a), f = b.getVSideCell(a), g = b.getVSideCell(a, !0), i = this.selection.getRange(); if (utils.isEmptyObject(c)) b.deleteRow(d.rowIndex); else for (var j = c.beginRowIndex; j < c.endRowIndex + 1; j++) b.deleteRow(c.beginRowIndex); var k = b.table; if (k.getElementsByTagName('td').length) if (1 == d.rowSpan || d.rowSpan == c.endRowIndex - c.beginRowIndex + 1) (g || f) && i.selectNodeContents(g || f).setCursor(!1, !0); else { var l = b.getCell(d.rowIndex, b.indexTable[d.rowIndex][d.colIndex].cellIndex); l && i.selectNodeContents(l).setCursor(!1, !0); } else { var m = k.nextSibling; domUtils.remove(k), m && i.setStart(m, 0).setCursor(!1, !0); } 'enabled' === k.getAttribute('interlaced') && this.fireEvent('interlacetable', k); }, }), (UE.commands.insertcol = { queryCommandState: function (a) { var b = e(this), c = b.cell; return c && ('TD' == c.tagName || ('TH' == c.tagName && c !== b.tr.cells[0])) && h(b.table).colsNum < this.options.maxColNum ? 0 : -1; }, execCommand: function (a) { var b = this.selection.getRange(), c = b.createBookmark(!0); if (this.queryCommandState(a) != -1) { var d = e(this).cell, f = h(d), g = f.getCellInfo(d); if (f.selectedTds.length) for ( var i = f.cellsRange, j = 0, k = i.endColIndex - i.beginColIndex + 1; j < k; j++ ) f.insertCol(i.beginColIndex, d); else f.insertCol(g.colIndex, d); b.moveToBookmark(c).select(!0); } }, }), (UE.commands.insertcolnext = { queryCommandState: function () { var a = e(this), b = a.cell; return b && h(a.table).colsNum < this.options.maxColNum ? 0 : -1; }, execCommand: function () { var a = this.selection.getRange(), b = a.createBookmark(!0), c = e(this).cell, d = h(c), f = d.getCellInfo(c); if (d.selectedTds.length) for (var g = d.cellsRange, i = 0, j = g.endColIndex - g.beginColIndex + 1; i < j; i++) d.insertCol(g.endColIndex + 1, c); else d.insertCol(f.colIndex + f.colSpan, c); a.moveToBookmark(b).select(); }, }), (UE.commands.deletecol = { queryCommandState: function () { var a = e(this); return a.cell ? 0 : -1; }, execCommand: function () { var a = e(this).cell, b = h(a), c = b.cellsRange, d = b.getCellInfo(a), f = b.getHSideCell(a), g = b.getHSideCell(a, !0); if (utils.isEmptyObject(c)) b.deleteCol(d.colIndex); else for (var i = c.beginColIndex; i < c.endColIndex + 1; i++) b.deleteCol(c.beginColIndex); var j = b.table, k = this.selection.getRange(); if (j.getElementsByTagName('td').length) domUtils.inDoc(a, this.document) ? k.setStart(a, 0).setCursor(!1, !0) : g && domUtils.inDoc(g, this.document) ? k.selectNodeContents(g).setCursor(!1, !0) : f && domUtils.inDoc(f, this.document) && k.selectNodeContents(f).setCursor(!0, !0); else { var l = j.nextSibling; domUtils.remove(j), l && k.setStart(l, 0).setCursor(!1, !0); } }, }), (UE.commands.splittocells = { queryCommandState: function () { var a = e(this), b = a.cell; if (!b) return -1; var c = h(a.table); return c.selectedTds.length > 0 ? -1 : b && (b.colSpan > 1 || b.rowSpan > 1) ? 0 : -1; }, execCommand: function () { var a = this.selection.getRange(), b = a.createBookmark(!0), c = e(this).cell, d = h(c); d.splitToCells(c), a.moveToBookmark(b).select(); }, }), (UE.commands.splittorows = { queryCommandState: function () { var a = e(this), b = a.cell; if (!b) return -1; var c = h(a.table); return c.selectedTds.length > 0 ? -1 : b && b.rowSpan > 1 ? 0 : -1; }, execCommand: function () { var a = this.selection.getRange(), b = a.createBookmark(!0), c = e(this).cell, d = h(c); d.splitToRows(c), a.moveToBookmark(b).select(); }, }), (UE.commands.splittocols = { queryCommandState: function () { var a = e(this), b = a.cell; if (!b) return -1; var c = h(a.table); return c.selectedTds.length > 0 ? -1 : b && b.colSpan > 1 ? 0 : -1; }, execCommand: function () { var a = this.selection.getRange(), b = a.createBookmark(!0), c = e(this).cell, d = h(c); d.splitToCols(c), a.moveToBookmark(b).select(); }, }), (UE.commands.adaptbytext = UE.commands.adaptbywindow = { queryCommandState: function () { return e(this).table ? 0 : -1; }, execCommand: function (b) { var c = e(this), d = c.table; if (d) if ('adaptbywindow' == b) a(d, this); else { var f = domUtils.getElementsByTagName(d, 'td th'); utils.each(f, function (a) { a.removeAttribute('width'); }), d.removeAttribute('width'); } }, }), (UE.commands.averagedistributecol = { queryCommandState: function () { var a = f(this); return a && (a.isFullRow() || a.isFullCol()) ? 0 : -1; }, execCommand: function (a) { function b() { var a, b = e.table, c = 0, f = 0, h = g(d, b); if (e.isFullRow()) (c = b.offsetWidth), (f = e.colsNum); else for ( var i, j = e.cellsRange.beginColIndex, k = e.cellsRange.endColIndex, l = j; l <= k; ) (i = e.selectedTds[l]), (c += i.offsetWidth), (l += i.colSpan), (f += 1); return (a = Math.ceil(c / f) - 2 * h.tdBorder - 2 * h.tdPadding); } function c(a) { utils.each(domUtils.getElementsByTagName(e.table, 'th'), function (a) { a.setAttribute('width', ''); }); var b = e.isFullRow() ? domUtils.getElementsByTagName(e.table, 'td') : e.selectedTds; utils.each(b, function (b) { 1 == b.colSpan && b.setAttribute('width', a); }); } var d = this, e = f(d); e && e.selectedTds.length && c(b()); }, }), (UE.commands.averagedistributerow = { queryCommandState: function () { var a = f(this); return a ? a.selectedTds && /th/gi.test(a.selectedTds[0].tagName) ? -1 : a.isFullRow() || a.isFullCol() ? 0 : -1 : -1; }, execCommand: function (a) { function b() { var a, b, c = 0, f = e.table, h = g(d, f), i = parseInt( domUtils.getComputedStyle(f.getElementsByTagName('td')[0], 'padding-top'), ); if (e.isFullCol()) { var j, k, l = domUtils.getElementsByTagName(f, 'caption'), m = domUtils.getElementsByTagName(f, 'th'); l.length > 0 && (j = l[0].offsetHeight), m.length > 0 && (k = m[0].offsetHeight), (c = f.offsetHeight - (j || 0) - (k || 0)), (b = 0 == m.length ? e.rowsNum : e.rowsNum - 1); } else { for ( var n = e.cellsRange.beginRowIndex, o = e.cellsRange.endRowIndex, p = 0, q = domUtils.getElementsByTagName(f, 'tr'), r = n; r <= o; r++ ) (c += q[r].offsetHeight), (p += 1); b = p; } return (a = browser.ie && browser.version < 9 ? Math.ceil(c / b) : Math.ceil(c / b) - 2 * h.tdBorder - 2 * i); } function c(a) { var b = e.isFullCol() ? domUtils.getElementsByTagName(e.table, 'td') : e.selectedTds; utils.each(b, function (b) { 1 == b.rowSpan && b.setAttribute('height', a); }); } var d = this, e = f(d); e && e.selectedTds.length && c(b()); }, }), (UE.commands.cellalignment = { queryCommandState: function () { return e(this).table ? 0 : -1; }, execCommand: function (a, b) { var c = this, d = f(c); if (d) utils.each(d.selectedTds, function (a) { domUtils.setAttributes(a, b); }); else { var e = c.selection.getStart(), g = e && domUtils.findParentByTagName(e, ['td', 'th', 'caption'], !0); /caption/gi.test(g.tagName) ? ((g.style.textAlign = b.align), (g.style.verticalAlign = b.vAlign)) : domUtils.setAttributes(g, b), c.selection.getRange().setCursor(!0); } }, queryCommandValue: function (a) { var b = e(this).cell; if ((b || (b = c(this)[0]), b)) { var d = UE.UETable.getUETable(b).selectedTds; return !d.length && (d = b), UE.UETable.getTableCellAlignState(d); } return null; }, }), (UE.commands.tablealignment = { queryCommandState: function () { return browser.ie && browser.version < 8 ? -1 : e(this).table ? 0 : -1; }, execCommand: function (a, b) { var c = this, d = c.selection.getStart(), e = d && domUtils.findParentByTagName(d, ['table'], !0); e && e.setAttribute('align', b); }, }), (UE.commands.edittable = { queryCommandState: function () { return e(this).table ? 0 : -1; }, execCommand: function (a, b) { var c = this.selection.getRange(), d = domUtils.findParentByTagName(c.startContainer, 'table'); if (d) { var e = domUtils .getElementsByTagName(d, 'td') .concat( domUtils.getElementsByTagName(d, 'th'), domUtils.getElementsByTagName(d, 'caption'), ); utils.each(e, function (a) { a.style.borderColor = b; }); } }, }), (UE.commands.edittd = { queryCommandState: function () { return e(this).table ? 0 : -1; }, execCommand: function (a, b) { var c = this, d = f(c); if (d) utils.each(d.selectedTds, function (a) { a.style.backgroundColor = b; }); else { var e = c.selection.getStart(), g = e && domUtils.findParentByTagName(e, ['td', 'th', 'caption'], !0); g && (g.style.backgroundColor = b); } }, }), (UE.commands.settablebackground = { queryCommandState: function () { return c(this).length > 1 ? 0 : -1; }, execCommand: function (a, b) { var d, e; (d = c(this)), (e = h(d[0])), e.setBackground(d, b); }, }), (UE.commands.cleartablebackground = { queryCommandState: function () { var a = c(this); if (!a.length) return -1; for (var b, d = 0; (b = a[d++]); ) if ('' !== b.style.backgroundColor) return 0; return -1; }, execCommand: function () { var a = c(this), b = h(a[0]); b.removeBackground(a); }, }), (UE.commands.interlacetable = UE.commands.uninterlacetable = { queryCommandState: function (a) { var b = e(this).table; if (!b) return -1; var c = b.getAttribute('interlaced'); return 'interlacetable' == a ? 'enabled' === c ? -1 : 0 : c && 'disabled' !== c ? 0 : -1; }, execCommand: function (a, b) { var c = e(this).table; 'interlacetable' == a ? (c.setAttribute('interlaced', 'enabled'), this.fireEvent('interlacetable', c, b)) : (c.setAttribute('interlaced', 'disabled'), this.fireEvent('uninterlacetable', c)); }, }), (UE.commands.setbordervisible = { queryCommandState: function (a) { var b = e(this).table; return b ? 0 : -1; }, execCommand: function () { var a = e(this).table; utils.each(domUtils.getElementsByTagName(a, 'td'), function (a) { (a.style.borderWidth = '1px'), (a.style.borderStyle = 'solid'); }); }, }); })(), (UE.plugins.table = function () { function a(a) {} function b(a, b) { c(a, 'width', !0), c(a, 'height', !0); } function c(a, b, c) { a.style[b] && (c && a.setAttribute(b, parseInt(a.style[b], 10)), (a.style[b] = '')); } function d(a) { if ('TD' == a.tagName || 'TH' == a.tagName) return a; var b; return (b = domUtils.findParentByTagName(a, 'td', !0) || domUtils.findParentByTagName(a, 'th', !0)) ? b : null; } function e(a) { var b = new RegExp(domUtils.fillChar, 'g'); if ( a[browser.ie ? 'innerText' : 'textContent'].replace(/^\s*$/, '').replace(b, '').length > 0 ) return 0; for (var c in dtd.$isNotEmpty) if (a.getElementsByTagName(c).length) return 0; return 1; } function f(a) { return a.pageX || a.pageY ? { x: a.pageX, y: a.pageY } : { x: a.clientX + N.document.body.scrollLeft - N.document.body.clientLeft, y: a.clientY + N.document.body.scrollTop - N.document.body.clientTop, }; } function g(b) { if (!A()) try { var c, e = d(b.target || b.srcElement); if ( (R && ((N.body.style.webkitUserSelect = 'none'), (Math.abs(V.x - b.clientX) > T || Math.abs(V.y - b.clientY) > T) && (t(), (R = !1), (U = 0), v(b))), ca && ha) ) return ( (U = 0), (N.body.style.webkitUserSelect = 'none'), N.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](), (c = f(b)), m(N, !0, ca, c, e), void ('h' == ca ? (ga.style.left = k(ha, b) + 'px') : 'v' == ca && (ga.style.top = l(ha, b) + 'px')) ); if (e) { if (N.fireEvent('excludetable', e) === !0) return; c = f(b); var g = n(e, c), i = domUtils.findParentByTagName(e, 'table', !0); if (j(i, e, b, !0)) { if (N.fireEvent('excludetable', i) === !0) return; N.body.style.cursor = 'url(' + N.options.cursorpath + 'h.png),pointer'; } else if (j(i, e, b)) { if (N.fireEvent('excludetable', i) === !0) return; N.body.style.cursor = 'url(' + N.options.cursorpath + 'v.png),pointer'; } else { N.body.style.cursor = 'text'; /\d/.test(g) && ((g = g.replace(/\d/, '')), (e = Y(e).getPreviewCell(e, 'v' == g))), m(N, !!e && !!g, e ? g : '', c, e); } } else h(!1, i, N); } catch (o) { a(o); } } function h(a, b, c) { if (a) i(b, c); else { if (fa) return; la = setTimeout(function () { !fa && ea && ea.parentNode && ea.parentNode.removeChild(ea); }, 2e3); } } function i(a, b) { function c(c, d) { clearTimeout(g), (g = setTimeout(function () { b.fireEvent('tableClicked', a, d); }, 300)); } function d(c) { clearTimeout(g); var d = Y(a), e = a.rows[0].cells[0], f = d.getLastCell(), h = d.getCellsRange(e, f); b.selection.getRange().setStart(e, 0).setCursor(!1, !0), d.setSelected(h); } var e = domUtils.getXY(a), f = a.ownerDocument; if (ea && ea.parentNode) return ea; (ea = f.createElement('div')), (ea.contentEditable = !1), (ea.innerHTML = ''), (ea.style.cssText = 'width:15px;height:15px;background-image:url(' + b.options.UEDITOR_HOME_URL + 'dialogs/table/dragicon.png);position: absolute;cursor:move;top:' + (e.y - 15) + 'px;left:' + e.x + 'px;'), domUtils.unSelectable(ea), (ea.onmouseover = function (a) { fa = !0; }), (ea.onmouseout = function (a) { fa = !1; }), domUtils.on(ea, 'click', function (a, b) { c(b, this); }), domUtils.on(ea, 'dblclick', function (a, b) { d(b); }), domUtils.on(ea, 'dragstart', function (a, b) { domUtils.preventDefault(b); }); var g; f.body.appendChild(ea); } function j(a, b, c, d) { var e = f(c), g = n(b, e); if (d) { var h = a.getElementsByTagName('caption')[0], i = h ? h.offsetHeight : 0; return 'v1' == g && e.y - domUtils.getXY(a).y - i < 8; } return 'h1' == g && e.x - domUtils.getXY(a).x < 8; } function k(a, b) { var c = Y(a); if (c) { var d = c.getSameEndPosCells(a, 'x')[0], e = c.getSameStartPosXCells(a)[0], g = f(b).x, h = (d ? domUtils.getXY(d).x : domUtils.getXY(c.table).x) + 20, i = e ? domUtils.getXY(e).x + e.offsetWidth - 20 : N.body.offsetWidth + 5 || parseInt(domUtils.getComputedStyle(N.body, 'width'), 10); return (h += Q), (i -= Q), g < h ? h : g > i ? i : g; } } function l(b, c) { try { var d = domUtils.getXY(b).y, e = f(c).y; return e < d ? d : e; } catch (g) { a(g); } } function m(b, c, d, e, f) { try { (b.body.style.cursor = 'h' == d ? 'col-resize' : 'v' == d ? 'row-resize' : 'text'), browser.ie && (!d || ia || Z(b) ? I(b) : (H(b, b.document), J(d, f))), (da = c); } catch (g) { a(g); } } function n(a, b) { var c = domUtils.getXY(a); return c ? c.x + a.offsetWidth - b.x < S ? 'h' : b.x - c.x < S ? 'h1' : c.y + a.offsetHeight - b.y < S ? 'v' : b.y - c.y < S ? 'v1' : '' : ''; } function o(a, b) { if (!A()) if (((V = { x: b.clientX, y: b.clientY }), 2 == b.button)) { var c = Z(N), d = !1; if (c) { var e = M(N, b); utils.each(c.selectedTds, function (a) { a === e && (d = !0); }), d ? ((e = c.selectedTds[0]), setTimeout(function () { N.selection.getRange().setStart(e, 0).setCursor(!1, !0); }, 0)) : (_(domUtils.getElementsByTagName(N.body, 'th td')), c.clearSelected()); } } else q(b); } function p(a) { (U = 0), (a = a || N.window.event); var b = d(a.target || a.srcElement); if (b) { var c; if ((c = n(b, f(a)))) { if ((I(N), 'h1' == c)) if (((c = 'h'), j(domUtils.findParentByTagName(b, 'table'), b, a))) N.execCommand('adaptbywindow'); else if ((b = Y(b).getPreviewCell(b))) { var e = N.selection.getRange(); e.selectNodeContents(b).setCursor(!0, !0); } if ('h' == c) { var g = Y(b), h = g.table, i = C(b, h, !0); (i = s(i, 'left')), (g.width = g.offsetWidth); var k = [], l = []; utils.each(i, function (a) { k.push(a.offsetWidth); }), utils.each(i, function (a) { a.removeAttribute('width'); }), window.setTimeout(function () { var a = !0; utils.each(i, function (b, c) { var d = b.offsetWidth; return d > k[c] ? ((a = !1), !1) : void l.push(d); }); var b = a ? l : k; utils.each(i, function (a, c) { a.width = b[c] - G(); }); }, 0); } } } } function q(a) { if ( (_(domUtils.getElementsByTagName(N.body, 'td th')), utils.each(N.document.getElementsByTagName('table'), function (a) { a.ueTable = null; }), (aa = M(N, a))) ) { var b = domUtils.findParentByTagName(aa, 'table', !0); (ut = Y(b)), ut && ut.clearSelected(), da ? r(a) : ((N.document.body.style.webkitUserSelect = ''), (ia = !0), N.addListener('mouseover', x)); } } function r(a) { browser.ie && (a = u(a)), t(), (R = !0), (O = setTimeout(function () { v(a); }, W)); } function s(a, b) { for (var c = [], d = null, e = 0, f = a.length; e < f; e++) (d = a[e][b]), d && c.push(d); return c; } function t() { O && clearTimeout(O), (O = null); } function u(a) { var b = ['pageX', 'pageY', 'clientX', 'clientY', 'srcElement', 'target'], c = {}; if (a) for (var d, e, f = 0; (d = b[f]); f++) (e = a[d]), e && (c[d] = e); return c; } function v(a) { if (((R = !1), (aa = a.target || a.srcElement))) { var b = n(aa, f(a)); /\d/.test(b) && ((b = b.replace(/\d/, '')), (aa = Y(aa).getPreviewCell(aa, 'v' == b))), I(N), H(N, N.document), N.fireEvent('saveScene'), J(b, aa), (ia = !0), (ca = b), (ha = aa); } } function w(a, b) { if (!A()) { if ( (t(), (R = !1), da && ((U = ++U % 3), (V = { x: b.clientX, y: b.clientY }), (P = setTimeout(function () { U > 0 && U--; }, W)), 2 === U)) ) return (U = 0), void p(b); if (2 != b.button) { var c = this, d = c.selection.getRange(), e = domUtils.findParentByTagName(d.startContainer, 'table', !0), f = domUtils.findParentByTagName(d.endContainer, 'table', !0); if ( ((e || f) && (e === f ? ((e = domUtils.findParentByTagName( d.startContainer, ['td', 'th', 'caption'], !0, )), (f = domUtils.findParentByTagName(d.endContainer, ['td', 'th', 'caption'], !0)), e !== f && c.selection.clearRange()) : c.selection.clearRange()), (ia = !1), (c.document.body.style.webkitUserSelect = ''), ca && ha && (c.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](), (U = 0), (ga = c.document.getElementById('ue_tableDragLine')))) ) { var g = domUtils.getXY(ha), h = domUtils.getXY(ga); switch (ca) { case 'h': z(ha, h.x - g.x); break; case 'v': B(ha, h.y - g.y - ha.offsetHeight); } return (ca = ''), (ha = null), I(c), void c.fireEvent('saveScene'); } if (aa) { var i = Y(aa), j = i ? i.selectedTds[0] : null; if (j) (d = new dom.Range(c.document)), domUtils.isEmptyBlock(j) ? d.setStart(j, 0).setCursor(!1, !0) : d.selectNodeContents(j).shrinkBoundary().setCursor(!1, !0); else if (((d = c.selection.getRange().shrinkBoundary()), !d.collapsed)) { var e = domUtils.findParentByTagName(d.startContainer, ['td', 'th'], !0), f = domUtils.findParentByTagName(d.endContainer, ['td', 'th'], !0); ((e && !f) || (!e && f) || (e && f && e !== f)) && d.setCursor(!1, !0); } (aa = null), c.removeListener('mouseover', x); } else { var k = domUtils.findParentByTagName(b.target || b.srcElement, 'td', !0); if ( (k || (k = domUtils.findParentByTagName(b.target || b.srcElement, 'th', !0)), k && ('TD' == k.tagName || 'TH' == k.tagName)) ) { if (c.fireEvent('excludetable', k) === !0) return; (d = new dom.Range(c.document)), d.setStart(k, 0).setCursor(!1, !0); } } c._selectionChange(250, b); } } } function x(a, b) { if (!A()) { var c = this, d = b.target || b.srcElement; if ( ((ba = domUtils.findParentByTagName(d, 'td', !0) || domUtils.findParentByTagName(d, 'th', !0)), aa && ba && (('TD' == aa.tagName && 'TD' == ba.tagName) || ('TH' == aa.tagName && 'TH' == ba.tagName)) && domUtils.findParentByTagName(aa, 'table') == domUtils.findParentByTagName(ba, 'table')) ) { var e = Y(ba); if (aa != ba) { (c.document.body.style.webkitUserSelect = 'none'), c.selection.getNative()[browser.ie9below ? 'empty' : 'removeAllRanges'](); var f = e.getCellsRange(aa, ba); e.setSelected(f); } else (c.document.body.style.webkitUserSelect = ''), e.clearSelected(); } b.preventDefault ? b.preventDefault() : (b.returnValue = !1); } } function y(a, b, c) { var d = parseInt(domUtils.getComputedStyle(a, 'line-height'), 10), e = c + b; (b = e < d ? d : e), a.style.height && (a.style.height = ''), 1 == a.rowSpan ? a.setAttribute('height', b) : a.removeAttribute && a.removeAttribute('height'); } function z(a, b) { var c = Y(a); if (c) { var d = c.table, e = C(a, d); if (((d.style.width = ''), d.removeAttribute('width'), (b = D(b, a, e)), a.nextSibling)) { utils.each(e, function (a) { (a.left.width = +a.left.width + b), a.right && (a.right.width = +a.right.width - b); }); } else utils.each(e, function (a) { a.left.width -= -b; }); } } function A() { return 'false' === N.body.contentEditable; } function B(a, b) { if (!(Math.abs(b) < 10)) { var c = Y(a); if (c) for ( var d, e = c.getSameEndPosCells(a, 'y'), f = e[0] ? e[0].offsetHeight : 0, g = 0; (d = e[g++]); ) y(d, b, f); } } function C(a, b, c) { if ((b || (b = domUtils.findParentByTagName(a, 'table')), !b)) return null; for (var d = (domUtils.getNodeIndex(a), a), e = b.rows, f = 0; d; ) 1 === d.nodeType && (f += d.colSpan || 1), (d = d.previousSibling); d = null; var g = []; return ( utils.each(e, function (a) { var b = a.cells, d = 0; utils.each(b, function (a) { return ( (d += a.colSpan || 1), d === f ? (g.push({ left: a, right: a.nextSibling || null }), !1) : d > f ? (c && g.push({ left: a }), !1) : void 0 ); }); }), g ); } function D(a, b, c) { if (((a -= G()), a < 0)) return 0; a -= E(b); var d = a < 0 ? 'left' : 'right'; return ( (a = Math.abs(a)), utils.each(c, function (b) { var c = b[d]; c && (a = Math.min(a, E(c) - Q)); }), (a = a < 0 ? 0 : a), 'left' === d ? -a : a ); } function E(a) { var b = 0, b = a.offsetWidth - G(); a.nextSibling || (b -= F(a)), (b = b < 0 ? 0 : b); try { a.width = b; } catch (c) {} return b; } function F(a) { if (((tab = domUtils.findParentByTagName(a, 'table', !1)), void 0 === tab.offsetVal)) { var b = a.previousSibling; b ? (tab.offsetVal = a.offsetWidth - b.offsetWidth === X.borderWidth ? X.borderWidth : 0) : (tab.offsetVal = 0); } return tab.offsetVal; } function G() { if (void 0 === X.tabcellSpace) { var a = N.document.createElement('table'), b = N.document.createElement('tbody'), c = N.document.createElement('tr'), d = N.document.createElement('td'), e = null; (d.style.cssText = 'border: 0;'), (d.width = 1), c.appendChild(d), c.appendChild((e = d.cloneNode(!1))), b.appendChild(c), a.appendChild(b), (a.style.cssText = 'visibility: hidden;'), N.body.appendChild(a), (X.paddingSpace = d.offsetWidth - 1); var f = a.offsetWidth; (d.style.cssText = ''), (e.style.cssText = ''), (X.borderWidth = (a.offsetWidth - f) / 3), (X.tabcellSpace = X.paddingSpace + X.borderWidth), N.body.removeChild(a); } return ( (G = function () { return X.tabcellSpace; }), X.tabcellSpace ); } function H(a, b) { ia || ((ga = a.document.createElement('div')), domUtils.setAttributes(ga, { id: 'ue_tableDragLine', unselectable: 'on', contenteditable: !1, onresizestart: 'return false', ondragstart: 'return false', onselectstart: 'return false', style: 'background-color:blue;position:absolute;padding:0;margin:0;background-image:none;border:0px none;opacity:0;filter:alpha(opacity=0)', }), a.body.appendChild(ga)); } function I(a) { if (!ia) for (var b; (b = a.document.getElementById('ue_tableDragLine')); ) domUtils.remove(b); } function J(a, b) { if (b) { var c, d = domUtils.findParentByTagName(b, 'table'), e = d.getElementsByTagName('caption'), f = d.offsetWidth, g = d.offsetHeight - (e.length > 0 ? e[0].offsetHeight : 0), h = domUtils.getXY(d), i = domUtils.getXY(b); switch (a) { case 'h': (c = 'height:' + g + 'px;top:' + (h.y + (e.length > 0 ? e[0].offsetHeight : 0)) + 'px;left:' + (i.x + b.offsetWidth)), (ga.style.cssText = c + 'px;position: absolute;display:block;background-color:blue;width:1px;border:0; color:blue;opacity:.3;filter:alpha(opacity=30)'); break; case 'v': (c = 'width:' + f + 'px;left:' + h.x + 'px;top:' + (i.y + b.offsetHeight)), (ga.style.cssText = c + 'px;overflow:hidden;position: absolute;display:block;background-color:blue;height:1px;border:0;color:blue;opacity:.2;filter:alpha(opacity=20)'); } } } function K(a, b) { for (var c, d, e = domUtils.getElementsByTagName(a.body, 'table'), f = 0; (d = e[f++]); ) { var g = domUtils.getElementsByTagName(d, 'td'); g[0] && (b ? ((c = g[0].style.borderColor.replace(/\s/g, '')), /(#ffffff)|(rgb\(255,255,255\))/gi.test(c) && domUtils.addClass(d, 'noBorderTable')) : domUtils.removeClasses(d, 'noBorderTable')); } } function L(a, b, c) { var d = a.body; return ( d.offsetWidth - (b ? 2 * parseInt(domUtils.getComputedStyle(d, 'margin-left'), 10) : 0) - 2 * c.tableBorder - (a.options.offsetWidth || 0) ); } function M(a, b) { var c = domUtils.findParentByTagName(b.target || b.srcElement, ['td', 'th'], !0), d = null; if (!c) return null; if (((d = n(c, f(b))), !c)) return null; if ('h1' === d && c.previousSibling) { var e = domUtils.getXY(c), g = c.offsetWidth; Math.abs(e.x + g - b.clientX) > g / 3 && (c = c.previousSibling); } else if ('v1' === d && c.parentNode.previousSibling) { var e = domUtils.getXY(c), h = c.offsetHeight; Math.abs(e.y + h - b.clientY) > h / 3 && (c = c.parentNode.previousSibling.firstChild); } return c && a.fireEvent('excludetable', c) !== !0 ? c : null; } var N = this, O = null, P = null, Q = 5, R = !1, S = 5, T = 10, U = 0, V = null, W = 360, X = UE.UETable, Y = function (a) { return X.getUETable(a); }, Z = function (a) { return X.getUETableBySelected(a); }, $ = function (a, b) { return X.getDefaultValue(a, b); }, _ = function (a) { return X.removeSelectedClass(a); }; N.ready(function () { var a = this, b = a.selection.getText; a.selection.getText = function () { var c = Z(a); if (c) { var d = ''; return ( utils.each(c.selectedTds, function (a) { d += a[browser.ie ? 'innerText' : 'textContent']; }), d ); } return b.call(a.selection); }; }); var aa = null, ba = null, ca = '', da = !1, ea = null, fa = !1, ga = null, ha = null, ia = !1, ja = !0; N.setOpt({ maxColNum: 20, maxRowNum: 100, defaultCols: 5, defaultRows: 5, tdvalign: 'top', cursorpath: N.options.UEDITOR_HOME_URL + 'themes/default/images/cursor_', tableDragable: !1, classList: ['ue-table-interlace-color-single', 'ue-table-interlace-color-double'], }), (N.getUETable = Y); var ka = { deletetable: 1, inserttable: 1, cellvalign: 1, insertcaption: 1, deletecaption: 1, inserttitle: 1, deletetitle: 1, mergeright: 1, mergedown: 1, mergecells: 1, insertrow: 1, insertrownext: 1, deleterow: 1, insertcol: 1, insertcolnext: 1, deletecol: 1, splittocells: 1, splittorows: 1, splittocols: 1, adaptbytext: 1, adaptbywindow: 1, adaptbycustomer: 1, insertparagraph: 1, insertparagraphbeforetable: 1, averagedistributecol: 1, averagedistributerow: 1, }; N.ready(function () { utils.cssRule( 'table', '.selectTdClass{background-color:#edf5fa !important}table.noBorderTable td,table.noBorderTable th,table.noBorderTable caption{border:1px dashed #ddd !important}table{margin-bottom:10px;border-collapse:collapse;display:table;}td,th{padding: 5px 10px;border: 1px solid #DDD;}caption{border:1px dashed #DDD;border-bottom:0;padding:3px;text-align:center;}th{border-top:1px solid #BBB;background-color:#F7F7F7;}table tr.firstRow th{border-top-width:2px;}.ue-table-interlace-color-single{ background-color: #fcfcfc; } .ue-table-interlace-color-double{ background-color: #f7faff; }td p{margin:0;padding:0;}', N.document, ); var a, c, f; N.addListener('keydown', function (b, d) { var g = this, h = d.keyCode || d.which; if (8 == h) { var i = Z(g); i && i.selectedTds.length && (i.isFullCol() ? g.execCommand('deletecol') : i.isFullRow() ? g.execCommand('deleterow') : g.fireEvent('delcells'), domUtils.preventDefault(d)); var j = domUtils.findParentByTagName(g.selection.getStart(), 'caption', !0), k = g.selection.getRange(); if (k.collapsed && j && e(j)) { g.fireEvent('saveScene'); var l = j.parentNode; domUtils.remove(j), l && k.setStart(l.rows[0].cells[0], 0).setCursor(!1, !0), g.fireEvent('saveScene'); } } if (46 == h && (i = Z(g))) { g.fireEvent('saveScene'); for (var m, n = 0; (m = i.selectedTds[n++]); ) domUtils.fillNode(g.document, m); g.fireEvent('saveScene'), domUtils.preventDefault(d); } if (13 == h) { var o = g.selection.getRange(), j = domUtils.findParentByTagName(o.startContainer, 'caption', !0); if (j) { var l = domUtils.findParentByTagName(j, 'table'); return ( o.collapsed ? j && o.setStart(l.rows[0].cells[0], 0).setCursor(!1, !0) : (o.deleteContents(), g.fireEvent('saveScene')), void domUtils.preventDefault(d) ); } if (o.collapsed) { var l = domUtils.findParentByTagName(o.startContainer, 'table'); if (l) { var p = l.rows[0].cells[0], q = domUtils.findParentByTagName(g.selection.getStart(), ['td', 'th'], !0), r = l.previousSibling; if ( p === q && (!r || (1 == r.nodeType && 'TABLE' == r.tagName)) && domUtils.isStartInblock(o) ) { var s = domUtils.findParent( g.selection.getStart(), function (a) { return domUtils.isBlockElm(a); }, !0, ); s && (/t(h|d)/i.test(s.tagName) || s === q.firstChild) && (g.execCommand('insertparagraphbeforetable'), domUtils.preventDefault(d)); } } } } if ((d.ctrlKey || d.metaKey) && '67' == d.keyCode) { a = null; var i = Z(g); if (i) { var t = i.selectedTds; (c = i.isFullCol()), (f = i.isFullRow()), (a = [[i.cloneCell(t[0], null, !0)]]); for (var m, n = 1; (m = t[n]); n++) m.parentNode !== t[n - 1].parentNode ? a.push([i.cloneCell(m, null, !0)]) : a[a.length - 1].push(i.cloneCell(m, null, !0)); } } }), N.addListener('tablehasdeleted', function () { m(this, !1, '', null), ea && domUtils.remove(ea); }), N.addListener('beforepaste', function (d, g) { var h = this, i = h.selection.getRange(); if (domUtils.findParentByTagName(i.startContainer, 'caption', !0)) { var j = h.document.createElement('div'); return ( (j.innerHTML = g.html), void (g.html = j[browser.ie9below ? 'innerText' : 'textContent']) ); } var k = Z(h); if (a) { h.fireEvent('saveScene'); var l, m, i = h.selection.getRange(), n = domUtils.findParentByTagName(i.startContainer, ['td', 'th'], !0); if (n) { var o = Y(n); if (f) { var p = o.getCellInfo(n).rowIndex; 'TH' == n.tagName && p++; for (var q, r = 0; (q = a[r++]); ) { for (var s, t = o.insertRow(p++, 'td'), u = 0; (s = q[u]); u++) { var v = t.cells[u]; v || (v = t.insertCell(u)), (v.innerHTML = s.innerHTML), s.getAttribute('width') && v.setAttribute('width', s.getAttribute('width')), s.getAttribute('vAlign') && v.setAttribute('vAlign', s.getAttribute('vAlign')), s.getAttribute('align') && v.setAttribute('align', s.getAttribute('align')), s.style.cssText && (v.style.cssText = s.style.cssText); } for (var s, u = 0; (s = t.cells[u]) && q[u]; u++) (s.innerHTML = q[u].innerHTML), q[u].getAttribute('width') && s.setAttribute('width', q[u].getAttribute('width')), q[u].getAttribute('vAlign') && s.setAttribute('vAlign', q[u].getAttribute('vAlign')), q[u].getAttribute('align') && s.setAttribute('align', q[u].getAttribute('align')), q[u].style.cssText && (s.style.cssText = q[u].style.cssText); } } else { if (c) { y = o.getCellInfo(n); for (var s, w = 0, u = 0, q = a[0]; (s = q[u++]); ) w += s.colSpan || 1; for (h.__hasEnterExecCommand = !0, r = 0; r < w; r++) h.execCommand('insertcol'); (h.__hasEnterExecCommand = !1), (n = o.table.rows[0].cells[y.cellIndex]), 'TH' == n.tagName && (n = o.table.rows[1].cells[y.cellIndex]); } for (var q, r = 0; (q = a[r++]); ) { l = n; for (var s, u = 0; (s = q[u++]); ) if (n) (n.innerHTML = s.innerHTML), s.getAttribute('width') && n.setAttribute('width', s.getAttribute('width')), s.getAttribute('vAlign') && n.setAttribute('vAlign', s.getAttribute('vAlign')), s.getAttribute('align') && n.setAttribute('align', s.getAttribute('align')), s.style.cssText && (n.style.cssText = s.style.cssText), (m = n), (n = n.nextSibling); else { var x = s.cloneNode(!0); domUtils.removeAttributes(x, ['class', 'rowSpan', 'colSpan']), m.parentNode.appendChild(x); } if (((n = o.getNextCell(l, !0, !0)), !a[r])) break; if (!n) { var y = o.getCellInfo(l); o.table.insertRow(o.table.rows.length), o.update(), (n = o.getVSideCell(l, !0)); } } } o.update(); } else { k = h.document.createElement('table'); for (var q, r = 0; (q = a[r++]); ) { for (var s, t = k.insertRow(k.rows.length), u = 0; (s = q[u++]); ) (x = X.cloneCell(s, null, !0)), domUtils.removeAttributes(x, ['class']), t.appendChild(x); 2 == u && x.rowSpan > 1 && (x.rowSpan = 1); } var z = $(h), A = h.body.offsetWidth - (ja ? 2 * parseInt(domUtils.getComputedStyle(h.body, 'margin-left'), 10) : 0) - 2 * z.tableBorder - (h.options.offsetWidth || 0); h.execCommand( 'insertHTML', '' + k.innerHTML.replace(/>\s*<').replace(/\bth\b/gi, 'td') + '
', ); } return h.fireEvent('contentchange'), h.fireEvent('saveScene'), (g.html = ''), !0; } var B, j = h.document.createElement('div'); (j.innerHTML = g.html), (B = j.getElementsByTagName('table')), domUtils.findParentByTagName(h.selection.getStart(), 'table') ? (utils.each(B, function (a) { domUtils.remove(a); }), domUtils.findParentByTagName(h.selection.getStart(), 'caption', !0) && (j.innerHTML = j[browser.ie ? 'innerText' : 'textContent'])) : utils.each(B, function (a) { b(a, !0), domUtils.removeAttributes(a, ['style', 'border']), utils.each(domUtils.getElementsByTagName(a, 'td'), function (a) { e(a) && domUtils.fillNode(h.document, a), b(a, !0); }); }), (g.html = j.innerHTML); }), N.addListener('afterpaste', function () { utils.each(domUtils.getElementsByTagName(N.body, 'table'), function (a) { if (a.offsetWidth > N.body.offsetWidth) { var b = $(N, a); a.style.width = N.body.offsetWidth - (ja ? 2 * parseInt(domUtils.getComputedStyle(N.body, 'margin-left'), 10) : 0) - 2 * b.tableBorder - (N.options.offsetWidth || 0) + 'px'; } }); }), N.addListener('blur', function () { a = null; }); var i; N.addListener('keydown', function () { clearTimeout(i), (i = setTimeout(function () { var a = N.selection.getRange(), b = domUtils.findParentByTagName(a.startContainer, ['th', 'td'], !0); if (b) { var c = b.parentNode.parentNode.parentNode; c.offsetWidth > c.getAttribute('width') && (b.style.wordBreak = 'break-all'); } }, 100)); }), N.addListener('selectionchange', function () { m(N, !1, '', null); }), N.addListener('contentchange', function () { var a = this; if ((I(a), !Z(a))) { var b = a.selection.getRange(), c = b.startContainer; (c = domUtils.findParentByTagName(c, ['td', 'th'], !0)), utils.each(domUtils.getElementsByTagName(a.document, 'table'), function (b) { a.fireEvent('excludetable', b) !== !0 && ((b.ueTable = new X(b)), (b.onmouseover = function () { a.fireEvent('tablemouseover', b); }), (b.onmousemove = function () { a.fireEvent('tablemousemove', b), a.options.tableDragable && h(!0, this, a), utils.defer(function () { a.fireEvent('contentchange', 50); }, !0); }), (b.onmouseout = function () { a.fireEvent('tablemouseout', b), m(a, !1, '', null), I(a); }), (b.onclick = function (b) { b = a.window.event || b; var c = d(b.target || b.srcElement); if (c) { var e, f = Y(c), g = f.table, h = f.getCellInfo(c), i = a.selection.getRange(); if (j(g, c, b, !0)) { var k = f.getCell( f.indexTable[f.rowsNum - 1][h.colIndex].rowIndex, f.indexTable[f.rowsNum - 1][h.colIndex].cellIndex, ); return void (b.shiftKey && f.selectedTds.length ? f.selectedTds[0] !== k ? ((e = f.getCellsRange(f.selectedTds[0], k)), f.setSelected(e)) : i && i.selectNodeContents(k).select() : c !== k ? ((e = f.getCellsRange(c, k)), f.setSelected(e)) : i && i.selectNodeContents(k).select()); } if (j(g, c, b)) { var l = f.getCell( f.indexTable[h.rowIndex][f.colsNum - 1].rowIndex, f.indexTable[h.rowIndex][f.colsNum - 1].cellIndex, ); b.shiftKey && f.selectedTds.length ? f.selectedTds[0] !== l ? ((e = f.getCellsRange(f.selectedTds[0], l)), f.setSelected(e)) : i && i.selectNodeContents(l).select() : c !== l ? ((e = f.getCellsRange(c, l)), f.setSelected(e)) : i && i.selectNodeContents(l).select(); } } })); }), K(a, !0); } }), domUtils.on(N.document, 'mousemove', g), domUtils.on(N.document, 'mouseout', function (a) { var b = a.target || a.srcElement; 'TABLE' == b.tagName && m(N, !1, '', null); }), N.addListener('interlacetable', function (a, b, c) { if (b) for ( var d = this, e = b.rows, f = e.length, g = function (a, b, c) { return a[b] ? a[b] : c ? a[b % a.length] : ''; }, h = 0; h < f; h++ ) e[h].className = g(c || d.options.classList, h, !0); }), N.addListener('uninterlacetable', function (a, b) { if (b) for ( var c = this, d = b.rows, e = c.options.classList, f = d.length, g = 0; g < f; g++ ) domUtils.removeClasses(d[g], e); }), N.addListener('mousedown', o), N.addListener('mouseup', w), domUtils.on(N.body, 'dragstart', function (a) { w.call(N, 'dragstart', a); }), N.addOutputRule(function (a) { utils.each(a.getNodesByTagName('div'), function (a) { 'ue_tableDragLine' == a.getAttr('id') && a.parentNode.removeChild(a); }); }); var k = 0; N.addListener('mousedown', function () { k = 0; }), N.addListener('tabkeydown', function () { var a = this.selection.getRange(), b = a.getCommonAncestor(!0, !0), c = domUtils.findParentByTagName(b, 'table'); if (c) { if (domUtils.findParentByTagName(b, 'caption', !0)) { var d = domUtils.getElementsByTagName(c, 'th td'); d && d.length && a.setStart(d[0], 0).setCursor(!1, !0); } else { var d = domUtils.findParentByTagName(b, ['td', 'th'], !0), f = Y(d); k = d.rowSpan > 1 ? k : f.getCellInfo(d).rowIndex; var g = f.getTabNextCell(d, k); g ? e(g) ? a.setStart(g, 0).setCursor(!1, !0) : a.selectNodeContents(g).select() : (N.fireEvent('saveScene'), (N.__hasEnterExecCommand = !0), this.execCommand('insertrownext'), (N.__hasEnterExecCommand = !1), (a = this.selection.getRange()), a.setStart(c.rows[c.rows.length - 1].cells[0], 0).setCursor(), N.fireEvent('saveScene')); } return !0; } }), browser.ie && N.addListener('selectionchange', function () { m(this, !1, '', null); }), N.addListener('keydown', function (a, b) { var c = this, d = b.keyCode || b.which; if (8 != d && 46 != d) { var e = !(b.ctrlKey || b.metaKey || b.shiftKey || b.altKey); e && _(domUtils.getElementsByTagName(c.body, 'td')); var f = Z(c); f && e && f.clearSelected(); } }), N.addListener('beforegetcontent', function () { K(this, !1), browser.ie && utils.each(this.document.getElementsByTagName('caption'), function (a) { domUtils.isEmptyNode(a) && (a.innerHTML = ' '); }); }), N.addListener('aftergetcontent', function () { K(this, !0); }), N.addListener('getAllHtml', function () { _(N.document.getElementsByTagName('td')); }), N.addListener('fullscreenchanged', function (a, b) { if (!b) { var c = this.body.offsetWidth / document.body.offsetWidth, d = domUtils.getElementsByTagName(this.body, 'table'); utils.each(d, function (a) { if (a.offsetWidth < N.body.offsetWidth) return !1; var b = domUtils.getElementsByTagName(a, 'td'), d = []; utils.each(b, function (a) { d.push(a.offsetWidth); }); for (var e, f = 0; (e = b[f]); f++) e.setAttribute('width', Math.floor(d[f] * c)); a.setAttribute('width', Math.floor(L(N, ja, $(N)))); }); } }); var l = N.execCommand; N.execCommand = function (a, b) { var c = this; a = a.toLowerCase(); var d, f, g = Z(c), h = new dom.Range(c.document), i = c.commands[a] || UE.commands[a]; if (i) { if (!g || ka[a] || i.notNeedUndo || c.__hasEnterExecCommand) f = l.apply(c, arguments); else { (c.__hasEnterExecCommand = !0), c.fireEvent('beforeexeccommand', a), (d = g.selectedTds); for (var j, k, m, n = -2, o = -2, p = 0; (m = d[p]); p++) e(m) ? h.setStart(m, 0).setCursor(!1, !0) : h.selectNode(m).select(!0), (k = c.queryCommandState(a)), (j = c.queryCommandValue(a)), k != -1 && ((n === k && o === j) || ((c._ignoreContentChange = !0), (f = l.apply(c, arguments)), (c._ignoreContentChange = !1)), (n = c.queryCommandState(a)), (o = c.queryCommandValue(a)), domUtils.isEmptyBlock(m) && domUtils.fillNode(c.document, m)); h.setStart(d[0], 0).shrinkBoundary(!0).setCursor(!1, !0), c.fireEvent('contentchange'), c.fireEvent('afterexeccommand', a), (c.__hasEnterExecCommand = !1), c._selectionChange(); } return f; } }; }); var la; }), (UE.UETable.prototype.sortTable = function (a, b) { var c = this.table, d = c.rows, e = [], f = 'TH' === d[0].cells[0].tagName, g = 0; if (this.selectedTds.length) { for (var h = this.cellsRange, i = h.endRowIndex + 1, j = h.beginRowIndex; j < i; j++) e[j] = d[j]; e.splice(0, h.beginRowIndex), (g = h.endRowIndex + 1 === this.rowsNum ? 0 : h.endRowIndex + 1); } else for (var j = 0, i = d.length; j < i; j++) e[j] = d[j]; var k = { reversecurrent: function (a, b) { return 1; }, orderbyasc: function (a, b) { var c = a.innerText || a.textContent, d = b.innerText || b.textContent; return c.localeCompare(d); }, reversebyasc: function (a, b) { var c = a.innerHTML, d = b.innerHTML; return d.localeCompare(c); }, orderbynum: function (a, b) { var c = a[browser.ie ? 'innerText' : 'textContent'].match(/\d+/), d = b[browser.ie ? 'innerText' : 'textContent'].match(/\d+/); return c && (c = +c[0]), d && (d = +d[0]), (c || 0) - (d || 0); }, reversebynum: function (a, b) { var c = a[browser.ie ? 'innerText' : 'textContent'].match(/\d+/), d = b[browser.ie ? 'innerText' : 'textContent'].match(/\d+/); return c && (c = +c[0]), d && (d = +d[0]), (d || 0) - (c || 0); }, }; c.setAttribute('data-sort-type', b && 'string' == typeof b && k[b] ? b : ''), f && e.splice(0, 1), (e = utils.sort(e, function (c, d) { var e; return (e = b && 'function' == typeof b ? b.call(this, c.cells[a], d.cells[a]) : b && 'number' == typeof b ? 1 : b && 'string' == typeof b && k[b] ? k[b].call(this, c.cells[a], d.cells[a]) : k.orderbyasc.call(this, c.cells[a], d.cells[a])); })); for (var l = c.ownerDocument.createDocumentFragment(), m = 0, i = e.length; m < i; m++) l.appendChild(e[m]); var n = c.getElementsByTagName('tbody')[0]; g ? n.insertBefore(l, d[g - h.endRowIndex + h.beginRowIndex - 1]) : n.appendChild(l); }), (UE.plugins.tablesort = function () { var a = this, b = UE.UETable, c = function (a) { return b.getUETable(a); }, d = function (a) { return b.getTableItemsByRange(a); }; a.ready(function () { utils.cssRule( 'tablesort', 'table.sortEnabled tr.firstRow th,table.sortEnabled tr.firstRow td{padding-right:20px;background-repeat: no-repeat;background-position: center right; background-image:url(' + a.options.themePath + a.options.theme + '/images/sortable.png);}', a.document, ), a.addListener('afterexeccommand', function (a, b) { ('mergeright' != b && 'mergedown' != b && 'mergecells' != b) || this.execCommand('disablesort'); }); }), (UE.commands.sorttable = { queryCommandState: function () { var a = this, b = d(a); if (!b.cell) return -1; for (var c, e = b.table, f = e.getElementsByTagName('td'), g = 0; (c = f[g++]); ) if (1 != c.rowSpan || 1 != c.colSpan) return -1; return 0; }, execCommand: function (a, b) { var e = this, f = e.selection.getRange(), g = f.createBookmark(!0), h = d(e), i = h.cell, j = c(h.table), k = j.getCellInfo(i); j.sortTable(k.cellIndex, b), f.moveToBookmark(g); try { f.select(); } catch (l) {} }, }), (UE.commands.enablesort = UE.commands.disablesort = { queryCommandState: function (a) { var b = d(this).table; if (b && 'enablesort' == a) for (var c = domUtils.getElementsByTagName(b, 'th td'), e = 0; e < c.length; e++) if (c[e].getAttribute('colspan') > 1 || c[e].getAttribute('rowspan') > 1) return -1; return b ? ('enablesort' == a) ^ ('sortEnabled' != b.getAttribute('data-sort')) ? -1 : 0 : -1; }, execCommand: function (a) { var b = d(this).table; b.setAttribute('data-sort', 'enablesort' == a ? 'sortEnabled' : 'sortDisabled'), 'enablesort' == a ? domUtils.addClass(b, 'sortEnabled') : domUtils.removeClasses(b, 'sortEnabled'); }, }); }), (UE.plugins.contextmenu = function () { var a = this; if ((a.setOpt('enableContextMenu', !0), a.getOpt('enableContextMenu') !== !1)) { var b, c = a.getLang('contextMenu'), d = a.options.contextMenu || [ { label: c.selectall, cmdName: 'selectall' }, { label: c.cleardoc, cmdName: 'cleardoc', exec: function () { confirm(c.confirmclear) && this.execCommand('cleardoc'); }, }, '-', { label: c.unlink, cmdName: 'unlink' }, '-', { group: c.paragraph, icon: 'justifyjustify', subMenu: [ { label: c.justifyleft, cmdName: 'justify', value: 'left' }, { label: c.justifyright, cmdName: 'justify', value: 'right' }, { label: c.justifycenter, cmdName: 'justify', value: 'center' }, { label: c.justifyjustify, cmdName: 'justify', value: 'justify' }, ], }, '-', { group: c.table, icon: 'table', subMenu: [ { label: c.inserttable, cmdName: 'inserttable' }, { label: c.deletetable, cmdName: 'deletetable' }, '-', { label: c.deleterow, cmdName: 'deleterow' }, { label: c.deletecol, cmdName: 'deletecol' }, { label: c.insertcol, cmdName: 'insertcol' }, { label: c.insertcolnext, cmdName: 'insertcolnext' }, { label: c.insertrow, cmdName: 'insertrow' }, { label: c.insertrownext, cmdName: 'insertrownext' }, '-', { label: c.insertcaption, cmdName: 'insertcaption' }, { label: c.deletecaption, cmdName: 'deletecaption' }, { label: c.inserttitle, cmdName: 'inserttitle' }, { label: c.deletetitle, cmdName: 'deletetitle' }, { label: c.inserttitlecol, cmdName: 'inserttitlecol' }, { label: c.deletetitlecol, cmdName: 'deletetitlecol' }, '-', { label: c.mergecells, cmdName: 'mergecells' }, { label: c.mergeright, cmdName: 'mergeright' }, { label: c.mergedown, cmdName: 'mergedown' }, '-', { label: c.splittorows, cmdName: 'splittorows' }, { label: c.splittocols, cmdName: 'splittocols' }, { label: c.splittocells, cmdName: 'splittocells' }, '-', { label: c.averageDiseRow, cmdName: 'averagedistributerow' }, { label: c.averageDisCol, cmdName: 'averagedistributecol' }, '-', { label: c.edittd, cmdName: 'edittd', exec: function () { UE.ui.edittd && new UE.ui.edittd(this), this.getDialog('edittd').open(); }, }, { label: c.edittable, cmdName: 'edittable', exec: function () { UE.ui.edittable && new UE.ui.edittable(this), this.getDialog('edittable').open(); }, }, { label: c.setbordervisible, cmdName: 'setbordervisible' }, ], }, { group: c.tablesort, icon: 'tablesort', subMenu: [ { label: c.enablesort, cmdName: 'enablesort' }, { label: c.disablesort, cmdName: 'disablesort' }, '-', { label: c.reversecurrent, cmdName: 'sorttable', value: 'reversecurrent' }, { label: c.orderbyasc, cmdName: 'sorttable', value: 'orderbyasc' }, { label: c.reversebyasc, cmdName: 'sorttable', value: 'reversebyasc' }, { label: c.orderbynum, cmdName: 'sorttable', value: 'orderbynum' }, { label: c.reversebynum, cmdName: 'sorttable', value: 'reversebynum' }, ], }, { group: c.borderbk, icon: 'borderBack', subMenu: [ { label: c.setcolor, cmdName: 'interlacetable', exec: function () { this.execCommand('interlacetable'); }, }, { label: c.unsetcolor, cmdName: 'uninterlacetable', exec: function () { this.execCommand('uninterlacetable'); }, }, { label: c.setbackground, cmdName: 'settablebackground', exec: function () { this.execCommand('settablebackground', { repeat: !0, colorList: ['#bbb', '#ccc'], }); }, }, { label: c.unsetbackground, cmdName: 'cleartablebackground', exec: function () { this.execCommand('cleartablebackground'); }, }, { label: c.redandblue, cmdName: 'settablebackground', exec: function () { this.execCommand('settablebackground', { repeat: !0, colorList: ['red', 'blue'], }); }, }, { label: c.threecolorgradient, cmdName: 'settablebackground', exec: function () { this.execCommand('settablebackground', { repeat: !0, colorList: ['#aaa', '#bbb', '#ccc'], }); }, }, ], }, { group: c.aligntd, icon: 'aligntd', subMenu: [ { cmdName: 'cellalignment', value: { align: 'left', vAlign: 'top' } }, { cmdName: 'cellalignment', value: { align: 'center', vAlign: 'top' } }, { cmdName: 'cellalignment', value: { align: 'right', vAlign: 'top' } }, { cmdName: 'cellalignment', value: { align: 'left', vAlign: 'middle' } }, { cmdName: 'cellalignment', value: { align: 'center', vAlign: 'middle' } }, { cmdName: 'cellalignment', value: { align: 'right', vAlign: 'middle' } }, { cmdName: 'cellalignment', value: { align: 'left', vAlign: 'bottom' } }, { cmdName: 'cellalignment', value: { align: 'center', vAlign: 'bottom' } }, { cmdName: 'cellalignment', value: { align: 'right', vAlign: 'bottom' } }, ], }, { group: c.aligntable, icon: 'aligntable', subMenu: [ { cmdName: 'tablealignment', className: 'left', label: c.tableleft, value: 'left' }, { cmdName: 'tablealignment', className: 'center', label: c.tablecenter, value: 'center', }, { cmdName: 'tablealignment', className: 'right', label: c.tableright, value: 'right', }, ], }, '-', { label: c.insertparagraphbefore, cmdName: 'insertparagraph', value: !0 }, { label: c.insertparagraphafter, cmdName: 'insertparagraph' }, { label: c.copy, cmdName: 'copy' }, { label: c.paste, cmdName: 'paste' }, ]; if (d.length) { var e = UE.ui.uiUtils; a.addListener('contextmenu', function (f, g) { var h = e.getViewportOffsetByEvent(g); a.fireEvent('beforeselectionchange'), b && b.destroy(); for (var i, j = 0, k = []; (i = d[j]); j++) { var l; !(function (b) { function d() { switch (b.icon) { case 'table': return a.getLang('contextMenu.table'); case 'justifyjustify': return a.getLang('contextMenu.paragraph'); case 'aligntd': return a.getLang('contextMenu.aligntd'); case 'aligntable': return a.getLang('contextMenu.aligntable'); case 'tablesort': return c.tablesort; case 'borderBack': return c.borderbk; default: return ''; } } if ('-' == b) (l = k[k.length - 1]) && '-' !== l && k.push('-'); else if (b.hasOwnProperty('group')) { for (var e, f = 0, g = []; (e = b.subMenu[f]); f++) !(function (b) { '-' == b ? (l = g[g.length - 1]) && '-' !== l ? g.push('-') : g.splice(g.length - 1) : (a.commands[b.cmdName] || UE.commands[b.cmdName] || b.query) && (b.query ? b.query() : a.queryCommandState(b.cmdName)) > -1 && g.push({ label: b.label || a.getLang('contextMenu.' + b.cmdName + (b.value || '')) || '', className: 'edui-for-' + b.cmdName + (b.className ? ' edui-for-' + b.cmdName + '-' + b.className : ''), onclick: b.exec ? function () { b.exec.call(a); } : function () { a.execCommand(b.cmdName, b.value); }, }); })(e); g.length && k.push({ label: d(), className: 'edui-for-' + b.icon, subMenu: { items: g, editor: a }, }); } else (a.commands[b.cmdName] || UE.commands[b.cmdName] || b.query) && (b.query ? b.query.call(a) : a.queryCommandState(b.cmdName)) > -1 && k.push({ label: b.label || a.getLang('contextMenu.' + b.cmdName), className: 'edui-for-' + (b.icon ? b.icon : b.cmdName + (b.value || '')), onclick: b.exec ? function () { b.exec.call(a); } : function () { a.execCommand(b.cmdName, b.value); }, }); })(i); } if ( ('-' == k[k.length - 1] && k.pop(), (b = new UE.ui.Menu({ items: k, className: 'edui-contextmenu', editor: a })), b.render(), b.showAt(h), a.fireEvent('aftershowcontextmenu', b), domUtils.preventDefault(g), browser.ie) ) { var m; try { m = a.selection.getNative().createRange(); } catch (n) { return; } if (m.item) { var o = new dom.Range(a.document); o.selectNode(m.item(0)).select(!0, !0); } } }), a.addListener('aftershowcontextmenu', function (b, c) { if (a.zeroclipboard) { var d = c.items; for (var e in d) 'edui-for-copy' == d[e].className && a.zeroclipboard.clip(d[e].getDom()); } }); } } }), (UE.plugins.shortcutmenu = function () { var a, b = this, c = b.options.shortcutMenu || []; c.length && (b.addListener('contextmenu mouseup', function (b, d) { var e = this, f = { type: b, target: d.target || d.srcElement, screenX: d.screenX, screenY: d.screenY, clientX: d.clientX, clientY: d.clientY, }; if ( (setTimeout(function () { var d = e.selection.getRange(); (d.collapsed !== !1 && 'contextmenu' != b) || (a || ((a = new baidu.editor.ui.ShortCutMenu({ editor: e, items: c, theme: e.options.theme, className: 'edui-shortcutmenu', })), a.render(), e.fireEvent('afterrendershortcutmenu', a)), a.show(f, !!UE.plugins.contextmenu)); }), 'contextmenu' == b && (domUtils.preventDefault(d), browser.ie9below)) ) { var g; try { g = e.selection.getNative().createRange(); } catch (d) { return; } if (g.item) { var h = new dom.Range(e.document); h.selectNode(g.item(0)).select(!0, !0); } } }), b.addListener('keydown', function (b) { 'keydown' == b && a && !a.isHidden && a.hide(); })); }), (UE.plugins.basestyle = function () { var a = { bold: ['strong', 'b'], italic: ['em', 'i'], subscript: ['sub'], superscript: ['sup'], }, b = function (a, b) { return domUtils.filterNodeList(a.selection.getStartElementPath(), b); }, c = this; c.addshortcutkey({ Bold: 'ctrl+66', Italic: 'ctrl+73', Underline: 'ctrl+85' }), c.addInputRule(function (a) { utils.each(a.getNodesByTagName('b i'), function (a) { switch (a.tagName) { case 'b': a.tagName = 'strong'; break; case 'i': a.tagName = 'em'; } }); }); for (var d in a) !(function (a, d) { c.commands[a] = { execCommand: function (a) { var e = c.selection.getRange(), f = b(this, d); if (e.collapsed) { if (f) { var g = c.document.createTextNode(''); e.insertNode(g).removeInlineStyle(d), e.setStartBefore(g), domUtils.remove(g); } else { var h = e.document.createElement(d[0]); ('superscript' != a && 'subscript' != a) || ((g = c.document.createTextNode('')), e .insertNode(g) .removeInlineStyle(['sub', 'sup']) .setStartBefore(g) .collapse(!0)), e.insertNode(h).setStart(h, 0); } e.collapse(!0); } else ('superscript' != a && 'subscript' != a) || (f && f.tagName.toLowerCase() == a) || e.removeInlineStyle(['sub', 'sup']), f ? e.removeInlineStyle(d) : e.applyInlineStyle(d[0]); e.select(); }, queryCommandState: function () { return b(this, d) ? 1 : 0; }, }; })(d, a[d]); }), (UE.plugins.elementpath = function () { var a, b, c = this; c.setOpt('elementPathEnabled', !0), c.options.elementPathEnabled && (c.commands.elementpath = { execCommand: function (d, e) { var f = b[e], g = c.selection.getRange(); (a = 1 * e), g.selectNode(f).select(); }, queryCommandValue: function () { var c = [].concat(this.selection.getStartElementPath()).reverse(), d = []; b = c; for (var e, f = 0; (e = c[f]); f++) if (3 != e.nodeType) { var g = e.tagName.toLowerCase(); if ( ('img' == g && e.getAttribute('anchorname') && (g = 'anchor'), (d[f] = g), a == f) ) { a = -1; break; } } return d; }, }); }), (UE.plugins.formatmatch = function () { function a(f, g) { function h(a) { return m && a.selectNode(m), a.applyInlineStyle(d[d.length - 1].tagName, null, d); } if (browser.webkit) var i = 'IMG' == g.target.tagName ? g.target : null; c.undoManger && c.undoManger.save(); var j = c.selection.getRange(), k = i || j.getClosedNode(); if (b && k && 'IMG' == k.tagName) (k.style.cssText += ';float:' + (b.style.cssFloat || b.style.styleFloat || 'none') + ';display:' + (b.style.display || 'inline')), (b = null); else if (!b) { var l = j.collapsed; if (l) { var m = c.document.createTextNode('match'); j.insertNode(m).select(); } c.__hasEnterExecCommand = !0; var n = c.options.removeFormatAttributes; (c.options.removeFormatAttributes = ''), c.execCommand('removeformat'), (c.options.removeFormatAttributes = n), (c.__hasEnterExecCommand = !1), (j = c.selection.getRange()), d.length && h(j), m && j.setStartBefore(m).collapse(!0), j.select(), m && domUtils.remove(m); } c.undoManger && c.undoManger.save(), c.removeListener('mouseup', a), (e = 0); } var b, c = this, d = [], e = 0; c.addListener('reset', function () { (d = []), (e = 0); }), (c.commands.formatmatch = { execCommand: function (f) { if (e) return (e = 0), (d = []), void c.removeListener('mouseup', a); var g = c.selection.getRange(); if (((b = g.getClosedNode()), !b || 'IMG' != b.tagName)) { g.collapse(!0).shrinkBoundary(); var h = g.startContainer; d = domUtils.findParents(h, !0, function (a) { return !domUtils.isBlockElm(a) && 1 == a.nodeType; }); for (var i, j = 0; (i = d[j]); j++) if ('A' == i.tagName) { d.splice(j, 1); break; } } c.addListener('mouseup', a), (e = 1); }, queryCommandState: function () { return e; }, notNeedUndo: 1, }); }), UE.plugin.register('searchreplace', function () { function a(a, b, c) { var d = b.searchStr; b.dir == -1 && ((a = a.split('').reverse().join('')), (d = d.split('').reverse().join('')), (c = a.length - c)); for (var e, f = new RegExp(d, 'g' + (b.casesensitive ? '' : 'i')); (e = f.exec(a)); ) if (e.index >= c) return b.dir == -1 ? a.length - e.index - b.searchStr.length : e.index; return -1; } function b(b, c, d) { var e, f, h = d.all || 1 == d.dir ? 'getNextDomNode' : 'getPreDomNode'; domUtils.isBody(b) && (b = b.firstChild); for (var i = 1; b; ) { if ( ((e = 3 == b.nodeType ? b.nodeValue : b[browser.ie ? 'innerText' : 'textContent']), (f = a(e, d, c)), (i = 0), f != -1) ) return { node: b, index: f }; for (b = domUtils[h](b); b && g[b.nodeName.toLowerCase()]; ) b = domUtils[h](b, !0); b && (c = d.dir == -1 ? (3 == b.nodeType ? b.nodeValue : b[browser.ie ? 'innerText' : 'textContent']) .length : 0); } } function c(a, b, d) { for (var e, f = 0, g = a.firstChild, h = 0; g; ) { if (3 == g.nodeType) { if ( ((h = g.nodeValue.replace(/(^[\t\r\n]+)|([\t\r\n]+$)/, '').length), (f += h), f >= b) ) return { node: g, index: h - (f - b) }; } else if ( !dtd.$empty[g.tagName] && ((h = g[browser.ie ? 'innerText' : 'textContent'].replace( /(^[\t\r\n]+)|([\t\r\n]+$)/, '', ).length), (f += h), f >= b && (e = c(g, h - (f - b), d))) ) return e; g = domUtils.getNextDomNode(g); } } function d(a, d) { var f, g = a.selection.getRange(), h = d.searchStr, i = a.document.createElement('span'); if (((i.innerHTML = '$$ueditor_searchreplace_key$$'), g.shrinkBoundary(!0), !g.collapsed)) { g.select(); var j = a.selection.getText(); if (new RegExp('^' + d.searchStr + '$', d.casesensitive ? '' : 'i').test(j)) { if (void 0 != d.replaceStr) return e(g, d.replaceStr), g.select(), !0; g.collapse(d.dir == -1); } } g.insertNode(i), g.enlargeToBlockElm(!0), (f = g.startContainer); var k = f[browser.ie ? 'innerText' : 'textContent'].indexOf( '$$ueditor_searchreplace_key$$', ); g.setStartBefore(i), domUtils.remove(i); var l = b(f, k, d); if (l) { var m = c(l.node, l.index, h), n = c(l.node, l.index + h.length, h); return ( g.setStart(m.node, m.index).setEnd(n.node, n.index), void 0 !== d.replaceStr && e(g, d.replaceStr), g.select(), !0 ); } g.setCursor(); } function e(a, b) { (b = f.document.createTextNode(b)), a.deleteContents().insertNode(b); } var f = this, g = { table: 1, tbody: 1, tr: 1, ol: 1, ul: 1 }; return { commands: { searchreplace: { execCommand: function (a, b) { utils.extend(b, { all: !1, casesensitive: !1, dir: 1 }, !0); var c = 0; if (b.all) { var e = f.selection.getRange(), g = f.body.firstChild; for ( g && 1 == g.nodeType ? (e.setStart(g, 0), e.shrinkBoundary(!0)) : 3 == g.nodeType && e.setStartBefore(g), e.collapse(!0).select(!0), void 0 !== b.replaceStr && f.fireEvent('saveScene'); d(this, b); ) c++; c && f.fireEvent('saveScene'); } else void 0 !== b.replaceStr && f.fireEvent('saveScene'), d(this, b) && c++, c && f.fireEvent('saveScene'); return c; }, notNeedUndo: 1, }, }, }; }), (UE.plugins.customstyle = function () { var a = this; a.setOpt({ customstyle: [ { tag: 'h1', name: 'tc', style: 'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:center;margin:0 0 20px 0;', }, { tag: 'h1', name: 'tl', style: 'font-size:32px;font-weight:bold;border-bottom:#ccc 2px solid;padding:0 4px 0 0;text-align:left;margin:0 0 10px 0;', }, { tag: 'span', name: 'im', style: 'font-size:16px;font-style:italic;font-weight:bold;line-height:18px;', }, { tag: 'span', name: 'hi', style: 'font-size:16px;font-style:italic;font-weight:bold;color:rgb(51, 153, 204);line-height:18px;', }, ], }), (a.commands.customstyle = { execCommand: function (a, b) { var c, d, e = this, f = b.tag, g = domUtils.findParent( e.selection.getStart(), function (a) { return a.getAttribute('label'); }, !0, ), h = {}; for (var i in b) void 0 !== b[i] && (h[i] = b[i]); if ((delete h.tag, g && g.getAttribute('label') == b.label)) { if (((c = this.selection.getRange()), (d = c.createBookmark()), c.collapsed)) if (dtd.$block[g.tagName]) { var j = e.document.createElement('p'); domUtils.moveChild(g, j), g.parentNode.insertBefore(j, g), domUtils.remove(g); } else domUtils.remove(g, !0); else { var k = domUtils.getCommonAncestor(d.start, d.end), l = domUtils.getElementsByTagName(k, f); new RegExp(f, 'i').test(k.tagName) && l.push(k); for (var m, n = 0; (m = l[n++]); ) if (m.getAttribute('label') == b.label) { var o = domUtils.getPosition(m, d.start), p = domUtils.getPosition(m, d.end); if ( (o & domUtils.POSITION_FOLLOWING || o & domUtils.POSITION_CONTAINS) && (p & domUtils.POSITION_PRECEDING || p & domUtils.POSITION_CONTAINS) && dtd.$block[f] ) { var j = e.document.createElement('p'); domUtils.moveChild(m, j), m.parentNode.insertBefore(j, m); } domUtils.remove(m, !0); } (g = domUtils.findParent( k, function (a) { return a.getAttribute('label') == b.label; }, !0, )), g && domUtils.remove(g, !0); } c.moveToBookmark(d).select(); } else if (dtd.$block[f]) { if ( (this.execCommand('paragraph', f, h, 'customstyle'), (c = e.selection.getRange()), !c.collapsed) ) { c.collapse(), (g = domUtils.findParent( e.selection.getStart(), function (a) { return a.getAttribute('label') == b.label; }, !0, )); var q = e.document.createElement('p'); domUtils.insertAfter(g, q), domUtils.fillNode(e.document, q), c.setStart(q, 0).setCursor(); } } else { if (((c = e.selection.getRange()), c.collapsed)) return ( (g = e.document.createElement(f)), domUtils.setAttributes(g, h), void c.insertNode(g).setStart(g, 0).setCursor() ); (d = c.createBookmark()), c.applyInlineStyle(f, h).moveToBookmark(d).select(); } }, queryCommandValue: function () { var a = domUtils.filterNodeList(this.selection.getStartElementPath(), function (a) { return a.getAttribute('label'); }); return a ? a.getAttribute('label') : ''; }, }), a.addListener('keyup', function (b, c) { var d = c.keyCode || c.which; if (32 == d || 13 == d) { var e = a.selection.getRange(); if (e.collapsed) { var f = domUtils.findParent( a.selection.getStart(), function (a) { return a.getAttribute('label'); }, !0, ); if (f && dtd.$block[f.tagName] && domUtils.isEmptyNode(f)) { var g = a.document.createElement('p'); domUtils.insertAfter(f, g), domUtils.fillNode(a.document, g), domUtils.remove(f), e.setStart(g, 0).setCursor(); } } } }); }), (UE.plugins.catchremoteimage = function () { var me = this, ajax = UE.ajax; me.options.catchRemoteImageEnable !== !1 && (me.setOpt({ catchRemoteImageEnable: !1 }), me.addListener('afterpaste', function () { me.fireEvent('catchRemoteImage'); }), me.addListener('catchRemoteImage', function () { function catchremoteimage(a, b) { var c = utils.serializeParam(me.queryCommandValue('serverparam')) || '', d = utils.formatUrl( catcherActionUrl + (catcherActionUrl.indexOf('?') == -1 ? '?' : '&') + c, ), e = utils.isCrossDomainUrl(d), f = { method: 'POST', dataType: e ? 'jsonp' : '', timeout: 6e4, onsuccess: b.success, onerror: b.error, }; (f[catcherFieldName] = a), ajax.request(d, f); } for ( var catcherLocalDomain = me.getOpt('catcherLocalDomain'), catcherActionUrl = me.getActionUrl(me.getOpt('catcherActionName')), catcherUrlPrefix = me.getOpt('catcherUrlPrefix'), catcherFieldName = me.getOpt('catcherFieldName'), remoteImages = [], imgs = domUtils.getElementsByTagName(me.document, 'img'), test = function (a, b) { if (a.indexOf(location.host) != -1 || /(^\.)|(^\/)/.test(a)) return !0; if (b) for (var c, d = 0; (c = b[d++]); ) if (a.indexOf(c) !== -1) return !0; return !1; }, i = 0, ci; (ci = imgs[i++]); ) if (!ci.getAttribute('word_img')) { var src = ci.getAttribute('_src') || ci.src || ''; /^(https?|ftp):/i.test(src) && !test(src, catcherLocalDomain) && remoteImages.push(src); } remoteImages.length && catchremoteimage(remoteImages, { success: function (r) { try { var info = void 0 !== r.state ? r : eval('(' + r.responseText + ')'); } catch (e) { return; } var i, j, ci, cj, oldSrc, newSrc, list = info.list; for (i = 0; (ci = imgs[i++]); ) for (oldSrc = ci.getAttribute('_src') || ci.src || '', j = 0; (cj = list[j++]); ) if (oldSrc == cj.source && 'SUCCESS' == cj.state) { (newSrc = catcherUrlPrefix + cj.url), domUtils.setAttributes(ci, { src: newSrc, _src: newSrc }); break; } me.fireEvent('catchremotesuccess'); }, error: function () { me.fireEvent('catchremoteerror'); }, }); })); }), UE.plugin.register('snapscreen', function () { function getLocation(a) { var b, c = document.createElement('a'), d = utils.serializeParam(me.queryCommandValue('serverparam')) || ''; return ( (c.href = a), browser.ie && (c.href = c.href), (b = c.search), d && ((b = b + (b.indexOf('?') == -1 ? '?' : '&') + d), (b = b.replace(/[&]+/gi, '&'))), { port: c.port, hostname: c.hostname, path: c.pathname + b || +c.hash } ); } var me = this, snapplugin; return { commands: { snapscreen: { execCommand: function (cmd) { function onSuccess(rs) { try { if (((rs = eval('(' + rs + ')')), 'SUCCESS' == rs.state)) { var opt = me.options; me.execCommand('insertimage', { src: opt.snapscreenUrlPrefix + rs.url, _src: opt.snapscreenUrlPrefix + rs.url, alt: rs.title || '', floatStyle: opt.snapscreenImgAlign, }); } else alert(rs.state); } catch (e) { alert(lang.callBackErrorMsg); } } var url, local, res, lang = me.getLang('snapScreen_plugin'); if (!snapplugin) { var container = me.container, doc = me.container.ownerDocument || me.container.document; snapplugin = doc.createElement('object'); try { snapplugin.type = 'application/x-pluginbaidusnap'; } catch (e) { return; } (snapplugin.style.cssText = 'position:absolute;left:-9999px;width:0;height:0;'), snapplugin.setAttribute('width', '0'), snapplugin.setAttribute('height', '0'), container.appendChild(snapplugin); } (url = me.getActionUrl(me.getOpt('snapscreenActionName'))), (local = getLocation(url)), setTimeout(function () { try { res = snapplugin.saveSnapshot(local.hostname, local.path, local.port); } catch (a) { return void me.ui._dialogs.snapscreenDialog.open(); } onSuccess(res); }, 50); }, queryCommandState: function () { return navigator.userAgent.indexOf('Windows', 0) != -1 ? 0 : -1; }, }, }, }; }), (UE.commands.insertparagraph = { execCommand: function (a, b) { for ( var c, d = this, e = d.selection.getRange(), f = e.startContainer; f && !domUtils.isBody(f); ) (c = f), (f = f.parentNode); if (c) { var g = d.document.createElement('p'); b ? c.parentNode.insertBefore(g, c) : c.parentNode.insertBefore(g, c.nextSibling), domUtils.fillNode(d.document, g), e.setStart(g, 0).setCursor(!1, !0); } }, }), UE.plugin.register('webapp', function () { function a(a, c) { return c ? '' : ''; } var b = this; return { outputRule: function (b) { utils.each(b.getNodesByTagName('img'), function (b) { var c; if ('edui-faked-webapp' == b.getAttr('class')) { c = a( { title: b.getAttr('title'), width: b.getAttr('width'), height: b.getAttr('height'), align: b.getAttr('align'), cssfloat: b.getStyle('float'), url: b.getAttr('_url'), logo: b.getAttr('_logo_url'), }, !0, ); var d = UE.uNode.createElement(c); b.parentNode.replaceChild(d, b); } }); }, inputRule: function (b) { utils.each(b.getNodesByTagName('iframe'), function (b) { if ('edui-faked-webapp' == b.getAttr('class')) { var c = UE.uNode.createElement( a({ title: b.getAttr('title'), width: b.getAttr('width'), height: b.getAttr('height'), align: b.getAttr('align'), cssfloat: b.getStyle('float'), url: b.getAttr('src'), logo: b.getAttr('logo_url'), }), ); b.parentNode.replaceChild(c, b); } }); }, commands: { webapp: { execCommand: function (b, c) { var d = this, e = a(utils.extend(c, { align: 'none' }), !1); d.execCommand('inserthtml', e); }, queryCommandState: function () { var a = this, b = a.selection.getRange().getClosedNode(), c = b && 'edui-faked-webapp' == b.className; return c ? 1 : 0; }, }, }, }; }), (UE.plugins.template = function () { (UE.commands.template = { execCommand: function (a, b) { b.html && this.execCommand('inserthtml', b.html); }, }), this.addListener('click', function (a, b) { var c = b.target || b.srcElement, d = this.selection.getRange(), e = domUtils.findParent( c, function (a) { if (a.className && domUtils.hasClass(a, 'ue_t')) return a; }, !0, ); e && d.selectNode(e).shrinkBoundary().select(); }), this.addListener('keydown', function (a, b) { var c = this.selection.getRange(); if (!c.collapsed && !(b.ctrlKey || b.metaKey || b.shiftKey || b.altKey)) { var d = domUtils.findParent( c.startContainer, function (a) { if (a.className && domUtils.hasClass(a, 'ue_t')) return a; }, !0, ); d && domUtils.removeClasses(d, ['ue_t']); } }); }), UE.plugin.register('music', function () { function a(a, c, d, e, f, g) { return g ? '' : ''; } var b = this; return { outputRule: function (b) { utils.each(b.getNodesByTagName('img'), function (b) { var c; if ('edui-faked-music' == b.getAttr('class')) { var d = b.getStyle('float'), e = b.getAttr('align'); c = a(b.getAttr('_url'), b.getAttr('width'), b.getAttr('height'), e, d, !0); var f = UE.uNode.createElement(c); b.parentNode.replaceChild(f, b); } }); }, inputRule: function (b) { utils.each(b.getNodesByTagName('embed'), function (b) { if ('edui-faked-music' == b.getAttr('class')) { var c = b.getStyle('float'), d = b.getAttr('align'); html = a(b.getAttr('src'), b.getAttr('width'), b.getAttr('height'), d, c, !1); var e = UE.uNode.createElement(html); b.parentNode.replaceChild(e, b); } }); }, commands: { music: { execCommand: function (b, c) { var d = this, e = a(c.url, c.width || 400, c.height || 95, 'none', !1); d.execCommand('inserthtml', e); }, queryCommandState: function () { var a = this, b = a.selection.getRange().getClosedNode(), c = b && 'edui-faked-music' == b.className; return c ? 1 : 0; }, }, }, }; }), UE.plugin.register('autoupload', function () { function a(a, b) { var c, d, e, f, g, h, i, j, k = b, l = /image\/\w+/i.test(a.type) ? 'image' : 'file', m = 'loading_' + (+new Date()).toString(36); if ( ((c = k.getOpt(l + 'FieldName')), (d = k.getOpt(l + 'UrlPrefix')), (e = k.getOpt(l + 'MaxSize')), (f = k.getOpt(l + 'AllowFiles')), (g = k.getActionUrl(k.getOpt(l + 'ActionName'))), (i = function (a) { var b = k.document.getElementById(m); b && domUtils.remove(b), k.fireEvent('showmessage', { id: m, content: a, type: 'error', timeout: 4e3 }); }), 'image' == l ? ((h = ''), (j = function (a) { var b = d + a.url, c = k.document.getElementById(m); c && (c.setAttribute('src', b), c.setAttribute('_src', b), c.setAttribute('title', a.title || ''), c.setAttribute('alt', a.original || ''), c.removeAttribute('id'), domUtils.removeClasses(c, 'loadingclass')); })) : ((h = '

'), (j = function (a) { var b = d + a.url, c = k.document.getElementById(m), e = k.selection.getRange(), f = e.createBookmark(); e.selectNode(c).select(), k.execCommand('insertfile', { url: b }), e.moveToBookmark(f).select(); })), k.execCommand('inserthtml', h), !k.getOpt(l + 'ActionName')) ) return void i(k.getLang('autoupload.errorLoadConfig')); if (a.size > e) return void i(k.getLang('autoupload.exceedSizeError')); var n = a.name ? a.name.substr(a.name.lastIndexOf('.')) : ''; if ((n && 'image' != l) || (f && (f.join('') + '.').indexOf(n.toLowerCase() + '.') == -1)) return void i(k.getLang('autoupload.exceedTypeError')); var o = new XMLHttpRequest(), p = new FormData(), q = utils.serializeParam(k.queryCommandValue('serverparam')) || '', r = utils.formatUrl(g + (g.indexOf('?') == -1 ? '?' : '&') + q); p.append(c, a, a.name || 'blob.' + a.type.substr('image/'.length)), p.append('type', 'ajax'), o.open('post', r, !0), o.setRequestHeader('X-Requested-With', 'XMLHttpRequest'), o.addEventListener('load', function (a) { try { var b = new Function('return ' + utils.trim(a.target.response))(); 'SUCCESS' == b.state && b.url ? j(b) : i(b.state); } catch (c) { i(k.getLang('autoupload.loadError')); } }), o.send(p); } function b(a) { return a.clipboardData && a.clipboardData.items && 1 == a.clipboardData.items.length && /^image\//.test(a.clipboardData.items[0].type) ? a.clipboardData.items : null; } function c(a) { return a.dataTransfer && a.dataTransfer.files ? a.dataTransfer.files : null; } return { outputRule: function (a) { utils.each(a.getNodesByTagName('img'), function (a) { /\b(loaderrorclass)|(bloaderrorclass)\b/.test(a.getAttr('class')) && a.parentNode.removeChild(a); }), utils.each(a.getNodesByTagName('p'), function (a) { /\bloadpara\b/.test(a.getAttr('class')) && a.parentNode.removeChild(a); }); }, bindEvents: { ready: function (d) { var e = this; window.FormData && window.FileReader && (domUtils.on(e.body, 'paste drop', function (d) { var f, g = !1; if ((f = 'paste' == d.type ? b(d) : c(d))) { for (var h, i = f.length; i--; ) (h = f[i]), h.getAsFile && (h = h.getAsFile()), h && h.size > 0 && (a(h, e), (g = !0)); g && d.preventDefault(); } }), domUtils.on(e.body, 'dragover', function (a) { 'Files' == a.dataTransfer.types[0] && a.preventDefault(); }), utils.cssRule( 'loading', ".loadingclass{display:inline-block;cursor:default;background: url('" + this.options.themePath + this.options.theme + "/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-left:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('" + this.options.themePath + this.options.theme + "/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}", this.document, )); }, }, }; }), UE.plugin.register('autosave', function () { function a(a) { var f; if (!(new Date() - c < d)) { if (!a.hasContents()) return void (e && b.removePreferences(e)); (c = new Date()), (a._saveFlag = null), (f = b.body.innerHTML), a.fireEvent('beforeautosave', { content: f }) !== !1 && (b.setPreferences(e, f), a.fireEvent('afterautosave', { content: f })); } } var b = this, c = new Date(), d = 20, e = null; return { defaultOptions: { saveInterval: 500 }, bindEvents: { ready: function () { var a = '-drafts-data', c = null; (c = b.key ? b.key + a : (b.container.parentNode.id || 'ue-common') + a), (e = (location.protocol + location.host + location.pathname).replace(/[.:\/]/g, '_') + c); }, contentchange: function () { e && (b._saveFlag && window.clearTimeout(b._saveFlag), b.options.saveInterval > 0 ? (b._saveFlag = window.setTimeout(function () { a(b); }, b.options.saveInterval)) : a(b)); }, }, commands: { clearlocaldata: { execCommand: function (a, c) { e && b.getPreferences(e) && b.removePreferences(e); }, notNeedUndo: !0, ignoreContentChange: !0, }, getlocaldata: { execCommand: function (a, c) { return e ? b.getPreferences(e) || '' : ''; }, notNeedUndo: !0, ignoreContentChange: !0, }, drafts: { execCommand: function (a, c) { e && ((b.body.innerHTML = b.getPreferences(e) || '

' + domUtils.fillHtml + '

'), b.focus(!0)); }, queryCommandState: function () { return e ? (null === b.getPreferences(e) ? -1 : 0) : -1; }, notNeedUndo: !0, ignoreContentChange: !0, }, }, }; }), UE.plugin.register('charts', function () { function a(a) { var b = null, c = 0; if (a.rows.length < 2) return !1; if (a.rows[0].cells.length < 2) return !1; (b = a.rows[0].cells), (c = b.length); for (var d, e = 0; (d = b[e]); e++) if ('th' !== d.tagName.toLowerCase()) return !1; for (var f, e = 1; (f = a.rows[e]); e++) { if (f.cells.length != c) return !1; if ('th' !== f.cells[0].tagName.toLowerCase()) return !1; for (var d, g = 1; (d = f.cells[g]); g++) { var h = utils.trim(d.innerText || d.textContent || ''); if ( ((h = h .replace(new RegExp(UE.dom.domUtils.fillChar, 'g'), '') .replace(/^\s+|\s+$/g, '')), !/^\d*\.?\d+$/.test(h)) ) return !1; } } return !0; } var b = this; return { bindEvents: { chartserror: function () {} }, commands: { charts: { execCommand: function (c, d) { var e = domUtils.findParentByTagName( this.selection.getRange().startContainer, 'table', !0, ), f = [], g = {}; if (!e) return !1; if (!a(e)) return b.fireEvent('chartserror'), !1; (g.title = d.title || ''), (g.subTitle = d.subTitle || ''), (g.xTitle = d.xTitle || ''), (g.yTitle = d.yTitle || ''), (g.suffix = d.suffix || ''), (g.tip = d.tip || ''), (g.dataFormat = d.tableDataFormat || ''), (g.chartType = d.chartType || 0); for (var h in g) g.hasOwnProperty(h) && f.push(h + ':' + g[h]); e.setAttribute('data-chart', f.join(';')), domUtils.addClass(e, 'edui-charts-table'); }, queryCommandState: function (b, c) { var d = domUtils.findParentByTagName( this.selection.getRange().startContainer, 'table', !0, ); return d && a(d) ? 0 : -1; }, }, }, inputRule: function (a) { utils.each(a.getNodesByTagName('table'), function (a) { void 0 !== a.getAttr('data-chart') && a.setAttr('style'); }); }, outputRule: function (a) { utils.each(a.getNodesByTagName('table'), function (a) { void 0 !== a.getAttr('data-chart') && a.setAttr('style', 'display: none;'); }); }, }; }), UE.plugin.register('section', function () { function a(a) { (this.tag = ''), (this.level = -1), (this.dom = null), (this.nextSection = null), (this.previousSection = null), (this.parentSection = null), (this.startAddress = []), (this.endAddress = []), (this.children = []); } function b(b) { var c = new a(); return utils.extend(c, b); } function c(a, b) { for (var c = b, d = 0; d < a.length; d++) { if (!c.childNodes) return null; c = c.childNodes[a[d]]; } return c; } var d = this; return { bindMultiEvents: { type: 'aftersetcontent afterscencerestore', handler: function () { d.fireEvent('updateSections'); }, }, bindEvents: { ready: function () { d.fireEvent('updateSections'), domUtils.on(d.body, 'drop paste', function () { d.fireEvent('updateSections'); }); }, afterexeccommand: function (a, b) { 'paragraph' == b && d.fireEvent('updateSections'); }, keyup: function (a, b) { var c = this, d = c.selection.getRange(); if (1 != d.collapsed) c.fireEvent('updateSections'); else { var e = b.keyCode || b.which; (13 != e && 8 != e && 46 != e) || c.fireEvent('updateSections'); } }, }, commands: { getsections: { execCommand: function (a, c) { function d(a) { for (var b = 0; b < f.length; b++) if (f[b](a)) return b; return -1; } function e(a, c) { for (var f, g, i, k = null, l = a.childNodes, m = 0, n = l.length; m < n; m++) if (((i = l[m]), (f = d(i)), f >= 0)) { var o = h.selection.getRange().selectNode(i).createAddress(!0).startAddress, p = b({ tag: i.tagName, title: i.innerText || i.textContent || '', level: f, dom: i, startAddress: utils.clone(o, []), endAddress: utils.clone(o, []), children: [], }); for (j.nextSection = p, p.previousSection = j, g = j; f <= g.level; ) g = g.parentSection; (p.parentSection = g), g.children.push(p), (k = j = p); } else 1 === i.nodeType && e(i, c), k && k.endAddress[k.endAddress.length - 1]++; } for (var f = c || ['h1', 'h2', 'h3', 'h4', 'h5', 'h6'], g = 0; g < f.length; g++) 'string' == typeof f[g] ? (f[g] = (function (a) { return function (b) { return b.tagName == a.toUpperCase(); }; })(f[g])) : 'function' != typeof f[g] && (f[g] = function (a) { return null; }); var h = this, i = b({ level: -1, title: 'root' }), j = i; return e(h.body, i), i; }, notNeedUndo: !0, }, movesection: { execCommand: function (a, b, d, e) { function f(a, b, c) { for (var d = !1, e = !1, f = 0; f < a.length && !(f >= c.length); f++) { if (c[f] > a[f]) { d = !0; break; } if (c[f] < a[f]) break; } for (var f = 0; f < b.length && !(f >= c.length); f++) { if (c[f] < a[f]) { e = !0; break; } if (c[f] > a[f]) break; } return d && e; } var g, h, i = this; if ( b && d && d.level != -1 && ((g = e ? d.endAddress : d.startAddress), (h = c(g, i.body)), g && h && !f(b.startAddress, b.endAddress, g)) ) { var j, k, l = c(b.startAddress, i.body), m = c(b.endAddress, i.body); if (e) for ( j = m; j && !(domUtils.getPosition(l, j) & domUtils.POSITION_FOLLOWING) && ((k = j.previousSibling), domUtils.insertAfter(h, j), j != l); ) j = k; else for ( j = l; j && !(domUtils.getPosition(j, m) & domUtils.POSITION_FOLLOWING) && ((k = j.nextSibling), h.parentNode.insertBefore(j, h), j != m); ) j = k; i.fireEvent('updateSections'); } }, }, deletesection: { execCommand: function (a, b, c) { function d(a) { for (var b = e.body, c = 0; c < a.length; c++) { if (!b.childNodes) return null; b = b.childNodes[a[c]]; } return b; } var e = this; if (b) { var f, g = d(b.startAddress), h = d(b.endAddress), i = g; if (c) domUtils.remove(i); else for ( ; i && domUtils.inDoc(h, e.document) && !(domUtils.getPosition(i, h) & domUtils.POSITION_FOLLOWING); ) (f = i.nextSibling), domUtils.remove(i), (i = f); e.fireEvent('updateSections'); } }, }, selectsection: { execCommand: function (a, b) { if (!b && !b.dom) return !1; var c = this, d = c.selection.getRange(), e = { startAddress: utils.clone(b.startAddress, []), endAddress: utils.clone(b.endAddress, []), }; return ( e.endAddress[e.endAddress.length - 1]++, d.moveToAddress(e).select().scrollToView(), !0 ); }, notNeedUndo: !0, }, scrolltosection: { execCommand: function (a, b) { if (!b && !b.dom) return !1; var c = this, d = c.selection.getRange(), e = { startAddress: b.startAddress, endAddress: b.endAddress }; return e.endAddress[e.endAddress.length - 1]++, d.moveToAddress(e).scrollToView(), !0; }, notNeedUndo: !0, }, }, }; }), UE.plugin.register('simpleupload', function () { function a() { var a = b.offsetWidth || 20, e = b.offsetHeight || 20, f = document.createElement('iframe'), g = 'display:block;width:' + a + 'px;height:' + e + 'px;overflow:hidden;border:0;margin:0;padding:0;position:absolute;top:0;left:0;filter:alpha(opacity=0);-moz-opacity:0;-khtml-opacity: 0;opacity: 0;cursor:pointer;'; domUtils.on(f, 'load', function () { var b, h, i, j = (+new Date()).toString(36); (h = f.contentDocument || f.contentWindow.document), (i = h.body), (b = h.createElement('div')), (b.innerHTML = '
'), (b.className = 'edui-' + c.options.theme), (b.id = c.ui.id + '_iframeupload'), (i.style.cssText = g), (i.style.width = a + 'px'), (i.style.height = e + 'px'), i.appendChild(b), i.parentNode && ((i.parentNode.style.width = a + 'px'), (i.parentNode.style.height = a + 'px')); var k = h.getElementById('edui_form_' + j), l = h.getElementById('edui_input_' + j), m = h.getElementById('edui_iframe_' + j); domUtils.on(l, 'change', function () { function a() { try { var e, f, g, h = (m.contentDocument || m.contentWindow.document).body, i = h.innerText || h.textContent || ''; (f = new Function('return ' + i)()), (e = c.options.imageUrlPrefix + f.url), 'SUCCESS' == f.state && f.url ? ((g = c.document.getElementById(d)), g.setAttribute('src', e), g.setAttribute('_src', e), g.setAttribute('title', f.title || ''), g.setAttribute('alt', f.original || ''), g.removeAttribute('id'), domUtils.removeClasses(g, 'loadingclass')) : b && b(f.state); } catch (j) { b && b(c.getLang('simpleupload.loadError')); } k.reset(), domUtils.un(m, 'load', a); } function b(a) { if (d) { var b = c.document.getElementById(d); b && domUtils.remove(b), c.fireEvent('showmessage', { id: d, content: a, type: 'error', timeout: 4e3 }); } } if (l.value) { var d = 'loading_' + (+new Date()).toString(36), e = utils.serializeParam(c.queryCommandValue('serverparam')) || '', f = c.getActionUrl(c.getOpt('imageActionName')), g = c.getOpt('imageAllowFiles'); if ( (c.focus(), c.execCommand( 'inserthtml', '', ), !c.getOpt('imageActionName')) ) return void errorHandler(c.getLang('autoupload.errorLoadConfig')); var h = l.value, i = h ? h.substr(h.lastIndexOf('.')) : ''; if (!i || (g && (g.join('') + '.').indexOf(i.toLowerCase() + '.') == -1)) return void b(c.getLang('simpleupload.exceedTypeError')); domUtils.on(m, 'load', a), (k.action = utils.formatUrl(f + (f.indexOf('?') == -1 ? '?' : '&') + e)), k.submit(); } }); var n; c.addListener('selectionchange', function () { clearTimeout(n), (n = setTimeout(function () { var a = c.queryCommandState('simpleupload'); a == -1 ? (l.disabled = 'disabled') : (l.disabled = !1); }, 400)); }), (d = !0); }), (f.style.cssText = g), b.appendChild(f); } var b, c = this, d = !1; return { bindEvents: { ready: function () { utils.cssRule( 'loading', ".loadingclass{display:inline-block;cursor:default;background: url('" + this.options.themePath + this.options.theme + "/images/loading.gif') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}\n.loaderrorclass{display:inline-block;cursor:default;background: url('" + this.options.themePath + this.options.theme + "/images/loaderror.png') no-repeat center center transparent;border:1px solid #cccccc;margin-right:1px;height: 22px;width: 22px;}", this.document, ); }, simpleuploadbtnready: function (d, e) { (b = e), c.afterConfigReady(a); }, }, outputRule: function (a) { utils.each(a.getNodesByTagName('img'), function (a) { /\b(loaderrorclass)|(bloaderrorclass)\b/.test(a.getAttr('class')) && a.parentNode.removeChild(a); }); }, commands: { simpleupload: { queryCommandState: function () { return d ? 0 : -1; }, }, }, }; }), UE.plugin.register('serverparam', function () { var a = {}; return { commands: { serverparam: { execCommand: function (b, c, d) { void 0 === c || null === c ? (a = {}) : utils.isString(c) ? void 0 === d || null === d ? delete a[c] : (a[c] = d) : utils.isObject(c) ? utils.extend(a, c, !0) : utils.isFunction(c) && utils.extend(a, c(), !0); }, queryCommandValue: function () { return a || {}; }, }, }, }; }), UE.plugin.register('insertfile', function () { function a(a) { var b = a.substr(a.lastIndexOf('.') + 1).toLowerCase(), c = { rar: 'icon_rar.gif', zip: 'icon_rar.gif', tar: 'icon_rar.gif', gz: 'icon_rar.gif', bz2: 'icon_rar.gif', doc: 'icon_doc.gif', docx: 'icon_doc.gif', pdf: 'icon_pdf.gif', mp3: 'icon_mp3.gif', xls: 'icon_xls.gif', chm: 'icon_chm.gif', ppt: 'icon_ppt.gif', pptx: 'icon_ppt.gif', avi: 'icon_mv.gif', rmvb: 'icon_mv.gif', wmv: 'icon_mv.gif', flv: 'icon_mv.gif', swf: 'icon_mv.gif', rm: 'icon_mv.gif', exe: 'icon_exe.gif', psd: 'icon_psd.gif', txt: 'icon_txt.gif', jpg: 'icon_jpg.gif', png: 'icon_jpg.gif', jpeg: 'icon_jpg.gif', gif: 'icon_jpg.gif', ico: 'icon_jpg.gif', bmp: 'icon_jpg.gif', }; return c[b] ? c[b] : c.txt; } var b = this; return { commands: { insertfile: { execCommand: function (c, d) { d = utils.isArray(d) ? d : [d]; var e, f, g, h, i = '', j = b.getOpt('UEDITOR_HOME_URL'), k = j + ('/' == j.substr(j.length - 1) ? '' : '/') + 'dialogs/attachment/fileTypeImages/'; for (e = 0; e < d.length; e++) (f = d[e]), (g = k + a(f.url)), (h = f.title || f.url.substr(f.url.lastIndexOf('/') + 1)), (i += '

' + h + '

'); b.execCommand('insertHtml', i); }, }, }, }; }), (UE.plugins.xssFilter = function () { function a(a) { var b = a.tagName, d = a.attrs; return c.hasOwnProperty(b) ? void UE.utils.each(d, function (d, e) { c[b].indexOf(e) === -1 && a.setAttr(e); }) : (a.parentNode.removeChild(a), !1); } var b = UEDITOR_CONFIG, c = b.whitList; c && b.xssFilterRules && (this.options.filterRules = (function () { var b = {}; return ( UE.utils.each(c, function (c, d) { b[d] = function (b) { return a(b); }; }), b ); })()); var d = []; UE.utils.each(c, function (a, b) { d.push(b); }), c && b.inputXssFilter && this.addInputRule(function (b) { b.traversal(function (b) { return 'element' === b.type && void a(b); }); }), c && b.outputXssFilter && this.addOutputRule(function (b) { b.traversal(function (b) { return 'element' === b.type && void a(b); }); }); }); var baidu = baidu || {}; (baidu.editor = baidu.editor || {}), (UE.ui = baidu.editor.ui = {}), (function () { function a() { var a = document.getElementById('edui_fixedlayer'); i.setViewportOffset(a, { left: 0, top: 0 }); } function b(b) { d.on(window, 'scroll', a), d.on(window, 'resize', baidu.editor.utils.defer(a, 0, !0)); } var c = baidu.editor.browser, d = baidu.editor.dom.domUtils, e = '$EDITORUI', f = (window[e] = {}), g = 'ID' + e, h = 0, i = (baidu.editor.ui.uiUtils = { uid: function (a) { return a ? a[g] || (a[g] = ++h) : ++h; }, hook: function (a, b) { var c; return ( a && a._callbacks ? (c = a) : ((c = function () { var b; a && (b = a.apply(this, arguments)); for (var d = c._callbacks, e = d.length; e--; ) { var f = d[e].apply(this, arguments); void 0 === b && (b = f); } return b; }), (c._callbacks = [])), c._callbacks.push(b), c ); }, createElementByHtml: function (a) { var b = document.createElement('div'); return (b.innerHTML = a), (b = b.firstChild), b.parentNode.removeChild(b), b; }, getViewportElement: function () { return c.ie && c.quirks ? document.body : document.documentElement; }, getClientRect: function (a) { var b; try { b = a.getBoundingClientRect(); } catch (c) { b = { left: 0, top: 0, height: 0, width: 0 }; } for ( var e, f = { left: Math.round(b.left), top: Math.round(b.top), height: Math.round(b.bottom - b.top), width: Math.round(b.right - b.left), }; (e = a.ownerDocument) !== document && (a = d.getWindow(e).frameElement); ) (b = a.getBoundingClientRect()), (f.left += b.left), (f.top += b.top); return (f.bottom = f.top + f.height), (f.right = f.left + f.width), f; }, getViewportRect: function () { var a = i.getViewportElement(), b = 0 | (window.innerWidth || a.clientWidth), c = 0 | (window.innerHeight || a.clientHeight); return { left: 0, top: 0, height: c, width: b, bottom: c, right: b }; }, setViewportOffset: function (a, b) { var c = i.getFixedLayer(); a.parentNode === c ? ((a.style.left = b.left + 'px'), (a.style.top = b.top + 'px')) : d.setViewportOffset(a, b); }, getEventOffset: function (a) { var b = a.target || a.srcElement, c = i.getClientRect(b), d = i.getViewportOffsetByEvent(a); return { left: d.left - c.left, top: d.top - c.top }; }, getViewportOffsetByEvent: function (a) { var b = a.target || a.srcElement, c = d.getWindow(b).frameElement, e = { left: a.clientX, top: a.clientY }; if (c && b.ownerDocument !== document) { var f = i.getClientRect(c); (e.left += f.left), (e.top += f.top); } return e; }, setGlobal: function (a, b) { return (f[a] = b), e + '["' + a + '"]'; }, unsetGlobal: function (a) { delete f[a]; }, copyAttributes: function (a, b) { for (var e = b.attributes, f = e.length; f--; ) { var g = e[f]; 'style' == g.nodeName || 'class' == g.nodeName || (c.ie && !g.specified) || a.setAttribute(g.nodeName, g.nodeValue); } b.className && d.addClass(a, b.className), b.style.cssText && (a.style.cssText += ';' + b.style.cssText); }, removeStyle: function (a, b) { if (a.style.removeProperty) a.style.removeProperty(b); else { if (!a.style.removeAttribute) throw ''; a.style.removeAttribute(b); } }, contains: function (a, b) { return ( a && b && a !== b && (a.contains ? a.contains(b) : 16 & a.compareDocumentPosition(b)) ); }, startDrag: function (a, b, c) { function d(a) { var c = a.clientX - g, d = a.clientY - h; b.ondragmove(c, d, a), a.stopPropagation ? a.stopPropagation() : (a.cancelBubble = !0); } function e(a) { c.removeEventListener('mousemove', d, !0), c.removeEventListener('mouseup', e, !0), window.removeEventListener('mouseup', e, !0), b.ondragstop(); } function f() { i.releaseCapture(), i.detachEvent('onmousemove', d), i.detachEvent('onmouseup', f), i.detachEvent('onlosecaptrue', f), b.ondragstop(); } var c = c || document, g = a.clientX, h = a.clientY; if (c.addEventListener) c.addEventListener('mousemove', d, !0), c.addEventListener('mouseup', e, !0), window.addEventListener('mouseup', e, !0), a.preventDefault(); else { var i = a.srcElement; i.setCapture(), i.attachEvent('onmousemove', d), i.attachEvent('onmouseup', f), i.attachEvent('onlosecaptrue', f), (a.returnValue = !1); } b.ondragstart(); }, getFixedLayer: function () { var d = document.getElementById('edui_fixedlayer'); return ( null == d && ((d = document.createElement('div')), (d.id = 'edui_fixedlayer'), document.body.appendChild(d), c.ie && c.version <= 8 ? ((d.style.position = 'absolute'), b(), setTimeout(a)) : (d.style.position = 'fixed'), (d.style.left = '0'), (d.style.top = '0'), (d.style.width = '0'), (d.style.height = '0')), d ); }, makeUnselectable: function (a) { if (c.opera || (c.ie && c.version < 9)) { if (((a.unselectable = 'on'), a.hasChildNodes())) for (var b = 0; b < a.childNodes.length; b++) 1 == a.childNodes[b].nodeType && i.makeUnselectable(a.childNodes[b]); } else void 0 !== a.style.MozUserSelect ? (a.style.MozUserSelect = 'none') : void 0 !== a.style.WebkitUserSelect ? (a.style.WebkitUserSelect = 'none') : void 0 !== a.style.KhtmlUserSelect && (a.style.KhtmlUserSelect = 'none'); }, }); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.uiUtils, c = baidu.editor.EventBase, d = (baidu.editor.ui.UIBase = function () {}); (d.prototype = { className: '', uiName: '', initOptions: function (a) { var c = this; for (var d in a) c[d] = a[d]; this.id = this.id || 'edui' + b.uid(); }, initUIBase: function () { this._globalKey = a.unhtml(b.setGlobal(this.id, this)); }, render: function (a) { for ( var c, d = this.renderHtml(), e = b.createElementByHtml(d), f = domUtils.getElementsByTagName(e, '*'), g = 'edui-' + (this.theme || this.editor.options.theme), h = document.getElementById('edui_fixedlayer'), i = 0; (c = f[i++]); ) domUtils.addClass(c, g); domUtils.addClass(e, g), h && ((h.className = ''), domUtils.addClass(h, g)); var j = this.getDom(); null != j ? (j.parentNode.replaceChild(e, j), b.copyAttributes(e, j)) : ('string' == typeof a && (a = document.getElementById(a)), (a = a || b.getFixedLayer()), domUtils.addClass(a, g), a.appendChild(e)), this.postRender(); }, getDom: function (a) { return a ? document.getElementById(this.id + '_' + a) : document.getElementById(this.id); }, postRender: function () { this.fireEvent('postrender'); }, getHtmlTpl: function () { return ''; }, formatHtml: function (a) { var b = 'edui-' + this.uiName; return a .replace(/##/g, this.id) .replace(/%%-/g, this.uiName ? b + '-' : '') .replace(/%%/g, (this.uiName ? b : '') + ' ' + this.className) .replace(/\$\$/g, this._globalKey); }, renderHtml: function () { return this.formatHtml(this.getHtmlTpl()); }, dispose: function () { var a = this.getDom(); a && baidu.editor.dom.domUtils.remove(a), b.unsetGlobal(this.id); }, }), a.inherits(d, c); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.UIBase, c = (baidu.editor.ui.Separator = function (a) { this.initOptions(a), this.initSeparator(); }); (c.prototype = { uiName: 'separator', initSeparator: function () { this.initUIBase(); }, getHtmlTpl: function () { return '
'; }, }), a.inherits(c, b); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.dom.domUtils, c = baidu.editor.ui.UIBase, d = baidu.editor.ui.uiUtils, e = (baidu.editor.ui.Mask = function (a) { this.initOptions(a), this.initUIBase(); }); (e.prototype = { getHtmlTpl: function () { return '
'; }, postRender: function () { var a = this; b.on(window, 'resize', function () { setTimeout(function () { a.isHidden() || a._fill(); }); }); }, show: function (a) { this._fill(), (this.getDom().style.display = ''), (this.getDom().style.zIndex = a); }, hide: function () { (this.getDom().style.display = 'none'), (this.getDom().style.zIndex = ''); }, isHidden: function () { return 'none' == this.getDom().style.display; }, _onMouseDown: function () { return !1; }, _onClick: function (a, b) { this.fireEvent('click', a, b); }, _fill: function () { var a = this.getDom(), b = d.getViewportRect(); (a.style.width = b.width + 'px'), (a.style.height = b.height + 'px'); }, }), a.inherits(e, c); })(), (function () { function a(a, b) { for (var c = 0; c < g.length; c++) { var d = g[c]; if (!d.isHidden() && d.queryAutoHide(b) !== !1) { if (a && /scroll/gi.test(a.type) && 'edui-wordpastepop' == d.className) return; d.hide(); } } g.length && d.editor.fireEvent('afterhidepop'); } var b = baidu.editor.utils, c = baidu.editor.ui.uiUtils, d = baidu.editor.dom.domUtils, e = baidu.editor.ui.UIBase, f = (baidu.editor.ui.Popup = function (a) { this.initOptions(a), this.initPopup(); }), g = []; f.postHide = a; var h = [ 'edui-anchor-topleft', 'edui-anchor-topright', 'edui-anchor-bottomleft', 'edui-anchor-bottomright', ]; (f.prototype = { SHADOW_RADIUS: 5, content: null, _hidden: !1, autoRender: !0, canSideLeft: !0, canSideUp: !0, initPopup: function () { this.initUIBase(), g.push(this); }, getHtmlTpl: function () { return ( '
' + this.getContentHtmlTpl() + '
' ); }, getContentHtmlTpl: function () { return this.content ? 'string' == typeof this.content ? this.content : this.content.renderHtml() : ''; }, _UIBase_postRender: e.prototype.postRender, postRender: function () { if ( (this.content instanceof e && this.content.postRender(), this.captureWheel && !this.captured) ) { this.captured = !0; var a = (document.documentElement.clientHeight || document.body.clientHeight) - 80, b = this.getDom().offsetHeight, f = c.getClientRect(this.combox.getDom()).top, g = this.getDom('content'), h = this.getDom('body').getElementsByTagName('iframe'), i = this; for (h.length && (h = h[0]); f + b > a; ) b -= 30; (g.style.height = b + 'px'), h && (h.style.height = b + 'px'), window.XMLHttpRequest ? d.on( g, 'onmousewheel' in document.body ? 'mousewheel' : 'DOMMouseScroll', function (a) { a.preventDefault ? a.preventDefault() : (a.returnValue = !1), a.wheelDelta ? (g.scrollTop -= (a.wheelDelta / 120) * 60) : (g.scrollTop -= (a.detail / -3) * 60); }, ) : d.on(this.getDom(), 'mousewheel', function (a) { (a.returnValue = !1), (i.getDom('content').scrollTop -= (a.wheelDelta / 120) * 60); }); } this.fireEvent('postRenderAfter'), this.hide(!0), this._UIBase_postRender(); }, _doAutoRender: function () { !this.getDom() && this.autoRender && this.render(); }, mesureSize: function () { var a = this.getDom('content'); return c.getClientRect(a); }, fitSize: function () { if (this.captureWheel && this.sized) return this.__size; this.sized = !0; var a = this.getDom('body'); (a.style.width = ''), (a.style.height = ''); var b = this.mesureSize(); if (this.captureWheel) { a.style.width = -(-20 - b.width) + 'px'; var c = parseInt(this.getDom('content').style.height, 10); !window.isNaN(c) && (b.height = c); } else a.style.width = b.width + 'px'; return ( (a.style.height = b.height + 'px'), (this.__size = b), this.captureWheel && (this.getDom('content').style.overflow = 'auto'), b ); }, showAnchor: function (a, b) { this.showAnchorRect(c.getClientRect(a), b); }, showAnchorRect: function (a, b, e) { this._doAutoRender(); var f = c.getViewportRect(); (this.getDom().style.visibility = 'hidden'), this._show(); var g, i, j, k, l = this.fitSize(); b ? ((g = this.canSideLeft && a.right + l.width > f.right && a.left > l.width), (i = this.canSideUp && a.top + l.height > f.bottom && a.bottom > l.height), (j = g ? a.left - l.width : a.right), (k = i ? a.bottom - l.height : a.top)) : ((g = this.canSideLeft && a.right + l.width > f.right && a.left > l.width), (i = this.canSideUp && a.top + l.height > f.bottom && a.bottom > l.height), (j = g ? a.right - l.width : a.left), (k = i ? a.top - l.height : a.bottom)); var m = this.getDom(); c.setViewportOffset(m, { left: j, top: k }), d.removeClasses(m, h), (m.className += ' ' + h[2 * (i ? 1 : 0) + (g ? 1 : 0)]), this.editor && ((m.style.zIndex = 1 * this.editor.container.style.zIndex + 10), (baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex = m.style.zIndex - 1)), (this.getDom().style.visibility = 'visible'); }, showAt: function (a) { var b = a.left, c = a.top, d = { left: b, top: c, right: b, bottom: c, height: 0, width: 0 }; this.showAnchorRect(d, !1, !0); }, _show: function () { if (this._hidden) { var a = this.getDom(); (a.style.display = ''), (this._hidden = !1), this.fireEvent('show'); } }, isHidden: function () { return this._hidden; }, show: function () { this._doAutoRender(), this._show(); }, hide: function (a) { !this._hidden && this.getDom() && ((this.getDom().style.display = 'none'), (this._hidden = !0), a || this.fireEvent('hide')); }, queryAutoHide: function (a) { return !a || !c.contains(this.getDom(), a); }, }), b.inherits(f, e), d.on(document, 'mousedown', function (b) { var c = b.target || b.srcElement; a(b, c); }), d.on(window, 'scroll', function (b, c) { a(b, c); }); })(), (function () { function a(a, b) { for ( var c = '
' + a + '
', d = 0; d < e.length; d++ ) d && d % 10 === 0 && (c += '' + (60 == d ? '' : '') + ''), (c += d < 70 ? '' : ''); return (c += '
' + b.getLang('themeColor') + '
' + b.getLang('standardColor') + '
'); } var b = baidu.editor.utils, c = baidu.editor.ui.UIBase, d = (baidu.editor.ui.ColorPicker = function (a) { this.initOptions(a), (this.noColorText = this.noColorText || this.editor.getLang('clearColor')), this.initUIBase(); }); (d.prototype = { getHtmlTpl: function () { return a(this.noColorText, this.editor); }, _onTableClick: function (a) { var b = a.target || a.srcElement, c = b.getAttribute('data-color'); c && this.fireEvent('pickcolor', c); }, _onTableOver: function (a) { var b = a.target || a.srcElement, c = b.getAttribute('data-color'); c && (this.getDom('preview').style.backgroundColor = c); }, _onTableOut: function () { this.getDom('preview').style.backgroundColor = ''; }, _onPickNoColor: function () { this.fireEvent('picknocolor'); }, }), b.inherits(d, c); var e = 'ffffff,000000,eeece1,1f497d,4f81bd,c0504d,9bbb59,8064a2,4bacc6,f79646,f2f2f2,7f7f7f,ddd9c3,c6d9f0,dbe5f1,f2dcdb,ebf1dd,e5e0ec,dbeef3,fdeada,d8d8d8,595959,c4bd97,8db3e2,b8cce4,e5b9b7,d7e3bc,ccc1d9,b7dde8,fbd5b5,bfbfbf,3f3f3f,938953,548dd4,95b3d7,d99694,c3d69b,b2a2c7,92cddc,fac08f,a5a5a5,262626,494429,17365d,366092,953734,76923c,5f497a,31859b,e36c09,7f7f7f,0c0c0c,1d1b10,0f243e,244061,632423,4f6128,3f3151,205867,974806,c00000,ff0000,ffc000,ffff00,92d050,00b050,00b0f0,0070c0,002060,7030a0,'.split( ',', ); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.uiUtils, c = baidu.editor.ui.UIBase, d = (baidu.editor.ui.TablePicker = function (a) { this.initOptions(a), this.initTablePicker(); }); (d.prototype = { defaultNumRows: 10, defaultNumCols: 10, maxNumRows: 20, maxNumCols: 20, numRows: 10, numCols: 10, lengthOfCellSide: 22, initTablePicker: function () { this.initUIBase(); }, getHtmlTpl: function () { return '
'; }, _UIBase_render: c.prototype.render, render: function (a) { this._UIBase_render(a), (this.getDom('label').innerHTML = '0' + this.editor.getLang('t_row') + ' x 0' + this.editor.getLang('t_col')); }, _track: function (a, b) { var c = this.getDom('overlay').style, d = this.lengthOfCellSide; (c.width = a * d + 'px'), (c.height = b * d + 'px'); var e = this.getDom('label'); (e.innerHTML = a + this.editor.getLang('t_col') + ' x ' + b + this.editor.getLang('t_row')), (this.numCols = a), (this.numRows = b); }, _onMouseOver: function (a, c) { var d = a.relatedTarget || a.fromElement; b.contains(c, d) || c === d || ((this.getDom('label').innerHTML = '0' + this.editor.getLang('t_col') + ' x 0' + this.editor.getLang('t_row')), (this.getDom('overlay').style.visibility = '')); }, _onMouseOut: function (a, c) { var d = a.relatedTarget || a.toElement; b.contains(c, d) || c === d || ((this.getDom('label').innerHTML = '0' + this.editor.getLang('t_col') + ' x 0' + this.editor.getLang('t_row')), (this.getDom('overlay').style.visibility = 'hidden')); }, _onMouseMove: function (a, c) { var d = (this.getDom('overlay').style, b.getEventOffset(a)), e = this.lengthOfCellSide, f = Math.ceil(d.left / e), g = Math.ceil(d.top / e); this._track(f, g); }, _onClick: function () { this.fireEvent('picktable', this.numCols, this.numRows); }, }), a.inherits(d, c); })(), (function () { var a = baidu.editor.browser, b = baidu.editor.dom.domUtils, c = baidu.editor.ui.uiUtils, d = 'onmousedown="$$.Stateful_onMouseDown(event, this);" onmouseup="$$.Stateful_onMouseUp(event, this);"' + (a.ie ? ' onmouseenter="$$.Stateful_onMouseEnter(event, this);" onmouseleave="$$.Stateful_onMouseLeave(event, this);"' : ' onmouseover="$$.Stateful_onMouseOver(event, this);" onmouseout="$$.Stateful_onMouseOut(event, this);"'); baidu.editor.ui.Stateful = { alwalysHoverable: !1, target: null, Stateful_init: function () { (this._Stateful_dGetHtmlTpl = this.getHtmlTpl), (this.getHtmlTpl = this.Stateful_getHtmlTpl); }, Stateful_getHtmlTpl: function () { var a = this._Stateful_dGetHtmlTpl(); return a.replace(/stateful/g, function () { return d; }); }, Stateful_onMouseEnter: function (a, b) { (this.target = b), (this.isDisabled() && !this.alwalysHoverable) || (this.addState('hover'), this.fireEvent('over')); }, Stateful_onMouseLeave: function (a, b) { (this.isDisabled() && !this.alwalysHoverable) || (this.removeState('hover'), this.removeState('active'), this.fireEvent('out')); }, Stateful_onMouseOver: function (a, b) { var d = a.relatedTarget; c.contains(b, d) || b === d || this.Stateful_onMouseEnter(a, b); }, Stateful_onMouseOut: function (a, b) { var d = a.relatedTarget; c.contains(b, d) || b === d || this.Stateful_onMouseLeave(a, b); }, Stateful_onMouseDown: function (a, b) { this.isDisabled() || this.addState('active'); }, Stateful_onMouseUp: function (a, b) { this.isDisabled() || this.removeState('active'); }, Stateful_postRender: function () { this.disabled && !this.hasState('disabled') && this.addState('disabled'); }, hasState: function (a) { return b.hasClass(this.getStateDom(), 'edui-state-' + a); }, addState: function (a) { this.hasState(a) || (this.getStateDom().className += ' edui-state-' + a); }, removeState: function (a) { this.hasState(a) && b.removeClasses(this.getStateDom(), ['edui-state-' + a]); }, getStateDom: function () { return this.getDom('state'); }, isChecked: function () { return this.hasState('checked'); }, setChecked: function (a) { !this.isDisabled() && a ? this.addState('checked') : this.removeState('checked'); }, isDisabled: function () { return this.hasState('disabled'); }, setDisabled: function (a) { a ? (this.removeState('hover'), this.removeState('checked'), this.removeState('active'), this.addState('disabled')) : this.removeState('disabled'); }, }; })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.UIBase, c = baidu.editor.ui.Stateful, d = (baidu.editor.ui.Button = function (a) { if (a.name) { var b = a.name, c = a.cssRules; a.className || (a.className = 'edui-for-' + b), (a.cssRules = '.edui-default .edui-for-' + b + ' .edui-icon {' + c + '}'); } this.initOptions(a), this.initButton(); }); (d.prototype = { uiName: 'button', label: '', title: '', showIcon: !0, showText: !0, cssRules: '', initButton: function () { this.initUIBase(), this.Stateful_init(), this.cssRules && a.cssRule('edui-customize-' + this.name + '-style', this.cssRules); }, getHtmlTpl: function () { return ( '
' + (this.showIcon ? '
' : '') + (this.showText ? '
' + this.label + '
' : '') + '
' ); }, postRender: function () { this.Stateful_postRender(), this.setDisabled(this.disabled); }, _onMouseDown: function (a) { var b = a.target || a.srcElement, c = b && b.tagName && b.tagName.toLowerCase(); if ('input' == c || 'object' == c || 'object' == c) return !1; }, _onClick: function () { this.isDisabled() || this.fireEvent('click'); }, setTitle: function (a) { var b = this.getDom('label'); b.innerHTML = a; }, }), a.inherits(d, b), a.extend(d.prototype, c); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.uiUtils, c = (baidu.editor.dom.domUtils, baidu.editor.ui.UIBase), d = baidu.editor.ui.Stateful, e = (baidu.editor.ui.SplitButton = function (a) { this.initOptions(a), this.initSplitButton(); }); (e.prototype = { popup: null, uiName: 'splitbutton', title: '', initSplitButton: function () { this.initUIBase(), this.Stateful_init(); if (null != this.popup) { var a = this.popup; (this.popup = null), this.setPopup(a); } }, _UIBase_postRender: c.prototype.postRender, postRender: function () { this.Stateful_postRender(), this._UIBase_postRender(); }, setPopup: function (c) { this.popup !== c && (null != this.popup && this.popup.dispose(), c.addListener('show', a.bind(this._onPopupShow, this)), c.addListener('hide', a.bind(this._onPopupHide, this)), c.addListener( 'postrender', a.bind(function () { c .getDom('body') .appendChild( b.createElementByHtml( '
', ), ), (c.getDom().className += ' ' + this.className); }, this), ), (this.popup = c)); }, _onPopupShow: function () { this.addState('opened'); }, _onPopupHide: function () { this.removeState('opened'); }, getHtmlTpl: function () { return ( '
' ); }, showPopup: function () { var a = b.getClientRect(this.getDom()); (a.top -= this.popup.SHADOW_RADIUS), (a.height += this.popup.SHADOW_RADIUS), this.popup.showAnchorRect(a); }, _onArrowClick: function (a, b) { this.isDisabled() || this.showPopup(); }, _onButtonClick: function () { this.isDisabled() || this.fireEvent('buttonclick'); }, }), a.inherits(e, c), a.extend(e.prototype, d, !0); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.uiUtils, c = baidu.editor.ui.ColorPicker, d = baidu.editor.ui.Popup, e = baidu.editor.ui.SplitButton, f = (baidu.editor.ui.ColorButton = function (a) { this.initOptions(a), this.initColorButton(); }); (f.prototype = { initColorButton: function () { var a = this; (this.popup = new d({ content: new c({ noColorText: a.editor.getLang('clearColor'), editor: a.editor, onpickcolor: function (b, c) { a._onPickColor(c); }, onpicknocolor: function (b, c) { a._onPickNoColor(c); }, }), editor: a.editor, })), this.initSplitButton(); }, _SplitButton_postRender: e.prototype.postRender, postRender: function () { this._SplitButton_postRender(), this.getDom('button_body').appendChild( b.createElementByHtml( '
', ), ), (this.getDom().className += ' edui-colorbutton'); }, setColor: function (a) { (this.getDom('colorlump').style.backgroundColor = a), (this.color = a); }, _onPickColor: function (a) { this.fireEvent('pickcolor', a) !== !1 && (this.setColor(a), this.popup.hide()); }, _onPickNoColor: function (a) { this.fireEvent('picknocolor') !== !1 && this.popup.hide(); }, }), a.inherits(f, e); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.Popup, c = baidu.editor.ui.TablePicker, d = baidu.editor.ui.SplitButton, e = (baidu.editor.ui.TableButton = function (a) { this.initOptions(a), this.initTableButton(); }); (e.prototype = { initTableButton: function () { var a = this; (this.popup = new b({ content: new c({ editor: a.editor, onpicktable: function (b, c, d) { a._onPickTable(c, d); }, }), editor: a.editor, })), this.initSplitButton(); }, _onPickTable: function (a, b) { this.fireEvent('picktable', a, b) !== !1 && this.popup.hide(); }, }), a.inherits(e, d); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.UIBase, c = (baidu.editor.ui.AutoTypeSetPicker = function (a) { this.initOptions(a), this.initAutoTypeSetPicker(); }); (c.prototype = { initAutoTypeSetPicker: function () { this.initUIBase(); }, getHtmlTpl: function () { var a = this.editor, b = a.options.autotypeset, c = a.getLang('autoTypeSet'), d = 'textAlignValue' + a.uid, e = 'imageBlockLineValue' + a.uid, f = 'symbolConverValue' + a.uid; return ( '
' + c.mergeLine + '' + c.delLine + '
' + c.removeFormat + '' + c.indent + '
' + c.alignment + '' + a.getLang('justifyleft') + '' + a.getLang('justifycenter') + '' + a.getLang('justifyright') + '
' + c.imageFloat + '' + a.getLang('default') + '' + a.getLang('justifyleft') + '' + a.getLang('justifycenter') + '' + a.getLang('justifyright') + '
' + c.removeFontsize + '' + c.removeFontFamily + '
' + c.removeHtml + '
' + c.pasteFilter + '
' + c.symbol + '' + c.bdc2sb + '' + c.tobdc + '
' ); }, _UIBase_render: b.prototype.render, }), a.inherits(c, b); })(), (function () { function a(a) { for ( var c, d = {}, e = a.getDom(), f = a.editor.uid, g = null, h = null, i = domUtils.getElementsByTagName(e, 'input'), j = i.length - 1; (c = i[j--]); ) if (((g = c.getAttribute('type')), 'checkbox' == g)) if (((h = c.getAttribute('name')), d[h] && delete d[h], c.checked)) { var k = document.getElementById(h + 'Value' + f); if (k) { if (/input/gi.test(k.tagName)) d[h] = k.value; else for (var l, m = k.getElementsByTagName('input'), n = m.length - 1; (l = m[n--]); ) if (l.checked) { d[h] = l.value; break; } } else d[h] = !0; } else d[h] = !1; else d[c.getAttribute('value')] = c.checked; for (var o, p = domUtils.getElementsByTagName(e, 'select'), j = 0; (o = p[j++]); ) { var q = o.getAttribute('name'); d[q] = d[q] ? o.value : ''; } b.extend(a.editor.options.autotypeset, d), a.editor.setPreferences('autotypeset', d); } var b = baidu.editor.utils, c = baidu.editor.ui.Popup, d = baidu.editor.ui.AutoTypeSetPicker, e = baidu.editor.ui.SplitButton, f = (baidu.editor.ui.AutoTypeSetButton = function (a) { this.initOptions(a), this.initAutoTypeSetButton(); }); (f.prototype = { initAutoTypeSetButton: function () { var b = this; this.popup = new c({ content: new d({ editor: b.editor }), editor: b.editor, hide: function () { !this._hidden && this.getDom() && (a(this), (this.getDom().style.display = 'none'), (this._hidden = !0), this.fireEvent('hide')); }, }); var e = 0; this.popup.addListener('postRenderAfter', function () { var c = this; if (!e) { var d = this.getDom(), f = d.getElementsByTagName('button')[0]; (f.onclick = function () { a(c), b.editor.execCommand('autotypeset'), c.hide(); }), domUtils.on(d, 'click', function (d) { var e = d.target || d.srcElement, f = b.editor.uid; if (e && 'INPUT' == e.tagName) { if ( 'imageBlockLine' == e.name || 'textAlign' == e.name || 'symbolConver' == e.name ) for ( var g = e.checked, h = document.getElementById(e.name + 'Value' + f), i = h.getElementsByTagName('input'), j = { imageBlockLine: 'none', textAlign: 'left', symbolConver: 'tobdc' }, k = 0; k < i.length; k++ ) g ? i[k].value == j[e.name] && (i[k].checked = 'checked') : (i[k].checked = !1); if ( e.name == 'imageBlockLineValue' + f || e.name == 'textAlignValue' + f || 'bdc' == e.name ) { var l = e.parentNode.previousSibling.getElementsByTagName('input'); l && (l[0].checked = !0); } a(c); } }), (e = 1); } }), this.initSplitButton(); }, }), b.inherits(f, e); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.Popup, c = baidu.editor.ui.Stateful, d = baidu.editor.ui.UIBase, e = (baidu.editor.ui.CellAlignPicker = function (a) { this.initOptions(a), this.initSelected(), this.initCellAlignPicker(); }); (e.prototype = { initSelected: function () { var a = { valign: { top: 0, middle: 1, bottom: 2 }, align: { left: 0, center: 1, right: 2 }, count: 3, }; this.selected && (this.selectedIndex = a.valign[this.selected.valign] * a.count + a.align[this.selected.align]); }, initCellAlignPicker: function () { this.initUIBase(), this.Stateful_init(); }, getHtmlTpl: function () { for ( var a = ['left', 'center', 'right'], b = 9, c = null, d = -1, e = [], f = 0; f < b; f++ ) (c = this.selectedIndex === f ? ' class="edui-cellalign-selected" ' : ''), (d = f % 3), 0 === d && e.push(''), e.push( '
', ), 2 === d && e.push(''); return ( '
' + e.join('') + '
' ); }, getStateDom: function () { return this.target; }, _onClick: function (a) { var c = a.target || a.srcElement; /icon/.test(c.className) && (this.items[c.parentNode.getAttribute('index')].onclick(), b.postHide(a)); }, _UIBase_render: d.prototype.render, }), a.inherits(e, d), a.extend(e.prototype, c, !0); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.Stateful, c = baidu.editor.ui.uiUtils, d = baidu.editor.ui.UIBase, e = (baidu.editor.ui.PastePicker = function (a) { this.initOptions(a), this.initPastePicker(); }); (e.prototype = { initPastePicker: function () { this.initUIBase(), this.Stateful_init(); }, getHtmlTpl: function () { return ( '
' + this.editor.getLang('pasteOpt') + '
' ); }, getStateDom: function () { return this.target; }, format: function (a) { (this.editor.ui._isTransfer = !0), this.editor.fireEvent('pasteTransfer', a); }, _onClick: function (a) { var b = domUtils.getNextDomNode(a), d = c.getViewportRect().height, e = c.getClientRect(b); e.top + e.height > d ? (b.style.top = -e.height - a.offsetHeight + 'px') : (b.style.top = ''), /hidden/gi.test(domUtils.getComputedStyle(b, 'visibility')) ? ((b.style.visibility = 'visible'), domUtils.addClass(a, 'edui-state-opened')) : ((b.style.visibility = 'hidden'), domUtils.removeClasses(a, 'edui-state-opened')); }, _UIBase_render: d.prototype.render, }), a.inherits(e, d), a.extend(e.prototype, b, !0); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.uiUtils, c = baidu.editor.ui.UIBase, d = (baidu.editor.ui.Toolbar = function (a) { this.initOptions(a), this.initToolbar(); }); (d.prototype = { items: null, initToolbar: function () { (this.items = this.items || []), this.initUIBase(); }, add: function (a, b) { void 0 === b ? this.items.push(a) : this.items.splice(b, 0, a); }, getHtmlTpl: function () { for (var a = [], b = 0; b < this.items.length; b++) a[b] = this.items[b].renderHtml(); return ( '
' + a.join('') + '
' ); }, postRender: function () { for (var a = this.getDom(), c = 0; c < this.items.length; c++) this.items[c].postRender(); b.makeUnselectable(a); }, _onMouseDown: function (a) { var b = a.target || a.srcElement, c = b && b.tagName && b.tagName.toLowerCase(); if ('input' == c || 'object' == c || 'object' == c) return !1; }, }), a.inherits(d, c); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.dom.domUtils, c = baidu.editor.ui.uiUtils, d = baidu.editor.ui.UIBase, e = baidu.editor.ui.Popup, f = baidu.editor.ui.Stateful, g = baidu.editor.ui.CellAlignPicker, h = (baidu.editor.ui.Menu = function (a) { this.initOptions(a), this.initMenu(); }), i = { renderHtml: function () { return '
'; }, postRender: function () {}, queryAutoHide: function () { return !0; }, }; (h.prototype = { items: null, uiName: 'menu', initMenu: function () { (this.items = this.items || []), this.initPopup(), this.initItems(); }, initItems: function () { for (var a = 0; a < this.items.length; a++) { var b = this.items[a]; '-' == b ? (this.items[a] = this.getSeparator()) : b instanceof j || ((b.editor = this.editor), (b.theme = this.editor.options.theme), (this.items[a] = this.createItem(b))); } }, getSeparator: function () { return i; }, createItem: function (a) { return (a.menu = this), new j(a); }, _Popup_getContentHtmlTpl: e.prototype.getContentHtmlTpl, getContentHtmlTpl: function () { if (0 == this.items.length) return this._Popup_getContentHtmlTpl(); for (var a = [], b = 0; b < this.items.length; b++) { var c = this.items[b]; a[b] = c.renderHtml(); } return '
' + a.join('') + '
'; }, _Popup_postRender: e.prototype.postRender, postRender: function () { for (var a = this, d = 0; d < this.items.length; d++) { var e = this.items[d]; (e.ownerMenu = this), e.postRender(); } b.on(this.getDom(), 'mouseover', function (b) { b = b || event; var d = b.relatedTarget || b.fromElement, e = a.getDom(); c.contains(e, d) || e === d || a.fireEvent('over'); }), this._Popup_postRender(); }, queryAutoHide: function (a) { if (a) { if (c.contains(this.getDom(), a)) return !1; for (var b = 0; b < this.items.length; b++) { var d = this.items[b]; if (d.queryAutoHide(a) === !1) return !1; } } }, clearItems: function () { for (var a = 0; a < this.items.length; a++) { var b = this.items[a]; clearTimeout(b._showingTimer), clearTimeout(b._closingTimer), b.subMenu && b.subMenu.destroy(); } this.items = []; }, destroy: function () { this.getDom() && b.remove(this.getDom()), this.clearItems(); }, dispose: function () { this.destroy(); }, }), a.inherits(h, e); var j = (baidu.editor.ui.MenuItem = function (a) { if ( (this.initOptions(a), this.initUIBase(), this.Stateful_init(), this.subMenu && !(this.subMenu instanceof h)) ) if (a.className && a.className.indexOf('aligntd') != -1) { var c = this; (this.subMenu.selected = this.editor.queryCommandValue('cellalignment')), (this.subMenu = new e({ content: new g(this.subMenu), parentMenu: c, editor: c.editor, destroy: function () { this.getDom() && b.remove(this.getDom()); }, })), this.subMenu.addListener('postRenderAfter', function () { b.on(this.getDom(), 'mouseover', function () { c.addState('opened'); }); }); } else this.subMenu = new h(this.subMenu); }); (j.prototype = { label: '', subMenu: null, ownerMenu: null, uiName: 'menuitem', alwalysHoverable: !0, getHtmlTpl: function () { return ( '
' + this.renderLabelHtml() + '
' ); }, postRender: function () { var a = this; this.addListener('over', function () { a.ownerMenu.fireEvent('submenuover', a), a.subMenu && a.delayShowSubMenu(); }), this.subMenu && ((this.getDom().className += ' edui-hassubmenu'), this.subMenu.render(), this.addListener('out', function () { a.delayHideSubMenu(); }), this.subMenu.addListener('over', function () { clearTimeout(a._closingTimer), (a._closingTimer = null), a.addState('opened'); }), this.ownerMenu.addListener('hide', function () { a.hideSubMenu(); }), this.ownerMenu.addListener('submenuover', function (b, c) { c !== a && a.delayHideSubMenu(); }), (this.subMenu._bakQueryAutoHide = this.subMenu.queryAutoHide), (this.subMenu.queryAutoHide = function (b) { return (!b || !c.contains(a.getDom(), b)) && this._bakQueryAutoHide(b); })), (this.getDom().style.tabIndex = '-1'), c.makeUnselectable(this.getDom()), this.Stateful_postRender(); }, delayShowSubMenu: function () { var a = this; a.isDisabled() || (a.addState('opened'), clearTimeout(a._showingTimer), clearTimeout(a._closingTimer), (a._closingTimer = null), (a._showingTimer = setTimeout(function () { a.showSubMenu(); }, 250))); }, delayHideSubMenu: function () { var a = this; a.isDisabled() || (a.removeState('opened'), clearTimeout(a._showingTimer), a._closingTimer || (a._closingTimer = setTimeout(function () { a.hasState('opened') || a.hideSubMenu(), (a._closingTimer = null); }, 400))); }, renderLabelHtml: function () { return ( '
' + (this.label || '') + '
' ); }, getStateDom: function () { return this.getDom(); }, queryAutoHide: function (a) { if (this.subMenu && this.hasState('opened')) return this.subMenu.queryAutoHide(a); }, _onClick: function (a, b) { this.hasState('disabled') || (this.fireEvent('click', a, b) !== !1 && (this.subMenu ? this.showSubMenu() : e.postHide(a))); }, showSubMenu: function () { var a = c.getClientRect(this.getDom()); (a.right -= 5), (a.left += 2), (a.width -= 7), (a.top -= 4), (a.bottom += 4), (a.height += 8), this.subMenu.showAnchorRect(a, !0, !0); }, hideSubMenu: function () { this.subMenu.hide(); }, }), a.inherits(j, d), a.extend(j.prototype, f, !0); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.uiUtils, c = baidu.editor.ui.Menu, d = baidu.editor.ui.SplitButton, e = (baidu.editor.ui.Combox = function (a) { this.initOptions(a), this.initCombox(); }); (e.prototype = { uiName: 'combox', onbuttonclick: function () { this.showPopup(); }, initCombox: function () { var a = this; this.items = this.items || []; for (var b = 0; b < this.items.length; b++) { var d = this.items[b]; (d.uiName = 'listitem'), (d.index = b), (d.onclick = function () { a.selectByIndex(this.index); }); } (this.popup = new c({ items: this.items, uiName: 'list', editor: this.editor, captureWheel: !0, combox: this, })), this.initSplitButton(); }, _SplitButton_postRender: d.prototype.postRender, postRender: function () { this._SplitButton_postRender(), this.setLabel(this.label || ''), this.setValue(this.initValue || ''); }, showPopup: function () { var a = b.getClientRect(this.getDom()); (a.top += 1), (a.bottom -= 1), (a.height -= 2), this.popup.showAnchorRect(a); }, getValue: function () { return this.value; }, setValue: function (a) { var b = this.indexByValue(a); b != -1 ? ((this.selectedIndex = b), this.setLabel(this.items[b].label), (this.value = this.items[b].value)) : ((this.selectedIndex = -1), this.setLabel(this.getLabelForUnknowValue(a)), (this.value = a)); }, setLabel: function (a) { (this.getDom('button_body').innerHTML = a), (this.label = a); }, getLabelForUnknowValue: function (a) { return a; }, indexByValue: function (a) { for (var b = 0; b < this.items.length; b++) if (a == this.items[b].value) return b; return -1; }, getItem: function (a) { return this.items[a]; }, selectByIndex: function (a) { a < this.items.length && this.fireEvent('select', a) !== !1 && ((this.selectedIndex = a), (this.value = this.items[a].value), this.setLabel(this.items[a].label)); }, }), a.inherits(e, d); })(), (function () { var a, b, c, d = baidu.editor.utils, e = baidu.editor.dom.domUtils, f = baidu.editor.ui.uiUtils, g = baidu.editor.ui.Mask, h = baidu.editor.ui.UIBase, i = baidu.editor.ui.Button, j = (baidu.editor.ui.Dialog = function (a) { if (a.name) { var b = a.name, c = a.cssRules; a.className || (a.className = 'edui-for-' + b), c && (a.cssRules = '.edui-default .edui-for-' + b + ' .edui-dialog-content {' + c + '}'); } this.initOptions( d.extend( { autoReset: !0, draggable: !0, onok: function () {}, oncancel: function () {}, onclose: function (a, b) { return b ? this.onok() : this.oncancel(); }, holdScroll: !1, }, a, ), ), this.initDialog(); }); (j.prototype = { draggable: !1, uiName: 'dialog', initDialog: function () { var e = this, f = this.editor.options.theme; if ( (this.cssRules && d.cssRule('edui-customize-' + this.name + '-style', this.cssRules), this.initUIBase(), (this.modalMask = a || (a = new g({ className: 'edui-dialog-modalmask', theme: f, onclick: function () { c && c.close(!1); }, }))), (this.dragMask = b || (b = new g({ className: 'edui-dialog-dragmask', theme: f }))), (this.closeButton = new i({ className: 'edui-dialog-closebutton', title: e.closeDialog, theme: f, onclick: function () { e.close(!1); }, })), this.fullscreen && this.initResizeEvent(), this.buttons) ) for (var h = 0; h < this.buttons.length; h++) this.buttons[h] instanceof i || (this.buttons[h] = new i(d.extend(this.buttons[h], { editor: this.editor }, !0))); }, initResizeEvent: function () { var a = this; e.on(window, 'resize', function () { a._hidden || void 0 === a._hidden || (a.__resizeTimer && window.clearTimeout(a.__resizeTimer), (a.__resizeTimer = window.setTimeout(function () { a.__resizeTimer = null; var b = a.getDom(), c = a.getDom('content'), d = UE.ui.uiUtils.getClientRect(b), e = UE.ui.uiUtils.getClientRect(c), g = f.getViewportRect(); (c.style.width = g.width - d.width + e.width + 'px'), (c.style.height = g.height - d.height + e.height + 'px'), (b.style.width = g.width + 'px'), (b.style.height = g.height + 'px'), a.fireEvent('resize'); }, 100))); }); }, fitSize: function () { var a = this.getDom('body'), b = this.mesureSize(); return (a.style.width = b.width + 'px'), (a.style.height = b.height + 'px'), b; }, safeSetOffset: function (a) { var b = this, c = b.getDom(), d = f.getViewportRect(), e = f.getClientRect(c), g = a.left; g + e.width > d.right && (g = d.right - e.width); var h = a.top; h + e.height > d.bottom && (h = d.bottom - e.height), (c.style.left = Math.max(g, 0) + 'px'), (c.style.top = Math.max(h, 0) + 'px'); }, showAtCenter: function () { var a = f.getViewportRect(); if (this.fullscreen) { var b = this.getDom(), c = this.getDom('content'); b.style.display = 'block'; var d = UE.ui.uiUtils.getClientRect(b), g = UE.ui.uiUtils.getClientRect(c); (b.style.left = '-100000px'), (c.style.width = a.width - d.width + g.width + 'px'), (c.style.height = a.height - d.height + g.height + 'px'), (b.style.width = a.width + 'px'), (b.style.height = a.height + 'px'), (b.style.left = 0), (this._originalContext = { html: { overflowX: document.documentElement.style.overflowX, overflowY: document.documentElement.style.overflowY, }, body: { overflowX: document.body.style.overflowX, overflowY: document.body.style.overflowY, }, }), (document.documentElement.style.overflowX = 'hidden'), (document.documentElement.style.overflowY = 'hidden'), (document.body.style.overflowX = 'hidden'), (document.body.style.overflowY = 'hidden'); } else { this.getDom().style.display = ''; var h = this.fitSize(), i = 0 | this.getDom('titlebar').offsetHeight, j = a.width / 2 - h.width / 2, k = a.height / 2 - (h.height - i) / 2 - i, l = this.getDom(); this.safeSetOffset({ left: Math.max(0 | j, 0), top: Math.max(0 | k, 0) }), e.hasClass(l, 'edui-state-centered') || (l.className += ' edui-state-centered'); } this._show(); }, getContentHtml: function () { var a = ''; return ( 'string' == typeof this.content ? (a = this.content) : this.iframeUrl && (a = ''), a ); }, getHtmlTpl: function () { var a = ''; if (this.buttons) { for (var b = [], c = 0; c < this.buttons.length; c++) b[c] = this.buttons[c].renderHtml(); a = '
' + b.join('') + '
'; } return ( '
' + (this.title || '') + '
' + this.closeButton.renderHtml() + '
' + (this.autoReset ? '' : this.getContentHtml()) + '
' + a + '
' ); }, postRender: function () { this.modalMask.getDom() || (this.modalMask.render(), this.modalMask.hide()), this.dragMask.getDom() || (this.dragMask.render(), this.dragMask.hide()); var a = this; if ( (this.addListener('show', function () { a.modalMask.show(this.getDom().style.zIndex - 2); }), this.addListener('hide', function () { a.modalMask.hide(); }), this.buttons) ) for (var b = 0; b < this.buttons.length; b++) this.buttons[b].postRender(); e.on(window, 'resize', function () { setTimeout(function () { a.isHidden() || a.safeSetOffset(f.getClientRect(a.getDom())); }); }), this._hide(); }, mesureSize: function () { var a = this.getDom('body'), b = f.getClientRect(this.getDom('content')).width, c = a.style; return (c.width = b), f.getClientRect(a); }, _onTitlebarMouseDown: function (a, b) { if (this.draggable) { var c, d = (f.getViewportRect(), this); f.startDrag(a, { ondragstart: function () { (c = f.getClientRect(d.getDom())), (d.getDom('contmask').style.visibility = 'visible'), d.dragMask.show(d.getDom().style.zIndex - 1); }, ondragmove: function (a, b) { var e = c.left + a, f = c.top + b; d.safeSetOffset({ left: e, top: f }); }, ondragstop: function () { (d.getDom('contmask').style.visibility = 'hidden'), e.removeClasses(d.getDom(), ['edui-state-centered']), d.dragMask.hide(); }, }); } }, reset: function () { (this.getDom('content').innerHTML = this.getContentHtml()), this.fireEvent('dialogafterreset'); }, _show: function () { this._hidden && ((this.getDom().style.display = ''), this.editor.container.style.zIndex && (this.getDom().style.zIndex = 1 * this.editor.container.style.zIndex + 10), (this._hidden = !1), this.fireEvent('show'), (baidu.editor.ui.uiUtils.getFixedLayer().style.zIndex = this.getDom().style.zIndex - 4)); }, isHidden: function () { return this._hidden; }, _hide: function () { if (!this._hidden) { var a = this.getDom(); (a.style.display = 'none'), (a.style.zIndex = ''), (a.style.width = ''), (a.style.height = ''), (this._hidden = !0), this.fireEvent('hide'); } }, open: function () { if (this.autoReset) try { this.reset(); } catch (a) { this.render(), this.open(); } if ((this.showAtCenter(), this.iframeUrl)) try { this.getDom('iframe').focus(); } catch (b) {} c = this; }, _onCloseButtonClick: function (a, b) { this.close(!1); }, close: function (a) { if (this.fireEvent('close', a) !== !1) { this.fullscreen && ((document.documentElement.style.overflowX = this._originalContext.html.overflowX), (document.documentElement.style.overflowY = this._originalContext.html.overflowY), (document.body.style.overflowX = this._originalContext.body.overflowX), (document.body.style.overflowY = this._originalContext.body.overflowY), delete this._originalContext), this._hide(); var b = this.getDom('content'), c = this.getDom('iframe'); if (b && c) { var d = c.contentDocument || c.contentWindow.document; d && (d.body.innerHTML = ''), e.remove(b); } } }, }), d.inherits(j, h); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.Menu, c = baidu.editor.ui.SplitButton, d = (baidu.editor.ui.MenuButton = function (a) { this.initOptions(a), this.initMenuButton(); }); (d.prototype = { initMenuButton: function () { var a = this; (this.uiName = 'menubutton'), (this.popup = new b({ items: a.items, className: a.className, editor: a.editor })), this.popup.addListener('show', function () { for (var b = this, c = 0; c < b.items.length; c++) b.items[c].removeState('checked'), b.items[c].value == a._value && (b.items[c].addState('checked'), (this.value = a._value)); }), this.initSplitButton(); }, setValue: function (a) { this._value = a; }, }), a.inherits(d, c); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.Popup, c = baidu.editor.ui.SplitButton, d = (baidu.editor.ui.MultiMenuPop = function (a) { this.initOptions(a), this.initMultiMenu(); }); (d.prototype = { initMultiMenu: function () { var a = this; (this.popup = new b({ content: '', editor: a.editor, iframe_rendered: !1, onshow: function () { this.iframe_rendered || ((this.iframe_rendered = !0), (this.getDom('content').innerHTML = ''), a.editor.container.style.zIndex && (this.getDom().style.zIndex = 1 * a.editor.container.style.zIndex + 1)); }, })), (this.onbuttonclick = function () { this.showPopup(); }), this.initSplitButton(); }, }), a.inherits(d, c); })(), (function () { function a(a) { var b = a.target || a.srcElement, c = g.findParent( b, function (a) { return g.hasClass(a, 'edui-shortcutmenu') || g.hasClass(a, 'edui-popup'); }, !0, ); if (!c) for (var d, e = 0; (d = h[e++]); ) d.hide(); } var b, c = baidu.editor.ui, d = c.UIBase, e = c.uiUtils, f = baidu.editor.utils, g = baidu.editor.dom.domUtils, h = [], i = !1, j = (c.ShortCutMenu = function (a) { this.initOptions(a), this.initShortCutMenu(); }); (j.postHide = a), (j.prototype = { isHidden: !0, SPACE: 5, initShortCutMenu: function () { (this.items = this.items || []), this.initUIBase(), this.initItems(), this.initEvent(), h.push(this); }, initEvent: function () { var a = this, c = a.editor.document; g.on(c, 'mousemove', function (c) { if (a.isHidden === !1) { if (a.getSubMenuMark() || 'contextmenu' == a.eventType) return; var d = !0, e = a.getDom(), f = e.offsetWidth, g = e.offsetHeight, h = f / 2 + a.SPACE, i = g / 2, j = Math.abs(c.screenX - a.left), k = Math.abs(c.screenY - a.top); clearTimeout(b), (b = setTimeout(function () { k > 0 && k < i ? a.setOpacity(e, '1') : k > i && k < i + 70 ? (a.setOpacity(e, '0.5'), (d = !1)) : k > i + 70 && k < i + 140 && a.hide(), d && j > 0 && j < h ? a.setOpacity(e, '1') : j > h && j < h + 70 ? a.setOpacity(e, '0.5') : j > h + 70 && j < h + 140 && a.hide(); })); } }), browser.chrome && g.on(c, 'mouseout', function (b) { var c = b.relatedTarget || b.toElement; (null != c && 'HTML' != c.tagName) || a.hide(); }), a.editor.addListener('afterhidepop', function () { a.isHidden || (i = !0); }); }, initItems: function () { if (f.isArray(this.items)) for (var a = 0, b = this.items.length; a < b; a++) { var d = this.items[a].toLowerCase(); c[d] && ((this.items[a] = new c[d](this.editor)), (this.items[a].className += ' edui-shortcutsubmenu ')); } }, setOpacity: function (a, b) { browser.ie && browser.version < 9 ? (a.style.filter = 'alpha(opacity = ' + 100 * parseFloat(b) + ');') : (a.style.opacity = b); }, getSubMenuMark: function () { i = !1; for ( var a, b = e.getFixedLayer(), c = g.getElementsByTagName(b, 'div', function (a) { return g.hasClass(a, 'edui-shortcutsubmenu edui-popup'); }), d = 0; (a = c[d++]); ) 'none' != a.style.display && (i = !0); return i; }, show: function (a, b) { function c(a) { a.left < 0 && (a.left = 0), a.top < 0 && (a.top = 0), (i.style.cssText = 'position:absolute;left:' + a.left + 'px;top:' + a.top + 'px;'); } function d(a) { a.tagName || (a = a.getDom()), (h.left = parseInt(a.style.left)), (h.top = parseInt(a.style.top)), (h.top -= i.offsetHeight + 15), c(h); } var f = this, h = {}, i = this.getDom(), j = e.getFixedLayer(); if ( ((f.eventType = a.type), (i.style.cssText = 'display:block;left:-9999px'), 'contextmenu' == a.type && b) ) { var k = g.getElementsByTagName(j, 'div', 'edui-contextmenu')[0]; k ? d(k) : f.editor.addListener('aftershowcontextmenu', function (a, b) { d(b); }); } else (h = e.getViewportOffsetByEvent(a)), (h.top -= i.offsetHeight + f.SPACE), (h.left += f.SPACE + 20), c(h), f.setOpacity(i, 0.2); (f.isHidden = !1), (f.left = a.screenX + i.offsetWidth / 2 - f.SPACE), (f.top = a.screenY - i.offsetHeight / 2 - f.SPACE), f.editor && ((i.style.zIndex = 1 * f.editor.container.style.zIndex + 10), (j.style.zIndex = i.style.zIndex - 1)); }, hide: function () { this.getDom() && (this.getDom().style.display = 'none'), (this.isHidden = !0); }, postRender: function () { if (f.isArray(this.items)) for (var a, b = 0; (a = this.items[b++]); ) a.postRender(); }, getHtmlTpl: function () { var a; if (f.isArray(this.items)) { a = []; for (var b = 0; b < this.items.length; b++) a[b] = this.items[b].renderHtml(); a = a.join(''); } else a = this.items; return ( '
' + a + '
' ); }, }), f.inherits(j, d), g.on(document, 'mousedown', function (b) { a(b); }), g.on(window, 'scroll', function (b) { a(b); }); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui.UIBase, c = (baidu.editor.ui.Breakline = function (a) { this.initOptions(a), this.initSeparator(); }); (c.prototype = { uiName: 'Breakline', initSeparator: function () { this.initUIBase(); }, getHtmlTpl: function () { return '
'; }, }), a.inherits(c, b); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.dom.domUtils, c = baidu.editor.ui.UIBase, d = (baidu.editor.ui.Message = function (a) { this.initOptions(a), this.initMessage(); }); (d.prototype = { initMessage: function () { this.initUIBase(); }, getHtmlTpl: function () { return '
×
'; }, reset: function (a) { var b = this; a.keepshow || (clearTimeout(this.timer), (b.timer = setTimeout(function () { b.hide(); }, a.timeout || 4e3))), void 0 !== a.content && b.setContent(a.content), void 0 !== a.type && b.setType(a.type), b.show(); }, postRender: function () { var a = this, c = this.getDom('closer'); c && b.on(c, 'click', function () { a.hide(); }); }, setContent: function (a) { this.getDom('content').innerHTML = a; }, setType: function (a) { a = a || 'info'; var b = this.getDom('body'); b.className = b.className.replace(/edui-message-type-[\w-]+/, 'edui-message-type-' + a); }, getContent: function () { return this.getDom('content').innerHTML; }, getType: function () { var a = this.getDom('body').match(/edui-message-type-([\w-]+)/); return a ? a[1] : ''; }, show: function () { this.getDom().style.display = 'block'; }, hide: function () { var a = this.getDom(); a && ((a.style.display = 'none'), a.parentNode && a.parentNode.removeChild(a)); }, }), a.inherits(d, c); })(), (function () { var a = baidu.editor.utils, b = baidu.editor.ui, c = b.Dialog; (b.buttons = {}), (b.Dialog = function (a) { var b = new c(a); return ( b.addListener('hide', function () { if (b.editor) { var a = b.editor; try { if (browser.gecko) { var c = a.window.scrollY, d = a.window.scrollX; a.body.focus(), a.window.scrollTo(d, c); } else a.focus(); } catch (e) {} } }), b ); }); for ( var d, e = { anchor: '~/dialogs/anchor/anchor.html', insertimage: '~/dialogs/image/image.html', link: '~/dialogs/link/link.html', spechars: '~/dialogs/spechars/spechars.html', searchreplace: '~/dialogs/searchreplace/searchreplace.html', map: '~/dialogs/map/map.html', gmap: '~/dialogs/gmap/gmap.html', insertvideo: '~/dialogs/video/video.html', help: '~/dialogs/help/help.html', preview: '~/dialogs/preview/preview.html', emotion: '~/dialogs/emotion/emotion.html', wordimage: '~/dialogs/wordimage/wordimage.html', attachment: '~/dialogs/attachment/attachment.html', insertframe: '~/dialogs/insertframe/insertframe.html', edittip: '~/dialogs/table/edittip.html', edittable: '~/dialogs/table/edittable.html', edittd: '~/dialogs/table/edittd.html', webapp: '~/dialogs/webapp/webapp.html', snapscreen: '~/dialogs/snapscreen/snapscreen.html', scrawl: '~/dialogs/scrawl/scrawl.html', music: '~/dialogs/music/music.html', template: '~/dialogs/template/template.html', background: '~/dialogs/background/background.html', charts: '~/dialogs/charts/charts.html', }, f = [ 'undo', 'redo', 'formatmatch', 'bold', 'italic', 'underline', 'fontborder', 'touppercase', 'tolowercase', 'strikethrough', 'subscript', 'superscript', 'source', 'indent', 'outdent', 'blockquote', 'pasteplain', 'pagebreak', 'selectall', 'print', 'horizontal', 'removeformat', 'time', 'date', 'unlink', 'insertparagraphbeforetable', 'insertrow', 'insertcol', 'mergeright', 'mergedown', 'deleterow', 'deletecol', 'splittorows', 'splittocols', 'splittocells', 'mergecells', 'deletetable', 'drafts', ], g = 0; (d = f[g++]); ) (d = d.toLowerCase()), (b[d] = (function (a) { return function (c) { var d = new b.Button({ className: 'edui-for-' + a, title: c.options.labelMap[a] || c.getLang('labelMap.' + a) || '', onclick: function () { c.execCommand(a); }, theme: c.options.theme, showText: !1, }); return ( (b.buttons[a] = d), c.addListener('selectionchange', function (b, e, f) { var g = c.queryCommandState(a); g == -1 ? (d.setDisabled(!0), d.setChecked(!1)) : f || (d.setDisabled(!1), d.setChecked(g)); }), d ); }; })(d)); b.cleardoc = function (a) { var c = new b.Button({ className: 'edui-for-cleardoc', title: a.options.labelMap.cleardoc || a.getLang('labelMap.cleardoc') || '', theme: a.options.theme, onclick: function () { confirm(a.getLang('confirmClear')) && a.execCommand('cleardoc'); }, }); return ( (b.buttons.cleardoc = c), a.addListener('selectionchange', function () { c.setDisabled(a.queryCommandState('cleardoc') == -1); }), c ); }; var h = { justify: ['left', 'right', 'center', 'justify'], imagefloat: ['none', 'left', 'center', 'right'], directionality: ['ltr', 'rtl'], }; for (var i in h) !(function (a, c) { for (var d, e = 0; (d = c[e++]); ) !(function (c) { b[a.replace('float', '') + c] = function (d) { var e = new b.Button({ className: 'edui-for-' + a.replace('float', '') + c, title: d.options.labelMap[a.replace('float', '') + c] || d.getLang('labelMap.' + a.replace('float', '') + c) || '', theme: d.options.theme, onclick: function () { d.execCommand(a, c); }, }); return ( (b.buttons[a] = e), d.addListener('selectionchange', function (b, f, g) { e.setDisabled(d.queryCommandState(a) == -1), e.setChecked(d.queryCommandValue(a) == c && !g); }), e ); }; })(d); })(i, h[i]); for (var d, g = 0; (d = ['backcolor', 'forecolor'][g++]); ) b[d] = (function (a) { return function (c) { var d = new b.ColorButton({ className: 'edui-for-' + a, color: 'default', title: c.options.labelMap[a] || c.getLang('labelMap.' + a) || '', editor: c, onpickcolor: function (b, d) { c.execCommand(a, d); }, onpicknocolor: function () { c.execCommand(a, 'default'), this.setColor('transparent'), (this.color = 'default'); }, onbuttonclick: function () { c.execCommand(a, this.color); }, }); return ( (b.buttons[a] = d), c.addListener('selectionchange', function () { d.setDisabled(c.queryCommandState(a) == -1); }), d ); }; })(d); var j = { noOk: ['searchreplace', 'help', 'spechars', 'webapp', 'preview'], ok: [ 'attachment', 'anchor', 'link', 'insertimage', 'map', 'gmap', 'insertframe', 'wordimage', 'insertvideo', 'insertframe', 'edittip', 'edittable', 'edittd', 'scrawl', 'template', 'music', 'background', 'charts', ], }; for (var i in j) !(function (c, d) { for (var f, g = 0; (f = d[g++]); ) (browser.opera && 'searchreplace' === f) || !(function (d) { b[d] = function (f, g, h) { (g = g || (f.options.iframeUrlMap || {})[d] || e[d]), (h = f.options.labelMap[d] || f.getLang('labelMap.' + d) || ''); var i; g && ((i = new b.Dialog( a.extend( { iframeUrl: f.ui.mapUrl(g), editor: f, className: 'edui-for-' + d, title: h, holdScroll: 'insertimage' === d, fullscreen: /charts|preview/.test(d), closeDialog: f.getLang('closeDialog'), }, 'ok' == c ? { buttons: [ { className: 'edui-okbutton', label: f.getLang('ok'), editor: f, onclick: function () { i.close(!0); }, }, { className: 'edui-cancelbutton', label: f.getLang('cancel'), editor: f, onclick: function () { i.close(!1); }, }, ], } : {}, ), )), (f.ui._dialogs[d + 'Dialog'] = i)); var j = new b.Button({ className: 'edui-for-' + d, title: h, onclick: function () { if (i) switch (d) { case 'wordimage': var a = f.execCommand('wordimage'); a && a.length && (i.render(), i.open()); break; case 'scrawl': f.queryCommandState('scrawl') != -1 && (i.render(), i.open()); break; default: i.render(), i.open(); } }, theme: f.options.theme, disabled: ('scrawl' == d && f.queryCommandState('scrawl') == -1) || 'charts' == d, }); return ( (b.buttons[d] = j), f.addListener('selectionchange', function () { var a = { edittable: 1 }; if (!(d in a)) { var b = f.queryCommandState(d); j.getDom() && (j.setDisabled(b == -1), j.setChecked(b)); } }), j ); }; })(f.toLowerCase()); })(i, j[i]); (b.snapscreen = function (a, c, d) { d = a.options.labelMap.snapscreen || a.getLang('labelMap.snapscreen') || ''; var f = new b.Button({ className: 'edui-for-snapscreen', title: d, onclick: function () { a.execCommand('snapscreen'); }, theme: a.options.theme, }); if ( ((b.buttons.snapscreen = f), (c = c || (a.options.iframeUrlMap || {}).snapscreen || e.snapscreen)) ) { var g = new b.Dialog({ iframeUrl: a.ui.mapUrl(c), editor: a, className: 'edui-for-snapscreen', title: d, buttons: [ { className: 'edui-okbutton', label: a.getLang('ok'), editor: a, onclick: function () { g.close(!0); }, }, { className: 'edui-cancelbutton', label: a.getLang('cancel'), editor: a, onclick: function () { g.close(!1); }, }, ], }); g.render(), (a.ui._dialogs.snapscreenDialog = g); } return ( a.addListener('selectionchange', function () { f.setDisabled(a.queryCommandState('snapscreen') == -1); }), f ); }), (b.insertcode = function (c, d, e) { (d = c.options.insertcode || []), (e = c.options.labelMap.insertcode || c.getLang('labelMap.insertcode') || ''); var f = []; a.each(d, function (a, b) { f.push({ label: a, value: b, theme: c.options.theme, renderLabelHtml: function () { return '
' + (this.label || '') + '
'; }, }); }); var g = new b.Combox({ editor: c, items: f, onselect: function (a, b) { c.execCommand('insertcode', this.items[b].value); }, onbuttonclick: function () { this.showPopup(); }, title: e, initValue: e, className: 'edui-for-insertcode', indexByValue: function (a) { if (a) for (var b, c = 0; (b = this.items[c]); c++) if (b.value.indexOf(a) != -1) return c; return -1; }, }); return ( (b.buttons.insertcode = g), c.addListener('selectionchange', function (a, b, d) { if (!d) { var f = c.queryCommandState('insertcode'); if (f == -1) g.setDisabled(!0); else { g.setDisabled(!1); var h = c.queryCommandValue('insertcode'); if (!h) return void g.setValue(e); h && (h = h.replace(/['"]/g, '').split(',')[0]), g.setValue(h); } } }), g ); }), (b.fontfamily = function (c, d, e) { if ( ((d = c.options.fontfamily || []), (e = c.options.labelMap.fontfamily || c.getLang('labelMap.fontfamily') || ''), d.length) ) { for (var f, g = 0, h = []; (f = d[g]); g++) { var i = c.getLang('fontfamily')[f.name] || ''; !(function (b, d) { h.push({ label: b, value: d, theme: c.options.theme, renderLabelHtml: function () { return ( '
' + (this.label || '') + '
' ); }, }); })(f.label || i, f.val); } var j = new b.Combox({ editor: c, items: h, onselect: function (a, b) { c.execCommand('FontFamily', this.items[b].value); }, onbuttonclick: function () { this.showPopup(); }, title: e, initValue: e, className: 'edui-for-fontfamily', indexByValue: function (a) { if (a) for (var b, c = 0; (b = this.items[c]); c++) if (b.value.indexOf(a) != -1) return c; return -1; }, }); return ( (b.buttons.fontfamily = j), c.addListener('selectionchange', function (a, b, d) { if (!d) { var e = c.queryCommandState('FontFamily'); if (e == -1) j.setDisabled(!0); else { j.setDisabled(!1); var f = c.queryCommandValue('FontFamily'); f && (f = f.replace(/['"]/g, '').split(',')[0]), j.setValue(f); } } }), j ); } }), (b.fontsize = function (a, c, d) { if ( ((d = a.options.labelMap.fontsize || a.getLang('labelMap.fontsize') || ''), (c = c || a.options.fontsize || []), c.length) ) { for (var e = [], f = 0; f < c.length; f++) { var g = c[f] + 'px'; e.push({ label: g, value: g, theme: a.options.theme, renderLabelHtml: function () { return ( '
' + (this.label || '') + '
' ); }, }); } var h = new b.Combox({ editor: a, items: e, title: d, initValue: d, onselect: function (b, c) { a.execCommand('FontSize', this.items[c].value); }, onbuttonclick: function () { this.showPopup(); }, className: 'edui-for-fontsize', }); return ( (b.buttons.fontsize = h), a.addListener('selectionchange', function (b, c, d) { if (!d) { var e = a.queryCommandState('FontSize'); e == -1 ? h.setDisabled(!0) : (h.setDisabled(!1), h.setValue(a.queryCommandValue('FontSize'))); } }), h ); } }), (b.paragraph = function (c, d, e) { if ( ((e = c.options.labelMap.paragraph || c.getLang('labelMap.paragraph') || ''), (d = c.options.paragraph || []), !a.isEmptyObject(d)) ) { var f = []; for (var g in d) f.push({ value: g, label: d[g] || c.getLang('paragraph')[g], theme: c.options.theme, renderLabelHtml: function () { return ( '
' + (this.label || '') + '
' ); }, }); var h = new b.Combox({ editor: c, items: f, title: e, initValue: e, className: 'edui-for-paragraph', onselect: function (a, b) { c.execCommand('Paragraph', this.items[b].value); }, onbuttonclick: function () { this.showPopup(); }, }); return ( (b.buttons.paragraph = h), c.addListener('selectionchange', function (a, b, d) { if (!d) { var e = c.queryCommandState('Paragraph'); if (e == -1) h.setDisabled(!0); else { h.setDisabled(!1); var f = c.queryCommandValue('Paragraph'), g = h.indexByValue(f); g != -1 ? h.setValue(f) : h.setValue(h.initValue); } } }), h ); } }), (b.customstyle = function (a) { var c = a.options.customstyle || [], d = a.options.labelMap.customstyle || a.getLang('labelMap.customstyle') || ''; if (c.length) { for (var e, f = a.getLang('customstyle'), g = 0, h = []; (e = c[g++]); ) !(function (b) { var c = {}; (c.label = b.label ? b.label : f[b.name]), (c.style = b.style), (c.className = b.className), (c.tag = b.tag), h.push({ label: c.label, value: c, theme: a.options.theme, renderLabelHtml: function () { return ( '
<' + c.tag + ' ' + (c.className ? ' class="' + c.className + '"' : '') + (c.style ? ' style="' + c.style + '"' : '') + '>' + c.label + '
' ); }, }); })(e); var i = new b.Combox({ editor: a, items: h, title: d, initValue: d, className: 'edui-for-customstyle', onselect: function (b, c) { a.execCommand('customstyle', this.items[c].value); }, onbuttonclick: function () { this.showPopup(); }, indexByValue: function (a) { for (var b, c = 0; (b = this.items[c++]); ) if (b.label == a) return c - 1; return -1; }, }); return ( (b.buttons.customstyle = i), a.addListener('selectionchange', function (b, c, d) { if (!d) { var e = a.queryCommandState('customstyle'); if (e == -1) i.setDisabled(!0); else { i.setDisabled(!1); var f = a.queryCommandValue('customstyle'), g = i.indexByValue(f); g != -1 ? i.setValue(f) : i.setValue(i.initValue); } } }), i ); } }), (b.inserttable = function (a, c, d) { d = a.options.labelMap.inserttable || a.getLang('labelMap.inserttable') || ''; var e = new b.TableButton({ editor: a, title: d, className: 'edui-for-inserttable', onpicktable: function (b, c, d) { a.execCommand('InsertTable', { numRows: d, numCols: c, border: 1 }); }, onbuttonclick: function () { this.showPopup(); }, }); return ( (b.buttons.inserttable = e), a.addListener('selectionchange', function () { e.setDisabled(a.queryCommandState('inserttable') == -1); }), e ); }), (b.lineheight = function (a) { var c = a.options.lineheight || []; if (c.length) { for (var d, e = 0, f = []; (d = c[e++]); ) f.push({ label: d, value: d, theme: a.options.theme, onclick: function () { a.execCommand('lineheight', this.value); }, }); var g = new b.MenuButton({ editor: a, className: 'edui-for-lineheight', title: a.options.labelMap.lineheight || a.getLang('labelMap.lineheight') || '', items: f, onbuttonclick: function () { var b = a.queryCommandValue('LineHeight') || this.value; a.execCommand('LineHeight', b); }, }); return ( (b.buttons.lineheight = g), a.addListener('selectionchange', function () { var b = a.queryCommandState('LineHeight'); if (b == -1) g.setDisabled(!0); else { g.setDisabled(!1); var c = a.queryCommandValue('LineHeight'); c && g.setValue((c + '').replace(/cm/, '')), g.setChecked(b); } }), g ); } }); for (var k, l = ['top', 'bottom'], m = 0; (k = l[m++]); ) !(function (a) { b['rowspacing' + a] = function (c) { var d = c.options['rowspacing' + a] || []; if (!d.length) return null; for (var e, f = 0, g = []; (e = d[f++]); ) g.push({ label: e, value: e, theme: c.options.theme, onclick: function () { c.execCommand('rowspacing', this.value, a); }, }); var h = new b.MenuButton({ editor: c, className: 'edui-for-rowspacing' + a, title: c.options.labelMap['rowspacing' + a] || c.getLang('labelMap.rowspacing' + a) || '', items: g, onbuttonclick: function () { var b = c.queryCommandValue('rowspacing', a) || this.value; c.execCommand('rowspacing', b, a); }, }); return ( (b.buttons[a] = h), c.addListener('selectionchange', function () { var b = c.queryCommandState('rowspacing', a); if (b == -1) h.setDisabled(!0); else { h.setDisabled(!1); var d = c.queryCommandValue('rowspacing', a); d && h.setValue((d + '').replace(/%/, '')), h.setChecked(b); } }), h ); }; })(k); for (var n, o = ['insertorderedlist', 'insertunorderedlist'], p = 0; (n = o[p++]); ) !(function (a) { b[a] = function (c) { var d = c.options[a], e = function () { c.execCommand(a, this.value); }, f = []; for (var g in d) f.push({ label: d[g] || c.getLang()[a][g] || '', value: g, theme: c.options.theme, onclick: e, }); var h = new b.MenuButton({ editor: c, className: 'edui-for-' + a, title: c.getLang('labelMap.' + a) || '', items: f, onbuttonclick: function () { var b = c.queryCommandValue(a) || this.value; c.execCommand(a, b); }, }); return ( (b.buttons[a] = h), c.addListener('selectionchange', function () { var b = c.queryCommandState(a); if (b == -1) h.setDisabled(!0); else { h.setDisabled(!1); var d = c.queryCommandValue(a); h.setValue(d), h.setChecked(b); } }), h ); }; })(n); (b.fullscreen = function (a, c) { c = a.options.labelMap.fullscreen || a.getLang('labelMap.fullscreen') || ''; var d = new b.Button({ className: 'edui-for-fullscreen', title: c, theme: a.options.theme, onclick: function () { a.ui && a.ui.setFullScreen(!a.ui.isFullScreen()), this.setChecked(a.ui.isFullScreen()); }, }); return ( (b.buttons.fullscreen = d), a.addListener('selectionchange', function () { var b = a.queryCommandState('fullscreen'); d.setDisabled(b == -1), d.setChecked(a.ui.isFullScreen()); }), d ); }), (b.emotion = function (a, c) { var d = 'emotion', f = new b.MultiMenuPop({ title: a.options.labelMap[d] || a.getLang('labelMap.' + d) || '', editor: a, className: 'edui-for-' + d, iframeUrl: a.ui.mapUrl(c || (a.options.iframeUrlMap || {})[d] || e[d]), }); return ( (b.buttons[d] = f), a.addListener('selectionchange', function () { f.setDisabled(a.queryCommandState(d) == -1); }), f ); }), (b.autotypeset = function (a) { var c = new b.AutoTypeSetButton({ editor: a, title: a.options.labelMap.autotypeset || a.getLang('labelMap.autotypeset') || '', className: 'edui-for-autotypeset', onbuttonclick: function () { a.execCommand('autotypeset'); }, }); return ( (b.buttons.autotypeset = c), a.addListener('selectionchange', function () { c.setDisabled(a.queryCommandState('autotypeset') == -1); }), c ); }), (b.simpleupload = function (a) { var c = 'simpleupload', d = new b.Button({ className: 'edui-for-' + c, title: a.options.labelMap[c] || a.getLang('labelMap.' + c) || '', onclick: function () {}, theme: a.options.theme, showText: !1, }); return ( (b.buttons[c] = d), a.addListener('ready', function () { var b = d.getDom('body'), c = b.children[0]; a.fireEvent('simpleuploadbtnready', c); }), a.addListener('selectionchange', function (b, e, f) { var g = a.queryCommandState(c); g == -1 ? (d.setDisabled(!0), d.setChecked(!1)) : f || (d.setDisabled(!1), d.setChecked(g)); }), d ); }); })(), (function () { function a(a) { this.initOptions(a), this.initEditorUI(); } var b = baidu.editor.utils, c = baidu.editor.ui.uiUtils, d = baidu.editor.ui.UIBase, e = baidu.editor.dom.domUtils, f = []; (a.prototype = { uiName: 'editor', initEditorUI: function () { function a(a, b) { a.setOpt({ wordCount: !0, maximumWords: 1e4, wordCountMsg: a.options.wordCountMsg || a.getLang('wordCountMsg'), wordOverFlowMsg: a.options.wordOverFlowMsg || a.getLang('wordOverFlowMsg'), }); var c = a.options, d = c.maximumWords, e = c.wordCountMsg, f = c.wordOverFlowMsg, g = b.getDom('wordcount'); if (c.wordCount) { var h = a.getContentLength(!0); h > d ? ((g.innerHTML = f), a.fireEvent('wordcountoverflow')) : (g.innerHTML = e.replace('{#leave}', d - h).replace('{#count}', h)); } } (this.editor.ui = this), (this._dialogs = {}), this.initUIBase(), this._initToolbars(); var b = this.editor, c = this; b.addListener('ready', function () { function d() { a(b, c), e.un(b.document, 'click', arguments.callee); } (b.getDialog = function (a) { return b.ui._dialogs[a + 'Dialog']; }), e.on(b.window, 'scroll', function (a) { baidu.editor.ui.Popup.postHide(a); }), (b.ui._actualFrameWidth = b.options.initialFrameWidth), UE.browser.ie && 6 === UE.browser.version && b.container.ownerDocument.execCommand('BackgroundImageCache', !1, !0), b.options.elementPathEnabled && (b.ui.getDom('elementpath').innerHTML = '
' + b.getLang('elementPathTip') + ':
'), b.options.wordCount && (e.on(b.document, 'click', d), (b.ui.getDom('wordcount').innerHTML = b.getLang('wordCountTip'))), b.ui._scale(), b.options.scaleEnabled ? (b.autoHeightEnabled && b.disableAutoHeight(), c.enableScale()) : c.disableScale(), b.options.elementPathEnabled || b.options.wordCount || b.options.scaleEnabled || ((b.ui.getDom('elementpath').style.display = 'none'), (b.ui.getDom('wordcount').style.display = 'none'), (b.ui.getDom('scale').style.display = 'none')), b.selection.isFocus() && b.fireEvent('selectionchange', !1, !0); }), b.addListener('mousedown', function (a, b) { var c = b.target || b.srcElement; baidu.editor.ui.Popup.postHide(b, c), baidu.editor.ui.ShortCutMenu.postHide(b); }), b.addListener('delcells', function () { UE.ui.edittip && new UE.ui.edittip(b), b.getDialog('edittip').open(); }); var d, f, g = !1; b.addListener('afterpaste', function () { b.queryCommandState('pasteplain') || (baidu.editor.ui.PastePicker && ((d = new baidu.editor.ui.Popup({ content: new baidu.editor.ui.PastePicker({ editor: b }), editor: b, className: 'edui-wordpastepop', })), d.render()), (g = !0)); }), b.addListener('afterinserthtml', function () { clearTimeout(f), (f = setTimeout(function () { if (d && (g || b.ui._isTransfer)) { if (d.isHidden()) { var a = e.createElement(b.document, 'span', { style: 'line-height:0px;', innerHTML: '\ufeff', }), c = b.selection.getRange(); c.insertNode(a); var f = getDomNode(a, 'firstChild', 'previousSibling'); f && d.showAnchor(3 == f.nodeType ? f.parentNode : f), e.remove(a); } else d.show(); delete b.ui._isTransfer, (g = !1); } }, 200)); }), b.addListener('contextmenu', function (a, b) { baidu.editor.ui.Popup.postHide(b); }), b.addListener('keydown', function (a, b) { d && d.dispose(b); var c = b.keyCode || b.which; b.altKey && 90 == c && UE.ui.buttons.fullscreen.onclick(); }), b.addListener('wordcount', function (b) { a(this, c); }), b.addListener('selectionchange', function () { b.options.elementPathEnabled && c[(b.queryCommandState('elementpath') == -1 ? 'dis' : 'en') + 'ableElementPath'](), b.options.scaleEnabled && c[(b.queryCommandState('scale') == -1 ? 'dis' : 'en') + 'ableScale'](); }); var h = new baidu.editor.ui.Popup({ editor: b, content: '', className: 'edui-bubble', _onEditButtonClick: function () { this.hide(), b.ui._dialogs.linkDialog.open(); }, _onImgEditButtonClick: function (a) { this.hide(), b.ui._dialogs[a] && b.ui._dialogs[a].open(); }, _onImgSetFloat: function (a) { this.hide(), b.execCommand('imagefloat', a); }, _setIframeAlign: function (a) { var b = h.anchorEl, c = b.cloneNode(!0); switch (a) { case -2: c.setAttribute('align', ''); break; case -1: c.setAttribute('align', 'left'); break; case 1: c.setAttribute('align', 'right'); } b.parentNode.insertBefore(c, b), e.remove(b), (h.anchorEl = c), h.showAnchor(h.anchorEl); }, _updateIframe: function () { var a = (b._iframe = h.anchorEl); e.hasClass(a, 'ueditor_baidumap') ? (b.selection.getRange().selectNode(a).select(), b.ui._dialogs.mapDialog.open(), h.hide()) : (b.ui._dialogs.insertframeDialog.open(), h.hide()); }, _onRemoveButtonClick: function (a) { b.execCommand(a), this.hide(); }, queryAutoHide: function (a) { return a && a.ownerDocument == b.document && ('img' == a.tagName.toLowerCase() || e.findParentByTagName(a, 'a', !0)) ? a !== h.anchorEl : baidu.editor.ui.Popup.prototype.queryAutoHide.call(this, a); }, }); h.render(), b.options.imagePopup && (b.addListener('mouseover', function (a, c) { c = c || window.event; var d = c.target || c.srcElement; if (b.ui._dialogs.insertframeDialog && /iframe/gi.test(d.tagName)) { var e = h.formatHtml( '' + b.getLang('property') + ': ' + b.getLang('default') + '  ' + b.getLang('justifyleft') + '  ' + b.getLang('justifyright') + '   ' + b.getLang('modify') + '', ); e ? ((h.getDom('content').innerHTML = e), (h.anchorEl = d), h.showAnchor(h.anchorEl)) : h.hide(); } }), b.addListener('selectionchange', function (a, c) { if (c) { var d = '', f = '', g = b.selection.getRange().getClosedNode(), i = b.ui._dialogs; if (g && 'IMG' == g.tagName) { var j = 'insertimageDialog'; if ( ((g.className.indexOf('edui-faked-video') == -1 && g.className.indexOf('edui-upload-video') == -1) || (j = 'insertvideoDialog'), g.className.indexOf('edui-faked-webapp') != -1 && (j = 'webappDialog'), g.src.indexOf('http://api.map.baidu.com') != -1 && (j = 'mapDialog'), g.className.indexOf('edui-faked-music') != -1 && (j = 'musicDialog'), g.src.indexOf('http://maps.google.com/maps/api/staticmap') != -1 && (j = 'gmapDialog'), g.getAttribute('anchorname') && ((j = 'anchorDialog'), (d = h.formatHtml( '' + b.getLang('property') + ': ' + b.getLang('modify') + '  ' + b.getLang('delete') + '', ))), g.getAttribute('word_img') && ((b.word_img = [g.getAttribute('word_img')]), (j = 'wordimageDialog')), (e.hasClass(g, 'loadingclass') || e.hasClass(g, 'loaderrorclass')) && (j = ''), !i[j]) ) return; (f = '' + b.getLang('property') + ': ' + b.getLang('default') + '  ' + b.getLang('justifyleft') + '  ' + b.getLang('justifyright') + '  ' + b.getLang('justifycenter') + '  ' + b.getLang('modify') + ''), !d && (d = h.formatHtml(f)); } if (b.ui._dialogs.linkDialog) { var k, l = b.queryCommandValue('link'); if (l && (k = l.getAttribute('_href') || l.getAttribute('href', 2))) { var m = k; k.length > 30 && (m = k.substring(0, 20) + '...'), d && (d += '
'), (d += h.formatHtml( '' + b.getLang('anthorMsg') + ': ' + m + ' ' + b.getLang('modify') + ' ' + b.getLang('clear') + '', )), h.showAnchor(l); } } d ? ((h.getDom('content').innerHTML = d), (h.anchorEl = g || l), h.showAnchor(h.anchorEl)) : h.hide(); } })); }, _initToolbars: function () { for (var a = this.editor, c = this.toolbars || [], d = [], e = 0; e < c.length; e++) { for ( var f = c[e], g = new baidu.editor.ui.Toolbar({ theme: a.options.theme }), h = 0; h < f.length; h++ ) { var i = f[h], j = null; if ('string' == typeof i) { if ( ((i = i.toLowerCase()), '|' == i && (i = 'Separator'), '||' == i && (i = 'Breakline'), baidu.editor.ui[i] && (j = new baidu.editor.ui[i](a)), 'fullscreen' == i) ) { d && d[0] ? d[0].items.splice(0, 0, j) : j && g.items.splice(0, 0, j); continue; } } else j = i; j && j.id && g.add(j); } d[e] = g; } b.each(UE._customizeUI, function (b, c) { var d, e; return ( (!b.id || b.id == a.key) && ((d = b.execFn.call(a, a, c)), void (d && ((e = b.index), void 0 === e && (e = g.items.length), g.add(d, e)))) ); }), (this.toolbars = d); }, getHtmlTpl: function () { return ( '
' + (this.toolbars.length ? '
' + this.renderToolbarBoxHtml() + '
' : '') + '
' ); }, showWordImageDialog: function () { this._dialogs.wordimageDialog.open(); }, renderToolbarBoxHtml: function () { for (var a = [], b = 0; b < this.toolbars.length; b++) a.push(this.toolbars[b].renderHtml()); return a.join(''); }, setFullScreen: function (a) { var b = this.editor, c = b.container.parentNode.parentNode; if (this._fullscreen != a) { if ( ((this._fullscreen = a), this.editor.fireEvent('beforefullscreenchange', a), baidu.editor.browser.gecko) ) var d = b.selection.getRange().createBookmark(); if (a) { for (; 'BODY' != c.tagName; ) { var e = baidu.editor.dom.domUtils.getComputedStyle(c, 'position'); f.push(e), (c.style.position = 'static'), (c = c.parentNode); } (this._bakHtmlOverflow = document.documentElement.style.overflow), (this._bakBodyOverflow = document.body.style.overflow), (this._bakAutoHeight = this.editor.autoHeightEnabled), (this._bakScrollTop = Math.max( document.documentElement.scrollTop, document.body.scrollTop, )), (this._bakEditorContaninerWidth = b.iframe.parentNode.offsetWidth), this._bakAutoHeight && ((b.autoHeightEnabled = !1), this.editor.disableAutoHeight()), (document.documentElement.style.overflow = 'hidden'), window.scrollTo(0, window.scrollY), (this._bakCssText = this.getDom().style.cssText), (this._bakCssText1 = this.getDom('iframeholder').style.cssText), (b.iframe.parentNode.style.width = ''), this._updateFullScreen(); } else { for (; 'BODY' != c.tagName; ) (c.style.position = f.shift()), (c = c.parentNode); (this.getDom().style.cssText = this._bakCssText), (this.getDom('iframeholder').style.cssText = this._bakCssText1), this._bakAutoHeight && ((b.autoHeightEnabled = !0), this.editor.enableAutoHeight()), (document.documentElement.style.overflow = this._bakHtmlOverflow), (document.body.style.overflow = this._bakBodyOverflow), (b.iframe.parentNode.style.width = this._bakEditorContaninerWidth + 'px'), window.scrollTo(0, this._bakScrollTop); } if (browser.gecko && 'true' === b.body.contentEditable) { var g = document.createElement('input'); document.body.appendChild(g), (b.body.contentEditable = !1), setTimeout(function () { g.focus(), setTimeout(function () { (b.body.contentEditable = !0), b.fireEvent('fullscreenchanged', a), b.selection.getRange().moveToBookmark(d).select(!0), baidu.editor.dom.domUtils.remove(g), a && window.scroll(0, 0); }, 0); }, 0); } 'true' === b.body.contentEditable && (this.editor.fireEvent('fullscreenchanged', a), this.triggerLayout()); } }, _updateFullScreen: function () { if (this._fullscreen) { var a = c.getViewportRect(); if ( ((this.getDom().style.cssText = 'border:0;position:absolute;left:0;top:' + (this.editor.options.topOffset || 0) + 'px;width:' + a.width + 'px;height:' + a.height + 'px;z-index:' + (1 * this.getDom().style.zIndex + 100)), c.setViewportOffset(this.getDom(), { left: 0, top: this.editor.options.topOffset || 0, }), this.editor.setHeight( a.height - this.getDom('toolbarbox').offsetHeight - this.getDom('bottombar').offsetHeight - (this.editor.options.topOffset || 0), !0, ), browser.gecko) ) try { window.onresize(); } catch (b) {} } }, _updateElementPath: function () { var a, b = this.getDom('elementpath'); if (this.elementPathEnabled && (a = this.editor.queryCommandValue('elementpath'))) { for (var c, d = [], e = 0; (c = a[e]); e++) d[e] = this.formatHtml( '' + c + '', ); b.innerHTML = '
' + this.editor.getLang('elementPathTip') + ': ' + d.join(' > ') + '
'; } else b.style.display = 'none'; }, disableElementPath: function () { var a = this.getDom('elementpath'); (a.innerHTML = ''), (a.style.display = 'none'), (this.elementPathEnabled = !1); }, enableElementPath: function () { var a = this.getDom('elementpath'); (a.style.display = ''), (this.elementPathEnabled = !0), this._updateElementPath(); }, _scale: function () { function a() { (o = e.getXY(h)), p || (p = g.options.minFrameHeight + j.offsetHeight + k.offsetHeight), (m.style.cssText = 'position:absolute;left:0;display:;top:0;background-color:#41ABFF;opacity:0.4;filter: Alpha(opacity=40);width:' + h.offsetWidth + 'px;height:' + h.offsetHeight + 'px;z-index:' + (g.options.zIndex + 1)), e.on(f, 'mousemove', b), e.on(i, 'mouseup', c), e.on(f, 'mouseup', c); } function b(a) { d(); var b = a || window.event; (r = b.pageX || f.documentElement.scrollLeft + b.clientX), (s = b.pageY || f.documentElement.scrollTop + b.clientY), (t = r - o.x), (u = s - o.y), t >= q && ((n = !0), (m.style.width = t + 'px')), u >= p && ((n = !0), (m.style.height = u + 'px')); } function c() { n && ((n = !1), (g.ui._actualFrameWidth = m.offsetWidth - 2), (h.style.width = g.ui._actualFrameWidth + 'px'), g.setHeight(m.offsetHeight - k.offsetHeight - j.offsetHeight - 2, !0)), m && (m.style.display = 'none'), d(), e.un(f, 'mousemove', b), e.un(i, 'mouseup', c), e.un(f, 'mouseup', c); } function d() { browser.ie ? f.selection.clear() : window.getSelection().removeAllRanges(); } var f = document, g = this.editor, h = g.container, i = g.document, j = this.getDom('toolbarbox'), k = this.getDom('bottombar'), l = this.getDom('scale'), m = this.getDom('scalelayer'), n = !1, o = null, p = 0, q = g.options.minFrameWidth, r = 0, s = 0, t = 0, u = 0, v = this; this.editor.addListener('fullscreenchanged', function (a, b) { if (b) v.disableScale(); else if (v.editor.options.scaleEnabled) { v.enableScale(); var c = v.editor.document.createElement('span'); v.editor.body.appendChild(c), (v.editor.body.style.height = Math.max(e.getXY(c).y, v.editor.iframe.offsetHeight - 20) + 'px'), e.remove(c); } }), (this.enableScale = function () { 1 != g.queryCommandState('source') && ((l.style.display = ''), (this.scaleEnabled = !0), e.on(l, 'mousedown', a)); }), (this.disableScale = function () { (l.style.display = 'none'), (this.scaleEnabled = !1), e.un(l, 'mousedown', a); }); }, isFullScreen: function () { return this._fullscreen; }, postRender: function () { d.prototype.postRender.call(this); for (var a = 0; a < this.toolbars.length; a++) this.toolbars[a].postRender(); var b, c = this, e = baidu.editor.dom.domUtils, f = function () { clearTimeout(b), (b = setTimeout(function () { c._updateFullScreen(); })); }; e.on(window, 'resize', f), c.addListener('destroy', function () { e.un(window, 'resize', f), clearTimeout(b); }); }, showToolbarMsg: function (a, b) { if ( ((this.getDom('toolbarmsg_label').innerHTML = a), (this.getDom('toolbarmsg').style.display = ''), !b) ) { var c = this.getDom('upload_dialog'); c.style.display = 'none'; } }, hideToolbarMsg: function () { this.getDom('toolbarmsg').style.display = 'none'; }, mapUrl: function (a) { return a ? a.replace('~/', this.editor.options.UEDITOR_HOME_URL || '') : ''; }, triggerLayout: function () { var a = this.getDom(); '1' == a.style.zoom ? (a.style.zoom = '100%') : (a.style.zoom = '1'); }, }), b.inherits(a, baidu.editor.ui.UIBase); var g = {}; (UE.ui.Editor = function (c) { var d = new UE.Editor(c); (d.options.editor = d), b.loadFile(document, { href: d.options.themePath + d.options.theme + '/css/ueditor.css', tag: 'link', type: 'text/css', rel: 'stylesheet', }); var f = d.render; return ( (d.render = function (c) { c.constructor === String && ((d.key = c), (g[c] = d)), b.domReady(function () { function b() { if ( (d.setOpt({ labelMap: d.options.labelMap || d.getLang('labelMap') }), new a(d.options), c && (c.constructor === String && (c = document.getElementById(c)), c && c.getAttribute('name') && (d.options.textarea = c.getAttribute('name')), c && /script|textarea/gi.test(c.tagName))) ) { var b = document.createElement('div'); c.parentNode.insertBefore(b, c); var g = c.value || c.innerHTML; (d.options.initialContent = /^[\t\r\n ]*$/.test(g) ? d.options.initialContent : g .replace(/>[\n\r\t]+([ ]{4})+/g, '>') .replace(/[\n\r\t]+([ ]{4})+[\n\r\t]+<')), c.className && (b.className = c.className), c.style.cssText && (b.style.cssText = c.style.cssText), /textarea/i.test(c.tagName) ? ((d.textarea = c), (d.textarea.style.display = 'none')) : c.parentNode.removeChild(c), c.id && ((b.id = c.id), e.removeAttributes(c, 'id')), (c = b), (c.innerHTML = ''); } e.addClass(c, 'edui-' + d.options.theme), d.ui.render(c); var h = d.options; d.container = d.ui.getDom(); for (var i, j = e.findParents(c, !0), k = [], l = 0; (i = j[l]); l++) (k[l] = i.style.display), (i.style.display = 'block'); if (h.initialFrameWidth) h.minFrameWidth = h.initialFrameWidth; else { h.minFrameWidth = h.initialFrameWidth = c.offsetWidth; var m = c.style.width; /%$/.test(m) && (h.initialFrameWidth = m); } h.initialFrameHeight ? (h.minFrameHeight = h.initialFrameHeight) : (h.initialFrameHeight = h.minFrameHeight = c.offsetHeight); for (var i, l = 0; (i = j[l]); l++) i.style.display = k[l]; c.style.height && (c.style.height = ''), (d.container.style.width = h.initialFrameWidth + (/%$/.test(h.initialFrameWidth) ? '' : 'px')), (d.container.style.zIndex = h.zIndex), f.call(d, d.ui.getDom('iframeholder')), d.fireEvent('afteruiready'); } d.langIsReady ? b() : d.addListener('langReady', b); }); }), d ); }), (UE.getEditor = function (a, b) { var c = g[a]; return c || ((c = g[a] = new UE.ui.Editor(b)), c.render(a)), c; }), (UE.delEditor = function (a) { var b; (b = g[a]) && (b.key && b.destroy(), delete g[a]); }), (UE.registerUI = function (a, c, d, e) { b.each(a.split(/\s+/), function (a) { UE._customizeUI[a] = { id: e, execFn: c, index: d }; }); }); })(), UE.registerUI('message', function (a) { function b() { var a = g.ui.getDom('toolbarbox'); a && (c.style.top = a.offsetHeight + 3 + 'px'), (c.style.zIndex = Math.max(g.options.zIndex, g.iframe.style.zIndex) + 1); } var c, d = baidu.editor.ui, e = d.Message, f = [], g = a; g.addListener('ready', function () { (c = document.getElementById(g.ui.id + '_message_holder')), b(), setTimeout(function () { b(); }, 500); }), g.addListener('showmessage', function (a, d) { d = utils.isString(d) ? { content: d } : d; var h = new e({ timeout: d.timeout, type: d.type, content: d.content, keepshow: d.keepshow, editor: g, }), i = d.id || 'msg_' + (+new Date()).toString(36); return h.render(c), (f[i] = h), h.reset(d), b(), i; }), g.addListener('updatemessage', function (a, b, d) { d = utils.isString(d) ? { content: d } : d; var e = f[b]; e.render(c), e && e.reset(d); }), g.addListener('hidemessage', function (a, b) { var c = f[b]; c && c.hide(); }); }), UE.registerUI('autosave', function (a) { var b = null, c = null; a.on('afterautosave', function () { clearTimeout(b), (b = setTimeout(function () { c && a.trigger('hidemessage', c), (c = a.trigger('showmessage', { content: a.getLang('autosave.success'), timeout: 2e3, })); }, 2e3)); }); }); })();