@deanwu/vue-component-library 1.0.2 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +0,0 @@
1
- {"version":3,"file":"vue-component-library.common.js","mappings":"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AAA;IACA;IAEA/yC,KAAA;MAAA;MACA3H,IAAA,EAAAgyC,MAAA;MACA0I,OAAA;IACA;IAEAV,MAAA,EAAAW,OAAA;IAAA;;IAEAh2B,QAAA,EAAAg2B,OAAA;IAAA;;IAEAP,IAAA,EAAApI,MAAA;EACA;AACA;;AC9B8P,CAAC,wEAAe,8BAAG,EAAC;;ACAlR;;;;;AEAA;;AAEA;AACA;AACA;;AAEe;AACf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAM;AACN;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;;AC/FiG;AACvC;AACL;AACrD,CAAkG;;;AAGlG;AACsG;AACtG,gBAAgB,kBAAU;AAC1B,EAAE,mCAAM;AACR,EAAE,MAAM;AACR,EAAE,eAAe;AACjB;AACA;AACA;AACA;AACA;AACA;;AAEA,gDAAe;;ACnBf,IAAI2H,qDAAM,GAAG,SAASA,MAAMA,CAAA,EAAE;EAAC,IAAIC,GAAG,GAAC,IAAI;IAACC,EAAE,GAACD,GAAG,CAACE,KAAK,CAACD,EAAE;EAAC,OAAOA,EAAE,CAAC,KAAK,EAAC;IAACe,UAAU,EAAC,CAAC;MAACxvC,IAAI,EAAC,MAAM;MAACyvC,OAAO,EAAC,QAAQ;MAACzrC,KAAK,EAAEwqC,GAAG,CAAC55C,IAAI,IAAI,QAAS;MAAC86C,UAAU,EAAC;IAAkB,CAAC,CAAC;IAACf,WAAW,EAAC,SAAS;IAACM,KAAK,EAAC;MAAC,YAAY,EAAET,GAAG,CAAC55C,IAAI,IAAI,UAAU;MAAE,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","sources":["webpack://vue-component-library/./node_modules/core-js/internals/a-callable.js","webpack://vue-component-library/./node_modules/core-js/internals/an-object.js","webpack://vue-component-library/./node_modules/core-js/internals/array-includes.js","webpack://vue-component-library/./node_modules/core-js/internals/array-set-length.js","webpack://vue-component-library/./node_modules/core-js/internals/classof-raw.js","webpack://vue-component-library/./node_modules/core-js/internals/copy-constructor-properties.js","webpack://vue-component-library/./node_modules/core-js/internals/create-non-enumerable-property.js","webpack://vue-component-library/./node_modules/core-js/internals/create-property-descriptor.js","webpack://vue-component-library/./node_modules/core-js/internals/define-built-in.js","webpack://vue-component-library/./node_modules/core-js/internals/define-global-property.js","webpack://vue-component-library/./node_modules/core-js/internals/descriptors.js","webpack://vue-component-library/./node_modules/core-js/internals/document-all.js","webpack://vue-component-library/./node_modules/core-js/internals/document-create-element.js","webpack://vue-component-library/./node_modules/core-js/internals/does-not-exceed-safe-integer.js","webpack://vue-component-library/./node_modules/core-js/internals/engine-user-agent.js","webpack://vue-component-library/./node_modules/core-js/internals/engine-v8-version.js","webpack://vue-component-library/./node_modules/core-js/internals/enum-bug-keys.js","webpack://vue-component-library/./node_modules/core-js/internals/export.js","webpack://vue-component-library/./node_modules/core-js/internals/fails.js","webpack://vue-component-library/./node_modules/core-js/internals/function-bind-native.js","webpack://vue-component-library/./node_modules/core-js/internals/function-call.js","webpack://vue-component-library/./node_modules/core-js/internals/function-name.js","webpack://vue-component-library/./node_modules/core-js/internals/function-uncurry-this.js","webpack://vue-component-library/./node_modules/core-js/internals/get-built-in.js","webpack://vue-component-library/./node_modules/core-js/internals/get-method.js","webpack://vue-component-library/./node_modules/core-js/internals/global.js","webpack://vue-component-library/./node_modules/core-js/internals/has-own-property.js","webpack://vue-component-library/./node_modules/core-js/internals/hidden-keys.js","webpack://vue-component-library/./node_modules/core-js/internals/ie8-dom-define.js","webpack://vue-component-library/./node_modules/core-js/internals/indexed-object.js","webpack://vue-component-library/./node_modules/core-js/internals/inspect-source.js","webpack://vue-component-library/./node_modules/core-js/internals/internal-state.js","webpack://vue-component-library/./node_modules/core-js/internals/is-array.js","webpack://vue-component-library/./node_modules/core-js/internals/is-callable.js","webpack://vue-component-library/./node_modules/core-js/internals/is-forced.js","webpack://vue-component-library/./node_modules/core-js/internals/is-null-or-undefined.js","webpack://vue-component-library/./node_modules/core-js/internals/is-object.js","webpack://vue-component-library/./node_modules/core-js/internals/is-pure.js","webpack://vue-component-library/./node_modules/core-js/internals/is-symbol.js","webpack://vue-component-library/./node_modules/core-js/internals/length-of-array-like.js","webpack://vue-component-library/./node_modules/core-js/internals/make-built-in.js","webpack://vue-component-library/./node_modules/core-js/internals/math-trunc.js","webpack://vue-component-library/./node_modules/core-js/internals/object-define-property.js","webpack://vue-component-library/./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack://vue-component-library/./node_modules/core-js/internals/object-get-own-property-names.js","webpack://vue-component-library/./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack://vue-component-library/./node_modules/core-js/internals/object-is-prototype-of.js","webpack://vue-component-library/./node_modules/core-js/internals/object-keys-internal.js","webpack://vue-component-library/./node_modules/core-js/internals/object-property-is-enumerable.js","webpack://vue-component-library/./node_modules/core-js/internals/ordinary-to-primitive.js","webpack://vue-component-library/./node_modules/core-js/internals/own-keys.js","webpack://vue-component-library/./node_modules/core-js/internals/require-object-coercible.js","webpack://vue-component-library/./node_modules/core-js/internals/shared-key.js","webpack://vue-component-library/./node_modules/core-js/internals/shared-store.js","webpack://vue-component-library/./node_modules/core-js/internals/shared.js","webpack://vue-component-library/./node_modules/core-js/internals/symbol-constructor-detection.js","webpack://vue-component-library/./node_modules/core-js/internals/to-absolute-index.js","webpack://vue-component-library/./node_modules/core-js/internals/to-indexed-object.js","webpack://vue-component-library/./node_modules/core-js/internals/to-integer-or-infinity.js","webpack://vue-component-library/./node_modules/core-js/internals/to-length.js","webpack://vue-component-library/./node_modules/core-js/internals/to-object.js","webpack://vue-component-library/./node_modules/core-js/internals/to-primitive.js","webpack://vue-component-library/./node_modules/core-js/internals/to-property-key.js","webpack://vue-component-library/./node_modules/core-js/internals/try-to-string.js","webpack://vue-component-library/./node_modules/core-js/internals/uid.js","webpack://vue-component-library/./node_modules/core-js/internals/use-symbol-as-uid.js","webpack://vue-component-library/./node_modules/core-js/internals/v8-prototype-define-bug.js","webpack://vue-component-library/./node_modules/core-js/internals/weak-map-basic-detection.js","webpack://vue-component-library/./node_modules/core-js/internals/well-known-symbol.js","webpack://vue-component-library/./node_modules/core-js/modules/es.array.push.js","webpack://vue-component-library/./src/assets/script/lib/kindeditor/kindeditor-all.js","webpack://vue-component-library/webpack/bootstrap","webpack://vue-component-library/webpack/runtime/compat get default export","webpack://vue-component-library/webpack/runtime/define property getters","webpack://vue-component-library/webpack/runtime/global","webpack://vue-component-library/webpack/runtime/hasOwnProperty shorthand","webpack://vue-component-library/webpack/runtime/make namespace object","webpack://vue-component-library/webpack/runtime/publicPath","webpack://vue-component-library/./node_modules/@vue/cli-service/lib/commands/build/setPublicPath.js","webpack://vue-component-library/./src/components/unit/button.vue","webpack://vue-component-library/src/components/unit/button.vue","webpack://vue-component-library/./src/components/unit/button.vue?c8d1","webpack://vue-component-library/./src/components/unit/button.vue?ac80","webpack://vue-component-library/./src/components/unit/button.vue?242c","webpack://vue-component-library/./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js","webpack://vue-component-library/./src/components/unit/button.vue?8ac2","webpack://vue-component-library/./src/components/unit/input.vue","webpack://vue-component-library/src/components/unit/input.vue","webpack://vue-component-library/./src/components/unit/input.vue?c498","webpack://vue-component-library/./src/components/unit/input.vue?98b2","webpack://vue-component-library/./src/components/unit/input.vue?4271","webpack://vue-component-library/./src/components/unit/input.vue?f480","webpack://vue-component-library/./src/components/unit/radio.vue","webpack://vue-component-library/external commonjs2 {\"commonjs\":\"vue\",\"commonjs2\":\"vue\",\"root\":\"Vue\"}","webpack://vue-component-library/./src/components/createStore.js","webpack://vue-component-library/src/components/unit/radio.vue","webpack://vue-component-library/./src/components/unit/radio.vue?5a2b","webpack://vue-component-library/./src/components/unit/radio.vue?773f","webpack://vue-component-library/./src/components/unit/radio.vue?6a05","webpack://vue-component-library/./src/components/unit/radio.vue?5fd0","webpack://vue-component-library/./src/components/unit/radio_group.vue","webpack://vue-component-library/src/components/unit/radio_group.vue","webpack://vue-component-library/./src/components/unit/radio_group.vue?fcaf","webpack://vue-component-library/./src/components/unit/radio_group.vue?dc4a","webpack://vue-component-library/./src/components/unit/radio_group.vue?6abf","webpack://vue-component-library/./src/components/unit/radio_group.vue?dab6","webpack://vue-component-library/./src/components/unit/checkbox.vue","webpack://vue-component-library/./src/components/unit/checkbox.vue?b578","webpack://vue-component-library/src/components/unit/checkbox.vue","webpack://vue-component-library/./src/components/unit/checkbox.vue?8427","webpack://vue-component-library/./src/components/unit/checkbox.vue?2a6d","webpack://vue-component-library/./src/components/unit/checkbox.vue?03f5","webpack://vue-component-library/./src/components/unit/checkbox.vue?7e6f","webpack://vue-component-library/./src/components/unit/checkbox_group.vue","webpack://vue-component-library/src/components/unit/checkbox_group.vue","webpack://vue-component-library/./src/components/unit/checkbox_group.vue?d287","webpack://vue-component-library/./src/components/unit/checkbox_group.vue?fc39","webpack://vue-component-library/./src/components/unit/checkbox_group.vue?41e7","webpack://vue-component-library/./src/components/unit/checkbox_group.vue?610f","webpack://vue-component-library/./src/components/unit/select.vue","webpack://vue-component-library/./src/components/unit/select.vue?1fbd","webpack://vue-component-library/src/components/unit/select.vue","webpack://vue-component-library/./src/components/unit/select.vue?09e1","webpack://vue-component-library/./src/components/unit/select.vue?b125","webpack://vue-component-library/./src/components/unit/select.vue?aba1","webpack://vue-component-library/./src/components/unit/select.vue?47cf","webpack://vue-component-library/./src/components/unit/region.vue","webpack://vue-component-library/src/components/unit/region.vue","webpack://vue-component-library/./src/components/unit/region.vue?4812","webpack://vue-component-library/./src/components/unit/region.vue?29b8","webpack://vue-component-library/./src/components/unit/region.vue?3449","webpack://vue-component-library/./src/components/unit/region.vue?945c","webpack://vue-component-library/./src/components/unit/upload_file.vue","webpack://vue-component-library/src/components/unit/upload_file.vue","webpack://vue-component-library/./src/components/unit/upload_file.vue?3694","webpack://vue-component-library/./src/components/unit/upload_file.vue?60dc","webpack://vue-component-library/./src/components/unit/upload_file.vue?e42a","webpack://vue-component-library/./src/components/unit/upload_file.vue?69db","webpack://vue-component-library/./src/components/unit/file.vue","webpack://vue-component-library/src/components/unit/file.vue","webpack://vue-component-library/./src/components/unit/file.vue?3feb","webpack://vue-component-library/./src/components/unit/file.vue?7806","webpack://vue-component-library/./src/components/unit/file.vue?a7bf","webpack://vue-component-library/./src/components/unit/file.vue?e6c9","webpack://vue-component-library/./src/components/unit/editor.vue","webpack://vue-component-library/src/components/unit/editor.vue","webpack://vue-component-library/./src/components/unit/editor.vue?740c","webpack://vue-component-library/./src/components/unit/editor.vue?a7d1","webpack://vue-component-library/./src/components/popup/dialog.vue","webpack://vue-component-library/src/components/popup/dialog.vue","webpack://vue-component-library/./src/components/popup/dialog.vue?080d","webpack://vue-component-library/./src/components/popup/dialog.vue?26ae","webpack://vue-component-library/./src/components/popup/dialog.vue?fd1e","webpack://vue-component-library/./src/components/popup/dialog.vue?29ea","webpack://vue-component-library/./src/components/popup/loading.vue","webpack://vue-component-library/src/components/popup/loading.vue","webpack://vue-component-library/./src/components/popup/loading.vue?ae72","webpack://vue-component-library/./src/components/popup/loading.vue?b096","webpack://vue-component-library/./src/components/popup/message.vue","webpack://vue-component-library/src/components/popup/message.vue","webpack://vue-component-library/./src/components/popup/message.vue?a75b","webpack://vue-component-library/./src/components/popup/message.vue?1021","webpack://vue-component-library/./src/components/popup/message.vue?35af","webpack://vue-component-library/./src/components/popup/message.vue?871a","webpack://vue-component-library/./src/components/popup/notice.vue","webpack://vue-component-library/src/components/popup/notice.vue","webpack://vue-component-library/./src/components/popup/notice.vue?1bb0","webpack://vue-component-library/./src/components/popup/notice.vue?77af","webpack://vue-component-library/./src/components/popup/notice.vue?6f74","webpack://vue-component-library/./src/components/popup/notice.vue?4800","webpack://vue-component-library/./src/components/popup/confirm.vue","webpack://vue-component-library/src/components/popup/confirm.vue","webpack://vue-component-library/./src/components/popup/confirm.vue?9e23","webpack://vue-component-library/./src/components/popup/confirm.vue?2f10","webpack://vue-component-library/./src/components/popup/confirm.vue?e355","webpack://vue-component-library/./src/components/popup/confirm.vue?250c","webpack://vue-component-library/./src/components/popup/preview.vue","webpack://vue-component-library/src/components/popup/preview.vue","webpack://vue-component-library/./src/components/popup/preview.vue?b6b4","webpack://vue-component-library/./src/components/popup/preview.vue?7fd4","webpack://vue-component-library/./src/components/popup/preview.vue?44e0","webpack://vue-component-library/./src/components/popup/preview.vue?67df","webpack://vue-component-library/./src/components/index.js","webpack://vue-component-library/./node_modules/@vue/cli-service/lib/commands/build/entry-lib.js"],"sourcesContent":["'use strict';\nvar isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","'use strict';\nvar isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el !== el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value !== value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar isArray = require('../internals/is-array');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Safari < 13 does not throw an error in this case\nvar SILENT_ON_NON_WRITABLE_LENGTH_SET = DESCRIPTORS && !function () {\n // makes no sense without proper strict mode support\n if (this !== undefined) return true;\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).length = 1;\n } catch (error) {\n return error instanceof TypeError;\n }\n}();\n\nmodule.exports = SILENT_ON_NON_WRITABLE_LENGTH_SET ? function (O, length) {\n if (isArray(O) && !getOwnPropertyDescriptor(O, 'length').writable) {\n throw $TypeError('Cannot set read only .length');\n } return O.length = length;\n} : function (O, length) {\n return O.length = length;\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","'use strict';\nvar hasOwn = require('../internals/has-own-property');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source, exceptions) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!hasOwn(target, key) && !(exceptions && hasOwn(exceptions, key))) {\n defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n }\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","'use strict';\nmodule.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar definePropertyModule = require('../internals/object-define-property');\nvar makeBuiltIn = require('../internals/make-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nmodule.exports = function (O, key, value, options) {\n if (!options) options = {};\n var simple = options.enumerable;\n var name = options.name !== undefined ? options.name : key;\n if (isCallable(value)) makeBuiltIn(value, name, options);\n if (options.global) {\n if (simple) O[key] = value;\n else defineGlobalProperty(key, value);\n } else {\n try {\n if (!options.unsafe) delete O[key];\n else if (O[key]) simple = true;\n } catch (error) { /* empty */ }\n if (simple) O[key] = value;\n else definePropertyModule.f(O, key, {\n value: value,\n enumerable: false,\n configurable: !options.nonConfigurable,\n writable: !options.nonWritable\n });\n } return O;\n};\n","'use strict';\nvar global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] !== 7;\n});\n","'use strict';\nvar documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\n// eslint-disable-next-line unicorn/no-typeof-undefined -- required for testing\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","'use strict';\nvar $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","'use strict';\nmodule.exports = typeof navigator != 'undefined' && String(navigator.userAgent) || '';\n","'use strict';\nvar global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","'use strict';\n// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar defineGlobalProperty = require('../internals/define-global-property');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || defineGlobalProperty(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty == typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n defineBuiltIn(target, key, sourceProperty, options);\n }\n};\n","'use strict';\nmodule.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar hasOwn = require('../internals/has-own-property');\n\nvar FunctionPrototype = Function.prototype;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getDescriptor = DESCRIPTORS && Object.getOwnPropertyDescriptor;\n\nvar EXISTS = hasOwn(FunctionPrototype, 'name');\n// additional protection from minified / mangled / dropped function names\nvar PROPER = EXISTS && (function something() { /* empty */ }).name === 'something';\nvar CONFIGURABLE = EXISTS && (!DESCRIPTORS || (DESCRIPTORS && getDescriptor(FunctionPrototype, 'name').configurable));\n\nmodule.exports = {\n EXISTS: EXISTS,\n PROPER: PROPER,\n CONFIGURABLE: CONFIGURABLE\n};\n","'use strict';\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (argument) {\n return isCallable(argument) ? argument : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(global[namespace]) : global[namespace] && global[namespace][method];\n};\n","'use strict';\nvar aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","'use strict';\nvar check = function (it) {\n return it && it.Math === Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || this || Function('return this')();\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","'use strict';\nmodule.exports = {};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a !== 7;\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) === 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","'use strict';\nvar NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","'use strict';\nvar classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) === 'Array';\n};\n","'use strict';\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value === POLYFILL ? true\n : value === NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","'use strict';\n// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","'use strict';\nvar isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","'use strict';\nmodule.exports = false;\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","'use strict';\nvar toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar hasOwn = require('../internals/has-own-property');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar CONFIGURABLE_FUNCTION_NAME = require('../internals/function-name').CONFIGURABLE;\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar enforceInternalState = InternalStateModule.enforce;\nvar getInternalState = InternalStateModule.get;\nvar $String = String;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar stringSlice = uncurryThis(''.slice);\nvar replace = uncurryThis(''.replace);\nvar join = uncurryThis([].join);\n\nvar CONFIGURABLE_LENGTH = DESCRIPTORS && !fails(function () {\n return defineProperty(function () { /* empty */ }, 'length', { value: 8 }).length !== 8;\n});\n\nvar TEMPLATE = String(String).split('String');\n\nvar makeBuiltIn = module.exports = function (value, name, options) {\n if (stringSlice($String(name), 0, 7) === 'Symbol(') {\n name = '[' + replace($String(name), /^Symbol\\(([^)]*)\\)/, '$1') + ']';\n }\n if (options && options.getter) name = 'get ' + name;\n if (options && options.setter) name = 'set ' + name;\n if (!hasOwn(value, 'name') || (CONFIGURABLE_FUNCTION_NAME && value.name !== name)) {\n if (DESCRIPTORS) defineProperty(value, 'name', { value: name, configurable: true });\n else value.name = name;\n }\n if (CONFIGURABLE_LENGTH && options && hasOwn(options, 'arity') && value.length !== options.arity) {\n defineProperty(value, 'length', { value: options.arity });\n }\n try {\n if (options && hasOwn(options, 'constructor') && options.constructor) {\n if (DESCRIPTORS) defineProperty(value, 'prototype', { writable: false });\n // in V8 ~ Chrome 53, prototypes of some methods, like `Array.prototype.values`, are non-writable\n } else if (value.prototype) value.prototype = undefined;\n } catch (error) { /* empty */ }\n var state = enforceInternalState(value);\n if (!hasOwn(state, 'source')) {\n state.source = join(TEMPLATE, typeof name == 'string' ? name : '');\n } return value;\n};\n\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n// eslint-disable-next-line no-extend-native -- required\nFunction.prototype.toString = makeBuiltIn(function toString() {\n return isCallable(this) && getInternalState(this).source || inspectSource(this);\n}, 'toString');\n","'use strict';\nvar ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","'use strict';\nvar internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","'use strict';\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","'use strict';\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","'use strict';\nvar shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","'use strict';\nvar global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","'use strict';\nvar IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.32.2',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2023 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.32.2/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\nvar global = require('../internals/global');\n\nvar $String = global.String;\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol('symbol detection');\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n // nb: Do not call `String` directly to avoid this being optimized out to `symbol+''` which will,\n // of course, fail.\n return !$String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","'use strict';\n// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","'use strict';\nvar trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","'use strict';\nvar toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","'use strict';\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","'use strict';\nvar call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","'use strict';\nvar $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","'use strict';\n/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype !== 42;\n});\n","'use strict';\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","'use strict';\nvar global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar Symbol = global.Symbol;\nvar WellKnownSymbolsStore = shared('wks');\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol['for'] || Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name)) {\n WellKnownSymbolsStore[name] = NATIVE_SYMBOL && hasOwn(Symbol, name)\n ? Symbol[name]\n : createWellKnownSymbol('Symbol.' + name);\n } return WellKnownSymbolsStore[name];\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar setArrayLength = require('../internals/array-set-length');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar fails = require('../internals/fails');\n\nvar INCORRECT_TO_LENGTH = fails(function () {\n return [].push.call({ length: 0x100000000 }, 1) !== 4294967297;\n});\n\n// V8 and Safari <= 15.4, FF < 23 throws InternalError\n// https://bugs.chromium.org/p/v8/issues/detail?id=12681\nvar properErrorOnNonWritableLength = function () {\n try {\n // eslint-disable-next-line es/no-object-defineproperty -- safe\n Object.defineProperty([], 'length', { writable: false }).push();\n } catch (error) {\n return error instanceof TypeError;\n }\n};\n\nvar FORCED = INCORRECT_TO_LENGTH || !properErrorOnNonWritableLength();\n\n// `Array.prototype.push` method\n// https://tc39.es/ecma262/#sec-array.prototype.push\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n push: function push(item) {\n var O = toObject(this);\n var len = lengthOfArrayLike(O);\n var argCount = arguments.length;\n doesNotExceedSafeInteger(len + argCount);\n for (var i = 0; i < argCount; i++) {\n O[len] = arguments[i];\n len++;\n }\n setArrayLength(O, len);\n return len;\n }\n});\n","/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2016 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @website http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n* @version 4.1.11 (2016-03-31)\r\n*******************************************************************************/\r\nconst IMAGE_ALIGN_TOP = require('./plugins/image/images/align_top.gif');\r\nconst IMAGE_ALIGN_LEFT = require('./plugins/image/images/align_left.gif');\r\nconst IMAGE_ALIGN_RIGHT = require('./plugins/image/images/align_right.gif');\r\n\r\n(function (window, undefined) {\r\n\tif (window.KindEditor) {\r\n\t\treturn;\r\n\t}\r\n\n\r\nif (!window.console) {\r\n\twindow.console = {};\r\n}\r\nif (!console.log) {\r\n\tconsole.log = function () {};\r\n}\r\nvar _VERSION = '4.1.11 (2016-03-31)',\r\n\t_ua = navigator.userAgent.toLowerCase(),\r\n\t_IE = _ua.indexOf('msie') > -1 && _ua.indexOf('opera') == -1,\r\n\t_NEWIE = _ua.indexOf('msie') == -1 && _ua.indexOf('trident') > -1,\r\n\t_GECKO = _ua.indexOf('gecko') > -1 && _ua.indexOf('khtml') == -1,\r\n\t_WEBKIT = _ua.indexOf('applewebkit') > -1,\r\n\t_OPERA = _ua.indexOf('opera') > -1,\r\n\t_MOBILE = _ua.indexOf('mobile') > -1,\r\n\t_IOS = /ipad|iphone|ipod/.test(_ua),\r\n\t_QUIRKS = document.compatMode != 'CSS1Compat',\r\n\t_IERANGE = !window.getSelection,\r\n\t_matches = /(?:msie|firefox|webkit|opera)[\\/:\\s](\\d+)/.exec(_ua),\r\n\t_V = _matches ? _matches[1] : '0',\r\n\t_TIME = new Date().getTime();\r\nfunction _isArray(val) {\r\n\tif (!val) {\r\n\t\treturn false;\r\n\t}\r\n\treturn Object.prototype.toString.call(val) === '[object Array]';\r\n}\r\nfunction _isFunction(val) {\r\n\tif (!val) {\r\n\t\treturn false;\r\n\t}\r\n\treturn Object.prototype.toString.call(val) === '[object Function]';\r\n}\r\nfunction _inArray(val, arr) {\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tif (val === arr[i]) {\r\n\t\t\treturn i;\r\n\t\t}\r\n\t}\r\n\treturn -1;\r\n}\r\nfunction _each(obj, fn) {\r\n\tif (_isArray(obj)) {\r\n\t\tfor (var i = 0, len = obj.length; i < len; i++) {\r\n\t\t\tif (fn.call(obj[i], i, obj[i]) === false) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t} else {\r\n\t\tfor (var key in obj) {\r\n\t\t\tif (obj.hasOwnProperty(key)) {\r\n\t\t\t\tif (fn.call(obj[key], key, obj[key]) === false) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n}\r\nfunction _trim(str) {\r\n\treturn str.replace(/(?:^[ \\t\\n\\r]+)|(?:[ \\t\\n\\r]+$)/g, '');\r\n}\r\nfunction _inString(val, str, delimiter) {\r\n\tdelimiter = delimiter === undefined ? ',' : delimiter;\r\n\treturn (delimiter + str + delimiter).indexOf(delimiter + val + delimiter) >= 0;\r\n}\r\nfunction _addUnit(val, unit) {\r\n\tunit = unit || 'px';\r\n\treturn val && /^-?\\d+(?:\\.\\d+)?$/.test(val) ? val + unit : val;\r\n}\r\nfunction _removeUnit(val) {\r\n\tvar match;\r\n\treturn val && (match = /(\\d+)/.exec(val)) ? parseInt(match[1], 10) : 0;\r\n}\r\nfunction _escape(val) {\r\n\treturn val.replace(/&/g, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/\"/g, '&quot;');\r\n}\r\nfunction _unescape(val) {\r\n\treturn val.replace(/&lt;/g, '<').replace(/&gt;/g, '>').replace(/&quot;/g, '\"').replace(/&amp;/g, '&');\r\n}\r\nfunction _toCamel(str) {\r\n\tvar arr = str.split('-');\r\n\tstr = '';\r\n\t_each(arr, function(key, val) {\r\n\t\tstr += (key > 0) ? val.charAt(0).toUpperCase() + val.substr(1) : val;\r\n\t});\r\n\treturn str;\r\n}\r\nfunction _toHex(val) {\r\n\tfunction hex(d) {\r\n\t\tvar s = parseInt(d, 10).toString(16).toUpperCase();\r\n\t\treturn s.length > 1 ? s : '0' + s;\r\n\t}\r\n\treturn val.replace(/rgb\\s*\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*\\)/ig,\r\n\t\tfunction($0, $1, $2, $3) {\r\n\t\t\treturn '#' + hex($1) + hex($2) + hex($3);\r\n\t\t}\r\n\t);\r\n}\r\nfunction _toMap(val, delimiter) {\r\n\tdelimiter = delimiter === undefined ? ',' : delimiter;\r\n\tvar map = {}, arr = _isArray(val) ? val : val.split(delimiter), match;\r\n\t_each(arr, function(key, val) {\r\n\t\tif ((match = /^(\\d+)\\.\\.(\\d+)$/.exec(val))) {\r\n\t\t\tfor (var i = parseInt(match[1], 10); i <= parseInt(match[2], 10); i++) {\r\n\t\t\t\tmap[i.toString()] = true;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tmap[val] = true;\r\n\t\t}\r\n\t});\r\n\treturn map;\r\n}\r\nfunction _toArray(obj, offset) {\r\n\treturn Array.prototype.slice.call(obj, offset || 0);\r\n}\r\nfunction _undef(val, defaultVal) {\r\n\treturn val === undefined ? defaultVal : val;\r\n}\r\nfunction _invalidUrl(url) {\r\n\treturn !url || /[<>\"]/.test(url);\r\n}\r\nfunction _addParam(url, param) {\r\n\treturn url.indexOf('?') >= 0 ? url + '&' + param : url + '?' + param;\r\n}\r\nfunction _extend(child, parent, proto) {\r\n\tif (!proto) {\r\n\t\tproto = parent;\r\n\t\tparent = null;\r\n\t}\r\n\tvar childProto;\r\n\tif (parent) {\r\n\t\tvar fn = function () {};\r\n\t\tfn.prototype = parent.prototype;\r\n\t\tchildProto = new fn();\r\n\t\t_each(proto, function(key, val) {\r\n\t\t\tchildProto[key] = val;\r\n\t\t});\r\n\t} else {\r\n\t\tchildProto = proto;\r\n\t}\r\n\tchildProto.constructor = child;\r\n\tchild.prototype = childProto;\r\n\tchild.parent = parent ? parent.prototype : null;\r\n}\r\n\r\r\nfunction _json(text) {\r\n\tvar match;\r\n\tif ((match = /\\{[\\s\\S]*\\}|\\[[\\s\\S]*\\]/.exec(text))) {\r\n\t\ttext = match[0];\r\n\t}\r\n\tvar cx = /[\\u0000\\u00ad\\u0600-\\u0604\\u070f\\u17b4\\u17b5\\u200c-\\u200f\\u2028-\\u202f\\u2060-\\u206f\\ufeff\\ufff0-\\uffff]/g;\r\n\tcx.lastIndex = 0;\r\n\tif (cx.test(text)) {\r\n\t\ttext = text.replace(cx, function (a) {\r\n\t\t\treturn '\\\\u' + ('0000' + a.charCodeAt(0).toString(16)).slice(-4);\r\n\t\t});\r\n\t}\r\n\tif (/^[\\],:{}\\s]*$/.\r\n\ttest(text.replace(/\\\\(?:[\"\\\\\\/bfnrt]|u[0-9a-fA-F]{4})/g, '@').\r\n\treplace(/\"[^\"\\\\\\n\\r]*\"|true|false|null|-?\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d+)?/g, ']').\r\n\treplace(/(?:^|:|,)(?:\\s*\\[)+/g, ''))) {\r\n\t\treturn eval('(' + text + ')');\r\n\t}\r\n\tthrow 'JSON parse error';\r\n}\r\nvar _round = Math.round;\r\nvar K = {\r\n\tDEBUG : false,\r\n\tVERSION : _VERSION,\r\n\tIE : _IE,\r\n\tGECKO : _GECKO,\r\n\tWEBKIT : _WEBKIT,\r\n\tOPERA : _OPERA,\r\n\tV : _V,\r\n\tTIME : _TIME,\r\n\teach : _each,\r\n\tisArray : _isArray,\r\n\tisFunction : _isFunction,\r\n\tinArray : _inArray,\r\n\tinString : _inString,\r\n\ttrim : _trim,\r\n\taddUnit : _addUnit,\r\n\tremoveUnit : _removeUnit,\r\n\tescape : _escape,\r\n\tunescape : _unescape,\r\n\ttoCamel : _toCamel,\r\n\ttoHex : _toHex,\r\n\ttoMap : _toMap,\r\n\ttoArray : _toArray,\r\n\tundef : _undef,\r\n\tinvalidUrl : _invalidUrl,\r\n\taddParam : _addParam,\r\n\textend : _extend,\r\n\tjson : _json\r\n};\r\nvar _INLINE_TAG_MAP = _toMap('a,abbr,acronym,b,basefont,bdo,big,br,button,cite,code,del,dfn,em,font,i,img,input,ins,kbd,label,map,q,s,samp,select,small,span,strike,strong,sub,sup,textarea,tt,u,var'),\r\n\t_BLOCK_TAG_MAP = _toMap('address,applet,blockquote,body,center,dd,dir,div,dl,dt,fieldset,form,frameset,h1,h2,h3,h4,h5,h6,head,hr,html,iframe,ins,isindex,li,map,menu,meta,noframes,noscript,object,ol,p,pre,script,style,table,tbody,td,tfoot,th,thead,title,tr,ul'),\r\n\t_SINGLE_TAG_MAP = _toMap('area,base,basefont,br,col,frame,hr,img,input,isindex,link,meta,param,embed'),\r\n\t_STYLE_TAG_MAP = _toMap('b,basefont,big,del,em,font,i,s,small,span,strike,strong,sub,sup,u'),\r\n\t_CONTROL_TAG_MAP = _toMap('img,table,input,textarea,button'),\r\n\t_PRE_TAG_MAP = _toMap('pre,style,script'),\r\n\t_NOSPLIT_TAG_MAP = _toMap('html,head,body,td,tr,table,ol,ul,li'),\r\n\t_AUTOCLOSE_TAG_MAP = _toMap('colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr'),\r\n\t_FILL_ATTR_MAP = _toMap('checked,compact,declare,defer,disabled,ismap,multiple,nohref,noresize,noshade,nowrap,readonly,selected'),\r\n\t_VALUE_TAG_MAP = _toMap('input,button,textarea,select');\r\n\n\r\nfunction _getBasePath() {\r\n\tvar els = document.getElementsByTagName('script'), src;\r\n\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\tsrc = els[i].src || '';\r\n\t\tif (/kindeditor[\\w\\-\\.]*\\.js/.test(src)) {\r\n\t\t\treturn src.substring(0, src.lastIndexOf('/') + 1);\r\n\t\t}\r\n\t}\r\n\treturn '';\r\n}\r\nK.basePath = _getBasePath();\r\nK.options = {\r\n\tdesignMode : true,\r\n\tfullscreenMode : false,\r\n\tfilterMode : false,\r\n\twellFormatMode : true,\r\n\tshadowMode : true,\r\n\tloadStyleMode : true,\r\n\tbasePath : K.basePath,\r\n\tthemesPath : K.basePath + 'themes/',\r\n\tlangPath : K.basePath + 'lang/',\r\n\tpluginsPath : K.basePath + 'plugins/',\r\n\tthemeType : 'default',\r\n\tlangType : 'zh-CN',\r\n\turlType : '',\r\n\tnewlineTag : 'p',\r\n\tresizeType : 2,\r\n\tsyncType : 'form',\r\n\tpasteType : 2,\r\n\tdialogAlignType : 'page',\r\n\tuseContextmenu : true,\r\n\tfullscreenShortcut : false,\r\n\tbodyClass : 'ke-content',\r\n\tindentChar : '\\t',\r\n\tcssPath : '',\r\n\tcssData : '',\r\n\tminWidth : 650,\r\n\tminHeight : 100,\r\n\tminChangeSize : 50,\r\n\tzIndex : 811213,\r\n\titems : [\r\n\t\t'source', '|', 'undo', 'redo', '|', \r\n\t\t'formatblock', 'fontname', 'fontsize', 'forecolor', 'hilitecolor', 'bold',\r\n\t\t'italic', 'underline', 'strikethrough', 'removeformat', '|',\r\n\t\t'justifyleft', 'justifycenter', 'justifyright', 'justifyfull', '|',\r\n\t\t'indent', 'outdent', 'subscript', 'superscript', '|', 'uploadImage'\r\n\t],\r\n\tnoDisableItems : ['source', 'fullscreen'],\r\n\tcolorTable : [\r\n\t\t['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'],\r\n\t\t['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'],\r\n\t\t['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'],\r\n\t\t['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000']\r\n\t],\r\n\tfontSizeTable : ['9px', '10px', '12px', '14px', '16px', '18px', '24px', '32px'],\r\n\thtmlTags : {\r\n\t\tfont : ['id', 'class', 'color', 'size', 'face', '.background-color'],\r\n\t\tspan : [\r\n\t\t\t'id', 'class', '.color', '.background-color', '.font-size', '.font-family', '.background',\r\n\t\t\t'.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.line-height'\r\n\t\t],\r\n\t\tdiv : [\r\n\t\t\t'id', 'class', 'align', '.border', '.margin', '.padding', '.text-align', '.color',\r\n\t\t\t'.background-color', '.font-size', '.font-family', '.font-weight', '.background',\r\n\t\t\t'.font-style', '.text-decoration', '.vertical-align', '.margin-left'\r\n\t\t],\r\n\t\ttable: [\r\n\t\t\t'id', 'class', 'border', 'cellspacing', 'cellpadding', 'width', 'height', 'align', 'bordercolor',\r\n\t\t\t'.padding', '.margin', '.border', 'bgcolor', '.text-align', '.color', '.background-color',\r\n\t\t\t'.font-size', '.font-family', '.font-weight', '.font-style', '.text-decoration', '.background',\r\n\t\t\t'.width', '.height', '.border-collapse'\r\n\t\t],\r\n\t\t'td,th': [\r\n\t\t\t'id', 'class', 'align', 'valign', 'width', 'height', 'colspan', 'rowspan', 'bgcolor',\r\n\t\t\t'.text-align', '.color', '.background-color', '.font-size', '.font-family', '.font-weight',\r\n\t\t\t'.font-style', '.text-decoration', '.vertical-align', '.background', '.border'\r\n\t\t],\r\n\t\ta : ['id', 'class', 'href', 'target', 'name'],\r\n\t\tembed : ['id', 'class', 'src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess', 'wmode'],\r\n\t\timg : ['id', 'class', 'src', 'width', 'height', 'border', 'alt', 'title', 'align', '.width', '.height', '.border'],\r\n\t\t'p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : [\r\n\t\t\t'id', 'class', 'align', '.text-align', '.color', '.background-color', '.font-size', '.font-family', '.background',\r\n\t\t\t'.font-weight', '.font-style', '.text-decoration', '.vertical-align', '.text-indent', '.margin-left'\r\n\t\t],\r\n\t\tpre : ['id', 'class'],\r\n\t\thr : ['id', 'class', '.page-break-after'],\r\n\t\t'br,tbody,tr,strong,b,sub,sup,em,i,u,strike,s,del' : ['id', 'class'],\r\n\t\tiframe : ['id', 'class', 'src', 'frameborder', 'width', 'height', '.width', '.height']\r\n\t},\r\n\tlayout : '<div class=\"container\"><div class=\"toolbar\"></div><div class=\"edit\"></div><div class=\"statusbar\"></div></div>'\r\n};\r\n\n\r\nvar _useCapture = false;\r\n\r\r\nvar _INPUT_KEY_MAP = _toMap('8,9,13,32,46,48..57,59,61,65..90,106,109..111,188,190..192,219..222');\r\r\nvar _CURSORMOVE_KEY_MAP = _toMap('33..40');\r\r\nvar _CHANGE_KEY_MAP = {};\r\n_each(_INPUT_KEY_MAP, function(key, val) {\r\n\t_CHANGE_KEY_MAP[key] = val;\r\n});\r\n_each(_CURSORMOVE_KEY_MAP, function(key, val) {\r\n\t_CHANGE_KEY_MAP[key] = val;\r\n});\r\n\r\r\nfunction _bindEvent(el, type, fn) {\r\n\tif (el.addEventListener){\r\n\t\tel.addEventListener(type, fn, _useCapture);\r\n\t} else if (el.attachEvent){\r\n\t\tel.attachEvent('on' + type, fn);\r\n\t}\r\n}\r\r\nfunction _unbindEvent(el, type, fn) {\r\n\tif (el.removeEventListener){\r\n\t\tel.removeEventListener(type, fn, _useCapture);\r\n\t} else if (el.detachEvent){\r\n\t\tel.detachEvent('on' + type, fn);\r\n\t}\r\n}\r\nvar _EVENT_PROPS = ('altKey,attrChange,attrName,bubbles,button,cancelable,charCode,clientX,clientY,ctrlKey,currentTarget,' +\r\n\t'data,detail,eventPhase,fromElement,handler,keyCode,metaKey,newValue,offsetX,offsetY,originalTarget,pageX,' +\r\n\t'pageY,prevValue,relatedNode,relatedTarget,screenX,screenY,shiftKey,srcElement,target,toElement,view,wheelDelta,which').split(',');\r\n\r\r\nfunction KEvent(el, event) {\r\n\tthis.init(el, event);\r\n}\r\n_extend(KEvent, {\r\n\tinit : function(el, event) {\r\n\t\tvar self = this, doc = el.ownerDocument || el.document || el;\r\n\t\tself.event = event;\r\n\t\t_each(_EVENT_PROPS, function(key, val) {\r\n\t\t\tself[val] = event[val];\r\n\t\t});\r\n\t\tif (!self.target) {\r\n\t\t\tself.target = self.srcElement || doc;\r\n\t\t}\r\n\t\tif (self.target.nodeType === 3) {\r\n\t\t\tself.target = self.target.parentNode;\r\n\t\t}\r\n\t\tif (!self.relatedTarget && self.fromElement) {\r\n\t\t\tself.relatedTarget = self.fromElement === self.target ? self.toElement : self.fromElement;\r\n\t\t}\r\n\t\tif (self.pageX == null && self.clientX != null) {\r\n\t\t\tvar d = doc.documentElement, body = doc.body;\r\n\t\t\tself.pageX = self.clientX + (d && d.scrollLeft || body && body.scrollLeft || 0) - (d && d.clientLeft || body && body.clientLeft || 0);\r\n\t\t\tself.pageY = self.clientY + (d && d.scrollTop || body && body.scrollTop || 0) - (d && d.clientTop || body && body.clientTop || 0);\r\n\t\t}\r\n\t\tif (!self.which && ((self.charCode || self.charCode === 0) ? self.charCode : self.keyCode)) {\r\n\t\t\tself.which = self.charCode || self.keyCode;\r\n\t\t}\r\n\t\tif (!self.metaKey && self.ctrlKey) {\r\n\t\t\tself.metaKey = self.ctrlKey;\r\n\t\t}\r\n\t\tif (!self.which && self.button !== undefined) {\r\n\t\t\tself.which = (self.button & 1 ? 1 : (self.button & 2 ? 3 : (self.button & 4 ? 2 : 0)));\r\n\t\t}\r\n\t\tswitch (self.which) {\r\n\t\tcase 186 :\r\n\t\t\tself.which = 59;\r\n\t\t\tbreak;\r\n\t\tcase 187 :\r\n\t\tcase 107 :\r\n\t\tcase 43 :\r\n\t\t\tself.which = 61;\r\n\t\t\tbreak;\r\n\t\tcase 189 :\r\n\t\tcase 45 :\r\n\t\t\tself.which = 109;\r\n\t\t\tbreak;\r\n\t\tcase 42 :\r\n\t\t\tself.which = 106;\r\n\t\t\tbreak;\r\n\t\tcase 47 :\r\n\t\t\tself.which = 111;\r\n\t\t\tbreak;\r\n\t\tcase 78 :\r\n\t\t\tself.which = 110;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tif (self.which >= 96 && self.which <= 105) {\r\n\t\t\tself.which -= 48;\r\n\t\t}\r\n\t},\r\n\tpreventDefault : function() {\r\n\t\tvar ev = this.event;\r\n\t\tif (ev.preventDefault) {\r\n\t\t\tev.preventDefault();\r\n\t\t} else {\r\n\t\t\tev.returnValue = false;\r\n\t\t}\r\n\t},\r\n\tstopPropagation : function() {\r\n\t\tvar ev = this.event;\r\n\t\tif (ev.stopPropagation) {\r\n\t\t\tev.stopPropagation();\r\n\t\t} else {\r\n\t\t\tev.cancelBubble = true;\r\n\t\t}\r\n\t},\r\n\tstop : function() {\r\n\t\tthis.preventDefault();\r\n\t\tthis.stopPropagation();\r\n\t}\r\n});\r\nvar _eventExpendo = 'kindeditor_' + _TIME, _eventId = 0, _eventData = {};\r\nfunction _getId(el) {\r\n\treturn el[_eventExpendo] || null;\r\n}\r\nfunction _setId(el) {\r\n\tel[_eventExpendo] = ++_eventId;\r\n\treturn _eventId;\r\n}\r\nfunction _removeId(el) {\r\n\ttry {\r\n\t\tdelete el[_eventExpendo];\r\n\t} catch(e) {\r\n\t\tif (el.removeAttribute) {\r\n\t\t\tel.removeAttribute(_eventExpendo);\r\n\t\t}\r\n\t}\r\n}\r\nfunction _bind(el, type, fn) {\r\n\tif (type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_bind(el, this, fn);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\tid = _setId(el);\r\n\t}\r\n\tif (_eventData[id] === undefined) {\r\n\t\t_eventData[id] = {};\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (events && events.length > 0) {\r\n\t\t_unbindEvent(el, type, events[0]);\r\n\t} else {\r\n\t\t_eventData[id][type] = [];\r\n\t\t_eventData[id].el = el;\r\n\t}\r\n\tevents = _eventData[id][type];\r\n\tif (events.length === 0) {\r\n\t\tevents[0] = function(e) {\r\n\t\t\tvar kevent = e ? new KEvent(el, e) : undefined;\r\n\t\t\t_each(events, function(i, event) {\r\n\t\t\t\tif (i > 0 && event) {\r\n\t\t\t\t\tevent.call(el, kevent);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t};\r\n\t}\r\n\tif (_inArray(fn, events) < 0) {\r\n\t\tevents.push(fn);\r\n\t}\r\n\t_bindEvent(el, type, events[0]);\r\n}\r\nfunction _unbind(el, type, fn) {\r\n\tif (type && type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_unbind(el, this, fn);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\treturn;\r\n\t}\r\n\tif (type === undefined) {\r\n\t\tif (id in _eventData) {\r\n\t\t\t_each(_eventData[id], function(key, events) {\r\n\t\t\t\tif (key != 'el' && events.length > 0) {\r\n\t\t\t\t\t_unbindEvent(el, key, events[0]);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tdelete _eventData[id];\r\n\t\t\t_removeId(el);\r\n\t\t}\r\n\t\treturn;\r\n\t}\r\n\tif (!_eventData[id]) {\r\n\t\treturn;\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (events && events.length > 0) {\r\n\t\tif (fn === undefined) {\r\n\t\t\t_unbindEvent(el, type, events[0]);\r\n\t\t\tdelete _eventData[id][type];\r\n\t\t} else {\r\n\t\t\t_each(events, function(i, event) {\r\n\t\t\t\tif (i > 0 && event === fn) {\r\n\t\t\t\t\tevents.splice(i, 1);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (events.length == 1) {\r\n\t\t\t\t_unbindEvent(el, type, events[0]);\r\n\t\t\t\tdelete _eventData[id][type];\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar count = 0;\r\n\t\t_each(_eventData[id], function() {\r\n\t\t\tcount++;\r\n\t\t});\r\n\t\tif (count < 2) {\r\n\t\t\tdelete _eventData[id];\r\n\t\t\t_removeId(el);\r\n\t\t}\r\n\t}\r\n}\r\nfunction _fire(el, type) {\r\n\tif (type.indexOf(',') >= 0) {\r\n\t\t_each(type.split(','), function() {\r\n\t\t\t_fire(el, this);\r\n\t\t});\r\n\t\treturn;\r\n\t}\r\n\tvar id = _getId(el);\r\n\tif (!id) {\r\n\t\treturn;\r\n\t}\r\n\tvar events = _eventData[id][type];\r\n\tif (_eventData[id] && events && events.length > 0) {\r\n\t\tevents[0]();\r\n\t}\r\n}\r\nfunction _ctrl(el, key, fn) {\r\n\tvar self = this;\r\n\tkey = /^\\d{2,}$/.test(key) ? key : key.toUpperCase().charCodeAt(0);\r\n\t_bind(el, 'keydown', function(e) {\r\n\t\tif (e.ctrlKey && e.which == key && !e.shiftKey && !e.altKey) {\r\n\t\t\tfn.call(el);\r\n\t\t\te.stop();\r\n\t\t}\r\n\t});\r\n}\r\nvar _readyFinished = false;\r\nfunction _ready(fn) {\r\n\tif (_readyFinished) {\r\n\t\tfn(KindEditor);\r\n\t\treturn;\r\n\t}\r\n\tvar loaded = false;\r\n\tfunction readyFunc() {\r\n\t\tif (!loaded) {\r\n\t\t\tloaded = true;\r\n\t\t\tfn(KindEditor);\r\n\t\t\t_readyFinished = true;\r\n\t\t}\r\n\t}\r\n\tfunction ieReadyFunc() {\r\n\t\tif (!loaded) {\r\n\t\t\ttry {\r\n\t\t\t\tdocument.documentElement.doScroll('left');\r\n\t\t\t} catch(e) {\r\n\t\t\t\tsetTimeout(ieReadyFunc, 100);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\treadyFunc();\r\n\t\t}\r\n\t}\r\n\tfunction ieReadyStateFunc() {\r\n\t\tif (document.readyState === 'complete') {\r\n\t\t\treadyFunc();\r\n\t\t}\r\n\t}\r\n\tif (document.addEventListener) {\r\n\t\t_bind(document, 'DOMContentLoaded', readyFunc);\r\n\t} else if (document.attachEvent) {\r\n\t\t_bind(document, 'readystatechange', ieReadyStateFunc);\r\n\t\tvar toplevel = false;\r\n\t\ttry {\r\n\t\t\ttoplevel = window.frameElement == null;\r\n\t\t} catch(e) {}\r\n\t\tif (document.documentElement.doScroll && toplevel) {\r\n\t\t\tieReadyFunc();\r\n\t\t}\r\n\t}\r\n\t_bind(window, 'load', readyFunc);\r\n}\r\nif (window.attachEvent) {\r\n\twindow.attachEvent('onunload', function() {\r\n\t\t_each(_eventData, function(key, events) {\r\n\t\t\tif (events.el) {\r\n\t\t\t\t_unbind(events.el);\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\nK.ctrl = _ctrl;\r\nK.ready = _ready;\r\n\nfunction _getCssList(css) {\r\n\tvar list = {},\r\n\t\treg = /\\s*([\\w\\-]+)\\s*:([^;]*)(;|$)/g,\r\n\t\tmatch;\r\n\twhile ((match = reg.exec(css))) {\r\n\t\tvar key = _trim(match[1].toLowerCase()),\r\n\t\t\tval = _trim(_toHex(match[2]));\r\n\t\tlist[key] = val;\r\n\t}\r\n\treturn list;\r\n}\r\nfunction _getAttrList(tag) {\r\n\tvar list = {},\r\n\t\treg = /\\s+(?:([\\w\\-:]+)|(?:([\\w\\-:]+)=([^\\s\"'<>]+))|(?:([\\w\\-:\"]+)=\"([^\"]*)\")|(?:([\\w\\-:\"]+)='([^']*)'))(?=(?:\\s|\\/|>)+)/g,\r\n\t\tmatch;\r\n\twhile ((match = reg.exec(tag))) {\r\n\t\tvar key = (match[1] || match[2] || match[4] || match[6]).toLowerCase(),\r\n\t\t\tval = (match[2] ? match[3] : (match[4] ? match[5] : match[7])) || '';\r\n\t\tlist[key] = val;\r\n\t}\r\n\treturn list;\r\n}\r\nfunction _addClassToTag(tag, className) {\r\n\tif (/\\s+class\\s*=/.test(tag)) {\r\n\t\ttag = tag.replace(/(\\s+class=[\"']?)([^\"']*)([\"']?[\\s>])/, function($0, $1, $2, $3) {\r\n\t\t\tif ((' ' + $2 + ' ').indexOf(' ' + className + ' ') < 0) {\r\n\t\t\t\treturn $2 === '' ? $1 + className + $3 : $1 + $2 + ' ' + className + $3;\r\n\t\t\t} else {\r\n\t\t\t\treturn $0;\r\n\t\t\t}\r\n\t\t});\r\n\t} else {\r\n\t\ttag = tag.substr(0, tag.length - 1) + ' class=\"' + className + '\">';\r\n\t}\r\n\treturn tag;\r\n}\r\nfunction _formatCss(css) {\r\n\tvar str = '';\r\n\t_each(_getCssList(css), function(key, val) {\r\n\t\tstr += key + ':' + val + ';';\r\n\t});\r\n\treturn str;\r\n}\r\nfunction _formatUrl(url, mode, host, pathname) {\r\n\tmode = _undef(mode, '').toLowerCase();\r\n\tif (url.substr(0, 5) != 'data:') {\r\n\t\turl = url.replace(/([^:])\\/\\//g, '$1/');\r\n\t}\r\n\tif (_inArray(mode, ['absolute', 'relative', 'domain']) < 0) {\r\n\t\treturn url;\r\n\t}\r\n\thost = host || location.protocol + '//' + location.host;\r\n\tif (pathname === undefined) {\r\n\t\tvar m = location.pathname.match(/^(\\/.*)\\//);\r\n\t\tpathname = m ? m[1] : '';\r\n\t}\r\n\tvar match;\r\n\tif ((match = /^(\\w+:\\/\\/[^\\/]*)/.exec(url))) {\r\n\t\tif (match[1] !== host) {\r\n\t\t\treturn url;\r\n\t\t}\r\n\t} else if (/^\\w+:/.test(url)) {\r\n\t\treturn url;\r\n\t}\r\n\tfunction getRealPath(path) {\r\n\t\tvar parts = path.split('/'), paths = [];\r\n\t\tfor (var i = 0, len = parts.length; i < len; i++) {\r\n\t\t\tvar part = parts[i];\r\n\t\t\tif (part == '..') {\r\n\t\t\t\tif (paths.length > 0) {\r\n\t\t\t\t\tpaths.pop();\r\n\t\t\t\t}\r\n\t\t\t} else if (part !== '' && part != '.') {\r\n\t\t\t\tpaths.push(part);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn '/' + paths.join('/');\r\n\t}\r\n\tif (/^\\//.test(url)) {\r\n\t\turl = host + getRealPath(url.substr(1));\r\n\t} else if (!/^\\w+:\\/\\//.test(url)) {\r\n\t\turl = host + getRealPath(pathname + '/' + url);\r\n\t}\r\n\tfunction getRelativePath(path, depth) {\r\n\t\tif (url.substr(0, path.length) === path) {\r\n\t\t\tvar arr = [];\r\n\t\t\tfor (var i = 0; i < depth; i++) {\r\n\t\t\t\tarr.push('..');\r\n\t\t\t}\r\n\t\t\tvar prefix = '.';\r\n\t\t\tif (arr.length > 0) {\r\n\t\t\t\tprefix += '/' + arr.join('/');\r\n\t\t\t}\r\n\t\t\tif (pathname == '/') {\r\n\t\t\t\tprefix += '/';\r\n\t\t\t}\r\n\t\t\treturn prefix + url.substr(path.length);\r\n\t\t} else {\r\n\t\t\tif ((match = /^(.*)\\//.exec(path))) {\r\n\t\t\t\treturn getRelativePath(match[1], ++depth);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (mode === 'relative') {\r\n\t\turl = getRelativePath(host + pathname, 0).substr(2);\r\n\t} else if (mode === 'absolute') {\r\n\t\tif (url.substr(0, host.length) === host) {\r\n\t\t\turl = url.substr(host.length);\r\n\t\t}\r\n\t}\r\n\treturn url;\r\n}\r\nfunction _formatHtml(html, htmlTags, urlType, wellFormatted, indentChar) {\r\n\tif (html == null) {\r\n\t\thtml = '';\r\n\t}\r\n\turlType = urlType || '';\r\n\twellFormatted = _undef(wellFormatted, false);\r\n\tindentChar = _undef(indentChar, '\\t');\r\n\tvar fontSizeList = 'xx-small,x-small,small,medium,large,x-large,xx-large'.split(',');\r\n\thtml = html.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig, function($0, $1, $2, $3) {\r\n\t\treturn $1 + $2.replace(/<(?:br|br\\s[^>]*)>/ig, '\\n') + $3;\r\n\t});\r\n\thtml = html.replace(/<(?:br|br\\s[^>]*)\\s*\\/?>\\s*<\\/p>/ig, '</p>');\r\n\thtml = html.replace(/(<(?:p|p\\s[^>]*)>)\\s*(<\\/p>)/ig, '$1<br />$2');\r\n\thtml = html.replace(/\\u200B/g, '');\r\n\thtml = html.replace(/\\u00A9/g, '&copy;');\r\n\thtml = html.replace(/\\u00AE/g, '&reg;');\r\n\thtml = html.replace(/\\u2003/g, '&emsp;');\r\n\thtml = html.replace(/\\u3000/g, '&emsp;');\r\n\thtml = html.replace(/<[^>]+/g, function($0) {\r\n\t\treturn $0.replace(/\\s+/g, ' ');\r\n\t});\r\n\tvar htmlTagMap = {};\r\n\tif (htmlTags) {\r\n\t\t_each(htmlTags, function(key, val) {\r\n\t\t\tvar arr = key.split(',');\r\n\t\t\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\t\t\thtmlTagMap[arr[i]] = _toMap(val);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (!htmlTagMap.script) {\r\n\t\t\thtml = html.replace(/(<(?:script|script\\s[^>]*)>)([\\s\\S]*?)(<\\/script>)/ig, '');\r\n\t\t}\r\n\t\tif (!htmlTagMap.style) {\r\n\t\t\thtml = html.replace(/(<(?:style|style\\s[^>]*)>)([\\s\\S]*?)(<\\/style>)/ig, '');\r\n\t\t}\r\n\t}\r\n\tvar re = /(\\s*)<(\\/)?([\\w\\-:]+)((?:\\s+|(?:\\s+[\\w\\-:]+)|(?:\\s+[\\w\\-:]+=[^\\s\"'<>]+)|(?:\\s+[\\w\\-:\"]+=\"[^\"]*\")|(?:\\s+[\\w\\-:\"]+='[^']*'))*)(\\/)?>(\\s*)/g;\r\n\tvar tagStack = [];\r\n\thtml = html.replace(re, function($0, $1, $2, $3, $4, $5, $6) {\r\n\t\tvar full = $0,\r\n\t\t\tstartNewline = $1 || '',\r\n\t\t\tstartSlash = $2 || '',\r\n\t\t\ttagName = $3.toLowerCase(),\r\n\t\t\tattr = $4 || '',\r\n\t\t\tendSlash = $5 ? ' ' + $5 : '',\r\n\t\t\tendNewline = $6 || '';\r\n\t\tif (htmlTags && !htmlTagMap[tagName]) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tif (endSlash === '' && _SINGLE_TAG_MAP[tagName]) {\r\n\t\t\tendSlash = ' /';\r\n\t\t}\r\n\t\tif (_INLINE_TAG_MAP[tagName]) {\r\n\t\t\tif (startNewline) {\r\n\t\t\t\tstartNewline = ' ';\r\n\t\t\t}\r\n\t\t\tif (endNewline) {\r\n\t\t\t\tendNewline = ' ';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (_PRE_TAG_MAP[tagName]) {\r\n\t\t\tif (startSlash) {\r\n\t\t\t\tendNewline = '\\n';\r\n\t\t\t} else {\r\n\t\t\t\tstartNewline = '\\n';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (wellFormatted && tagName == 'br') {\r\n\t\t\tendNewline = '\\n';\r\n\t\t}\r\n\t\tif (_BLOCK_TAG_MAP[tagName] && !_PRE_TAG_MAP[tagName]) {\r\n\t\t\tif (wellFormatted) {\r\n\t\t\t\tif (startSlash && tagStack.length > 0 && tagStack[tagStack.length - 1] === tagName) {\r\n\t\t\t\t\ttagStack.pop();\r\n\t\t\t\t} else {\r\n\t\t\t\t\ttagStack.push(tagName);\r\n\t\t\t\t}\r\n\t\t\t\tstartNewline = '\\n';\r\n\t\t\t\tendNewline = '\\n';\r\n\t\t\t\tfor (var i = 0, len = startSlash ? tagStack.length : tagStack.length - 1; i < len; i++) {\r\n\t\t\t\t\tstartNewline += indentChar;\r\n\t\t\t\t\tif (!startSlash) {\r\n\t\t\t\t\t\tendNewline += indentChar;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif (endSlash) {\r\n\t\t\t\t\ttagStack.pop();\r\n\t\t\t\t} else if (!startSlash) {\r\n\t\t\t\t\tendNewline += indentChar;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tstartNewline = endNewline = '';\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (attr !== '') {\r\n\t\t\tvar attrMap = _getAttrList(full);\r\n\t\t\tif (tagName === 'font') {\r\n\t\t\t\tvar fontStyleMap = {}, fontStyle = '';\r\n\t\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\t\tif (key === 'color') {\r\n\t\t\t\t\t\tfontStyleMap.color = val;\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'size') {\r\n\t\t\t\t\t\tfontStyleMap['font-size'] = fontSizeList[parseInt(val, 10) - 1] || '';\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'face') {\r\n\t\t\t\t\t\tfontStyleMap['font-family'] = val;\r\n\t\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (key === 'style') {\r\n\t\t\t\t\t\tfontStyle = val;\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (fontStyle && !/;$/.test(fontStyle)) {\r\n\t\t\t\t\tfontStyle += ';';\r\n\t\t\t\t}\r\n\t\t\t\t_each(fontStyleMap, function(key, val) {\r\n\t\t\t\t\tif (val === '') {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (/\\s/.test(val)) {\r\n\t\t\t\t\t\tval = \"'\" + val + \"'\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tfontStyle += key + ':' + val + ';';\r\n\t\t\t\t});\r\n\t\t\t\tattrMap.style = fontStyle;\r\n\t\t\t}\r\n\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\tif (_FILL_ATTR_MAP[key]) {\r\n\t\t\t\t\tattrMap[key] = key;\r\n\t\t\t\t}\r\n\t\t\t\tif (_inArray(key, ['src', 'href']) >= 0) {\r\n\t\t\t\t\tattrMap[key] = _formatUrl(val, urlType);\r\n\t\t\t\t}\r\n\t\t\t\tif (htmlTags && key !== 'style' && !htmlTagMap[tagName]['*'] && !htmlTagMap[tagName][key] ||\r\n\t\t\t\t\ttagName === 'body' && key === 'contenteditable' ||\r\n\t\t\t\t\t/^kindeditor_\\d+$/.test(key)) {\r\n\t\t\t\t\tdelete attrMap[key];\r\n\t\t\t\t}\r\n\t\t\t\tif (key === 'style' && val !== '') {\r\n\t\t\t\t\tvar styleMap = _getCssList(val);\r\n\t\t\t\t\t_each(styleMap, function(k, v) {\r\n\t\t\t\t\t\tif (htmlTags && !htmlTagMap[tagName].style && !htmlTagMap[tagName]['.' + k]) {\r\n\t\t\t\t\t\t\tdelete styleMap[k];\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tvar style = '';\r\n\t\t\t\t\t_each(styleMap, function(k, v) {\r\n\t\t\t\t\t\tstyle += k + ':' + v + ';';\r\n\t\t\t\t\t});\r\n\t\t\t\t\tattrMap.style = style;\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tattr = '';\r\n\t\t\t_each(attrMap, function(key, val) {\r\n\t\t\t\tif (key === 'style' && val === '') {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tval = val.replace(/\"/g, '&quot;');\r\n\t\t\t\tattr += ' ' + key + '=\"' + val + '\"';\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (tagName === 'font') {\r\n\t\t\ttagName = 'span';\r\n\t\t}\r\n\t\treturn startNewline + '<' + startSlash + tagName + attr + endSlash + '>' + endNewline;\r\n\t});\r\n\thtml = html.replace(/(<(?:pre|pre\\s[^>]*)>)([\\s\\S]*?)(<\\/pre>)/ig, function($0, $1, $2, $3) {\r\n\t\treturn $1 + $2.replace(/\\n/g, '<span id=\"__kindeditor_pre_newline__\">\\n') + $3;\r\n\t});\r\n\thtml = html.replace(/\\n\\s*\\n/g, '\\n');\r\n\thtml = html.replace(/<span id=\"__kindeditor_pre_newline__\">\\n/g, '\\n');\r\n\treturn _trim(html);\r\n}\r\r\nfunction _clearMsWord(html, htmlTags) {\r\n\thtml = html.replace(/<meta[\\s\\S]*?>/ig, '')\r\n\t\t.replace(/<![\\s\\S]*?>/ig, '')\r\n\t\t.replace(/<style[^>]*>[\\s\\S]*?<\\/style>/ig, '')\r\n\t\t.replace(/<script[^>]*>[\\s\\S]*?<\\/script>/ig, '')\r\n\t\t.replace(/<w:[^>]+>[\\s\\S]*?<\\/w:[^>]+>/ig, '')\r\n\t\t.replace(/<o:[^>]+>[\\s\\S]*?<\\/o:[^>]+>/ig, '')\r\n\t\t.replace(/<xml>[\\s\\S]*?<\\/xml>/ig, '')\r\n\t\t.replace(/<(?:table|td)[^>]*>/ig, function(full) {\r\n\t\t\treturn full.replace(/border-bottom:([#\\w\\s]+)/ig, 'border:$1');\r\n\t\t});\r\n\treturn _formatHtml(html, htmlTags);\r\n}\r\r\nfunction _mediaType(src) {\r\n\tif (/\\.(rm|rmvb)(\\?|$)/i.test(src)) {\r\n\t\treturn 'audio/x-pn-realaudio-plugin';\r\n\t}\r\n\tif (/\\.(swf|flv)(\\?|$)/i.test(src)) {\r\n\t\treturn 'application/x-shockwave-flash';\r\n\t}\r\n\treturn 'video/x-ms-asf-plugin';\r\n}\r\r\nfunction _mediaClass(type) {\r\n\tif (/realaudio/i.test(type)) {\r\n\t\treturn 'ke-rm';\r\n\t}\r\n\tif (/flash/i.test(type)) {\r\n\t\treturn 'ke-flash';\r\n\t}\r\n\treturn 'ke-media';\r\n}\r\nfunction _mediaAttrs(srcTag) {\r\n\treturn _getAttrList(unescape(srcTag));\r\n}\r\nfunction _mediaEmbed(attrs) {\r\n\tvar html = '<embed ';\r\n\t_each(attrs, function(key, val) {\r\n\t\thtml += key + '=\"' + val + '\" ';\r\n\t});\r\n\thtml += '/>';\r\n\treturn html;\r\n}\r\nfunction _mediaImg(blankPath, attrs) {\r\n\tvar width = attrs.width,\r\n\t\theight = attrs.height,\r\n\t\ttype = attrs.type || _mediaType(attrs.src),\r\n\t\tsrcTag = _mediaEmbed(attrs),\r\n\t\tstyle = '';\r\n\tif (/\\D/.test(width)) {\r\n\t\tstyle += 'width:' + width + ';';\r\n\t} else if (width > 0) {\r\n\t\tstyle += 'width:' + width + 'px;';\r\n\t}\r\n\tif (/\\D/.test(height)) {\r\n\t\tstyle += 'height:' + height + ';';\r\n\t} else if (height > 0) {\r\n\t\tstyle += 'height:' + height + 'px;';\r\n\t}\r\n\tvar html = '<img class=\"' + _mediaClass(type) + '\" src=\"' + blankPath + '\" ';\r\n\tif (style !== '') {\r\n\t\thtml += 'style=\"' + style + '\" ';\r\n\t}\r\n\thtml += 'data-ke-tag=\"' + escape(srcTag) + '\" alt=\"\" />';\r\n\treturn html;\r\n}\r\n\r\r\r\r\nfunction _tmpl(str, data) {\r\n\tvar fn = new Function(\"obj\",\r\n\t\t\"var p=[],print=function(){p.push.apply(p,arguments);};\" +\r\n\t\t\"with(obj){p.push('\" +\r\n\t\tstr.replace(/[\\r\\t\\n]/g, \" \")\r\n\t\t\t.split(\"<%\").join(\"\\t\")\r\n\t\t\t.replace(/((^|%>)[^\\t]*)'/g, \"$1\\r\")\r\n\t\t\t.replace(/\\t=(.*?)%>/g, \"',$1,'\")\r\n\t\t\t.split(\"\\t\").join(\"');\")\r\n\t\t\t.split(\"%>\").join(\"p.push('\")\r\n\t\t\t.split(\"\\r\").join(\"\\\\'\") + \"');}return p.join('');\");\r\n\treturn data ? fn(data) : fn;\r\n}\r\nK.formatUrl = _formatUrl;\r\nK.formatHtml = _formatHtml;\r\nK.getCssList = _getCssList;\r\nK.getAttrList = _getAttrList;\r\nK.mediaType = _mediaType;\r\nK.mediaAttrs = _mediaAttrs;\r\nK.mediaEmbed = _mediaEmbed;\r\nK.mediaImg = _mediaImg;\r\nK.clearMsWord = _clearMsWord;\r\nK.tmpl = _tmpl;\r\n\n\r\nfunction _contains(nodeA, nodeB) {\r\n\tif (nodeA.nodeType == 9 && nodeB.nodeType != 9) {\r\n\t\treturn true;\r\n\t}\r\n\twhile ((nodeB = nodeB.parentNode)) {\r\n\t\tif (nodeB == nodeA) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\nvar _getSetAttrDiv = document.createElement('div');\r\n_getSetAttrDiv.setAttribute('className', 't');\r\nvar _GET_SET_ATTRIBUTE = _getSetAttrDiv.className !== 't';\r\nfunction _getAttr(el, key) {\r\n\tkey = key.toLowerCase();\r\n\tvar val = null;\r\n\tif (!_GET_SET_ATTRIBUTE && el.nodeName.toLowerCase() != 'script') {\r\n\t\tvar div = el.ownerDocument.createElement('div');\r\n\t\tdiv.appendChild(el.cloneNode(false));\r\n\t\tvar list = _getAttrList(_unescape(div.innerHTML));\r\n\t\tif (key in list) {\r\n\t\t\tval = list[key];\r\n\t\t}\r\n\t} else {\r\n\t\ttry {\r\n\t\t\tval = el.getAttribute(key, 2);\r\n\t\t} catch(e) {\r\n\t\t\tval = el.getAttribute(key, 1);\r\n\t\t}\r\n\t}\r\n\tif (key === 'style' && val !== null) {\r\n\t\tval = _formatCss(val);\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _queryAll(expr, root) {\r\n\tvar exprList = expr.split(',');\r\n\tif (exprList.length > 1) {\r\n\t\tvar mergedResults = [];\r\n\t\t_each(exprList, function() {\r\n\t\t\t_each(_queryAll(this, root), function() {\r\n\t\t\t\tif (_inArray(this, mergedResults) < 0) {\r\n\t\t\t\t\tmergedResults.push(this);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t\treturn mergedResults;\r\n\t}\r\n\troot = root || document;\r\n\tfunction escape(str) {\r\n\t\tif (typeof str != 'string') {\r\n\t\t\treturn str;\r\n\t\t}\r\n\t\treturn str.replace(/([^\\w\\-])/g, '\\\\$1');\r\n\t}\r\n\tfunction stripslashes(str) {\r\n\t\treturn str.replace(/\\\\/g, '');\r\n\t}\r\n\tfunction cmpTag(tagA, tagB) {\r\n\t\treturn tagA === '*' || tagA.toLowerCase() === escape(tagB.toLowerCase());\r\n\t}\r\n\tfunction byId(id, tag, root) {\r\n\t\tvar arr = [],\r\n\t\t\tdoc = root.ownerDocument || root,\r\n\t\t\tel = doc.getElementById(stripslashes(id));\r\n\t\tif (el) {\r\n\t\t\tif (cmpTag(tag, el.nodeName) && _contains(root, el)) {\r\n\t\t\t\tarr.push(el);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byClass(className, tag, root) {\r\n\t\tvar doc = root.ownerDocument || root, arr = [], els, i, len, el;\r\n\t\tif (root.getElementsByClassName) {\r\n\t\t\tels = root.getElementsByClassName(stripslashes(className));\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (cmpTag(tag, el.nodeName)) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else if (doc.querySelectorAll) {\r\n\t\t\tels = doc.querySelectorAll((root.nodeName !== '#document' ? root.nodeName + ' ' : '') + tag + '.' + className);\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (_contains(root, el)) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tels = root.getElementsByTagName(tag);\r\n\t\t\tclassName = ' ' + className + ' ';\r\n\t\t\tfor (i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\t\tvar cls = el.className;\r\n\t\t\t\t\tif (cls && (' ' + cls + ' ').indexOf(className) > -1) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byName(name, tag, root) {\r\n\t\tvar arr = [], doc = root.ownerDocument || root,\r\n\t\t\tels = doc.getElementsByName(stripslashes(name)), el;\r\n\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\tel = els[i];\r\n\t\t\tif (cmpTag(tag, el.nodeName) && _contains(root, el)) {\r\n\t\t\t\tif (el.getAttribute('name') !== null) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction byAttr(key, val, tag, root) {\r\n\t\tvar arr = [], els = root.getElementsByTagName(tag), el;\r\n\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\tel = els[i];\r\n\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\tif (val === null) {\r\n\t\t\t\t\tif (_getAttr(el, key) !== null) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (val === escape(_getAttr(el, key))) {\r\n\t\t\t\t\t\tarr.push(el);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tfunction select(expr, root) {\r\n\t\tvar arr = [], matches;\r\n\t\tmatches = /^((?:\\\\.|[^.#\\s\\[<>])+)/.exec(expr);\r\n\t\tvar tag = matches ? matches[1] : '*';\r\n\t\tif ((matches = /#((?:[\\w\\-]|\\\\.)+)$/.exec(expr))) {\r\n\t\t\tarr = byId(matches[1], tag, root);\r\n\t\t} else if ((matches = /\\.((?:[\\w\\-]|\\\\.)+)$/.exec(expr))) {\r\n\t\t\tarr = byClass(matches[1], tag, root);\r\n\t\t} else if ((matches = /\\[((?:[\\w\\-]|\\\\.)+)\\]/.exec(expr))) {\r\n\t\t\tarr = byAttr(matches[1].toLowerCase(), null, tag, root);\r\n\t\t} else if ((matches = /\\[((?:[\\w\\-]|\\\\.)+)\\s*=\\s*['\"]?((?:\\\\.|[^'\"]+)+)['\"]?\\]/.exec(expr))) {\r\n\t\t\tvar key = matches[1].toLowerCase(), val = matches[2];\r\n\t\t\tif (key === 'id') {\r\n\t\t\t\tarr = byId(val, tag, root);\r\n\t\t\t} else if (key === 'class') {\r\n\t\t\t\tarr = byClass(val, tag, root);\r\n\t\t\t} else if (key === 'name') {\r\n\t\t\t\tarr = byName(val, tag, root);\r\n\t\t\t} else {\r\n\t\t\t\tarr = byAttr(key, val, tag, root);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tvar els = root.getElementsByTagName(tag), el;\r\n\t\t\tfor (var i = 0, len = els.length; i < len; i++) {\r\n\t\t\t\tel = els[i];\r\n\t\t\t\tif (el.nodeType == 1) {\r\n\t\t\t\t\tarr.push(el);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn arr;\r\n\t}\r\n\tvar parts = [], arr, re = /((?:\\\\.|[^\\s>])+|[\\s>])/g;\r\n\twhile ((arr = re.exec(expr))) {\r\n\t\tif (arr[1] !== ' ') {\r\n\t\t\tparts.push(arr[1]);\r\n\t\t}\r\n\t}\r\n\tvar results = [];\r\n\tif (parts.length == 1) {\r\n\t\treturn select(parts[0], root);\r\n\t}\r\n\tvar isChild = false, part, els, subResults, val, v, i, j, k, length, len, l;\r\n\tfor (i = 0, lenth = parts.length; i < lenth; i++) {\r\n\t\tpart = parts[i];\r\n\t\tif (part === '>') {\r\n\t\t\tisChild = true;\r\n\t\t\tcontinue;\r\n\t\t}\r\n\t\tif (i > 0) {\r\n\t\t\tels = [];\r\n\t\t\tfor (j = 0, len = results.length; j < len; j++) {\r\n\t\t\t\tval = results[j];\r\n\t\t\t\tsubResults = select(part, val);\r\n\t\t\t\tfor (k = 0, l = subResults.length; k < l; k++) {\r\n\t\t\t\t\tv = subResults[k];\r\n\t\t\t\t\tif (isChild) {\r\n\t\t\t\t\t\tif (val === v.parentNode) {\r\n\t\t\t\t\t\t\tels.push(v);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tels.push(v);\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tresults = els;\r\n\t\t} else {\r\n\t\t\tresults = select(part, root);\r\n\t\t}\r\n\t\tif (results.length === 0) {\r\n\t\t\treturn [];\r\n\t\t}\r\n\t}\r\n\treturn results;\r\n}\r\nfunction _query(expr, root) {\r\n\tvar arr = _queryAll(expr, root);\r\n\treturn arr.length > 0 ? arr[0] : null;\r\n}\r\nK.query = _query;\r\nK.queryAll = _queryAll;\r\n\n\r\nfunction _get(val) {\r\n\treturn K(val)[0];\r\n}\r\nfunction _getDoc(node) {\r\n\tif (!node) {\r\n\t\treturn document;\r\n\t}\r\n\treturn node.ownerDocument || node.document || node;\r\n}\r\nfunction _getWin(node) {\r\n\tif (!node) {\r\n\t\treturn window;\r\n\t}\r\n\tvar doc = _getDoc(node);\r\n\treturn doc.parentWindow || doc.defaultView;\r\n}\r\nfunction _setHtml(el, html) {\r\n\tif (el.nodeType != 1) {\r\n\t\treturn;\r\n\t}\r\n\tvar doc = _getDoc(el);\r\n\ttry {\r\n\t\tel.innerHTML = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + html;\r\n\t\tvar temp = doc.getElementById('__kindeditor_temp_tag__');\r\n\t\ttemp.parentNode.removeChild(temp);\r\n\t} catch(e) {\r\n\t\tK(el).empty();\r\n\t\tK('@' + html, doc).each(function() {\r\n\t\t\tel.appendChild(this);\r\n\t\t});\r\n\t}\r\n}\r\nfunction _hasClass(el, cls) {\r\n\treturn _inString(cls, el.className, ' ');\r\n}\r\nfunction _setAttr(el, key, val) {\r\n\tif (_IE && _V < 8 && key.toLowerCase() == 'class') {\r\n\t\tkey = 'className';\r\n\t}\r\n\tel.setAttribute(key, '' + val);\r\n}\r\nfunction _removeAttr(el, key) {\r\n\tif (_IE && _V < 8 && key.toLowerCase() == 'class') {\r\n\t\tkey = 'className';\r\n\t}\r\n\t_setAttr(el, key, '');\r\n\tel.removeAttribute(key);\r\n}\r\nfunction _getNodeName(node) {\r\n\tif (!node || !node.nodeName) {\r\n\t\treturn '';\r\n\t}\r\n\treturn node.nodeName.toLowerCase();\r\n}\r\nfunction _computedCss(el, key) {\r\n\tvar self = this, win = _getWin(el), camelKey = _toCamel(key), val = '';\r\n\tif (win.getComputedStyle) {\r\n\t\tvar style = win.getComputedStyle(el, null);\r\n\t\tval = style[camelKey] || style.getPropertyValue(key) || el.style[camelKey];\r\n\t} else if (el.currentStyle) {\r\n\t\tval = el.currentStyle[camelKey] || el.style[camelKey];\r\n\t}\r\n\treturn val;\r\n}\r\nfunction _hasVal(node) {\r\n\treturn !!_VALUE_TAG_MAP[_getNodeName(node)];\r\n}\r\nfunction _docElement(doc) {\r\n\tdoc = doc || document;\r\n\treturn _QUIRKS ? doc.body : doc.documentElement;\r\n}\r\nfunction _docHeight(doc) {\r\n\tvar el = _docElement(doc);\r\n\treturn Math.max(el.scrollHeight, el.clientHeight);\r\n}\r\nfunction _docWidth(doc) {\r\n\tvar el = _docElement(doc);\r\n\treturn Math.max(el.scrollWidth, el.clientWidth);\r\n}\r\nfunction _getScrollPos(doc) {\r\n\tdoc = doc || document;\r\n\tvar x, y;\r\n\tif (_IE || _NEWIE || _OPERA) {\r\n\t\tx = _docElement(doc).scrollLeft;\r\n\t\ty = _docElement(doc).scrollTop;\r\n\t} else {\r\n\t\tx = _getWin(doc).scrollX;\r\n\t\ty = _getWin(doc).scrollY;\r\n\t}\r\n\treturn {x : x, y : y};\r\n}\r\n\r\r\nfunction KNode(node) {\r\n\tthis.init(node);\r\n}\r\n_extend(KNode, {\r\n\tinit : function(node) {\r\n\t\tvar self = this;\r\n\t\tnode = _isArray(node) ? node : [node];\r\n\t\tvar length = 0;\r\n\t\tfor (var i = 0, len = node.length; i < len; i++) {\r\n\t\t\tif (node[i]) {\r\n\t\t\t\tself[i] = node[i].constructor === KNode ? node[i][0] : node[i];\r\n\t\t\t\tlength++;\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.length = length;\r\n\t\tself.doc = _getDoc(self[0]);\r\n\t\tself.name = _getNodeName(self[0]);\r\n\t\tself.type = self.length > 0 ? self[0].nodeType : null;\r\n\t\tself.win = _getWin(self[0]);\r\n\t},\r\n\teach : function(fn) {\r\n\t\tvar self = this;\r\n\t\tfor (var i = 0; i < self.length; i++) {\r\n\t\t\tif (fn.call(self[i], i, self[i]) === false) {\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tbind : function(type, fn) {\r\n\t\tthis.each(function() {\r\n\t\t\t_bind(this, type, fn);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tunbind : function(type, fn) {\r\n\t\tthis.each(function() {\r\n\t\t\t_unbind(this, type, fn);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tfire : function(type) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\t_fire(this[0], type);\r\n\t\treturn this;\r\n\t},\r\n\thasAttr : function(key) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn !!_getAttr(this[0], key);\r\n\t},\r\n\tattr : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tif (key === undefined) {\r\n\t\t\treturn _getAttrList(self.outer());\r\n\t\t}\r\n\t\tif (typeof key === 'object') {\r\n\t\t\t_each(key, function(k, v) {\r\n\t\t\t\tself.attr(k, v);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\tval = self.length < 1 ? null : _getAttr(self[0], key);\r\n\t\t\treturn val === null ? '' : val;\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\t_setAttr(this, key, val);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tremoveAttr : function(key) {\r\n\t\tthis.each(function() {\r\n\t\t\t_removeAttr(this, key);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tget : function(i) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this[i || 0];\r\n\t},\r\n\teq : function(i) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\treturn this[i] ? new KNode(this[i]) : null;\r\n\t},\r\n\thasClass : function(cls) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _hasClass(this[0], cls);\r\n\t},\r\n\taddClass : function(cls) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (!_hasClass(this, cls)) {\r\n\t\t\t\tthis.className = _trim(this.className + ' ' + cls);\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tremoveClass : function(cls) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (_hasClass(this, cls)) {\r\n\t\t\t\tthis.className = _trim(this.className.replace(new RegExp('(^|\\\\s)' + cls + '(\\\\s|$)'), ' '));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\thtml : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1 || self.type != 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn _formatHtml(self[0].innerHTML);\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\t_setHtml(this, val);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\ttext : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\treturn _IE ? self[0].innerText : self[0].textContent;\r\n\t},\r\n\thasVal : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _hasVal(this[0]);\r\n\t},\r\n\tval : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn self.hasVal() ? self[0].value : self.attr('value');\r\n\t\t} else {\r\n\t\t\tself.each(function() {\r\n\t\t\t\tif (_hasVal(this)) {\r\n\t\t\t\t\tthis.value = val;\r\n\t\t\t\t} else {\r\n\t\t\t\t\t_setAttr(this, 'value' , val);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t},\r\n\tcss : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tif (key === undefined) {\r\n\t\t\treturn _getCssList(self.attr('style'));\r\n\t\t}\r\n\t\tif (typeof key === 'object') {\r\n\t\t\t_each(key, function(k, v) {\r\n\t\t\t\tself.css(k, v);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn '';\r\n\t\t\t}\r\n\t\t\treturn self[0].style[_toCamel(key)] || _computedCss(self[0], key) || '';\r\n\t\t}\r\n\t\tself.each(function() {\r\n\t\t\tthis.style[_toCamel(key)] = val;\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\twidth : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\treturn self[0].offsetWidth;\r\n\t\t}\r\n\t\treturn self.css('width', _addUnit(val));\r\n\t},\r\n\theight : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn 0;\r\n\t\t\t}\r\n\t\t\treturn self[0].offsetHeight;\r\n\t\t}\r\n\t\treturn self.css('height', _addUnit(val));\r\n\t},\r\n\topacity : function(val) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.style.opacity === undefined) {\r\n\t\t\t\tthis.style.filter = val == 1 ? '' : 'alpha(opacity=' + (val * 100) + ')';\r\n\t\t\t} else {\r\n\t\t\t\tthis.style.opacity = val == 1 ? '' : val;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tdata : function(key, val) {\r\n\t\tvar self = this;\r\n\t\tkey = 'kindeditor_data_' + key;\r\n\t\tif (val === undefined) {\r\n\t\t\tif (self.length < 1) {\r\n\t\t\t\treturn null;\r\n\t\t\t}\r\n\t\t\treturn self[0][key];\r\n\t\t}\r\n\t\tthis.each(function() {\r\n\t\t\tthis[key] = val;\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tpos : function() {\r\n\t\tvar self = this, node = self[0], x = 0, y = 0;\r\n\t\tif (node) {\r\n\t\t\tif (node.getBoundingClientRect) {\r\n\t\t\t\tvar box = node.getBoundingClientRect(),\r\n\t\t\t\t\tpos = _getScrollPos(self.doc);\r\n\t\t\t\tx = box.left + pos.x;\r\n\t\t\t\ty = box.top + pos.y;\r\n\t\t\t} else {\r\n\t\t\t\twhile (node) {\r\n\t\t\t\t\tx += node.offsetLeft;\r\n\t\t\t\t\ty += node.offsetTop;\r\n\t\t\t\t\tnode = node.offsetParent;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn {x : _round(x), y : _round(y)};\r\n\t},\r\n\tclone : function(bool) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn new KNode([]);\r\n\t\t}\r\n\t\treturn new KNode(this[0].cloneNode(bool));\r\n\t},\r\n\tappend : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.appendChild) {\r\n\t\t\t\tthis.appendChild(_get(expr));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tappendTo : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\t_get(expr).appendChild(this);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tbefore : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tthis.parentNode.insertBefore(_get(expr), this);\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tafter : function(expr) {\r\n\t\tthis.each(function() {\r\n\t\t\tif (this.nextSibling) {\r\n\t\t\t\tthis.parentNode.insertBefore(_get(expr), this.nextSibling);\r\n\t\t\t} else {\r\n\t\t\t\tthis.parentNode.appendChild(_get(expr));\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\treplaceWith : function(expr) {\r\n\t\tvar nodes = [];\r\n\t\tthis.each(function(i, node) {\r\n\t\t\t_unbind(node);\r\n\t\t\tvar newNode = _get(expr);\r\n\t\t\tnode.parentNode.replaceChild(newNode, node);\r\n\t\t\tnodes.push(newNode);\r\n\t\t});\r\n\t\treturn K(nodes);\r\n\t},\r\n\tempty : function() {\r\n\t\tvar self = this;\r\n\t\tself.each(function(i, node) {\r\n\t\t\tvar child = node.firstChild;\r\n\t\t\twhile (child) {\r\n\t\t\t\tif (!node.parentNode) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\tchild.parentNode.removeChild(child);\r\n\t\t\t\tchild = next;\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tremove : function(keepChilds) {\r\n\t\tvar self = this;\r\n\t\tself.each(function(i, node) {\r\n\t\t\tif (!node.parentNode) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\t_unbind(node);\r\n\t\t\tif (keepChilds) {\r\n\t\t\t\tvar child = node.firstChild;\r\n\t\t\t\twhile (child) {\r\n\t\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\t\tnode.parentNode.insertBefore(child, node);\r\n\t\t\t\t\tchild = next;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tnode.parentNode.removeChild(node);\r\n\t\t\tdelete self[i];\r\n\t\t});\r\n\t\tself.length = 0;\r\n\t\treturn self;\r\n\t},\r\n\tshow : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\tval = self._originDisplay || '';\r\n\t\t}\r\n\t\tif (self.css('display') != 'none') {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.css('display', val);\r\n\t},\r\n\thide : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself._originDisplay = self[0].style.display;\r\n\t\treturn self.css('display', 'none');\r\n\t},\r\n\touter : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.length < 1) {\r\n\t\t\treturn '';\r\n\t\t}\r\n\t\tvar div = self.doc.createElement('div'), html;\r\n\t\tdiv.appendChild(self[0].cloneNode(true));\r\n\t\thtml = _formatHtml(div.innerHTML);\r\n\t\tdiv = null;\r\n\t\treturn html;\r\n\t},\r\n\tisSingle : function() {\r\n\t\treturn !!_SINGLE_TAG_MAP[this.name];\r\n\t},\r\n\tisInline : function() {\r\n\t\treturn !!_INLINE_TAG_MAP[this.name];\r\n\t},\r\n\tisBlock : function() {\r\n\t\treturn !!_BLOCK_TAG_MAP[this.name];\r\n\t},\r\n\tisStyle : function() {\r\n\t\treturn !!_STYLE_TAG_MAP[this.name];\r\n\t},\r\n\tisControl : function() {\r\n\t\treturn !!_CONTROL_TAG_MAP[this.name];\r\n\t},\r\n\tcontains : function(otherNode) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\treturn _contains(this[0], _get(otherNode));\r\n\t},\r\n\tparent : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].parentNode;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tchildren : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn new KNode([]);\r\n\t\t}\r\n\t\tvar list = [], child = this[0].firstChild;\r\n\t\twhile (child) {\r\n\t\t\tif (child.nodeType != 3 || _trim(child.nodeValue) !== '') {\r\n\t\t\t\tlist.push(child);\r\n\t\t\t}\r\n\t\t\tchild = child.nextSibling;\r\n\t\t}\r\n\t\treturn new KNode(list);\r\n\t},\r\n\tfirst : function() {\r\n\t\tvar list = this.children();\r\n\t\treturn list.length > 0 ? list.eq(0) : null;\r\n\t},\r\n\tlast : function() {\r\n\t\tvar list = this.children();\r\n\t\treturn list.length > 0 ? list.eq(list.length - 1) : null;\r\n\t},\r\n\tindex : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn -1;\r\n\t\t}\r\n\t\tvar i = -1, sibling = this[0];\r\n\t\twhile (sibling) {\r\n\t\t\ti++;\r\n\t\t\tsibling = sibling.previousSibling;\r\n\t\t}\r\n\t\treturn i;\r\n\t},\r\n\tprev : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].previousSibling;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tnext : function() {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar node = this[0].nextSibling;\r\n\t\treturn node ? new KNode(node) : null;\r\n\t},\r\n\tscan : function(fn, order) {\r\n\t\tif (this.length < 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\torder = (order === undefined) ? true : order;\r\n\t\tfunction walk(node) {\r\n\t\t\tvar n = order ? node.firstChild : node.lastChild;\r\n\t\t\twhile (n) {\r\n\t\t\t\tvar next = order ? n.nextSibling : n.previousSibling;\r\n\t\t\t\tif (fn(n) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tif (walk(n) === false) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tn = next;\r\n\t\t\t}\r\n\t\t}\r\n\t\twalk(this[0]);\r\n\t\treturn this;\r\n\t}\r\n});\r\n_each(('blur,focus,focusin,focusout,load,resize,scroll,unload,click,dblclick,' +\r\n\t'mousedown,mouseup,mousemove,mouseover,mouseout,mouseenter,mouseleave,' +\r\n\t'change,select,submit,keydown,keypress,keyup,error,contextmenu').split(','), function(i, type) {\r\n\tKNode.prototype[type] = function(fn) {\r\n\t\treturn fn ? this.bind(type, fn) : this.fire(type);\r\n\t};\r\n});\r\nvar _K = K;\r\nK = function(expr, root) {\r\n\tif (expr === undefined || expr === null) {\r\n\t\treturn;\r\n\t}\r\n\tfunction newNode(node) {\r\n\t\tif (!node[0]) {\r\n\t\t\tnode = [];\r\n\t\t}\r\n\t\treturn new KNode(node);\r\n\t}\r\n\tif (typeof expr === 'string') {\r\n\t\tif (root) {\r\n\t\t\troot = _get(root);\r\n\t\t}\r\n\t\tvar length = expr.length;\r\n\t\tif (expr.charAt(0) === '@') {\r\n\t\t\texpr = expr.substr(1);\r\n\t\t}\r\n\t\tif (expr.length !== length || /<.+>/.test(expr)) {\r\n\t\t\tvar doc = root ? root.ownerDocument || root : document,\r\n\t\t\t\tdiv = doc.createElement('div'), list = [];\r\n\t\t\tdiv.innerHTML = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + expr;\r\n\t\t\tfor (var i = 0, len = div.childNodes.length; i < len; i++) {\r\n\t\t\t\tvar child = div.childNodes[i];\r\n\t\t\t\tif (child.id == '__kindeditor_temp_tag__') {\r\n\t\t\t\t\tcontinue;\r\n\t\t\t\t}\r\n\t\t\t\tlist.push(child);\r\n\t\t\t}\r\n\t\t\treturn newNode(list);\r\n\t\t}\r\n\t\treturn newNode(_queryAll(expr, root));\r\n\t}\r\n\tif (expr && expr.constructor === KNode) {\r\n\t\treturn expr;\r\n\t}\r\n\tif (expr.toArray) {\r\n\t\texpr = expr.toArray();\r\n\t}\r\n\tif (_isArray(expr)) {\r\n\t\treturn newNode(expr);\r\n\t}\r\n\treturn newNode(_toArray(arguments));\r\n};\r\n_each(_K, function(key, val) {\r\n\tK[key] = val;\r\n});\r\nK.NodeClass = KNode;\r\nwindow.KindEditor = K;\r\n\r\nvar _START_TO_START = 0,\r\n\t_START_TO_END = 1,\r\n\t_END_TO_END = 2,\r\n\t_END_TO_START = 3,\r\n\t_BOOKMARK_ID = 0;\r\nfunction _updateCollapsed(range) {\r\n\trange.collapsed = (range.startContainer === range.endContainer && range.startOffset === range.endOffset);\r\n\treturn range;\r\n}\r\nfunction _copyAndDelete(range, isCopy, isDelete) {\r\n\tvar doc = range.doc, nodeList = [];\r\n\tfunction splitTextNode(node, startOffset, endOffset) {\r\n\t\tvar length = node.nodeValue.length, centerNode;\r\n\t\tif (isCopy) {\r\n\t\t\tvar cloneNode = node.cloneNode(true);\r\n\t\t\tif (startOffset > 0) {\r\n\t\t\t\tcenterNode = cloneNode.splitText(startOffset);\r\n\t\t\t} else {\r\n\t\t\t\tcenterNode = cloneNode;\r\n\t\t\t}\r\n\t\t\tif (endOffset < length) {\r\n\t\t\t\tcenterNode.splitText(endOffset - startOffset);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isDelete) {\r\n\t\t\tvar center = node;\r\n\t\t\tif (startOffset > 0) {\r\n\t\t\t\tcenter = node.splitText(startOffset);\r\n\t\t\t\trange.setStart(node, startOffset);\r\n\t\t\t}\r\n\t\t\tif (endOffset < length) {\r\n\t\t\t\tvar right = center.splitText(endOffset - startOffset);\r\n\t\t\t\trange.setEnd(right, 0);\r\n\t\t\t}\r\n\t\t\tnodeList.push(center);\r\n\t\t}\r\n\t\treturn centerNode;\r\n\t}\r\n\tfunction removeNodes() {\r\n\t\tif (isDelete) {\r\n\t\t\trange.up().collapse(true);\r\n\t\t}\r\n\t\tfor (var i = 0, len = nodeList.length; i < len; i++) {\r\n\t\t\tvar node = nodeList[i];\r\n\t\t\tif (node.parentNode) {\r\n\t\t\t\tnode.parentNode.removeChild(node);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tvar copyRange = range.cloneRange().down();\r\n\tvar start = -1, incStart = -1, incEnd = -1, end = -1,\r\n\t\tancestor = range.commonAncestor(), frag = doc.createDocumentFragment();\r\n\tif (ancestor.nodeType == 3) {\r\n\t\tvar textNode = splitTextNode(ancestor, range.startOffset, range.endOffset);\r\n\t\tif (isCopy) {\r\n\t\t\tfrag.appendChild(textNode);\r\n\t\t}\r\n\t\tremoveNodes();\r\n\t\treturn isCopy ? frag : range;\r\n\t}\r\n\tfunction extractNodes(parent, frag) {\r\n\t\tvar node = parent.firstChild, nextNode;\r\n\t\twhile (node) {\r\n\t\t\tvar testRange = new KRange(doc).selectNode(node);\r\n\t\t\tstart = testRange.compareBoundaryPoints(_START_TO_END, range);\r\n\t\t\tif (start >= 0 && incStart <= 0) {\r\n\t\t\t\tincStart = testRange.compareBoundaryPoints(_START_TO_START, range);\r\n\t\t\t}\r\n\t\t\tif (incStart >= 0 && incEnd <= 0) {\r\n\t\t\t\tincEnd = testRange.compareBoundaryPoints(_END_TO_END, range);\r\n\t\t\t}\r\n\t\t\tif (incEnd >= 0 && end <= 0) {\r\n\t\t\t\tend = testRange.compareBoundaryPoints(_END_TO_START, range);\r\n\t\t\t}\r\n\t\t\tif (end >= 0) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tnextNode = node.nextSibling;\r\n\t\t\tif (start > 0) {\r\n\t\t\t\tif (node.nodeType == 1) {\r\n\t\t\t\t\tif (incStart >= 0 && incEnd <= 0) {\r\n\t\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\t\tfrag.appendChild(node.cloneNode(true));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (isDelete) {\r\n\t\t\t\t\t\t\tnodeList.push(node);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tvar childFlag;\r\n\t\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\t\tchildFlag = node.cloneNode(false);\r\n\t\t\t\t\t\t\tfrag.appendChild(childFlag);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (extractNodes(node, childFlag) === false) {\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t} else if (node.nodeType == 3) {\r\n\t\t\t\t\tvar textNode;\r\n\t\t\t\t\tif (node == copyRange.startContainer) {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, copyRange.startOffset, node.nodeValue.length);\r\n\t\t\t\t\t} else if (node == copyRange.endContainer) {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, 0, copyRange.endOffset);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\ttextNode = splitTextNode(node, 0, node.nodeValue.length);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (isCopy) {\r\n\t\t\t\t\t\ttry {\r\n\t\t\t\t\t\t\tfrag.appendChild(textNode);\r\n\t\t\t\t\t\t} catch(e) {}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tnode = nextNode;\r\n\t\t}\r\n\t}\r\n\textractNodes(ancestor, frag);\r\n\tif (isDelete) {\r\n\t\trange.up().collapse(true);\r\n\t}\r\n\tfor (var i = 0, len = nodeList.length; i < len; i++) {\r\n\t\tvar node = nodeList[i];\r\n\t\tif (node.parentNode) {\r\n\t\t\tnode.parentNode.removeChild(node);\r\n\t\t}\r\n\t}\r\n\treturn isCopy ? frag : range;\r\n}\r\r\nfunction _moveToElementText(range, el) {\r\n\tvar node = el;\r\n\twhile (node) {\r\n\t\tvar knode = K(node);\r\n\t\tif (knode.name == 'marquee' || knode.name == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tnode = node.parentNode;\r\n\t}\r\n\ttry {\r\n\t\trange.moveToElementText(el);\r\n\t} catch(e) {}\r\n}\r\r\nfunction _getStartEnd(rng, isStart) {\r\n\tvar doc = rng.parentElement().ownerDocument,\r\n\t\tpointRange = rng.duplicate();\r\n\tpointRange.collapse(isStart);\r\n\tvar parent = pointRange.parentElement(),\r\n\t\tnodes = parent.childNodes;\r\n\tif (nodes.length === 0) {\r\n\t\treturn {node: parent.parentNode, offset: K(parent).index()};\r\n\t}\r\n\tvar startNode = doc, startPos = 0, cmp = -1;\r\n\tvar testRange = rng.duplicate();\r\n\t_moveToElementText(testRange, parent);\r\n\tfor (var i = 0, len = nodes.length; i < len; i++) {\r\n\t\tvar node = nodes[i];\r\n\t\tcmp = testRange.compareEndPoints('StartToStart', pointRange);\r\n\t\tif (cmp === 0) {\r\n\t\t\treturn {node: node.parentNode, offset: i};\r\n\t\t}\r\n\t\tif (node.nodeType == 1) {\r\n\t\t\tvar nodeRange = rng.duplicate(), dummy, knode = K(node), newNode = node;\r\n\t\t\tif (knode.isControl()) {\r\n\t\t\t\tdummy = doc.createElement('span');\r\n\t\t\t\tknode.after(dummy);\r\n\t\t\t\tnewNode = dummy;\r\n\t\t\t\tstartPos += knode.text().replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t\t}\r\n\t\t\t_moveToElementText(nodeRange, newNode);\r\n\t\t\ttestRange.setEndPoint('StartToEnd', nodeRange);\r\n\t\t\tif (cmp > 0) {\r\n\t\t\t\tstartPos += nodeRange.text.replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t\t} else {\r\n\t\t\t\tstartPos = 0;\r\n\t\t\t}\r\n\t\t\tif (dummy) {\r\n\t\t\t\tK(dummy).remove();\r\n\t\t\t}\r\n\t\t} else if (node.nodeType == 3) {\r\n\t\t\ttestRange.moveStart('character', node.nodeValue.length);\r\n\t\t\tstartPos += node.nodeValue.length;\r\n\t\t}\r\n\t\tif (cmp < 0) {\r\n\t\t\tstartNode = node;\r\n\t\t}\r\n\t}\r\n\tif (cmp < 0 && startNode.nodeType == 1) {\r\n\t\treturn {node: parent, offset: K(parent.lastChild).index() + 1};\r\n\t}\r\n\tif (cmp > 0) {\r\n\t\twhile (startNode.nextSibling && startNode.nodeType == 1) {\r\n\t\t\tstartNode = startNode.nextSibling;\r\n\t\t}\r\n\t}\r\n\ttestRange = rng.duplicate();\r\n\t_moveToElementText(testRange, parent);\r\n\ttestRange.setEndPoint('StartToEnd', pointRange);\r\n\tstartPos -= testRange.text.replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\tif (cmp > 0 && startNode.nodeType == 3) {\r\n\t\tvar prevNode = startNode.previousSibling;\r\n\t\twhile (prevNode && prevNode.nodeType == 3) {\r\n\t\t\tstartPos -= prevNode.nodeValue.length;\r\n\t\t\tprevNode = prevNode.previousSibling;\r\n\t\t}\r\n\t}\r\n\treturn {node: startNode, offset: startPos};\r\n}\r\r\nfunction _getEndRange(node, offset) {\r\n\tvar doc = node.ownerDocument || node,\r\n\t\trange = doc.body.createTextRange();\r\n\tif (doc == node) {\r\n\t\trange.collapse(true);\r\n\t\treturn range;\r\n\t}\r\n\tif (node.nodeType == 1 && node.childNodes.length > 0) {\r\n\t\tvar children = node.childNodes, isStart, child;\r\n\t\tif (offset === 0) {\r\n\t\t\tchild = children[0];\r\n\t\t\tisStart = true;\r\n\t\t} else {\r\n\t\t\tchild = children[offset - 1];\r\n\t\t\tisStart = false;\r\n\t\t}\r\n\t\tif (!child) {\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tif (K(child).name === 'head') {\r\n\t\t\tif (offset === 1) {\r\n\t\t\t\tisStart = true;\r\n\t\t\t}\r\n\t\t\tif (offset === 2) {\r\n\t\t\t\tisStart = false;\r\n\t\t\t}\r\n\t\t\trange.collapse(isStart);\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tif (child.nodeType == 1) {\r\n\t\t\tvar kchild = K(child), span;\r\n\t\t\tif (kchild.isControl()) {\r\n\t\t\t\tspan = doc.createElement('span');\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tkchild.before(span);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tkchild.after(span);\r\n\t\t\t\t}\r\n\t\t\t\tchild = span;\r\n\t\t\t}\r\n\t\t\t_moveToElementText(range, child);\r\n\t\t\trange.collapse(isStart);\r\n\t\t\tif (span) {\r\n\t\t\t\tK(span).remove();\r\n\t\t\t}\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tnode = child;\r\n\t\toffset = isStart ? 0 : child.nodeValue.length;\r\n\t}\r\n\tvar dummy = doc.createElement('span');\r\n\tK(node).before(dummy);\r\n\t_moveToElementText(range, dummy);\r\n\trange.moveStart('character', offset);\r\n\tK(dummy).remove();\r\n\treturn range;\r\n}\r\r\nfunction _toRange(rng) {\r\n\tvar doc, range;\r\n\tfunction tr2td(start) {\r\n\t\tif (K(start.node).name == 'tr') {\r\n\t\t\tstart.node = start.node.cells[start.offset];\r\n\t\t\tstart.offset = 0;\r\n\t\t}\r\n\t}\r\n\tif (_IERANGE) {\r\n\t\tif (rng.item) {\r\n\t\t\tdoc = _getDoc(rng.item(0));\r\n\t\t\trange = new KRange(doc);\r\n\t\t\trange.selectNode(rng.item(0));\r\n\t\t\treturn range;\r\n\t\t}\r\n\t\tdoc = rng.parentElement().ownerDocument;\r\n\t\tvar start = _getStartEnd(rng, true),\r\n\t\t\tend = _getStartEnd(rng, false);\r\n\t\ttr2td(start);\r\n\t\ttr2td(end);\r\n\t\trange = new KRange(doc);\r\n\t\trange.setStart(start.node, start.offset);\r\n\t\trange.setEnd(end.node, end.offset);\r\n\t\treturn range;\r\n\t}\r\n\tvar startContainer = rng.startContainer;\r\n\tdoc = startContainer.ownerDocument || startContainer;\r\n\trange = new KRange(doc);\r\n\trange.setStart(startContainer, rng.startOffset);\r\n\trange.setEnd(rng.endContainer, rng.endOffset);\r\n\treturn range;\r\n}\r\n\r\r\nfunction KRange(doc) {\r\n\tthis.init(doc);\r\n}\r\n_extend(KRange, {\r\n\tinit : function(doc) {\r\n\t\tvar self = this;\r\n\t\tself.startContainer = doc;\r\n\t\tself.startOffset = 0;\r\n\t\tself.endContainer = doc;\r\n\t\tself.endOffset = 0;\r\n\t\tself.collapsed = true;\r\n\t\tself.doc = doc;\r\n\t},\r\n\tcommonAncestor : function() {\r\n\t\tfunction getParents(node) {\r\n\t\t\tvar parents = [];\r\n\t\t\twhile (node) {\r\n\t\t\t\tparents.push(node);\r\n\t\t\t\tnode = node.parentNode;\r\n\t\t\t}\r\n\t\t\treturn parents;\r\n\t\t}\r\n\t\tvar parentsA = getParents(this.startContainer),\r\n\t\t\tparentsB = getParents(this.endContainer),\r\n\t\t\ti = 0, lenA = parentsA.length, lenB = parentsB.length, parentA, parentB;\r\n\t\twhile (++i) {\r\n\t\t\tparentA = parentsA[lenA - i];\r\n\t\t\tparentB = parentsB[lenB - i];\r\n\t\t\tif (!parentA || !parentB || parentA !== parentB) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn parentsA[lenA - i + 1];\r\n\t},\r\n\tsetStart : function(node, offset) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tself.startContainer = node;\r\n\t\tself.startOffset = offset;\r\n\t\tif (self.endContainer === doc) {\r\n\t\t\tself.endContainer = node;\r\n\t\t\tself.endOffset = offset;\r\n\t\t}\r\n\t\treturn _updateCollapsed(this);\r\n\t},\r\n\tsetEnd : function(node, offset) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tself.endContainer = node;\r\n\t\tself.endOffset = offset;\r\n\t\tif (self.startContainer === doc) {\r\n\t\t\tself.startContainer = node;\r\n\t\t\tself.startOffset = offset;\r\n\t\t}\r\n\t\treturn _updateCollapsed(this);\r\n\t},\r\n\tsetStartBefore : function(node) {\r\n\t\treturn this.setStart(node.parentNode || this.doc, K(node).index());\r\n\t},\r\n\tsetStartAfter : function(node) {\r\n\t\treturn this.setStart(node.parentNode || this.doc, K(node).index() + 1);\r\n\t},\r\n\tsetEndBefore : function(node) {\r\n\t\treturn this.setEnd(node.parentNode || this.doc, K(node).index());\r\n\t},\r\n\tsetEndAfter : function(node) {\r\n\t\treturn this.setEnd(node.parentNode || this.doc, K(node).index() + 1);\r\n\t},\r\n\tselectNode : function(node) {\r\n\t\treturn this.setStartBefore(node).setEndAfter(node);\r\n\t},\r\n\tselectNodeContents : function(node) {\r\n\t\tvar knode = K(node);\r\n\t\tif (knode.type == 3 || knode.isSingle()) {\r\n\t\t\treturn this.selectNode(node);\r\n\t\t}\r\n\t\tvar children = knode.children();\r\n\t\tif (children.length > 0) {\r\n\t\t\treturn this.setStartBefore(children[0]).setEndAfter(children[children.length - 1]);\r\n\t\t}\r\n\t\treturn this.setStart(node, 0).setEnd(node, 0);\r\n\t},\r\n\tcollapse : function(toStart) {\r\n\t\tif (toStart) {\r\n\t\t\treturn this.setEnd(this.startContainer, this.startOffset);\r\n\t\t}\r\n\t\treturn this.setStart(this.endContainer, this.endOffset);\r\n\t},\r\n\tcompareBoundaryPoints : function(how, range) {\r\n\t\tvar rangeA = this.get(), rangeB = range.get();\r\n\t\tif (_IERANGE) {\r\n\t\t\tvar arr = {};\r\n\t\t\tarr[_START_TO_START] = 'StartToStart';\r\n\t\t\tarr[_START_TO_END] = 'EndToStart';\r\n\t\t\tarr[_END_TO_END] = 'EndToEnd';\r\n\t\t\tarr[_END_TO_START] = 'StartToEnd';\r\n\t\t\tvar cmp = rangeA.compareEndPoints(arr[how], rangeB);\r\n\t\t\tif (cmp !== 0) {\r\n\t\t\t\treturn cmp;\r\n\t\t\t}\r\n\t\t\tvar nodeA, nodeB, nodeC, posA, posB;\r\n\t\t\tif (how === _START_TO_START || how === _END_TO_START) {\r\n\t\t\t\tnodeA = this.startContainer;\r\n\t\t\t\tposA = this.startOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _START_TO_END || how === _END_TO_END) {\r\n\t\t\t\tnodeA = this.endContainer;\r\n\t\t\t\tposA = this.endOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _START_TO_START || how === _START_TO_END) {\r\n\t\t\t\tnodeB = range.startContainer;\r\n\t\t\t\tposB = range.startOffset;\r\n\t\t\t}\r\n\t\t\tif (how === _END_TO_END || how === _END_TO_START) {\r\n\t\t\t\tnodeB = range.endContainer;\r\n\t\t\t\tposB = range.endOffset;\r\n\t\t\t}\r\n\t\t\tif (nodeA === nodeB) {\r\n\t\t\t\tvar diff = posA - posB;\r\n\t\t\t\treturn diff > 0 ? 1 : (diff < 0 ? -1 : 0);\r\n\t\t\t}\r\n\t\t\tnodeC = nodeB;\r\n\t\t\twhile (nodeC && nodeC.parentNode !== nodeA) {\r\n\t\t\t\tnodeC = nodeC.parentNode;\r\n\t\t\t}\r\n\t\t\tif (nodeC) {\r\n\t\t\t\treturn K(nodeC).index() >= posA ? -1 : 1;\r\n\t\t\t}\r\n\t\t\tnodeC = nodeA;\r\n\t\t\twhile (nodeC && nodeC.parentNode !== nodeB) {\r\n\t\t\t\tnodeC = nodeC.parentNode;\r\n\t\t\t}\r\n\t\t\tif (nodeC) {\r\n\t\t\t\treturn K(nodeC).index() >= posB ? 1 : -1;\r\n\t\t\t}\r\n\t\t\tnodeC = K(nodeB).next();\r\n\t\t\tif (nodeC && nodeC.contains(nodeA)) {\r\n\t\t\t\treturn 1;\r\n\t\t\t}\r\n\t\t\tnodeC = K(nodeA).next();\r\n\t\t\tif (nodeC && nodeC.contains(nodeB)) {\r\n\t\t\t\treturn -1;\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\treturn rangeA.compareBoundaryPoints(how, rangeB);\r\n\t\t}\r\n\t},\r\n\tcloneRange : function() {\r\n\t\treturn new KRange(this.doc).setStart(this.startContainer, this.startOffset).setEnd(this.endContainer, this.endOffset);\r\n\t},\r\n\ttoString : function() {\r\n\t\tvar rng = this.get(), str = _IERANGE ? rng.text : rng.toString();\r\n\t\treturn str.replace(/\\r\\n|\\n|\\r/g, '');\r\n\t},\r\n\tcloneContents : function() {\r\n\t\treturn _copyAndDelete(this, true, false);\r\n\t},\r\n\tdeleteContents : function() {\r\n\t\treturn _copyAndDelete(this, false, true);\r\n\t},\r\n\textractContents : function() {\r\n\t\treturn _copyAndDelete(this, true, true);\r\n\t},\r\n\tinsertNode : function(node) {\r\n\t\tvar self = this,\r\n\t\t\tsc = self.startContainer, so = self.startOffset,\r\n\t\t\tec = self.endContainer, eo = self.endOffset,\r\n\t\t\tfirstChild, lastChild, c, nodeCount = 1;\r\n\t\tif (node.nodeName.toLowerCase() === '#document-fragment') {\r\n\t\t\tfirstChild = node.firstChild;\r\n\t\t\tlastChild = node.lastChild;\r\n\t\t\tnodeCount = node.childNodes.length;\r\n\t\t}\r\n\t\tif (sc.nodeType == 1) {\r\n\t\t\tc = sc.childNodes[so];\r\n\t\t\tif (c) {\r\n\t\t\t\tsc.insertBefore(node, c);\r\n\t\t\t\tif (sc === ec) {\r\n\t\t\t\t\teo += nodeCount;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tsc.appendChild(node);\r\n\t\t\t}\r\n\t\t} else if (sc.nodeType == 3) {\r\n\t\t\tif (so === 0) {\r\n\t\t\t\tsc.parentNode.insertBefore(node, sc);\r\n\t\t\t\tif (sc.parentNode === ec) {\r\n\t\t\t\t\teo += nodeCount;\r\n\t\t\t\t}\r\n\t\t\t} else if (so >= sc.nodeValue.length) {\r\n\t\t\t\tif (sc.nextSibling) {\r\n\t\t\t\t\tsc.parentNode.insertBefore(node, sc.nextSibling);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsc.parentNode.appendChild(node);\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (so > 0) {\r\n\t\t\t\t\tc = sc.splitText(so);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tc = sc;\r\n\t\t\t\t}\r\n\t\t\t\tsc.parentNode.insertBefore(node, c);\r\n\t\t\t\tif (sc === ec) {\r\n\t\t\t\t\tec = c;\r\n\t\t\t\t\teo -= so;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (firstChild) {\r\n\t\t\tself.setStartBefore(firstChild).setEndAfter(lastChild);\r\n\t\t} else {\r\n\t\t\tself.selectNode(node);\r\n\t\t}\r\n\t\tif (self.compareBoundaryPoints(_END_TO_END, self.cloneRange().setEnd(ec, eo)) >= 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.setEnd(ec, eo);\r\n\t},\r\n\tsurroundContents : function(node) {\r\n\t\tnode.appendChild(this.extractContents());\r\n\t\treturn this.insertNode(node).selectNode(node);\r\n\t},\r\n\tisControl : function() {\r\n\t\tvar self = this,\r\n\t\t\tsc = self.startContainer, so = self.startOffset,\r\n\t\t\tec = self.endContainer, eo = self.endOffset, rng;\r\n\t\treturn sc.nodeType == 1 && sc === ec && so + 1 === eo && K(sc.childNodes[so]).isControl();\r\n\t},\r\n\tget : function(hasControlRange) {\r\n\t\tvar self = this, doc = self.doc, node, rng;\r\n\t\tif (!_IERANGE) {\r\n\t\t\trng = doc.createRange();\r\n\t\t\ttry {\r\n\t\t\t\trng.setStart(self.startContainer, self.startOffset);\r\n\t\t\t\trng.setEnd(self.endContainer, self.endOffset);\r\n\t\t\t} catch (e) {}\r\n\t\t\treturn rng;\r\n\t\t}\r\n\t\tif (hasControlRange && self.isControl()) {\r\n\t\t\trng = doc.body.createControlRange();\r\n\t\t\trng.addElement(self.startContainer.childNodes[self.startOffset]);\r\n\t\t\treturn rng;\r\n\t\t}\r\n\t\tvar range = self.cloneRange().down();\r\n\t\trng = doc.body.createTextRange();\r\n\t\trng.setEndPoint('StartToStart', _getEndRange(range.startContainer, range.startOffset));\r\n\t\trng.setEndPoint('EndToStart', _getEndRange(range.endContainer, range.endOffset));\r\n\t\treturn rng;\r\n\t},\r\n\thtml : function() {\r\n\t\treturn K(this.cloneContents()).outer();\r\n\t},\r\n\tdown : function() {\r\n\t\tvar self = this;\r\n\t\tfunction downPos(node, pos, isStart) {\r\n\t\t\tif (node.nodeType != 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar children = K(node).children();\r\n\t\t\tif (children.length === 0) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar left, right, child, offset;\r\n\t\t\tif (pos > 0) {\r\n\t\t\t\tleft = children.eq(pos - 1);\r\n\t\t\t}\r\n\t\t\tif (pos < children.length) {\r\n\t\t\t\tright = children.eq(pos);\r\n\t\t\t}\r\n\t\t\tif (left && left.type == 3) {\r\n\t\t\t\tchild = left[0];\r\n\t\t\t\toffset = child.nodeValue.length;\r\n\t\t\t}\r\n\t\t\tif (right && right.type == 3) {\r\n\t\t\t\tchild = right[0];\r\n\t\t\t\toffset = 0;\r\n\t\t\t}\r\n\t\t\tif (!child) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isStart) {\r\n\t\t\t\tself.setStart(child, offset);\r\n\t\t\t} else {\r\n\t\t\t\tself.setEnd(child, offset);\r\n\t\t\t}\r\n\t\t}\r\n\t\tdownPos(self.startContainer, self.startOffset, true);\r\n\t\tdownPos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tup : function() {\r\n\t\tvar self = this;\r\n\t\tfunction upPos(node, pos, isStart) {\r\n\t\t\tif (node.nodeType != 3) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pos === 0) {\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartBefore(node);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndBefore(node);\r\n\t\t\t\t}\r\n\t\t\t} else if (pos == node.nodeValue.length) {\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartAfter(node);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndAfter(node);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tupPos(self.startContainer, self.startOffset, true);\r\n\t\tupPos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tenlarge : function(toBlock) {\r\n\t\tvar self = this;\r\n\t\tself.up();\r\n\t\tfunction enlargePos(node, pos, isStart) {\r\n\t\t\tvar knode = K(node), parent;\r\n\t\t\tif (knode.type == 3 || _NOSPLIT_TAG_MAP[knode.name] || !toBlock && knode.isBlock()) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pos === 0) {\r\n\t\t\t\twhile (!knode.prev()) {\r\n\t\t\t\t\tparent = knode.parent();\r\n\t\t\t\t\tif (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tknode = parent;\r\n\t\t\t\t}\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartBefore(knode[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndBefore(knode[0]);\r\n\t\t\t\t}\r\n\t\t\t} else if (pos == knode.children().length) {\r\n\t\t\t\twhile (!knode.next()) {\r\n\t\t\t\t\tparent = knode.parent();\r\n\t\t\t\t\tif (!parent || _NOSPLIT_TAG_MAP[parent.name] || !toBlock && parent.isBlock()) {\r\n\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tknode = parent;\r\n\t\t\t\t}\r\n\t\t\t\tif (isStart) {\r\n\t\t\t\t\tself.setStartAfter(knode[0]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tself.setEndAfter(knode[0]);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tenlargePos(self.startContainer, self.startOffset, true);\r\n\t\tenlargePos(self.endContainer, self.endOffset, false);\r\n\t\treturn self;\r\n\t},\r\n\tshrink : function() {\r\n\t\tvar self = this, child, collapsed = self.collapsed;\r\n\t\twhile (self.startContainer.nodeType == 1 && (child = self.startContainer.childNodes[self.startOffset]) && child.nodeType == 1 && !K(child).isSingle()) {\r\n\t\t\tself.setStart(child, 0);\r\n\t\t}\r\n\t\tif (collapsed) {\r\n\t\t\treturn self.collapse(collapsed);\r\n\t\t}\r\n\t\twhile (self.endContainer.nodeType == 1 && self.endOffset > 0 && (child = self.endContainer.childNodes[self.endOffset - 1]) && child.nodeType == 1 && !K(child).isSingle()) {\r\n\t\t\tself.setEnd(child, child.childNodes.length);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tcreateBookmark : function(serialize) {\r\n\t\tvar self = this, doc = self.doc, endNode,\r\n\t\t\tstartNode = K('<span style=\"display:none;\"></span>', doc)[0];\r\n\t\tstartNode.id = '__kindeditor_bookmark_start_' + (_BOOKMARK_ID++) + '__';\r\n\t\tif (!self.collapsed) {\r\n\t\t\tendNode = startNode.cloneNode(true);\r\n\t\t\tendNode.id = '__kindeditor_bookmark_end_' + (_BOOKMARK_ID++) + '__';\r\n\t\t}\r\n\t\tif (endNode) {\r\n\t\t\tself.cloneRange().collapse(false).insertNode(endNode).setEndBefore(endNode);\r\n\t\t}\r\n\t\tself.insertNode(startNode).setStartAfter(startNode);\r\n\t\treturn {\r\n\t\t\tstart : serialize ? '#' + startNode.id : startNode,\r\n\t\t\tend : endNode ? (serialize ? '#' + endNode.id : endNode) : null\r\n\t\t};\r\n\t},\r\n\tmoveToBookmark : function(bookmark) {\r\n\t\tvar self = this, doc = self.doc,\r\n\t\t\tstart = K(bookmark.start, doc), end = bookmark.end ? K(bookmark.end, doc) : null;\r\n\t\tif (!start || start.length < 1) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.setStartBefore(start[0]);\r\n\t\tstart.remove();\r\n\t\tif (end && end.length > 0) {\r\n\t\t\tself.setEndBefore(end[0]);\r\n\t\t\tend.remove();\r\n\t\t} else {\r\n\t\t\tself.collapse(true);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdump : function() {\r\n\t\tconsole.log('--------------------');\r\n\t\tconsole.log(this.startContainer.nodeType == 3 ? this.startContainer.nodeValue : this.startContainer, this.startOffset);\r\n\t\tconsole.log(this.endContainer.nodeType == 3 ? this.endContainer.nodeValue : this.endContainer, this.endOffset);\r\n\t}\r\n});\r\nfunction _range(mixed) {\r\n\tif (!mixed.nodeName) {\r\n\t\treturn mixed.constructor === KRange ? mixed : _toRange(mixed);\r\n\t}\r\n\treturn new KRange(mixed);\r\n}\r\nK.RangeClass = KRange;\r\nK.range = _range;\r\nK.START_TO_START = _START_TO_START;\r\nK.START_TO_END = _START_TO_END;\r\nK.END_TO_END = _END_TO_END;\r\nK.END_TO_START = _END_TO_START;\r\n\n\r\r\nfunction _nativeCommand(doc, key, val) {\r\n\ttry {\r\n\t\tdoc.execCommand(key, false, val);\r\n\t} catch(e) {}\r\n}\r\r\nfunction _nativeCommandValue(doc, key) {\r\n\tvar val = '';\r\n\ttry {\r\n\t\tval = doc.queryCommandValue(key);\r\n\t} catch (e) {}\r\n\tif (typeof val !== 'string') {\r\n\t\tval = '';\r\n\t}\r\n\treturn val;\r\n}\r\r\nfunction _getSel(doc) {\r\n\tvar win = _getWin(doc);\r\n\treturn _IERANGE ? doc.selection : win.getSelection();\r\n}\r\r\nfunction _getRng(doc) {\r\n\tvar sel = _getSel(doc), rng;\r\n\ttry {\r\n\t\tif (sel.rangeCount > 0) {\r\n\t\t\trng = sel.getRangeAt(0);\r\n\t\t} else {\r\n\t\t\trng = sel.createRange();\r\n\t\t}\r\n\t} catch(e) {}\r\n\tif (_IERANGE && (!rng || (!rng.item && rng.parentElement().ownerDocument !== doc))) {\r\n\t\treturn null;\r\n\t}\r\n\treturn rng;\r\n}\r\r\nfunction _singleKeyMap(map) {\r\n\tvar newMap = {}, arr, v;\r\n\t_each(map, function(key, val) {\r\n\t\tarr = key.split(',');\r\n\t\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\t\tv = arr[i];\r\n\t\t\tnewMap[v] = val;\r\n\t\t}\r\n\t});\r\n\treturn newMap;\r\n}\r\r\nfunction _hasAttrOrCss(knode, map) {\r\n\treturn _hasAttrOrCssByKey(knode, map, '*') || _hasAttrOrCssByKey(knode, map);\r\n}\r\nfunction _hasAttrOrCssByKey(knode, map, mapKey) {\r\n\tmapKey = mapKey || knode.name;\r\n\tif (knode.type !== 1) {\r\n\t\treturn false;\r\n\t}\r\n\tvar newMap = _singleKeyMap(map);\r\n\tif (!newMap[mapKey]) {\r\n\t\treturn false;\r\n\t}\r\n\tvar arr = newMap[mapKey].split(',');\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tvar key = arr[i];\r\n\t\tif (key === '*') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tvar match = /^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(key);\r\n\t\tvar method = match[1] ? 'css' : 'attr';\r\n\t\tkey = match[2];\r\n\t\tvar val = match[3] || '';\r\n\t\tif (val === '' && knode[method](key) !== '') {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tif (val !== '' && knode[method](key) === val) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t}\r\n\treturn false;\r\n}\r\r\nfunction _removeAttrOrCss(knode, map) {\r\n\tif (knode.type != 1) {\r\n\t\treturn;\r\n\t}\r\n\t_removeAttrOrCssByKey(knode, map, '*');\r\n\t_removeAttrOrCssByKey(knode, map);\r\n}\r\nfunction _removeAttrOrCssByKey(knode, map, mapKey) {\r\n\tmapKey = mapKey || knode.name;\r\n\tif (knode.type !== 1) {\r\n\t\treturn;\r\n\t}\r\n\tvar newMap = _singleKeyMap(map);\r\n\tif (!newMap[mapKey]) {\r\n\t\treturn;\r\n\t}\r\n\tvar arr = newMap[mapKey].split(','), allFlag = false;\r\n\tfor (var i = 0, len = arr.length; i < len; i++) {\r\n\t\tvar key = arr[i];\r\n\t\tif (key === '*') {\r\n\t\t\tallFlag = true;\r\n\t\t\tbreak;\r\n\t\t}\r\n\t\tvar match = /^(\\.?)([^=]+)(?:=([^=]*))?$/.exec(key);\r\n\t\tkey = match[2];\r\n\t\tif (match[1]) {\r\n\t\t\tkey = _toCamel(key);\r\n\t\t\tif (knode[0].style[key]) {\r\n\t\t\t\tknode[0].style[key] = '';\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tknode.removeAttr(key);\r\n\t\t}\r\n\t}\r\n\tif (allFlag) {\r\n\t\tknode.remove(true);\r\n\t}\r\n}\r\r\nfunction _getInnerNode(knode) {\r\n\tvar inner = knode;\r\n\twhile (inner.first()) {\r\n\t\tinner = inner.first();\r\n\t}\r\n\treturn inner;\r\n}\r\r\nfunction _isEmptyNode(knode) {\r\n\tif (knode.type != 1 || knode.isSingle()) {\r\n\t\treturn false;\r\n\t}\r\n\treturn knode.html().replace(/<[^>]+>/g, '') === '';\r\n}\r\r\r\r\r\nfunction _mergeWrapper(a, b) {\r\n\ta = a.clone(true);\r\n\tvar lastA = _getInnerNode(a), childA = a, merged = false;\r\n\twhile (b) {\r\n\t\twhile (childA) {\r\n\t\t\tif (childA.name === b.name) {\r\n\t\t\t\t_mergeAttrs(childA, b.attr(), b.css());\r\n\t\t\t\tmerged = true;\r\n\t\t\t}\r\n\t\t\tchildA = childA.first();\r\n\t\t}\r\n\t\tif (!merged) {\r\n\t\t\tlastA.append(b.clone(false));\r\n\t\t}\r\n\t\tmerged = false;\r\n\t\tb = b.first();\r\n\t}\r\n\treturn a;\r\n}\r\r\nfunction _wrapNode(knode, wrapper) {\r\n\twrapper = wrapper.clone(true);\r\n\tif (knode.type == 3) {\r\n\t\t_getInnerNode(wrapper).append(knode.clone(false));\r\n\t\tknode.replaceWith(wrapper);\r\n\t\treturn wrapper;\r\n\t}\r\n\tvar nodeWrapper = knode, child;\r\n\twhile ((child = knode.first()) && child.children().length == 1) {\r\n\t\tknode = child;\r\n\t}\r\n\tchild = knode.first();\r\n\tvar frag = knode.doc.createDocumentFragment();\r\n\twhile (child) {\r\n\t\tfrag.appendChild(child[0]);\r\n\t\tchild = child.next();\r\n\t}\r\n\twrapper = _mergeWrapper(nodeWrapper, wrapper);\r\n\tif (frag.firstChild) {\r\n\t\t_getInnerNode(wrapper).append(frag);\r\n\t}\r\n\tnodeWrapper.replaceWith(wrapper);\r\n\treturn wrapper;\r\n}\r\r\nfunction _mergeAttrs(knode, attrs, styles) {\r\n\t_each(attrs, function(key, val) {\r\n\t\tif (key !== 'style') {\r\n\t\t\tknode.attr(key, val);\r\n\t\t}\r\n\t});\r\n\t_each(styles, function(key, val) {\r\n\t\tknode.css(key, val);\r\n\t});\r\n}\r\r\nfunction _inPreElement(knode) {\r\n\twhile (knode && knode.name != 'body') {\r\n\t\tif (_PRE_TAG_MAP[knode.name] || knode.name == 'div' && knode.hasClass('ke-script')) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tknode = knode.parent();\r\n\t}\r\n\treturn false;\r\n}\r\r\nfunction KCmd(range) {\r\n\tthis.init(range);\r\n}\r\n_extend(KCmd, {\r\n\tinit : function(range) {\r\n\t\tvar self = this, doc = range.doc;\r\n\t\tself.doc = doc;\r\n\t\tself.win = _getWin(doc);\r\n\t\tself.sel = _getSel(doc);\r\n\t\tself.range = range;\r\n\t},\r\n\tselection : function(forceReset) {\r\n\t\tvar self = this, doc = self.doc, rng = _getRng(doc);\r\n\t\tself.sel = _getSel(doc);\r\n\t\tif (rng) {\r\n\t\t\tself.range = _range(rng);\r\n\t\t\tif (K(self.range.startContainer).name == 'html') {\r\n\t\t\t\tself.range.selectNodeContents(doc.body).collapse(false);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (forceReset) {\r\n\t\t\tself.range.selectNodeContents(doc.body).collapse(false);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tselect : function(hasDummy) {\r\n\t\thasDummy = _undef(hasDummy, true);\r\n\t\tvar self = this, sel = self.sel, range = self.range.cloneRange().shrink(),\r\n\t\t\tsc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset,\r\n\t\t\tdoc = _getDoc(sc), win = self.win, rng, hasU200b = false;\r\n\t\tif (hasDummy && sc.nodeType == 1 && range.collapsed) {\r\n\t\t\tif (_IERANGE) {\r\n\t\t\t\tvar dummy = K('<span>&nbsp;</span>', doc);\r\n\t\t\t\trange.insertNode(dummy[0]);\r\n\t\t\t\trng = doc.body.createTextRange();\r\n\t\t\t\ttry {\r\n\t\t\t\t\trng.moveToElementText(dummy[0]);\r\n\t\t\t\t} catch(ex) {}\r\n\t\t\t\trng.collapse(false);\r\n\t\t\t\trng.select();\r\n\t\t\t\tdummy.remove();\r\n\t\t\t\twin.focus();\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tvar children = sc.childNodes;\r\n\t\t\t\tif (K(sc).isInline() || so > 0 && K(children[so - 1]).isInline() || children[so] && K(children[so]).isInline()) {\r\n\t\t\t\t\trange.insertNode(doc.createTextNode('\\u200B'));\r\n\t\t\t\t\thasU200b = true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (_IERANGE) {\r\n\t\t\ttry {\r\n\t\t\t\trng = range.get(true);\r\n\t\t\t\trng.select();\r\n\t\t\t} catch(e) {}\r\n\t\t} else {\r\n\t\t\tif (hasU200b) {\r\n\t\t\t\trange.collapse(false);\r\n\t\t\t}\r\n\t\t\trng = range.get(true);\r\n\t\t\tsel.removeAllRanges();\r\n\t\t\tsel.addRange(rng);\r\n\t\t\tif (doc !== document) {\r\n\t\t\t\tvar pos = K(rng.endContainer).pos();\r\n\t\t\t\twin.scrollTo(pos.x, pos.y);\r\n\t\t\t}\r\n\t\t}\r\n\t\twin.focus();\r\n\t\treturn self;\r\n\t},\r\n\twrap : function(val) {\r\n\t\tvar self = this, doc = self.doc, range = self.range, wrapper;\r\n\t\twrapper = K(val, doc);\r\n\t\tif (range.collapsed) {\r\n\t\t\trange.shrink();\r\n\t\t\trange.insertNode(wrapper[0]).selectNodeContents(wrapper[0]);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (wrapper.isBlock()) {\r\n\t\t\tvar copyWrapper = wrapper.clone(true), child = copyWrapper;\r\n\t\t\twhile (child.first()) {\r\n\t\t\t\tchild = child.first();\r\n\t\t\t}\r\n\t\t\tchild.append(range.extractContents());\r\n\t\t\trange.insertNode(copyWrapper[0]).selectNode(copyWrapper[0]);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\trange.enlarge();\r\n\t\tvar bookmark = range.createBookmark(), ancestor = range.commonAncestor(), isStart = false;\r\n\t\tK(ancestor).scan(function(node) {\r\n\t\t\tif (!isStart && node == bookmark.start) {\r\n\t\t\t\tisStart = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (isStart) {\r\n\t\t\t\tif (node == bookmark.end) {\r\n\t\t\t\t\treturn false;\r\n\t\t\t\t}\r\n\t\t\t\tvar knode = K(node);\r\n\t\t\t\tif (_inPreElement(knode)) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (knode.type == 3 && _trim(node.nodeValue).length > 0) {\r\n\t\t\t\t\tvar parent;\r\n\t\t\t\t\twhile ((parent = knode.parent()) && parent.isStyle() && parent.children().length == 1) {\r\n\t\t\t\t\t\tknode = parent;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t_wrapNode(knode, wrapper);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tsplit : function(isStart, map) {\r\n\t\tvar range = this.range, doc = range.doc;\r\n\t\tvar tempRange = range.cloneRange().collapse(isStart);\r\n\t\tvar node = tempRange.startContainer, pos = tempRange.startOffset,\r\n\t\t\tparent = node.nodeType == 3 ? node.parentNode : node,\r\n\t\t\tneedSplit = false, knode;\r\n\t\twhile (parent && parent.parentNode) {\r\n\t\t\tknode = K(parent);\r\n\t\t\tif (map) {\r\n\t\t\t\tif (!knode.isStyle()) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t\tif (!_hasAttrOrCss(knode, map)) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t} else {\r\n\t\t\t\tif (_NOSPLIT_TAG_MAP[knode.name]) {\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tneedSplit = true;\r\n\t\t\tparent = parent.parentNode;\r\n\t\t}\r\n\t\tif (needSplit) {\r\n\t\t\tvar dummy = doc.createElement('span');\r\n\t\t\trange.cloneRange().collapse(!isStart).insertNode(dummy);\r\n\t\t\tif (isStart) {\r\n\t\t\t\ttempRange.setStartBefore(parent.firstChild).setEnd(node, pos);\r\n\t\t\t} else {\r\n\t\t\t\ttempRange.setStart(node, pos).setEndAfter(parent.lastChild);\r\n\t\t\t}\r\n\t\t\tvar frag = tempRange.extractContents(),\r\n\t\t\t\tfirst = frag.firstChild, last = frag.lastChild;\r\n\t\t\tif (isStart) {\r\n\t\t\t\ttempRange.insertNode(frag);\r\n\t\t\t\trange.setStartAfter(last).setEndBefore(dummy);\r\n\t\t\t} else {\r\n\t\t\t\tparent.appendChild(frag);\r\n\t\t\t\trange.setStartBefore(dummy).setEndBefore(first);\r\n\t\t\t}\r\n\t\t\tvar dummyParent = dummy.parentNode;\r\n\t\t\tif (dummyParent == range.endContainer) {\r\n\t\t\t\tvar prev = K(dummy).prev(), next = K(dummy).next();\r\n\t\t\t\tif (prev && next && prev.type == 3 && next.type == 3) {\r\n\t\t\t\t\trange.setEnd(prev[0], prev[0].nodeValue.length);\r\n\t\t\t\t} else if (!isStart) {\r\n\t\t\t\t\trange.setEnd(range.endContainer, range.endOffset - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tdummyParent.removeChild(dummy);\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\tremove : function(map) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\trange.enlarge();\r\n\t\tif (range.startOffset === 0) {\r\n\t\t\tvar ksc = K(range.startContainer), parent;\r\n\t\t\twhile ((parent = ksc.parent()) && parent.isStyle() && parent.children().length == 1) {\r\n\t\t\t\tksc = parent;\r\n\t\t\t}\r\n\t\t\trange.setStart(ksc[0], 0);\r\n\t\t\tksc = K(range.startContainer);\r\n\t\t\tif (ksc.isBlock()) {\r\n\t\t\t\t_removeAttrOrCss(ksc, map);\r\n\t\t\t}\r\n\t\t\tvar kscp = ksc.parent();\r\n\t\t\tif (kscp && kscp.isBlock()) {\r\n\t\t\t\t_removeAttrOrCss(kscp, map);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar sc, so;\r\n\t\tif (range.collapsed) {\r\n\t\t\tself.split(true, map);\r\n\t\t\tsc = range.startContainer;\r\n\t\t\tso = range.startOffset;\r\n\t\t\tif (so > 0) {\r\n\t\t\t\tvar sb = K(sc.childNodes[so - 1]);\r\n\t\t\t\tif (sb && _isEmptyNode(sb)) {\r\n\t\t\t\t\tsb.remove();\r\n\t\t\t\t\trange.setStart(sc, so - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar sa = K(sc.childNodes[so]);\r\n\t\t\tif (sa && _isEmptyNode(sa)) {\r\n\t\t\t\tsa.remove();\r\n\t\t\t}\r\n\t\t\tif (_isEmptyNode(sc)) {\r\n\t\t\t\trange.startBefore(sc);\r\n\t\t\t\tsc.remove();\r\n\t\t\t}\r\n\t\t\trange.collapse(true);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.split(true, map);\r\n\t\tself.split(false, map);\r\n\t\tvar startDummy = doc.createElement('span'), endDummy = doc.createElement('span');\r\n\t\trange.cloneRange().collapse(false).insertNode(endDummy);\r\n\t\trange.cloneRange().collapse(true).insertNode(startDummy);\r\n\t\tvar nodeList = [], cmpStart = false;\r\n\t\tK(range.commonAncestor()).scan(function(node) {\r\n\t\t\tif (!cmpStart && node == startDummy) {\r\n\t\t\t\tcmpStart = true;\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (node == endDummy) {\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t\tif (cmpStart) {\r\n\t\t\t\tnodeList.push(node);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK(startDummy).remove();\r\n\t\tK(endDummy).remove();\r\n\t\tsc = range.startContainer;\r\n\t\tso = range.startOffset;\r\n\t\tvar ec = range.endContainer, eo = range.endOffset;\r\n\t\tif (so > 0) {\r\n\t\t\tvar startBefore = K(sc.childNodes[so - 1]);\r\n\t\t\tif (startBefore && _isEmptyNode(startBefore)) {\r\n\t\t\t\tstartBefore.remove();\r\n\t\t\t\trange.setStart(sc, so - 1);\r\n\t\t\t\tif (sc == ec) {\r\n\t\t\t\t\trange.setEnd(ec, eo - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tvar startAfter = K(sc.childNodes[so]);\r\n\t\t\tif (startAfter && _isEmptyNode(startAfter)) {\r\n\t\t\t\tstartAfter.remove();\r\n\t\t\t\tif (sc == ec) {\r\n\t\t\t\t\trange.setEnd(ec, eo - 1);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar endAfter = K(ec.childNodes[range.endOffset]);\r\n\t\tif (endAfter && _isEmptyNode(endAfter)) {\r\n\t\t\tendAfter.remove();\r\n\t\t}\r\n\t\tvar bookmark = range.createBookmark(true);\r\n\t\t_each(nodeList, function(i, node) {\r\n\t\t\t_removeAttrOrCss(K(node), map);\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tcommonNode : function(map) {\r\n\t\tvar range = this.range;\r\n\t\tvar ec = range.endContainer, eo = range.endOffset,\r\n\t\t\tnode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1];\r\n\t\tfunction find(node) {\r\n\t\t\tvar child = node, parent = node;\r\n\t\t\twhile (parent) {\r\n\t\t\t\tif (_hasAttrOrCss(K(parent), map)) {\r\n\t\t\t\t\treturn K(parent);\r\n\t\t\t\t}\r\n\t\t\t\tparent = parent.parentNode;\r\n\t\t\t}\r\n\t\t\twhile (child && (child = child.lastChild)) {\r\n\t\t\t\tif (_hasAttrOrCss(K(child), map)) {\r\n\t\t\t\t\treturn K(child);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar cNode = find(node);\r\n\t\tif (cNode) {\r\n\t\t\treturn cNode;\r\n\t\t}\r\n\t\tif (node.nodeType == 1 || (ec.nodeType == 3 && eo === 0)) {\r\n\t\t\tvar prev = K(node).prev();\r\n\t\t\tif (prev) {\r\n\t\t\t\treturn find(prev);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\tcommonAncestor : function(tagName) {\r\n\t\tvar range = this.range,\r\n\t\t\tsc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset,\r\n\t\t\tstartNode = (sc.nodeType == 3 || so === 0) ? sc : sc.childNodes[so - 1],\r\n\t\t\tendNode = (ec.nodeType == 3 || eo === 0) ? ec : ec.childNodes[eo - 1];\r\n\t\tfunction find(node) {\r\n\t\t\twhile (node) {\r\n\t\t\t\tif (node.nodeType == 1) {\r\n\t\t\t\t\tif (node.tagName.toLowerCase() === tagName) {\r\n\t\t\t\t\t\treturn node;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tnode = node.parentNode;\r\n\t\t\t}\r\n\t\t\treturn null;\r\n\t\t}\r\n\t\tvar start = find(startNode), end = find(endNode);\r\n\t\tif (start && end && start === end) {\r\n\t\t\treturn K(start);\r\n\t\t}\r\n\t\treturn null;\r\n\t},\r\n\tstate : function(key) {\r\n\t\tvar self = this, doc = self.doc, bool = false;\r\n\t\ttry {\r\n\t\t\tbool = doc.queryCommandState(key);\r\n\t\t} catch (e) {}\r\n\t\treturn bool;\r\n\t},\r\n\tval : function(key) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tfunction lc(val) {\r\n\t\t\treturn val.toLowerCase();\r\n\t\t}\r\n\t\tkey = lc(key);\r\n\t\tvar val = '', knode;\r\n\t\tif (key === 'fontfamily' || key === 'fontname') {\r\n\t\t\tval = _nativeCommandValue(doc, 'fontname');\r\n\t\t\tval = val.replace(/['\"]/g, '');\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'formatblock') {\r\n\t\t\tval = _nativeCommandValue(doc, key);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tknode = self.commonNode({'h1,h2,h3,h4,h5,h6,p,div,pre,address' : '*'});\r\n\t\t\t\tif (knode) {\r\n\t\t\t\t\tval = knode.name;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (val === 'Normal') {\r\n\t\t\t\tval = 'p';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'fontsize') {\r\n\t\t\tknode = self.commonNode({'*' : '.font-size'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('font-size');\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'forecolor') {\r\n\t\t\tknode = self.commonNode({'*' : '.color'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('color');\r\n\t\t\t}\r\n\t\t\tval = _toHex(val);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tval = 'default';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\tif (key === 'hilitecolor') {\r\n\t\t\tknode = self.commonNode({'*' : '.background-color'});\r\n\t\t\tif (knode) {\r\n\t\t\t\tval = knode.css('background-color');\r\n\t\t\t}\r\n\t\t\tval = _toHex(val);\r\n\t\t\tif (val === '') {\r\n\t\t\t\tval = 'default';\r\n\t\t\t}\r\n\t\t\treturn lc(val);\r\n\t\t}\r\n\t\treturn val;\r\n\t},\r\n\ttoggle : function(wrapper, map) {\r\n\t\tvar self = this;\r\n\t\tif (self.commonNode(map)) {\r\n\t\t\tself.remove(map);\r\n\t\t} else {\r\n\t\t\tself.wrap(wrapper);\r\n\t\t}\r\n\t\treturn self.select();\r\n\t},\r\n\tbold : function() {\r\n\t\treturn this.toggle('<strong></strong>', {\r\n\t\t\tspan : '.font-weight=bold',\r\n\t\t\tstrong : '*',\r\n\t\t\tb : '*'\r\n\t\t});\r\n\t},\r\n\titalic : function() {\r\n\t\treturn this.toggle('<em></em>', {\r\n\t\t\tspan : '.font-style=italic',\r\n\t\t\tem : '*',\r\n\t\t\ti : '*'\r\n\t\t});\r\n\t},\r\n\tunderline : function() {\r\n\t\treturn this.toggle('<u></u>', {\r\n\t\t\tspan : '.text-decoration=underline',\r\n\t\t\tu : '*'\r\n\t\t});\r\n\t},\r\n\tstrikethrough : function() {\r\n\t\treturn this.toggle('<s></s>', {\r\n\t\t\tspan : '.text-decoration=line-through',\r\n\t\t\ts : '*'\r\n\t\t});\r\n\t},\r\n\tforecolor : function(val) {\r\n\t\treturn this.wrap('<span style=\"color:' + val + ';\"></span>').select();\r\n\t},\r\n\thilitecolor : function(val) {\r\n\t\treturn this.wrap('<span style=\"background-color:' + val + ';\"></span>').select();\r\n\t},\r\n\tfontsize : function(val) {\r\n\t\treturn this.wrap('<span style=\"font-size:' + val + ';\"></span>').select();\r\n\t},\r\n\tfontname : function(val) {\r\n\t\treturn this.fontfamily(val);\r\n\t},\r\n\tfontfamily : function(val) {\r\n\t\treturn this.wrap('<span style=\"font-family:' + val + ';\"></span>').select();\r\n\t},\r\n\tremoveformat : function() {\r\n\t\tvar map = {\r\n\t\t\t'*' : '.font-weight,.font-style,.text-decoration,.color,.background-color,.font-size,.font-family,.text-indent'\r\n\t\t},\r\n\t\ttags = _STYLE_TAG_MAP;\r\n\t\t_each(tags, function(key, val) {\r\n\t\t\tmap[key] = '*';\r\n\t\t});\r\n\t\tthis.remove(map);\r\n\t\treturn this.select();\r\n\t},\r\n\tinserthtml : function(val, quickMode) {\r\n\t\tvar self = this, range = self.range;\r\n\t\tif (val === '') {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tfunction pasteHtml(range, val) {\r\n\t\t\tval = '<img id=\"__kindeditor_temp_tag__\" width=\"0\" height=\"0\" style=\"display:none;\" />' + val;\r\n\t\t\tvar rng = range.get();\r\n\t\t\tif (rng.item) {\r\n\t\t\t\trng.item(0).outerHTML = val;\r\n\t\t\t} else {\r\n\t\t\t\trng.pasteHTML(val);\r\n\t\t\t}\r\n\t\t\tvar temp = range.doc.getElementById('__kindeditor_temp_tag__');\r\n\t\t\ttemp.parentNode.removeChild(temp);\r\n\t\t\tvar newRange = _toRange(rng);\r\n\t\t\trange.setEnd(newRange.endContainer, newRange.endOffset);\r\n\t\t\trange.collapse(false);\r\n\t\t\tself.select(false);\r\n\t\t}\r\n\t\tfunction insertHtml(range, val) {\r\n\t\t\tvar doc = range.doc,\r\n\t\t\t\tfrag = doc.createDocumentFragment();\r\n\t\t\tK('@' + val, doc).each(function() {\r\n\t\t\t\tfrag.appendChild(this);\r\n\t\t\t});\r\n\t\t\trange.deleteContents();\r\n\t\t\trange.insertNode(frag);\r\n\t\t\trange.collapse(false);\r\n\t\t\tself.select(false);\r\n\t\t}\r\n\t\tif (_IERANGE && quickMode) {\r\n\t\t\ttry {\r\n\t\t\t\tpasteHtml(range, val);\r\n\t\t\t} catch(e) {\r\n\t\t\t\tinsertHtml(range, val);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tinsertHtml(range, val);\r\n\t\treturn self;\r\n\t},\r\n\thr : function() {\r\n\t\treturn this.inserthtml('<hr />');\r\n\t},\r\n\tprint : function() {\r\n\t\tthis.win.print();\r\n\t\treturn this;\r\n\t},\r\n\tinsertimage : function(url, title, width, height, border, align) {\r\n\t\ttitle = _undef(title, '');\r\n\t\tborder = _undef(border, 0);\r\n\t\tvar html = '<img src=\"' + _escape(url) + '\" data-ke-src=\"' + _escape(url) + '\" ';\r\n\t\tif (width) {\r\n\t\t\thtml += 'width=\"' + _escape(width) + '\" ';\r\n\t\t}\r\n\t\tif (height) {\r\n\t\t\thtml += 'height=\"' + _escape(height) + '\" ';\r\n\t\t}\r\n\t\tif (title) {\r\n\t\t\thtml += 'title=\"' + _escape(title) + '\" ';\r\n\t\t}\r\n\t\tif (align) {\r\n\t\t\thtml += 'align=\"' + _escape(align) + '\" ';\r\n\t\t}\r\n\t\thtml += 'alt=\"' + _escape(title) + '\" ';\r\n\t\thtml += '/>';\r\n\t\treturn this.inserthtml(html);\r\n\t},\r\n\tcreatelink : function(url, type) {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tself.select();\r\n\t\tvar a = self.commonNode({ a : '*' });\r\n\t\tif (a && !range.isControl()) {\r\n\t\t\trange.selectNode(a.get());\r\n\t\t\tself.select();\r\n\t\t}\r\n\t\tvar html = '<a href=\"' + _escape(url) + '\" data-ke-src=\"' + _escape(url) + '\" ';\r\n\t\tif (type) {\r\n\t\t\thtml += ' target=\"' + _escape(type) + '\"';\r\n\t\t}\r\n\t\tif (range.collapsed) {\r\n\t\t\thtml += '>' + _escape(url) + '</a>';\r\n\t\t\treturn self.inserthtml(html);\r\n\t\t}\r\n\t\tif (range.isControl()) {\r\n\t\t\tvar node = K(range.startContainer.childNodes[range.startOffset]);\r\n\t\t\thtml += '></a>';\r\n\t\t\tnode.after(K(html, doc));\r\n\t\t\tnode.next().append(node);\r\n\t\t\trange.selectNode(node[0]);\r\n\t\t\treturn self.select();\r\n\t\t}\r\n\t\tfunction setAttr(node, url, type) {\r\n\t\t\tK(node).attr('href', url).attr('data-ke-src', url);\r\n\t\t\tif (type) {\r\n\t\t\t\tK(node).attr('target', type);\r\n\t\t\t} else {\r\n\t\t\t\tK(node).removeAttr('target');\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar sc = range.startContainer, so = range.startOffset,\r\n\t\t\tec = range.endContainer, eo = range.endOffset;\r\n\t\tif (sc.nodeType == 1 && sc === ec && so + 1 === eo) {\r\n\t\t\tvar child = sc.childNodes[so];\r\n\t\t\tif (child.nodeName.toLowerCase() == 'a') {\r\n\t\t\t\tsetAttr(child, url, type);\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\t_nativeCommand(doc, 'createlink', '__kindeditor_temp_url__');\r\n\t\tK('a[href=\"__kindeditor_temp_url__\"]', doc).each(function() {\r\n\t\t\tsetAttr(this, url, type);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tunlink : function() {\r\n\t\tvar self = this, doc = self.doc, range = self.range;\r\n\t\tself.select();\r\n\t\tif (range.collapsed) {\r\n\t\t\tvar a = self.commonNode({ a : '*' });\r\n\t\t\tif (a) {\r\n\t\t\t\trange.selectNode(a.get());\r\n\t\t\t\tself.select();\r\n\t\t\t}\r\n\t\t\t_nativeCommand(doc, 'unlink', null);\r\n\t\t\tif (_WEBKIT && K(range.startContainer).name === 'img') {\r\n\t\t\t\tvar parent = K(range.startContainer).parent();\r\n\t\t\t\tif (parent.name === 'a') {\r\n\t\t\t\t\tparent.remove(true);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\t_nativeCommand(doc, 'unlink', null);\r\n\t\t}\r\n\t\treturn self;\r\n\t}\r\n});\r\n_each(('formatblock,selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' +\r\n\t'insertunorderedlist,indent,outdent,subscript,superscript').split(','), function(i, name) {\r\n\tKCmd.prototype[name] = function(val) {\r\n\t\tvar self = this;\r\n\t\tself.select();\r\n\t\t_nativeCommand(self.doc, name, val);\r\n\t\tif (_IERANGE && _inArray(name, 'justifyleft,justifycenter,justifyright,justifyfull'.split(',')) >= 0) {\r\n\t\t\tself.selection();\r\n\t\t}\r\n\t\tif (!_IERANGE || _inArray(name, 'formatblock,selectall,insertorderedlist,insertunorderedlist'.split(',')) >= 0) {\r\n\t\t\tself.selection();\r\n\t\t}\r\n\t\treturn self;\r\n\t};\r\n});\r\n_each('cut,copy,paste'.split(','), function(i, name) {\r\n\tKCmd.prototype[name] = function() {\r\n\t\tvar self = this;\r\n\t\tif (!self.doc.queryCommandSupported(name)) {\r\n\t\t\tthrow 'not supported';\r\n\t\t}\r\n\t\tself.select();\r\n\t\t_nativeCommand(self.doc, name, null);\r\n\t\treturn self;\r\n\t};\r\n});\r\nfunction _cmd(mixed) {\r\n\tif (mixed.nodeName) {\r\n\t\tvar doc = _getDoc(mixed);\r\n\t\tmixed = _range(doc).selectNodeContents(doc.body).collapse(false);\r\n\t}\r\n\treturn new KCmd(mixed);\r\n}\r\nK.CmdClass = KCmd;\r\nK.cmd = _cmd;\r\n\n\r\nfunction _drag(options) {\r\n\tvar moveEl = options.moveEl,\r\n\t\tmoveFn = options.moveFn,\r\n\t\tclickEl = options.clickEl || moveEl,\r\n\t\tbeforeDrag = options.beforeDrag,\r\n\t\tiframeFix = options.iframeFix === undefined ? true : options.iframeFix;\r\n\tvar docs = [document];\r\n\tif (iframeFix) {\r\n\t\tK('iframe').each(function() {\r\n\t\t\tvar src = _formatUrl(this.src || '', 'absolute');\r\n\t\t\tif (/^https?:\\/\\//.test(src)) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar doc;\r\n\t\t\ttry {\r\n\t\t\t\tdoc = _iframeDoc(this);\r\n\t\t\t} catch(e) {}\r\n\t\t\tif (doc) {\r\n\t\t\t\tvar pos = K(this).pos();\r\n\t\t\t\tK(doc).data('pos-x', pos.x);\r\n\t\t\t\tK(doc).data('pos-y', pos.y);\r\n\t\t\t\tdocs.push(doc);\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\tclickEl.mousedown(function(e) {\r\n\t\tif(e.button !== 0 && e.button !== 1) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\te.stopPropagation();\r\n\t\tvar self = clickEl.get(),\r\n\t\t\tx = _removeUnit(moveEl.css('left')),\r\n\t\t\ty = _removeUnit(moveEl.css('top')),\r\n\t\t\twidth = moveEl.width(),\r\n\t\t\theight = moveEl.height(),\r\n\t\t\tpageX = e.pageX,\r\n\t\t\tpageY = e.pageY;\r\n\t\tif (beforeDrag) {\r\n\t\t\tbeforeDrag();\r\n\t\t}\r\n\t\tfunction moveListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar kdoc = K(_getDoc(e.target));\r\n\t\t\tvar diffX = _round((kdoc.data('pos-x') || 0) + e.pageX - pageX);\r\n\t\t\tvar diffY = _round((kdoc.data('pos-y') || 0) + e.pageY - pageY);\r\n\t\t\tmoveFn.call(clickEl, x, y, width, height, diffX, diffY);\r\n\t\t}\r\n\t\tfunction selectListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t}\r\n\t\tfunction upListener(e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tK(docs).unbind('mousemove', moveListener)\r\n\t\t\t\t.unbind('mouseup', upListener)\r\n\t\t\t\t.unbind('selectstart', selectListener);\r\n\t\t\tif (self.releaseCapture) {\r\n\t\t\t\tself.releaseCapture();\r\n\t\t\t}\r\n\t\t}\r\n\t\tK(docs).mousemove(moveListener)\r\n\t\t\t.mouseup(upListener)\r\n\t\t\t.bind('selectstart', selectListener);\r\n\t\tif (self.setCapture) {\r\n\t\t\tself.setCapture();\r\n\t\t}\r\n\t});\r\n}\r\n\r\r\nfunction KWidget(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tself.name = options.name || '';\r\n\t\tself.doc = options.doc || document;\r\n\t\tself.win = _getWin(self.doc);\r\n\t\tself.x = _addUnit(options.x);\r\n\t\tself.y = _addUnit(options.y);\r\n\t\tself.z = options.z;\r\n\t\tself.width = _addUnit(options.width);\r\n\t\tself.height = _addUnit(options.height);\r\n\t\tself.div = K('<div style=\"display:block;\"></div>');\r\n\t\tself.options = options;\r\n\t\tself._alignEl = options.alignEl;\r\n\t\tif (self.width) {\r\n\t\t\tself.div.css('width', self.width);\r\n\t\t}\r\n\t\tif (self.height) {\r\n\t\t\tself.div.css('height', self.height);\r\n\t\t}\r\n\t\tif (self.z) {\r\n\t\t\tself.div.css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tleft : self.x,\r\n\t\t\t\ttop : self.y,\r\n\t\t\t\t'z-index' : self.z\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (self.z && (self.x === undefined || self.y === undefined)) {\r\n\t\t\tself.autoPos(self.width, self.height);\r\n\t\t}\r\n\t\tif (options.cls) {\r\n\t\t\tself.div.addClass(options.cls);\r\n\t\t}\r\n\t\tif (options.shadowMode) {\r\n\t\t\tself.div.addClass('ke-shadow');\r\n\t\t}\r\n\t\tif (options.css) {\r\n\t\t\tself.div.css(options.css);\r\n\t\t}\r\n\t\tif (options.src) {\r\n\t\t\tK(options.src).replaceWith(self.div);\r\n\t\t} else {\r\n\t\t\tK(self.doc.body).append(self.div);\r\n\t\t}\r\n\t\tif (options.html) {\r\n\t\t\tself.div.html(options.html);\r\n\t\t}\r\n\t\tif (options.autoScroll) {\r\n\t\t\tif (_IE && _V < 7 || _QUIRKS) {\r\n\t\t\t\tvar scrollPos = _getScrollPos();\r\n\t\t\t\tK(self.win).bind('scroll', function(e) {\r\n\t\t\t\t\tvar pos = _getScrollPos(),\r\n\t\t\t\t\t\tdiffX = pos.x - scrollPos.x,\r\n\t\t\t\t\t\tdiffY = pos.y - scrollPos.y;\r\n\t\t\t\t\tself.pos(_removeUnit(self.x) + diffX, _removeUnit(self.y) + diffY, false);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tself.div.css('position', 'fixed');\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\tpos : function(x, y, updateProp) {\r\n\t\tvar self = this;\r\n\t\tupdateProp = _undef(updateProp, true);\r\n\t\tif (x !== null) {\r\n\t\t\tx = x < 0 ? 0 : _addUnit(x);\r\n\t\t\tself.div.css('left', x);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.x = x;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (y !== null) {\r\n\t\t\ty = y < 0 ? 0 : _addUnit(y);\r\n\t\t\tself.div.css('top', y);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.y = y;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tautoPos : function(width, height) {\r\n\t\tvar self = this,\r\n\t\t\tw = _removeUnit(width) || 0,\r\n\t\t\th = _removeUnit(height) || 0,\r\n\t\t\tscrollPos = _getScrollPos();\r\n\t\tif (self._alignEl) {\r\n\t\t\tvar knode = K(self._alignEl),\r\n\t\t\t\tpos = knode.pos(),\r\n\t\t\t\tdiffX = _round(knode[0].clientWidth / 2 - w / 2),\r\n\t\t\t\tdiffY = _round(knode[0].clientHeight / 2 - h / 2);\r\n\t\t\tx = diffX < 0 ? pos.x : pos.x + diffX;\r\n\t\t\ty = diffY < 0 ? pos.y : pos.y + diffY;\r\n\t\t} else {\r\n\t\t\tvar docEl = _docElement(self.doc);\r\n\t\t\tx = _round(scrollPos.x + (docEl.clientWidth - w) / 2);\r\n\t\t\ty = _round(scrollPos.y + (docEl.clientHeight - h) / 2);\r\n\t\t}\r\n\t\tif (!(_IE && _V < 7 || _QUIRKS)) {\r\n\t\t\tx -= scrollPos.x;\r\n\t\t\ty -= scrollPos.y;\r\n\t\t}\r\n\t\treturn self.pos(x, y);\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (_IE && _V < 7 || _QUIRKS) {\r\n\t\t\tK(self.win).unbind('scroll');\r\n\t\t}\r\n\t\tself.div.remove();\r\n\t\t_each(self, function(i) {\r\n\t\t\tself[i] = null;\r\n\t\t});\r\n\t\treturn this;\r\n\t},\r\n\tshow : function() {\r\n\t\tthis.div.show();\r\n\t\treturn this;\r\n\t},\r\n\thide : function() {\r\n\t\tthis.div.hide();\r\n\t\treturn this;\r\n\t},\r\n\tdraggable : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions = options || {};\r\n\t\toptions.moveEl = self.div;\r\n\t\toptions.moveFn = function(x, y, width, height, diffX, diffY) {\r\n\t\t\tif ((x = x + diffX) < 0) {\r\n\t\t\t\tx = 0;\r\n\t\t\t}\r\n\t\t\tif ((y = y + diffY) < 0) {\r\n\t\t\t\ty = 0;\r\n\t\t\t}\r\n\t\t\tself.pos(x, y);\r\n\t\t};\r\n\t\t_drag(options);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _widget(options) {\r\n\treturn new KWidget(options);\r\n}\r\nK.WidgetClass = KWidget;\r\nK.widget = _widget;\r\n\n\r\nfunction _iframeDoc(iframe) {\r\n\tiframe = _get(iframe);\r\n\treturn iframe.contentDocument || iframe.contentWindow.document;\r\n}\r\nvar html, _direction = '';\r\nif ((html = document.getElementsByTagName('html'))) {\r\n\t_direction = html[0].dir;\r\n}\r\nfunction _getInitHtml(themesPath, bodyClass, cssPath, cssData) {\r\n\tvar arr = [\r\n\t\t(_direction === '' ? '<html>' : '<html dir=\"' + _direction + '\">'),\r\n\t\t'<head><meta charset=\"utf-8\" /><title></title>',\r\n\t\t'<style>',\r\n\t\t'html {margin:0;padding:0;}',\r\n\t\t'body {margin:0;padding:5px;}',\r\n\t\t'body, td {font:12px/1.5 \"sans serif\",tahoma,verdana,helvetica;}',\r\n\t\t'body, p, div {word-wrap: break-word;}',\r\n\t\t'p {margin:5px 0;}',\r\n\t\t'table {border-collapse:collapse;}',\r\n\t\t'img {border:0;}',\r\n\t\t'noscript {display:none;}',\r\n\t\t'table.ke-zeroborder td {border:1px dotted #AAA;}',\r\n\t\t'img.ke-flash {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/flash.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-rm {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/rm.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-media {',\r\n\t\t'\tborder:1px solid #AAA;',\r\n\t\t'\tbackground-image:url(' + themesPath + 'common/media.gif);',\r\n\t\t'\tbackground-position:center center;',\r\n\t\t'\tbackground-repeat:no-repeat;',\r\n\t\t'\twidth:100px;',\r\n\t\t'\theight:100px;',\r\n\t\t'}',\r\n\t\t'img.ke-anchor {',\r\n\t\t'\tborder:1px dashed #666;',\r\n\t\t'\twidth:16px;',\r\n\t\t'\theight:16px;',\r\n\t\t'}',\r\n\t\t'.ke-script, .ke-noscript, .ke-display-none {',\r\n\t\t'\tdisplay:none;',\r\n\t\t'\tfont-size:0;',\r\n\t\t'\twidth:0;',\r\n\t\t'\theight:0;',\r\n\t\t'}',\r\n\t\t'.ke-pagebreak {',\r\n\t\t'\tborder:1px dotted #AAA;',\r\n\t\t'\tfont-size:0;',\r\n\t\t'\theight:2px;',\r\n\t\t'}',\r\n\t\t'</style>'\r\n\t];\r\n\tif (!_isArray(cssPath)) {\r\n\t\tcssPath = [cssPath];\r\n\t}\r\n\t_each(cssPath, function(i, path) {\r\n\t\tif (path) {\r\n\t\t\tarr.push('<link href=\"' + path + '\" rel=\"stylesheet\" />');\r\n\t\t}\r\n\t});\r\n\tif (cssData) {\r\n\t\tarr.push('<style>' + cssData + '</style>');\r\n\t}\r\n\tarr.push('</head><body ' + (bodyClass ? 'class=\"' + bodyClass + '\"' : '') + '></body></html>');\r\n\treturn arr.join('\\n');\r\n}\r\nfunction _elementVal(knode, val) {\r\n\tif (knode.hasVal()) {\r\n\t\tif (val === undefined) {\r\n\t\t\tvar html = knode.val();\r\n\t\t\thtml = html.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig, '');\r\n\t\t\treturn html;\r\n\t\t}\r\n\t\treturn knode.val(val);\r\n\t}\r\n\treturn knode.html(val);\r\n}\r\n\r\r\nfunction KEdit(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KEdit, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tKEdit.parent.init.call(self, options);\r\n\t\tself.srcElement = K(options.srcElement);\r\n\t\tself.div.addClass('ke-edit');\r\n\t\tself.designMode = _undef(options.designMode, true);\r\n\t\tself.beforeGetHtml = options.beforeGetHtml;\r\n\t\tself.beforeSetHtml = options.beforeSetHtml;\r\n\t\tself.afterSetHtml = options.afterSetHtml;\r\n\t\tvar themesPath = _undef(options.themesPath, ''),\r\n\t\t\tbodyClass = options.bodyClass,\r\n\t\t\tcssPath = options.cssPath,\r\n\t\t\tcssData = options.cssData,\r\n\t\t\tisDocumentDomain = location.protocol != 'res:' && location.host.replace(/:\\d+/, '') !== document.domain,\r\n\t\t\tsrcScript = ('document.open();' +\r\n\t\t\t\t(isDocumentDomain ? 'document.domain=\"' + document.domain + '\";' : '') +\r\n\t\t\t\t'document.close();'),\r\n\t\t\tiframeSrc = _IE ? ' src=\"javascript:void(function(){' + encodeURIComponent(srcScript) + '}())\"' : '';\r\n\t\tself.iframe = K('<iframe class=\"ke-edit-iframe\" hidefocus=\"true\" frameborder=\"0\"' + iframeSrc + '></iframe>').css('width', '100%');\r\n\t\tself.textarea = K('<textarea class=\"ke-edit-textarea\" hidefocus=\"true\"></textarea>').css('width', '100%');\r\n\t\tself.tabIndex = isNaN(parseInt(options.tabIndex, 10)) ? self.srcElement.attr('tabindex') : parseInt(options.tabIndex, 10);\r\n\t\tself.iframe.attr('tabindex', self.tabIndex);\r\n\t\tself.textarea.attr('tabindex', self.tabIndex);\r\n\t\tif (self.width) {\r\n\t\t\tself.setWidth(self.width);\r\n\t\t}\r\n\t\tif (self.height) {\r\n\t\t\tself.setHeight(self.height);\r\n\t\t}\r\n\t\tif (self.designMode) {\r\n\t\t\tself.textarea.hide();\r\n\t\t} else {\r\n\t\t\tself.iframe.hide();\r\n\t\t}\r\n\t\tfunction ready() {\r\n\t\t\tvar doc = _iframeDoc(self.iframe);\r\n\t\t\tdoc.open();\r\n\t\t\tif (isDocumentDomain) {\r\n\t\t\t\tdoc.domain = document.domain;\r\n\t\t\t}\r\n\t\t\tdoc.write(_getInitHtml(themesPath, bodyClass, cssPath, cssData));\r\n\t\t\tdoc.close();\r\n\t\t\tself.win = self.iframe[0].contentWindow;\r\n\t\t\tself.doc = doc;\r\n\t\t\tvar cmd = _cmd(doc);\r\n\t\t\tself.afterChange(function(e) {\r\n\t\t\t\tcmd.selection();\r\n\t\t\t});\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tK(doc).click(function(e) {\r\n\t\t\t\t\tif (K(e.target).name === 'img') {\r\n\t\t\t\t\t\tcmd.selection(true);\r\n\t\t\t\t\t\tcmd.range.selectNode(e.target);\r\n\t\t\t\t\t\tcmd.select();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (_IE) {\r\n\t\t\t\tself._mousedownHandler = function() {\r\n\t\t\t\t\tvar newRange = cmd.range.cloneRange();\r\n\t\t\t\t\tnewRange.shrink();\r\n\t\t\t\t\tif (newRange.isControl()) {\r\n\t\t\t\t\t\tself.blur();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tK(document).mousedown(self._mousedownHandler);\r\n\t\t\t\tK(doc).keydown(function(e) {\r\n\t\t\t\t\tif (e.which == 8) {\r\n\t\t\t\t\t\tcmd.selection();\r\n\t\t\t\t\t\tvar rng = cmd.range;\r\n\t\t\t\t\t\tif (rng.isControl()) {\r\n\t\t\t\t\t\t\trng.collapse(true);\r\n\t\t\t\t\t\t\tK(rng.startContainer.childNodes[rng.startOffset]).remove();\r\n\t\t\t\t\t\t\te.preventDefault();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tself.cmd = cmd;\r\n\t\t\tself.html(_elementVal(self.srcElement));\r\n\t\t\tif (_IE) {\r\n\t\t\t\tdoc.body.disabled = true;\r\n\t\t\t\tdoc.body.contentEditable = true;\r\n\t\t\t\tdoc.body.removeAttribute('disabled');\r\n\t\t\t} else {\r\n\t\t\t\tdoc.designMode = 'on';\r\n\t\t\t}\r\n\t\t\tif (options.afterCreate) {\r\n\t\t\t\toptions.afterCreate.call(self);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (isDocumentDomain) {\r\n\t\t\tself.iframe.bind('load', function(e) {\r\n\t\t\t\tself.iframe.unbind('load');\r\n\t\t\t\tif (_IE) {\r\n\t\t\t\t\tready();\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.div.append(self.iframe);\r\n\t\tself.div.append(self.textarea);\r\n\t\tself.srcElement.hide();\r\n\t\t!isDocumentDomain && ready();\r\n\t},\r\n\tsetWidth : function(val) {\r\n\t\tvar self = this;\r\n\t\tval = _addUnit(val);\r\n\t\tself.width = val;\r\n\t\tself.div.css('width', val);\r\n\t\treturn self;\r\n\t},\r\n\tsetHeight : function(val) {\r\n\t\tvar self = this;\r\n\t\tval = _addUnit(val);\r\n\t\tself.height = val;\r\n\t\tself.div.css('height', val);\r\n\t\tself.iframe.css('height', val);\r\n\t\tif ((_IE && _V < 8) || _QUIRKS) {\r\n\t\t\tval = _addUnit(_removeUnit(val) - 2);\r\n\t\t}\r\n\t\tself.textarea.css('height', val);\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tK(doc.body).unbind();\r\n\t\tK(doc).unbind();\r\n\t\tK(self.win).unbind();\r\n\t\tif (self._mousedownHandler) {\r\n\t\t\tK(document).unbind('mousedown', self._mousedownHandler);\r\n\t\t}\r\n\t\t_elementVal(self.srcElement, self.html());\r\n\t\tself.srcElement.show();\r\n\t\tself.iframe.unbind();\r\n\t\tself.textarea.unbind();\r\n\t\tKEdit.parent.remove.call(self);\r\n\t},\r\n\thtml : function(val, isFull) {\r\n\t\tvar self = this, doc = self.doc;\r\n\t\tif (self.designMode) {\r\n\t\t\tvar body = doc.body;\r\n\t\t\tif (val === undefined) {\r\n\t\t\t\tif (isFull) {\r\n\t\t\t\t\tval = '<!doctype html><html>' + body.parentNode.innerHTML + '</html>';\r\n\t\t\t\t} else {\r\n\t\t\t\t\tval = body.innerHTML;\r\n\t\t\t\t}\r\n\t\t\t\tif (self.beforeGetHtml) {\r\n\t\t\t\t\tval = self.beforeGetHtml(val);\r\n\t\t\t\t}\r\n\t\t\t\tif (_GECKO && val == '<br />') {\r\n\t\t\t\t\tval = '';\r\n\t\t\t\t}\r\n\t\t\t\treturn val;\r\n\t\t\t}\r\n\t\t\tif (self.beforeSetHtml) {\r\n\t\t\t\tval = self.beforeSetHtml(val);\r\n\t\t\t}\r\n\t\t\tif (_IE && _V >= 9) {\r\n\t\t\t\tval = val.replace(/(<.*?checked=\")checked(\".*>)/ig, '$1$2');\r\n\t\t\t}\r\n\t\t\tK(body).html(val);\r\n\t\t\tif (self.afterSetHtml) {\r\n\t\t\t\tself.afterSetHtml();\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (val === undefined) {\r\n\t\t\treturn self.textarea.val();\r\n\t\t}\r\n\t\tself.textarea.val(val);\r\n\t\treturn self;\r\n\t},\r\n\tdesign : function(bool) {\r\n\t\tvar self = this, val;\r\n\t\tif (bool === undefined ? !self.designMode : bool) {\r\n\t\t\tif (!self.designMode) {\r\n\t\t\t\tval = self.html();\r\n\t\t\t\tself.designMode = true;\r\n\t\t\t\tself.textarea.hide();\r\n\t\t\t\tself.html(val);\r\n\t\t\t\tvar iframe = self.iframe;\r\n\t\t\t\tvar height = _removeUnit(self.height);\r\n\t\t\t\tiframe.height(height - 2);\r\n\t\t\t\tiframe.show();\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tiframe.height(height);\r\n\t\t\t\t}, 0);\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tif (self.designMode) {\r\n\t\t\t\tval = self.html();\r\n\t\t\t\tself.designMode = false;\r\n\t\t\t\tself.html(val);\r\n\t\t\t\tself.iframe.hide();\r\n\t\t\t\tself.textarea.show();\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self.focus();\r\n\t},\r\n\tfocus : function() {\r\n\t\tvar self = this;\r\n\t\tself.designMode ? self.win.focus() : self.textarea[0].focus();\r\n\t\treturn self;\r\n\t},\r\n\tblur : function() {\r\n\t\tvar self = this;\r\n\t\tif (_IE) {\r\n\t\t\tvar input = K('<input type=\"text\" style=\"float:left;width:0;height:0;padding:0;margin:0;border:0;\" value=\"\" />', self.div);\r\n\t\t\tself.div.append(input);\r\n\t\t\tinput[0].focus();\r\n\t\t\tinput.remove();\r\n\t\t} else {\r\n\t\t\tself.designMode ? self.win.blur() : self.textarea[0].blur();\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tafterChange : function(fn) {\r\n\t\tvar self = this, doc = self.doc, body = doc.body;\r\n\t\tK(doc).keyup(function(e) {\r\n\t\t\tif (!e.ctrlKey && !e.altKey && _CHANGE_KEY_MAP[e.which]) {\r\n\t\t\t\tfn(e);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK(doc).mouseup(fn).contextmenu(fn);\r\n\t\tK(self.win).blur(fn);\r\n\t\tfunction timeoutHandler(e) {\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tfn(e);\r\n\t\t\t}, 1);\r\n\t\t}\r\n\t\tK(body).bind('paste', timeoutHandler);\r\n\t\tK(body).bind('cut', timeoutHandler);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _edit(options) {\r\n\treturn new KEdit(options);\r\n}\r\nK.EditClass = KEdit;\r\nK.edit = _edit;\r\nK.iframeDoc = _iframeDoc;\r\n\n\r\nfunction _selectToolbar(name, fn) {\r\n\tvar self = this,\r\n\t\tknode = self.get(name);\r\n\tif (knode) {\r\n\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tfn(knode);\r\n\t}\r\n}\r\n\r\r\nfunction KToolbar(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KToolbar, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tKToolbar.parent.init.call(self, options);\r\n\t\tself.disableMode = _undef(options.disableMode, false);\r\n\t\tself.noDisableItemMap = _toMap(_undef(options.noDisableItems, []));\r\n\t\tself._itemMap = {};\r\n\t\tself.div.addClass('ke-toolbar').bind('contextmenu,mousedown,mousemove', function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t}).attr('unselectable', 'on');\r\n\t\tfunction find(target) {\r\n\t\t\tvar knode = K(target);\r\n\t\t\tif (knode.hasClass('ke-outline')) {\r\n\t\t\t\treturn knode;\r\n\t\t\t}\r\n\t\t\tif (knode.hasClass('ke-toolbar-icon')) {\r\n\t\t\t\treturn knode.parent();\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction hover(e, method) {\r\n\t\t\tvar knode = find(e.target);\r\n\t\t\tif (knode) {\r\n\t\t\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tif (knode.hasClass('ke-selected')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tknode[method]('ke-on');\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.div.mouseover(function(e) {\r\n\t\t\thover(e, 'addClass');\r\n\t\t})\r\n\t\t.mouseout(function(e) {\r\n\t\t\thover(e, 'removeClass');\r\n\t\t})\r\n\t\t.click(function(e) {\r\n\t\t\tvar knode = find(e.target);\r\n\t\t\tif (knode) {\r\n\t\t\t\tif (knode.hasClass('ke-disabled')) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tself.options.click.call(this, e, knode.attr('data-name'));\r\n\t\t\t}\r\n\t\t});\r\n\t},\r\n\tget : function(name) {\r\n\t\tif (this._itemMap[name]) {\r\n\t\t\treturn this._itemMap[name];\r\n\t\t}\r\n\t\treturn (this._itemMap[name] = K('span.ke-icon-' + name, this.div).parent());\r\n\t},\r\n\tselect : function(name) {\r\n\t\t_selectToolbar.call(this, name, function(knode) {\r\n\t\t\tknode.addClass('ke-selected');\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tunselect : function(name) {\r\n\t\t_selectToolbar.call(this, name, function(knode) {\r\n\t\t\tknode.removeClass('ke-selected').removeClass('ke-on');\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\tenable : function(name) {\r\n\t\tvar self = this,\r\n\t\t\tknode = name.get ? name : self.get(name);\r\n\t\tif (knode) {\r\n\t\t\tknode.removeClass('ke-disabled');\r\n\t\t\tknode.opacity(1);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdisable : function(name) {\r\n\t\tvar self = this,\r\n\t\t\tknode = name.get ? name : self.get(name);\r\n\t\tif (knode) {\r\n\t\t\tknode.removeClass('ke-selected').addClass('ke-disabled');\r\n\t\t\tknode.opacity(0.5);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tdisableAll : function(bool, noDisableItems) {\r\n\t\tvar self = this, map = self.noDisableItemMap, item;\r\n\t\tif (noDisableItems) {\r\n\t\t\tmap = _toMap(noDisableItems);\r\n\t\t}\r\n\t\tif (bool === undefined ? !self.disableMode : bool) {\r\n\t\t\tK('span.ke-outline', self.div).each(function() {\r\n\t\t\t\tvar knode = K(this),\r\n\t\t\t\t\tname = knode[0].getAttribute('data-name', 2);\r\n\t\t\t\tif (!map[name]) {\r\n\t\t\t\t\tself.disable(knode);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tself.disableMode = true;\r\n\t\t} else {\r\n\t\t\tK('span.ke-outline', self.div).each(function() {\r\n\t\t\t\tvar knode = K(this),\r\n\t\t\t\t\tname = knode[0].getAttribute('data-name', 2);\r\n\t\t\t\tif (!map[name]) {\r\n\t\t\t\t\tself.enable(knode);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tself.disableMode = false;\r\n\t\t}\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _toolbar(options) {\r\n\treturn new KToolbar(options);\r\n}\r\nK.ToolbarClass = KToolbar;\r\nK.toolbar = _toolbar;\r\n\n\r\r\nfunction KMenu(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KMenu, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.z = options.z || 811213;\r\n\t\tKMenu.parent.init.call(self, options);\r\n\t\tself.centerLineMode = _undef(options.centerLineMode, true);\r\n\t\tself.div.addClass('ke-menu').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t}).attr('unselectable', 'on');\r\n\t},\r\n\taddItem : function(item) {\r\n\t\tvar self = this;\r\n\t\tif (item.title === '-') {\r\n\t\t\tself.div.append(K('<div class=\"ke-menu-separator\"></div>'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar itemDiv = K('<div class=\"ke-menu-item\" unselectable=\"on\"></div>'),\r\n\t\t\tleftDiv = K('<div class=\"ke-inline-block ke-menu-item-left\"></div>'),\r\n\t\t\trightDiv = K('<div class=\"ke-inline-block ke-menu-item-right\"></div>'),\r\n\t\t\theight = _addUnit(item.height),\r\n\t\t\ticonClass = _undef(item.iconClass, '');\r\n\t\tself.div.append(itemDiv);\r\n\t\tif (height) {\r\n\t\t\titemDiv.css('height', height);\r\n\t\t\trightDiv.css('line-height', height);\r\n\t\t}\r\n\t\tvar centerDiv;\r\n\t\tif (self.centerLineMode) {\r\n\t\t\tcenterDiv = K('<div class=\"ke-inline-block ke-menu-item-center\"></div>');\r\n\t\t\tif (height) {\r\n\t\t\t\tcenterDiv.css('height', height);\r\n\t\t\t}\r\n\t\t}\r\n\t\titemDiv.mouseover(function(e) {\r\n\t\t\tK(this).addClass('ke-menu-item-on');\r\n\t\t\tif (centerDiv) {\r\n\t\t\t\tcenterDiv.addClass('ke-menu-item-center-on');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.mouseout(function(e) {\r\n\t\t\tK(this).removeClass('ke-menu-item-on');\r\n\t\t\tif (centerDiv) {\r\n\t\t\t\tcenterDiv.removeClass('ke-menu-item-center-on');\r\n\t\t\t}\r\n\t\t})\r\n\t\t.click(function(e) {\r\n\t\t\titem.click.call(K(this));\r\n\t\t\te.stopPropagation();\r\n\t\t})\r\n\t\t.append(leftDiv);\r\n\t\tif (centerDiv) {\r\n\t\t\titemDiv.append(centerDiv);\r\n\t\t}\r\n\t\titemDiv.append(rightDiv);\r\n\t\tif (item.checked) {\r\n\t\t\ticonClass = 'ke-icon-checked';\r\n\t\t}\r\n\t\tif (iconClass !== '') {\r\n\t\t\tleftDiv.html('<span class=\"ke-inline-block ke-toolbar-icon ke-toolbar-icon-url ' + iconClass + '\"></span>');\r\n\t\t}\r\n\t\trightDiv.html(item.title);\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.options.beforeRemove) {\r\n\t\t\tself.options.beforeRemove.call(self);\r\n\t\t}\r\n\t\tK('.ke-menu-item', self.div[0]).unbind();\r\n\t\tKMenu.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _menu(options) {\r\n\treturn new KMenu(options);\r\n}\r\nK.MenuClass = KMenu;\r\nK.menu = _menu;\r\n\n\r\r\nfunction KColorPicker(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KColorPicker, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\toptions.z = options.z || 811213;\r\n\t\tKColorPicker.parent.init.call(self, options);\r\n\t\tvar colors = options.colors || [\r\n\t\t\t['#E53333', '#E56600', '#FF9900', '#64451D', '#DFC5A4', '#FFE500'],\r\n\t\t\t['#009900', '#006600', '#99BB00', '#B8D100', '#60D978', '#00D5FF'],\r\n\t\t\t['#337FE5', '#003399', '#4C33E5', '#9933E5', '#CC33E5', '#EE33EE'],\r\n\t\t\t['#FFFFFF', '#CCCCCC', '#999999', '#666666', '#333333', '#000000']\r\n\t\t];\r\n\t\tself.selectedColor = (options.selectedColor || '').toLowerCase();\r\n\t\tself._cells = [];\r\n\t\tself.div.addClass('ke-colorpicker').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t}).attr('unselectable', 'on');\r\n\t\tvar table = self.doc.createElement('table');\r\n\t\tself.div.append(table);\r\n\t\ttable.className = 'ke-colorpicker-table';\r\n\t\ttable.cellPadding = 0;\r\n\t\ttable.cellSpacing = 0;\r\n\t\ttable.border = 0;\r\n\t\tvar row = table.insertRow(0), cell = row.insertCell(0);\r\n\t\tcell.colSpan = colors[0].length;\r\n\t\tself._addAttr(cell, '', 'ke-colorpicker-cell-top');\r\n\t\tfor (var i = 0; i < colors.length; i++) {\r\n\t\t\trow = table.insertRow(i + 1);\r\n\t\t\tfor (var j = 0; j < colors[i].length; j++) {\r\n\t\t\t\tcell = row.insertCell(j);\r\n\t\t\t\tself._addAttr(cell, colors[i][j], 'ke-colorpicker-cell');\r\n\t\t\t}\r\n\t\t}\r\n\t},\r\n\t_addAttr : function(cell, color, cls) {\r\n\t\tvar self = this;\r\n\t\tcell = K(cell).addClass(cls);\r\n\t\tif (self.selectedColor === color.toLowerCase()) {\r\n\t\t\tcell.addClass('ke-colorpicker-cell-selected');\r\n\t\t}\r\n\t\tcell.attr('title', color || self.options.noColor);\r\n\t\tcell.mouseover(function(e) {\r\n\t\t\tK(this).addClass('ke-colorpicker-cell-on');\r\n\t\t});\r\n\t\tcell.mouseout(function(e) {\r\n\t\t\tK(this).removeClass('ke-colorpicker-cell-on');\r\n\t\t});\r\n\t\tcell.click(function(e) {\r\n\t\t\te.stop();\r\n\t\t\tself.options.click.call(K(this), color);\r\n\t\t});\r\n\t\tif (color) {\r\n\t\t\tcell.append(K('<div class=\"ke-colorpicker-cell-color\" unselectable=\"on\"></div>').css('background-color', color));\r\n\t\t} else {\r\n\t\t\tcell.html(self.options.noColor);\r\n\t\t}\r\n\t\tK(cell).attr('unselectable', 'on');\r\n\t\tself._cells.push(cell);\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\t_each(self._cells, function() {\r\n\t\t\tthis.unbind();\r\n\t\t});\r\n\t\tKColorPicker.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _colorpicker(options) {\r\n\treturn new KColorPicker(options);\r\n}\r\nK.ColorPickerClass = KColorPicker;\r\nK.colorpicker = _colorpicker;\r\n\n\r\nfunction KUploadButton(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KUploadButton, {\r\n\tinit : function(options) {\r\n\t\tvar self = this,\r\n\t\t\tbutton = K(options.button),\r\n\t\t\tfieldName = options.fieldName || 'file',\r\n\t\t\turl = options.url || '',\r\n\t\t\ttitle = button.val(),\r\n\t\t\textraParams = options.extraParams || {},\r\n\t\t\tcls = button[0].className || '',\r\n\t\t\ttarget = options.target || 'kindeditor_upload_iframe_' + new Date().getTime();\r\n\t\toptions.afterError = options.afterError || function(str) {\r\n\t\t\talert(str);\r\n\t\t};\r\n\t\tvar hiddenElements = [];\r\n\t\tfor(var k in extraParams){\r\n\t\t\thiddenElements.push('<input type=\"hidden\" name=\"' + k + '\" value=\"' + extraParams[k] + '\" />');\r\n\t\t}\r\n\t\tvar html = [\r\n\t\t\t'<div class=\"ke-inline-block ' + cls + '\">',\r\n\t\t\t(options.target ? '' : '<iframe name=\"' + target + '\" style=\"display:none;\"></iframe>'),\r\n\t\t\t(options.form ? '<div class=\"ke-upload-area\">' : '<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"' + target + '\" action=\"' + url + '\">'),\r\n\t\t\t'<span class=\"ke-button-common\">',\r\n\t\t\thiddenElements.join(''),\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"' + title + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'<input type=\"file\" class=\"ke-upload-file\" name=\"' + fieldName + '\" tabindex=\"-1\" />',\r\n\t\t\t(options.form ? '</div>' : '</form>'),\r\n\t\t\t'</div>'].join('');\r\n\t\tvar div = K(html, button.doc);\r\n\t\tbutton.hide();\r\n\t\tbutton.before(div);\r\n\t\tself.div = div;\r\n\t\tself.button = button;\r\n\t\tself.iframe = options.target ? K('iframe[name=\"' + target + '\"]') : K('iframe', div);\r\n\t\tself.form = options.form ? K(options.form) : K('form', div);\r\n\t\tself.fileBox = K('.ke-upload-file', div);\r\n\t\tvar width = options.width || K('.ke-button-common', div).width();\r\n\t\tK('.ke-upload-area', div).width(width);\r\n\t\tself.options = options;\r\n\t},\r\n\tsubmit : function() {\r\n\t\tvar self = this,\r\n\t\t\tiframe = self.iframe;\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind();\r\n\t\t\tvar tempForm = document.createElement('form');\r\n\t\t\tself.fileBox.before(tempForm);\r\n\t\t\tK(tempForm).append(self.fileBox);\r\n\t\t\ttempForm.reset();\r\n\t\t\tK(tempForm).remove(true);\r\n\t\t\tvar doc = K.iframeDoc(iframe),\r\n\t\t\t\tpre = doc.getElementsByTagName('pre')[0],\r\n\t\t\t\tstr = '', data;\r\n\t\t\tif (pre) {\r\n\t\t\t\tstr = pre.innerHTML;\r\n\t\t\t} else {\r\n\t\t\t\tstr = doc.body.innerHTML;\r\n\t\t\t}\r\n\t\t\tstr = _unescape(str);\r\n\t\t\tiframe[0].src = 'javascript:false';\r\n\t\t\ttry {\r\n\t\t\t\tdata = K.json(str);\r\n\t\t\t} catch (e) {\r\n\t\t\t\tself.options.afterError.call(self, '<!doctype html><html>' + doc.body.parentNode.innerHTML + '</html>');\r\n\t\t\t}\r\n\t\t\tif (data) {\r\n\t\t\t\tself.options.afterUpload.call(self, data);\r\n\t\t\t}\r\n\t\t});\r\n\t\tself.form[0].submit();\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.fileBox) {\r\n\t\t\tself.fileBox.unbind();\r\n\t\t}\r\n\t\tself.iframe.remove();\r\n\t\tself.div.remove();\r\n\t\tself.button.show();\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _uploadbutton(options) {\r\n\treturn new KUploadButton(options);\r\n}\r\nK.UploadButtonClass = KUploadButton;\r\nK.uploadbutton = _uploadbutton;\r\n\n\r\nfunction _createButton(arg) {\r\n\targ = arg || {};\r\n\tvar name = arg.name || '',\r\n\t\tspan = K('<span class=\"ke-button-common ke-button-outer\" title=\"' + name + '\"></span>'),\r\n\t\tbtn = K('<input class=\"ke-button-common ke-button\" type=\"button\" value=\"' + name + '\" />');\r\n\tif (arg.click) {\r\n\t\tbtn.click(arg.click);\r\n\t}\r\n\tspan.append(btn);\r\n\treturn span;\r\n}\r\n\r\r\nfunction KDialog(options) {\r\n\tthis.init(options);\r\n}\r\n_extend(KDialog, KWidget, {\r\n\tinit : function(options) {\r\n\t\tvar self = this;\r\n\t\tvar shadowMode = _undef(options.shadowMode, true);\r\n\t\toptions.z = options.z || 811213;\r\n\t\toptions.shadowMode = false;\r\n\t\toptions.autoScroll = _undef(options.autoScroll, true);\r\n\t\tKDialog.parent.init.call(self, options);\r\n\t\tvar title = options.title,\r\n\t\t\tbody = K(options.body, self.doc),\r\n\t\t\tpreviewBtn = options.previewBtn,\r\n\t\t\tyesBtn = options.yesBtn,\r\n\t\t\tnoBtn = options.noBtn,\r\n\t\t\tcloseBtn = options.closeBtn,\r\n\t\t\tshowMask = _undef(options.showMask, true);\r\n\t\tself.div.addClass('ke-dialog').bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t\tvar contentDiv = K('<div class=\"ke-dialog-content\"></div>').appendTo(self.div);\r\n\t\tif (_IE && _V < 7) {\r\n\t\t\tself.iframeMask = K('<iframe src=\"about:blank\" class=\"ke-dialog-shadow\"></iframe>').appendTo(self.div);\r\n\t\t} else if (shadowMode) {\r\n\t\t\tK('<div class=\"ke-dialog-shadow\"></div>').appendTo(self.div);\r\n\t\t}\r\n\t\tvar headerDiv = K('<div class=\"ke-dialog-header\"></div>');\r\n\t\tcontentDiv.append(headerDiv);\r\n\t\theaderDiv.html(title);\r\n\t\tself.closeIcon = K('<span class=\"ke-dialog-icon-close\" title=\"' + closeBtn.name + '\"></span>').click(closeBtn.click);\r\n\t\theaderDiv.append(self.closeIcon);\r\n\t\tself.draggable({\r\n\t\t\tclickEl : headerDiv,\r\n\t\t\tbeforeDrag : options.beforeDrag\r\n\t\t});\r\n\t\tvar bodyDiv = K('<div class=\"ke-dialog-body\"></div>');\r\n\t\tcontentDiv.append(bodyDiv);\r\n\t\tbodyDiv.append(body);\r\n\t\tvar footerDiv = K('<div class=\"ke-dialog-footer\"></div>');\r\n\t\tif (previewBtn || yesBtn || noBtn) {\r\n\t\t\tcontentDiv.append(footerDiv);\r\n\t\t}\r\n\t\t_each([\r\n\t\t\t{ btn : previewBtn, name : 'preview' },\r\n\t\t\t{ btn : yesBtn, name : 'yes' },\r\n\t\t\t{ btn : noBtn, name : 'no' }\r\n\t\t], function() {\r\n\t\t\tif (this.btn) {\r\n\t\t\t\tvar button = _createButton(this.btn);\r\n\t\t\t\tbutton.addClass('ke-dialog-' + this.name);\r\n\t\t\t\tfooterDiv.append(button);\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (self.height) {\r\n\t\t\tbodyDiv.height(_removeUnit(self.height) - headerDiv.height() - footerDiv.height());\r\n\t\t}\r\n\t\tself.div.width(self.div.width());\r\n\t\tself.div.height(self.div.height());\r\n\t\tself.mask = null;\r\n\t\tif (showMask) {\r\n\t\t\tvar docEl = _docElement(self.doc),\r\n\t\t\t\tdocWidth = Math.max(docEl.scrollWidth, docEl.clientWidth),\r\n\t\t\t\tdocHeight = Math.max(docEl.scrollHeight, docEl.clientHeight);\r\n\t\t\tself.mask = _widget({\r\n\t\t\t\tx : 0,\r\n\t\t\t\ty : 0,\r\n\t\t\t\tz : self.z - 1,\r\n\t\t\t\tcls : 'ke-dialog-mask',\r\n\t\t\t\twidth : docWidth,\r\n\t\t\t\theight : docHeight\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.autoPos(self.div.width(), self.div.height());\r\n\t\tself.footerDiv = footerDiv;\r\n\t\tself.bodyDiv = bodyDiv;\r\n\t\tself.headerDiv = headerDiv;\r\n\t\tself.isLoading = false;\r\n\t},\r\n\tsetMaskIndex : function(z) {\r\n\t\tvar self = this;\r\n\t\tself.mask.div.css('z-index', z);\r\n\t},\r\n\tshowLoading : function(msg) {\r\n\t\tmsg = _undef(msg, '');\r\n\t\tvar self = this, body = self.bodyDiv;\r\n\t\tself.loading = K('<div class=\"ke-dialog-loading\"><div class=\"ke-inline-block ke-dialog-loading-content\" style=\"margin-top:' + Math.round(body.height() / 3) + 'px;\">' + msg + '</div></div>')\r\n\t\t\t.width(body.width()).height(body.height())\r\n\t\t\t.css('top', self.headerDiv.height() + 'px');\r\n\t\tbody.css('visibility', 'hidden').after(self.loading);\r\n\t\tself.isLoading = true;\r\n\t\treturn self;\r\n\t},\r\n\thideLoading : function() {\r\n\t\tthis.loading && this.loading.remove();\r\n\t\tthis.bodyDiv.css('visibility', 'visible');\r\n\t\tthis.isLoading = false;\r\n\t\treturn this;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.options.beforeRemove) {\r\n\t\t\tself.options.beforeRemove.call(self);\r\n\t\t}\r\n\t\tself.mask && self.mask.remove();\r\n\t\tself.iframeMask && self.iframeMask.remove();\r\n\t\tself.closeIcon.unbind();\r\n\t\tK('input', self.div).unbind();\r\n\t\tK('button', self.div).unbind();\r\n\t\tself.footerDiv.unbind();\r\n\t\tself.bodyDiv.unbind();\r\n\t\tself.headerDiv.unbind();\r\n\t\tK('iframe', self.div).each(function() {\r\n\t\t\tK(this).remove();\r\n\t\t});\r\n\t\tKDialog.parent.remove.call(self);\r\n\t\treturn self;\r\n\t}\r\n});\r\nfunction _dialog(options) {\r\n\treturn new KDialog(options);\r\n}\r\nK.DialogClass = KDialog;\r\nK.dialog = _dialog;\r\n\n\r\nfunction _tabs(options) {\r\n\tvar self = _widget(options),\r\n\t\tremove = self.remove,\r\n\t\tafterSelect = options.afterSelect,\r\n\t\tdiv = self.div,\r\n\t\tliList = [];\r\n\tdiv.addClass('ke-tabs')\r\n\t\t.bind('contextmenu,mousedown,mousemove', function(e) {\r\n\t\t\te.preventDefault();\r\n\t\t});\r\n\tvar ul = K('<ul class=\"ke-tabs-ul ke-clearfix\"></ul>');\r\n\tdiv.append(ul);\r\n\tself.add = function(tab) {\r\n\t\tvar li = K('<li class=\"ke-tabs-li\">' + tab.title + '</li>');\r\n\t\tli.data('tab', tab);\r\n\t\tliList.push(li);\r\n\t\tul.append(li);\r\n\t};\r\n\tself.selectedIndex = 0;\r\n\tself.select = function(index) {\r\n\t\tself.selectedIndex = index;\r\n\t\t_each(liList, function(i, li) {\r\n\t\t\tli.unbind();\r\n\t\t\tif (i === index) {\r\n\t\t\t\tli.addClass('ke-tabs-li-selected');\r\n\t\t\t\tK(li.data('tab').panel).show('');\r\n\t\t\t} else {\r\n\t\t\t\tli.removeClass('ke-tabs-li-selected').removeClass('ke-tabs-li-on')\r\n\t\t\t\t.mouseover(function() {\r\n\t\t\t\t\tK(this).addClass('ke-tabs-li-on');\r\n\t\t\t\t})\r\n\t\t\t\t.mouseout(function() {\r\n\t\t\t\t\tK(this).removeClass('ke-tabs-li-on');\r\n\t\t\t\t})\r\n\t\t\t\t.click(function() {\r\n\t\t\t\t\tself.select(i);\r\n\t\t\t\t});\r\n\t\t\t\tK(li.data('tab').panel).hide();\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (afterSelect) {\r\n\t\t\tafterSelect.call(self, index);\r\n\t\t}\r\n\t};\r\n\tself.remove = function() {\r\n\t\t_each(liList, function() {\r\n\t\t\tthis.remove();\r\n\t\t});\r\n\t\tul.remove();\r\n\t\tremove.call(self);\r\n\t};\r\n\treturn self;\r\n}\r\nK.tabs = _tabs;\r\n\n\r\nfunction _loadScript(url, fn) {\r\n\tvar head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),\r\n\t\tscript = document.createElement('script');\r\n\thead.appendChild(script);\r\n\tscript.src = url;\r\n\tscript.charset = 'utf-8';\r\n\tscript.onload = script.onreadystatechange = function() {\r\n\t\tif (!this.readyState || this.readyState === 'loaded') {\r\n\t\t\tif (fn) {\r\n\t\t\t\tfn();\r\n\t\t\t}\r\n\t\t\tscript.onload = script.onreadystatechange = null;\r\n\t\t\thead.removeChild(script);\r\n\t\t}\r\n\t};\r\n}\r\n\r\r\nfunction _chopQuery(url) {\r\n\tvar index = url.indexOf('?');\r\n\treturn index > 0 ? url.substr(0, index) : url;\r\n}\r\nfunction _loadStyle(url) {\r\n\tvar head = document.getElementsByTagName('head')[0] || (_QUIRKS ? document.body : document.documentElement),\r\n\t\tlink = document.createElement('link'),\r\n\t\tabsoluteUrl = _chopQuery(_formatUrl(url, 'absolute'));\r\n\tvar links = K('link[rel=\"stylesheet\"]', head);\r\n\tfor (var i = 0, len = links.length; i < len; i++) {\r\n\t\tif (_chopQuery(_formatUrl(links[i].href, 'absolute')) === absoluteUrl) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t}\r\n\thead.appendChild(link);\r\n\tlink.href = url;\r\n\tlink.rel = 'stylesheet';\r\n}\r\nfunction _ajax(url, fn, method, param, dataType) {\r\n\tmethod = method || 'GET';\r\n\tdataType = dataType || 'json';\r\n\tvar xhr = window.XMLHttpRequest ? new window.XMLHttpRequest() : new ActiveXObject('Microsoft.XMLHTTP');\r\n\txhr.open(method, url, true);\r\n\txhr.onreadystatechange = function () {\r\n\t\tif (xhr.readyState == 4 && xhr.status == 200) {\r\n\t\t\tif (fn) {\r\n\t\t\t\tvar data = _trim(xhr.responseText);\r\n\t\t\t\tif (dataType == 'json') {\r\n\t\t\t\t\tdata = _json(data);\r\n\t\t\t\t}\r\n\t\t\t\tfn(data);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\tif (method == 'POST') {\r\n\t\tvar params = [];\r\n\t\t_each(param, function(key, val) {\r\n\t\t\tparams.push(encodeURIComponent(key) + '=' + encodeURIComponent(val));\r\n\t\t});\r\n\t\ttry {\r\n\t\t\txhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\r\n\t\t} catch (e) {}\r\n\t\txhr.send(params.join('&'));\r\n\t} else {\r\n\t\txhr.send(null);\r\n\t}\r\n}\r\nK.loadScript = _loadScript;\r\nK.loadStyle = _loadStyle;\r\nK.ajax = _ajax;\r\n\n\r\nvar _plugins = {};\r\nfunction _plugin(name, fn) {\r\n\tif (name === undefined) {\r\n\t\treturn _plugins;\r\n\t}\r\n\tif (!fn) {\r\n\t\treturn _plugins[name];\r\n\t}\r\n\t_plugins[name] = fn;\r\n}\r\nvar _language = {};\r\nfunction _parseLangKey(key) {\r\n\tvar match, ns = 'core';\r\n\tif ((match = /^(\\w+)\\.(\\w+)$/.exec(key))) {\r\n\t\tns = match[1];\r\n\t\tkey = match[2];\r\n\t}\r\n\treturn { ns : ns, key : key };\r\n}\r\nfunction _lang(mixed, langType) {\r\n\tlangType = langType === undefined ? K.options.langType : langType;\r\n\tif (typeof mixed === 'string') {\r\n\t\tif (!_language[langType]) {\r\n\t\t\treturn 'no language';\r\n\t\t}\r\n\t\tvar pos = mixed.length - 1;\r\n\t\tif (mixed.substr(pos) === '.') {\r\n\t\t\treturn _language[langType][mixed.substr(0, pos)];\r\n\t\t}\r\n\t\tvar obj = _parseLangKey(mixed);\r\n\t\treturn _language[langType][obj.ns][obj.key];\r\n\t}\r\n\t_each(mixed, function(key, val) {\r\n\t\tvar obj = _parseLangKey(key);\r\n\t\tif (!_language[langType]) {\r\n\t\t\t_language[langType] = {};\r\n\t\t}\r\n\t\tif (!_language[langType][obj.ns]) {\r\n\t\t\t_language[langType][obj.ns] = {};\r\n\t\t}\r\n\t\t_language[langType][obj.ns][obj.key] = val;\r\n\t});\r\n}\r\n\r\r\nfunction _getImageFromRange(range, fn) {\r\n\tif (range.collapsed) {\r\n\t\treturn;\r\n\t}\r\n\trange = range.cloneRange().up();\r\n\tvar sc = range.startContainer, so = range.startOffset;\r\n\tif (!_WEBKIT && !range.isControl()) {\r\n\t\treturn;\r\n\t}\r\n\tvar img = K(sc.childNodes[so]);\r\n\tif (!img || img.name != 'img') {\r\n\t\treturn;\r\n\t}\r\n\tif (fn(img)) {\r\n\t\treturn img;\r\n\t}\r\n}\r\nfunction _bindContextmenuEvent() {\r\n\tvar self = this, doc = self.edit.doc;\r\n\tK(doc).contextmenu(function(e) {\r\n\t\tif (self.menu) {\r\n\t\t\tself.hideMenu();\r\n\t\t}\r\n\t\tif (!self.useContextmenu) {\r\n\t\t\te.preventDefault();\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (self._contextmenus.length === 0) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar maxWidth = 0, items = [];\r\n\t\t_each(self._contextmenus, function() {\r\n\t\t\tif (this.title == '-') {\r\n\t\t\t\titems.push(this);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (this.cond && this.cond()) {\r\n\t\t\t\titems.push(this);\r\n\t\t\t\tif (this.width && this.width > maxWidth) {\r\n\t\t\t\t\tmaxWidth = this.width;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\twhile (items.length > 0 && items[0].title == '-') {\r\n\t\t\titems.shift();\r\n\t\t}\r\n\t\twhile (items.length > 0 && items[items.length - 1].title == '-') {\r\n\t\t\titems.pop();\r\n\t\t}\r\n\t\tvar prevItem = null;\r\n\t\t_each(items, function(i) {\r\n\t\t\tif (this.title == '-' && prevItem.title == '-') {\r\n\t\t\t\tdelete items[i];\r\n\t\t\t}\r\n\t\t\tprevItem = this;\r\n\t\t});\r\n\t\tif (items.length > 0) {\r\n\t\t\te.preventDefault();\r\n\t\t\tvar pos = K(self.edit.iframe).pos(),\r\n\t\t\t\tmenu = _menu({\r\n\t\t\t\t\tx : pos.x + e.clientX,\r\n\t\t\t\t\ty : pos.y + e.clientY,\r\n\t\t\t\t\twidth : maxWidth,\r\n\t\t\t\t\tcss : { visibility: 'hidden' },\r\n\t\t\t\t\tshadowMode : self.shadowMode\r\n\t\t\t\t});\r\n\t\t\t_each(items, function() {\r\n\t\t\t\tif (this.title) {\r\n\t\t\t\t\tmenu.addItem(this);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tvar docEl = _docElement(menu.doc),\r\n\t\t\t\tmenuHeight = menu.div.height();\r\n\t\t\tif (e.clientY + menuHeight >= docEl.clientHeight - 100) {\r\n\t\t\t\tmenu.pos(menu.x, _removeUnit(menu.y) - menuHeight);\r\n\t\t\t}\r\n\t\t\tmenu.div.css('visibility', 'visible');\r\n\t\t\tself.menu = menu;\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindNewlineEvent() {\r\n\tvar self = this, doc = self.edit.doc, newlineTag = self.newlineTag;\r\n\tif (_IE && newlineTag !== 'br') {\r\n\t\treturn;\r\n\t}\r\n\tif (_GECKO && _V < 3 && newlineTag !== 'p') {\r\n\t\treturn;\r\n\t}\r\n\tif (_OPERA && _V < 9) {\r\n\t\treturn;\r\n\t}\r\n\tvar brSkipTagMap = _toMap('h1,h2,h3,h4,h5,h6,pre,li'),\r\n\t\tpSkipTagMap = _toMap('p,h1,h2,h3,h4,h5,h6,pre,li,blockquote');\r\n\tfunction getAncestorTagName(range) {\r\n\t\tvar ancestor = K(range.commonAncestor());\r\n\t\twhile (ancestor) {\r\n\t\t\tif (ancestor.type == 1 && !ancestor.isStyle()) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\tancestor = ancestor.parent();\r\n\t\t}\r\n\t\treturn ancestor.name;\r\n\t}\r\n\tK(doc).keydown(function(e) {\r\n\t\tif (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tself.cmd.selection();\r\n\t\tvar tagName = getAncestorTagName(self.cmd.range);\r\n\t\tif (tagName == 'marquee' || tagName == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (newlineTag === 'br' && !brSkipTagMap[tagName]) {\r\n\t\t\te.preventDefault();\r\n\t\t\tself.insertHtml('<br />' + (_IE && _V < 9 ? '' : '\\u200B'));\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!pSkipTagMap[tagName]) {\r\n\t\t\t_nativeCommand(doc, 'formatblock', '<p>');\r\n\t\t}\r\n\t});\r\n\tK(doc).keyup(function(e) {\r\n\t\tif (e.which != 13 || e.shiftKey || e.ctrlKey || e.altKey) {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (newlineTag == 'br') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (_GECKO) {\r\n\t\t\tvar root = self.cmd.commonAncestor('p');\r\n\t\t\tvar a = self.cmd.commonAncestor('a');\r\n\t\t\tif (a && a.text() == '') {\r\n\t\t\t\ta.remove(true);\r\n\t\t\t\tself.cmd.range.selectNodeContents(root[0]).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t}\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tself.cmd.selection();\r\n\t\tvar tagName = getAncestorTagName(self.cmd.range);\r\n\t\tif (tagName == 'marquee' || tagName == 'select') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tif (!pSkipTagMap[tagName]) {\r\n\t\t\t_nativeCommand(doc, 'formatblock', '<p>');\r\n\t\t}\r\n\t\tvar div = self.cmd.commonAncestor('div');\r\n\t\tif (div) {\r\n\t\t\tvar p = K('<p></p>'),\r\n\t\t\t\tchild = div[0].firstChild;\r\n\t\t\twhile (child) {\r\n\t\t\t\tvar next = child.nextSibling;\r\n\t\t\t\tp.append(child);\r\n\t\t\t\tchild = next;\r\n\t\t\t}\r\n\t\t\tdiv.before(p);\r\n\t\t\tdiv.remove();\r\n\t\t\tself.cmd.range.selectNodeContents(p[0]);\r\n\t\t\tself.cmd.select();\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindTabEvent() {\r\n\tvar self = this, doc = self.edit.doc;\r\n\tK(doc).keydown(function(e) {\r\n\t\tif (e.which == 9) {\r\n\t\t\te.preventDefault();\r\n\t\t\tif (self.afterTab) {\r\n\t\t\t\tself.afterTab.call(self, e);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cmd = self.cmd, range = cmd.range;\r\n\t\t\trange.shrink();\r\n\t\t\tif (range.collapsed && range.startContainer.nodeType == 1) {\r\n\t\t\t\trange.insertNode(K('@&nbsp;', doc)[0]);\r\n\t\t\t\tcmd.select();\r\n\t\t\t}\r\n\t\t\tself.insertHtml('&nbsp;&nbsp;&nbsp;&nbsp;');\r\n\t\t}\r\n\t});\r\n}\r\nfunction _bindFocusEvent() {\r\n\tvar self = this;\r\n\tK(self.edit.textarea[0], self.edit.win).focus(function(e) {\r\n\t\tif (self.afterFocus) {\r\n\t\t\tself.afterFocus.call(self, e);\r\n\t\t}\r\n\t}).blur(function(e) {\r\n\t\tif (self.afterBlur) {\r\n\t\t\tself.afterBlur.call(self, e);\r\n\t\t}\r\n\t});\r\n}\r\nfunction _removeBookmarkTag(html) {\r\n\treturn _trim(html.replace(/<span [^>]*id=\"?__kindeditor_bookmark_\\w+_\\d+__\"?[^>]*><\\/span>/ig, ''));\r\n}\r\nfunction _removeTempTag(html) {\r\n\treturn html.replace(/<div[^>]+class=\"?__kindeditor_paste__\"?[^>]*>[\\s\\S]*?<\\/div>/ig, '');\r\n}\r\nfunction _addBookmarkToStack(stack, bookmark) {\r\n\tif (stack.length === 0) {\r\n\t\tstack.push(bookmark);\r\n\t\treturn;\r\n\t}\r\n\tvar prev = stack[stack.length - 1];\r\n\tif (_removeBookmarkTag(bookmark.html) !== _removeBookmarkTag(prev.html)) {\r\n\t\tstack.push(bookmark);\r\n\t}\r\n}\r\n\r\r\r\nfunction _undoToRedo(fromStack, toStack) {\r\n\tvar self = this, edit = self.edit,\r\n\t\tbody = edit.doc.body,\r\n\t\trange, bookmark;\r\n\tif (fromStack.length === 0) {\r\n\t\treturn self;\r\n\t}\r\n\tif (edit.designMode) {\r\n\t\trange = self.cmd.range;\r\n\t\tbookmark = range.createBookmark(true);\r\n\t\tbookmark.html = body.innerHTML;\r\n\t} else {\r\n\t\tbookmark = {\r\n\t\t\thtml : body.innerHTML\r\n\t\t};\r\n\t}\r\n\t_addBookmarkToStack(toStack, bookmark);\r\n\tvar prev = fromStack.pop();\r\n\tif (_removeBookmarkTag(bookmark.html) === _removeBookmarkTag(prev.html) && fromStack.length > 0) {\r\n\t\tprev = fromStack.pop();\r\n\t}\r\n\tif (edit.designMode) {\r\n\t\tedit.html(prev.html);\r\n\t\tif (prev.start) {\r\n\t\t\trange.moveToBookmark(prev);\r\n\t\t\tself.select();\r\n\t\t}\r\n\t} else {\r\n\t\tK(body).html(_removeBookmarkTag(prev.html));\r\n\t}\r\n\treturn self;\r\n}\r\nfunction KEditor(options) {\r\n\tvar self = this;\r\n\tself.options = {};\r\n\tfunction setOption(key, val) {\r\n\t\tif (KEditor.prototype[key] === undefined) {\r\n\t\t\tself[key] = val;\r\n\t\t}\r\n\t\tself.options[key] = val;\r\n\t}\r\n\t_each(options, function(key, val) {\r\n\t\tsetOption(key, options[key]);\r\n\t});\r\n\t_each(K.options, function(key, val) {\r\n\t\tif (self[key] === undefined) {\r\n\t\t\tsetOption(key, val);\r\n\t\t}\r\n\t});\r\n\tvar se = K(self.srcElement || '<textarea/>');\r\n\tif (!self.width) {\r\n\t\tself.width = se[0].style.width || se.width();\r\n\t}\r\n\tif (!self.height) {\r\n\t\tself.height = se[0].style.height || se.height();\r\n\t}\r\n\tsetOption('width', _undef(self.width, self.minWidth));\r\n\tsetOption('height', _undef(self.height, self.minHeight));\r\n\tsetOption('width', _addUnit(self.width));\r\n\tsetOption('height', _addUnit(self.height));\r\n\tif (_MOBILE && (!_IOS || _V < 534)) {\r\n\t\tself.designMode = false;\r\n\t}\r\n\tself.srcElement = se;\r\n\tself.initContent = '';\r\n\tself.plugin = {};\r\n\tself.isCreated = false;\r\n\tself._handlers = {};\r\n\tself._contextmenus = [];\r\n\tself._undoStack = [];\r\n\tself._redoStack = [];\r\n\tself._firstAddBookmark = true;\r\n\tself.menu = self.contextmenu = null;\r\n\tself.dialogs = [];\r\n}\r\nKEditor.prototype = {\r\n\tlang : function(mixed) {\r\n\t\treturn _lang(mixed, this.langType);\r\n\t},\r\n\tloadPlugin : function(name, fn) {\r\n\t\tvar self = this;\r\n\t\tvar _pluginStatus = this._pluginStatus;\r\n\t\tif (!_pluginStatus) {\r\n\t\t\t_pluginStatus = this._pluginStatus = {};\r\n\t\t}\r\n\t\tif (_plugins[name]) {\r\n\t\t\tif (!_isFunction(_plugins[name])) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.loadPlugin(name, fn);\r\n\t\t\t\t}, 100);\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t\tif(!_pluginStatus[name]) {\r\n\t\t\t\t_plugins[name].call(self, KindEditor);\r\n\t\t\t\t_pluginStatus[name] = 'inited';\r\n\t\t\t}\r\n\t\t\tif (fn) {\r\n\t\t\t\tfn.call(self);\r\n\t\t\t}\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\t_plugins[name] = 'loading';\r\n\t\t_loadScript(self.pluginsPath + name + '/' + name + '.js?ver=' + encodeURIComponent(K.DEBUG ? _TIME : _VERSION), function() {\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tif (_plugins[name]) {\r\n\t\t\t\t\tself.loadPlugin(name, fn);\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\thandler : function(key, fn) {\r\n\t\tvar self = this;\r\n\t\tif (!self._handlers[key]) {\r\n\t\t\tself._handlers[key] = [];\r\n\t\t}\r\n\t\tif (_isFunction(fn)) {\r\n\t\t\tself._handlers[key].push(fn);\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\t_each(self._handlers[key], function() {\r\n\t\t\tfn = this.call(self, fn);\r\n\t\t});\r\n\t\treturn fn;\r\n\t},\r\n\tclickToolbar : function(name, fn) {\r\n\t\tvar self = this, key = 'clickToolbar' + name;\r\n\t\tif (fn === undefined) {\r\n\t\t\tif (self._handlers[key]) {\r\n\t\t\t\treturn self.handler(key);\r\n\t\t\t}\r\n\t\t\tself.loadPlugin(name, function() {\r\n\t\t\t\tself.handler(key);\r\n\t\t\t});\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\treturn self.handler(key, fn);\r\n\t},\r\n\tupdateState : function() {\r\n\t\tvar self = this;\r\n\t\t_each(('justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,insertunorderedlist,' +\r\n\t\t\t'subscript,superscript,bold,italic,underline,strikethrough').split(','), function(i, name) {\r\n\t\t\tself.cmd.state(name) ? self.toolbar.select(name) : self.toolbar.unselect(name);\r\n\t\t});\r\n\t\treturn self;\r\n\t},\r\n\taddContextmenu : function(item) {\r\n\t\tthis._contextmenus.push(item);\r\n\t\treturn this;\r\n\t},\r\n\tafterCreate : function(fn) {\r\n\t\treturn this.handler('afterCreate', fn);\r\n\t},\r\n\tbeforeRemove : function(fn) {\r\n\t\treturn this.handler('beforeRemove', fn);\r\n\t},\r\n\tbeforeGetHtml : function(fn) {\r\n\t\treturn this.handler('beforeGetHtml', fn);\r\n\t},\r\n\tbeforeSetHtml : function(fn) {\r\n\t\treturn this.handler('beforeSetHtml', fn);\r\n\t},\r\n\tafterSetHtml : function(fn) {\r\n\t\treturn this.handler('afterSetHtml', fn);\r\n\t},\r\n\tcreate : function() {\r\n\t\tvar self = this, fullscreenMode = self.fullscreenMode;\r\n\t\tif (self.isCreated) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tif (self.srcElement.data('kindeditor')) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.srcElement.data('kindeditor', 'true');\r\n\t\tif (fullscreenMode) {\r\n\t\t\t_docElement().style.overflow = 'hidden';\r\n\t\t} else {\r\n\t\t\t_docElement().style.overflow = '';\r\n\t\t}\r\n\t\tvar width = fullscreenMode ? _docElement().clientWidth + 'px' : self.width,\r\n\t\t\theight = fullscreenMode ? _docElement().clientHeight + 'px' : self.height;\r\n\t\tif ((_IE && _V < 8) || _QUIRKS) {\r\n\t\t\theight = _addUnit(_removeUnit(height) + 2);\r\n\t\t}\r\n\t\tvar container = self.container = K(self.layout);\r\n\t\tif (fullscreenMode) {\r\n\t\t\tK(document.body).append(container);\r\n\t\t} else {\r\n\t\t\tself.srcElement.before(container);\r\n\t\t}\r\n\t\tvar toolbarDiv = K('.toolbar', container),\r\n\t\t\teditDiv = K('.edit', container),\r\n\t\t\tstatusbar = self.statusbar = K('.statusbar', container);\r\n\t\tcontainer.removeClass('container')\r\n\t\t\t.addClass('ke-container ke-container-' + self.themeType).css('width', width);\r\n\t\tif (fullscreenMode) {\r\n\t\t\tcontainer.css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tleft : 0,\r\n\t\t\t\ttop : 0,\r\n\t\t\t\t'z-index' : 811211\r\n\t\t\t});\r\n\t\t\tif (!_GECKO) {\r\n\t\t\t\tself._scrollPos = _getScrollPos();\r\n\t\t\t}\r\n\t\t\twindow.scrollTo(0, 0);\r\n\t\t\tK(document.body).css({\r\n\t\t\t\t'height' : '1px',\r\n\t\t\t\t'overflow' : 'hidden'\r\n\t\t\t});\r\n\t\t\tK(document.body.parentNode).css('overflow', 'hidden');\r\n\t\t\tself._fullscreenExecuted = true;\r\n\t\t} else {\r\n\t\t\tif (self._fullscreenExecuted) {\r\n\t\t\t\tK(document.body).css({\r\n\t\t\t\t\t'height' : '',\r\n\t\t\t\t\t'overflow' : ''\r\n\t\t\t\t});\r\n\t\t\t\tK(document.body.parentNode).css('overflow', '');\r\n\t\t\t}\r\n\t\t\tif (self._scrollPos) {\r\n\t\t\t\twindow.scrollTo(self._scrollPos.x, self._scrollPos.y);\r\n\t\t\t}\r\n\t\t}\r\n\t\tvar htmlList = [];\r\n\t\tK.each(self.items, function(i, name) {\r\n\t\t\tif (name == '|') {\r\n\t\t\t\thtmlList.push('<span class=\"ke-inline-block ke-separator\"></span>');\r\n\t\t\t} else if (name == '/') {\r\n\t\t\t\thtmlList.push('<div class=\"ke-hr\"></div>');\r\n\t\t\t} else {\r\n\t\t\t\thtmlList.push('<span class=\"ke-outline\" data-name=\"' + name + '\" title=\"' + self.lang(name) + '\" unselectable=\"on\">');\r\n\t\t\t\thtmlList.push('<span class=\"ke-toolbar-icon ke-toolbar-icon-url ke-icon-' + name + '\" unselectable=\"on\"></span></span>');\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar toolbar = self.toolbar = _toolbar({\r\n\t\t\tsrc : toolbarDiv,\r\n\t\t\thtml : htmlList.join(''),\r\n\t\t\tnoDisableItems : self.noDisableItems,\r\n\t\t\tclick : function(e, name) {\r\n\t\t\t\te.stop();\r\n\t\t\t\tif (self.menu) {\r\n\t\t\t\t\tvar menuName = self.menu.name;\r\n\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\tif (menuName === name) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tself.clickToolbar(name);\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar editHeight = _removeUnit(height) - toolbar.div.height();\r\n\t\tvar edit = self.edit = _edit({\r\n\t\t\theight : editHeight > 0 && _removeUnit(height) > self.minHeight ? editHeight : self.minHeight,\r\n\t\t\tsrc : editDiv,\r\n\t\t\tsrcElement : self.srcElement,\r\n\t\t\tdesignMode : self.designMode,\r\n\t\t\tthemesPath : self.themesPath,\r\n\t\t\tbodyClass : self.bodyClass,\r\n\t\t\tcssPath : self.cssPath,\r\n\t\t\tcssData : self.cssData,\r\n\t\t\tbeforeGetHtml : function(html) {\r\n\t\t\t\thtml = self.beforeGetHtml(html);\r\n\t\t\t\thtml = _removeBookmarkTag(_removeTempTag(html));\r\n\t\t\t\treturn _formatHtml(html, self.filterMode ? self.htmlTags : null, self.urlType, self.wellFormatMode, self.indentChar);\r\n\t\t\t},\r\n\t\t\tbeforeSetHtml : function(html) {\r\n\t\t\t\thtml = _formatHtml(html, self.filterMode ? self.htmlTags : null, '', false);\r\n\t\t\t\treturn self.beforeSetHtml(html);\r\n\t\t\t},\r\n\t\t\tafterSetHtml : function() {\r\n\t\t\t\tself.edit = edit = this;\r\n\t\t\t\tself.afterSetHtml();\r\n\t\t\t},\r\n\t\t\tafterCreate : function() {\r\n\t\t\t\tself.edit = edit = this;\r\n\t\t\t\tself.cmd = edit.cmd;\r\n\t\t\t\tself._docMousedownFn = function(e) {\r\n\t\t\t\t\tif (self.menu) {\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t};\r\n\t\t\t\tK(edit.doc, document).mousedown(self._docMousedownFn);\r\n\t\t\t\t_bindContextmenuEvent.call(self);\r\n\t\t\t\t_bindNewlineEvent.call(self);\r\n\t\t\t\t_bindTabEvent.call(self);\r\n\t\t\t\t_bindFocusEvent.call(self);\r\n\t\t\t\tedit.afterChange(function(e) {\r\n\t\t\t\t\tif (!edit.designMode) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tself.updateState();\r\n\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\tif (self.options.afterChange) {\r\n\t\t\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tedit.textarea.keyup(function(e) {\r\n\t\t\t\t\tif (!e.ctrlKey && !e.altKey && _INPUT_KEY_MAP[e.which]) {\r\n\t\t\t\t\t\tif (self.options.afterChange) {\r\n\t\t\t\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tif (self.readonlyMode) {\r\n\t\t\t\t\tself.readonly();\r\n\t\t\t\t}\r\n\t\t\t\tself.isCreated = true;\r\n\t\t\t\tif (self.initContent === '') {\r\n\t\t\t\t\tself.initContent = self.html();\r\n\t\t\t\t}\r\n\t\t\t\tif (self._undoStack.length > 0) {\r\n\t\t\t\t\tvar prev = self._undoStack.pop();\r\n\t\t\t\t\tif (prev.start) {\r\n\t\t\t\t\t\tself.html(prev.html);\r\n\t\t\t\t\t\tedit.cmd.range.moveToBookmark(prev);\r\n\t\t\t\t\t\tself.select();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tself.afterCreate();\r\n\t\t\t\tif (self.options.afterCreate) {\r\n\t\t\t\t\tself.options.afterCreate.call(self);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tstatusbar.removeClass('statusbar').addClass('ke-statusbar')\r\n\t\t\t.append('<span class=\"ke-inline-block ke-statusbar-center-icon\"></span>')\r\n\t\t\t.append('<span class=\"ke-inline-block ke-statusbar-right-icon\"></span>');\r\n\t\tif (self._fullscreenResizeHandler) {\r\n\t\t\tK(window).unbind('resize', self._fullscreenResizeHandler);\r\n\t\t\tself._fullscreenResizeHandler = null;\r\n\t\t}\r\n\t\tfunction initResize() {\r\n\t\t\tif (statusbar.height() === 0) {\r\n\t\t\t\tsetTimeout(initResize, 100);\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tself.resize(width, height, false);\r\n\t\t}\r\n\t\tinitResize();\r\n\t\tif (fullscreenMode) {\r\n\t\t\tself._fullscreenResizeHandler = function(e) {\r\n\t\t\t\tif (self.isCreated) {\r\n\t\t\t\t\tself.resize(_docElement().clientWidth, _docElement().clientHeight, false);\r\n\t\t\t\t}\r\n\t\t\t};\r\n\t\t\tK(window).bind('resize', self._fullscreenResizeHandler);\r\n\t\t\ttoolbar.select('fullscreen');\r\n\t\t\tstatusbar.first().css('visibility', 'hidden');\r\n\t\t\tstatusbar.last().css('visibility', 'hidden');\r\n\t\t} else {\r\n\t\t\tif (_GECKO) {\r\n\t\t\t\tK(window).bind('scroll', function(e) {\r\n\t\t\t\t\tself._scrollPos = _getScrollPos();\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tif (self.resizeType > 0) {\r\n\t\t\t\t_drag({\r\n\t\t\t\t\tmoveEl : container,\r\n\t\t\t\t\tclickEl : statusbar,\r\n\t\t\t\t\tmoveFn : function(x, y, width, height, diffX, diffY) {\r\n\t\t\t\t\t\theight += diffY;\r\n\t\t\t\t\t\tself.resize(null, height);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tstatusbar.first().css('visibility', 'hidden');\r\n\t\t\t}\r\n\t\t\tif (self.resizeType === 2) {\r\n\t\t\t\t_drag({\r\n\t\t\t\t\tmoveEl : container,\r\n\t\t\t\t\tclickEl : statusbar.last(),\r\n\t\t\t\t\tmoveFn : function(x, y, width, height, diffX, diffY) {\r\n\t\t\t\t\t\twidth += diffX;\r\n\t\t\t\t\t\theight += diffY;\r\n\t\t\t\t\t\tself.resize(width, height);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tstatusbar.last().css('visibility', 'hidden');\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tremove : function() {\r\n\t\tvar self = this;\r\n\t\tif (!self.isCreated) {\r\n\t\t\treturn self;\r\n\t\t}\r\n\t\tself.beforeRemove();\r\n\t\tself.srcElement.data('kindeditor', '');\r\n\t\tif (self.menu) {\r\n\t\t\tself.hideMenu();\r\n\t\t}\r\n\t\t_each(self.dialogs, function() {\r\n\t\t\tself.hideDialog();\r\n\t\t});\r\n\t\tK(document).unbind('mousedown', self._docMousedownFn);\r\n\t\tself.toolbar.remove();\r\n\t\tself.edit.remove();\r\n\t\tself.statusbar.last().unbind();\r\n\t\tself.statusbar.unbind();\r\n\t\tself.container.remove();\r\n\t\tself.container = self.toolbar = self.edit = self.menu = null;\r\n\t\tself.dialogs = [];\r\n\t\tself.isCreated = false;\r\n\t\treturn self;\r\n\t},\r\n\tresize : function(width, height, updateProp) {\r\n\t\tvar self = this;\r\n\t\tupdateProp = _undef(updateProp, true);\r\n\t\tif (width) {\r\n\t\t\tif (!/%/.test(width)) {\r\n\t\t\t\twidth = _removeUnit(width);\r\n\t\t\t\twidth = width < self.minWidth ? self.minWidth : width;\r\n\t\t\t}\r\n\t\t\tself.container.css('width', _addUnit(width));\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.width = _addUnit(width);\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (height) {\r\n\t\t\theight = _removeUnit(height);\r\n\t\t\teditHeight = _removeUnit(height) - self.toolbar.div.height() - self.statusbar.height();\r\n\t\t\teditHeight = editHeight < self.minHeight ? self.minHeight : editHeight;\r\n\t\t\tself.edit.setHeight(editHeight);\r\n\t\t\tif (updateProp) {\r\n\t\t\t\tself.height = _addUnit(height);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tselect : function() {\r\n\t\tthis.isCreated && this.cmd.select();\r\n\t\treturn this;\r\n\t},\r\n\thtml : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\treturn self.isCreated ? self.edit.html() : _elementVal(self.srcElement);\r\n\t\t}\r\n\t\tself.isCreated ? self.edit.html(val) : _elementVal(self.srcElement, val);\r\n\t\tif (self.isCreated) {\r\n\t\t\tself.cmd.selection();\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tfullHtml : function() {\r\n\t\treturn this.isCreated ? this.edit.html(undefined, true) : '';\r\n\t},\r\n\ttext : function(val) {\r\n\t\tvar self = this;\r\n\t\tif (val === undefined) {\r\n\t\t\treturn _trim(self.html().replace(/<(?!img|embed).*?>/ig, '').replace(/&nbsp;/ig, ' '));\r\n\t\t} else {\r\n\t\t\treturn self.html(_escape(val));\r\n\t\t}\r\n\t},\r\n\tisEmpty : function() {\r\n\t\treturn _trim(this.text().replace(/\\r\\n|\\n|\\r/, '')) === '';\r\n\t},\r\n\tisDirty : function() {\r\n\t\treturn _trim(this.initContent.replace(/\\r\\n|\\n|\\r|t/g, '')) !== _trim(this.html().replace(/\\r\\n|\\n|\\r|t/g, ''));\r\n\t},\r\n\tselectedHtml : function() {\r\n\t\tvar val = this.isCreated ? this.cmd.range.html() : '';\r\n\t\tval = _removeBookmarkTag(_removeTempTag(val));\r\n\t\treturn val;\r\n\t},\r\n\tcount : function(mode) {\r\n\t\tvar self = this;\r\n\t\tmode = (mode || 'html').toLowerCase();\r\n\t\tif (mode === 'html') {\r\n\t\t\treturn self.html().length;\r\n\t\t}\r\n\t\tif (mode === 'text') {\r\n\t\t\treturn self.text().replace(/<(?:img|embed).*?>/ig, 'K').replace(/\\r\\n|\\n|\\r/g, '').length;\r\n\t\t}\r\n\t\treturn 0;\r\n\t},\r\n\texec : function(key) {\r\n\t\tkey = key.toLowerCase();\r\n\t\tvar self = this, cmd = self.cmd,\r\n\t\t\tchangeFlag = _inArray(key, 'selectall,copy,paste,print'.split(',')) < 0;\r\n\t\tif (changeFlag) {\r\n\t\t\tself.addBookmark(false);\r\n\t\t}\r\n\t\tcmd[key].apply(cmd, _toArray(arguments, 1));\r\n\t\tif (changeFlag) {\r\n\t\t\tself.updateState();\r\n\t\t\tself.addBookmark(false);\r\n\t\t\tif (self.options.afterChange) {\r\n\t\t\t\tself.options.afterChange.call(self);\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\tinsertHtml : function(val, quickMode) {\r\n\t\tif (!this.isCreated) {\r\n\t\t\treturn this;\r\n\t\t}\r\n\t\tval = this.beforeSetHtml(val);\r\n\t\tthis.exec('inserthtml', val, quickMode);\r\n\t\treturn this;\r\n\t},\r\n\tappendHtml : function(val) {\r\n\t\tthis.html(this.html() + val);\r\n\t\tif (this.isCreated) {\r\n\t\t\tvar cmd = this.cmd;\r\n\t\t\tcmd.range.selectNodeContents(cmd.doc.body).collapse(false);\r\n\t\t\tcmd.select();\r\n\t\t}\r\n\t\treturn this;\r\n\t},\r\n\tsync : function() {\r\n\t\t_elementVal(this.srcElement, this.html());\r\n\t\treturn this;\r\n\t},\r\n\tfocus : function() {\r\n\t\tthis.isCreated ? this.edit.focus() : this.srcElement[0].focus();\r\n\t\treturn this;\r\n\t},\r\n\tblur : function() {\r\n\t\tthis.isCreated ? this.edit.blur() : this.srcElement[0].blur();\r\n\t\treturn this;\r\n\t},\r\n\taddBookmark : function(checkSize) {\r\n\t\tcheckSize = _undef(checkSize, true);\r\n\t\tvar self = this, edit = self.edit,\r\n\t\t\tbody = edit.doc.body,\r\n\t\t\thtml = _removeTempTag(body.innerHTML), bookmark;\r\n\t\tif (checkSize && self._undoStack.length > 0) {\r\n\t\t\tvar prev = self._undoStack[self._undoStack.length - 1];\r\n\t\t\tif (Math.abs(html.length - _removeBookmarkTag(prev.html).length) < self.minChangeSize) {\r\n\t\t\t\treturn self;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (edit.designMode && !self._firstAddBookmark) {\r\n\t\t\tvar range = self.cmd.range;\r\n\t\t\tbookmark = range.createBookmark(true);\r\n\t\t\tbookmark.html = _removeTempTag(body.innerHTML);\r\n\t\t\trange.moveToBookmark(bookmark);\r\n\t\t} else {\r\n\t\t\tbookmark = {\r\n\t\t\t\thtml : html\r\n\t\t\t};\r\n\t\t}\r\n\t\tself._firstAddBookmark = false;\r\n\t\t_addBookmarkToStack(self._undoStack, bookmark);\r\n\t\treturn self;\r\n\t},\r\n\tundo : function() {\r\n\t\treturn _undoToRedo.call(this, this._undoStack, this._redoStack);\r\n\t},\r\n\tredo : function() {\r\n\t\treturn _undoToRedo.call(this, this._redoStack, this._undoStack);\r\n\t},\r\n\tfullscreen : function(bool) {\r\n\t\tthis.fullscreenMode = (bool === undefined ? !this.fullscreenMode : bool);\r\n\t\tthis.addBookmark(false);\r\n\t\treturn this.remove().create();\r\n\t},\r\n\treadonly : function(isReadonly) {\r\n\t\tisReadonly = _undef(isReadonly, true);\r\n\t\tvar self = this, edit = self.edit, doc = edit.doc;\r\n\t\tif (self.designMode) {\r\n\t\t\tself.toolbar.disableAll(isReadonly, []);\r\n\t\t} else {\r\n\t\t\t_each(self.noDisableItems, function() {\r\n\t\t\t\tself.toolbar[isReadonly ? 'disable' : 'enable'](this);\r\n\t\t\t});\r\n\t\t}\r\n\t\tif (_IE) {\r\n\t\t\tdoc.body.contentEditable = !isReadonly;\r\n\t\t} else {\r\n\t\t\tdoc.designMode = isReadonly ? 'off' : 'on';\r\n\t\t}\r\n\t\tedit.textarea[0].disabled = isReadonly;\r\n\t},\r\n\tcreateMenu : function(options) {\r\n\t\tvar self = this,\r\n\t\t\tname = options.name,\r\n\t\t\tknode = self.toolbar.get(name),\r\n\t\t\tpos = knode.pos();\r\n\t\toptions.x = pos.x;\r\n\t\toptions.y = pos.y + knode.height();\r\n\t\toptions.z = self.options.zIndex;\r\n\t\toptions.shadowMode = _undef(options.shadowMode, self.shadowMode);\r\n\t\tif (options.selectedColor !== undefined) {\r\n\t\t\toptions.cls = 'ke-colorpicker-' + self.themeType;\r\n\t\t\toptions.noColor = self.lang('noColor');\r\n\t\t\tself.menu = _colorpicker(options);\r\n\t\t} else {\r\n\t\t\toptions.cls = 'ke-menu-' + self.themeType;\r\n\t\t\toptions.centerLineMode = false;\r\n\t\t\tself.menu = _menu(options);\r\n\t\t}\r\n\t\treturn self.menu;\r\n\t},\r\n\thideMenu : function() {\r\n\t\tthis.menu.remove();\r\n\t\tthis.menu = null;\r\n\t\treturn this;\r\n\t},\r\n\thideContextmenu : function() {\r\n\t\tthis.contextmenu.remove();\r\n\t\tthis.contextmenu = null;\r\n\t\treturn this;\r\n\t},\r\n\tcreateDialog : function(options) {\r\n\t\tvar self = this, name = options.name;\r\n\t\toptions.z = self.options.zIndex;\r\n\t\toptions.shadowMode = _undef(options.shadowMode, self.shadowMode);\r\n\t\toptions.closeBtn = _undef(options.closeBtn, {\r\n\t\t\tname : self.lang('close'),\r\n\t\t\tclick : function(e) {\r\n\t\t\t\tself.hideDialog();\r\n\t\t\t\tif (_IE && self.cmd) {\r\n\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\toptions.noBtn = _undef(options.noBtn, {\r\n\t\t\tname : self.lang(options.yesBtn ? 'no' : 'close'),\r\n\t\t\tclick : function(e) {\r\n\t\t\t\tself.hideDialog();\r\n\t\t\t\tif (_IE && self.cmd) {\r\n\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (self.dialogAlignType != 'page') {\r\n\t\t\toptions.alignEl = self.container;\r\n\t\t}\r\n\t\toptions.cls = 'ke-dialog-' + self.themeType;\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tvar firstDialog = self.dialogs[0],\r\n\t\t\t\tparentDialog = self.dialogs[self.dialogs.length - 1];\r\n\t\t\tfirstDialog.setMaskIndex(parentDialog.z + 2);\r\n\t\t\toptions.z = parentDialog.z + 3;\r\n\t\t\toptions.showMask = false;\r\n\t\t}\r\n\t\tvar dialog = _dialog(options);\r\n\t\tself.dialogs.push(dialog);\r\n\t\treturn dialog;\r\n\t},\r\n\thideDialog : function() {\r\n\t\tvar self = this;\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tself.dialogs.pop().remove();\r\n\t\t}\r\n\t\tif (self.dialogs.length > 0) {\r\n\t\t\tvar firstDialog = self.dialogs[0],\r\n\t\t\t\tparentDialog = self.dialogs[self.dialogs.length - 1];\r\n\t\t\tfirstDialog.setMaskIndex(parentDialog.z - 1);\r\n\t\t}\r\n\t\treturn self;\r\n\t},\r\n\terrorDialog : function(html) {\r\n\t\tvar self = this;\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\twidth : 750,\r\n\t\t\ttitle : self.lang('uploadError'),\r\n\t\t\tbody : '<div style=\"padding:10px 20px;\"><iframe frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe></div>'\r\n\t\t});\r\n\t\tvar iframe = K('iframe', dialog.div), doc = K.iframeDoc(iframe);\r\n\t\tdoc.open();\r\n\t\tdoc.write(html);\r\n\t\tdoc.close();\r\n\t\tK(doc.body).css('background-color', '#FFF');\r\n\t\tiframe[0].contentWindow.focus();\r\n\t\treturn self;\r\n\t}\r\n};\r\nfunction _editor(options) {\r\n\treturn new KEditor(options);\r\n}\r\n_instances = [];\r\nfunction _create(expr, options) {\r\n\toptions = options || {};\r\n\toptions.basePath = _undef(options.basePath, K.basePath);\r\n\toptions.themesPath = _undef(options.themesPath, options.basePath + 'themes/');\r\n\toptions.langPath = _undef(options.langPath, options.basePath + 'lang/');\r\n\toptions.pluginsPath = _undef(options.pluginsPath, options.basePath + 'plugins/');\r\n\tif (_undef(options.loadStyleMode, K.options.loadStyleMode)) {\r\n\t\tvar themeType = _undef(options.themeType, K.options.themeType);\r\n\t\t_loadStyle(options.themesPath + 'default/default.css');\r\n\t\t_loadStyle(options.themesPath + themeType + '/' + themeType + '.css');\r\n\t}\r\n\tfunction create(editor) {\r\n\t\t_each(_plugins, function(name, fn) {\r\n\t\t\tif (_isFunction(fn)) {\r\n\t\t\t\tfn.call(editor, KindEditor);\r\n\t\t\t\tif (!editor._pluginStatus) {\r\n\t\t\t\t\teditor._pluginStatus = {};\r\n\t\t\t\t}\r\n\t\t\t\teditor._pluginStatus[name] = 'inited';\r\n\t\t\t}\r\n\t\t});\r\n\t\treturn editor.create();\r\n\t}\r\n\tvar knode = K(expr);\r\n\tif (!knode || knode.length === 0) {\r\n\t\treturn;\r\n\t}\r\n\tif (knode.length > 1) {\r\n\t\tknode.each(function() {\r\n\t\t\t_create(this, options);\r\n\t\t});\r\n\t\treturn _instances[0];\r\n\t}\r\n\toptions.srcElement = knode[0];\r\n\tvar editor = new KEditor(options);\r\n\t_instances.push(editor);\r\n\tif (_language[editor.langType]) {\r\n\t\treturn create(editor);\r\n\t}\r\n\t_loadScript(editor.langPath + editor.langType + '.js?ver=' + encodeURIComponent(K.DEBUG ? _TIME : _VERSION), function() {\r\n\t\tcreate(editor);\r\n\t});\r\n\treturn editor;\r\n}\r\nfunction _eachEditor(expr, fn) {\r\n\tK(expr).each(function(i, el) {\r\n\t\tK.each(_instances, function(j, editor) {\r\n\t\t\tif (editor && editor.srcElement[0] == el) {\r\n\t\t\t\tfn.call(editor, j);\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n}\r\nK.remove = function(expr) {\r\n\t_eachEditor(expr, function(i) {\r\n\t\tthis.remove();\r\n\t\t_instances.splice(i, 1);\r\n\t});\r\n};\r\nK.sync = function(expr) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.sync();\r\n\t});\r\n};\r\nK.html = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.html(val);\r\n\t});\r\n};\r\nK.insertHtml = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.insertHtml(val);\r\n\t});\r\n};\r\nK.appendHtml = function(expr, val) {\r\n\t_eachEditor(expr, function() {\r\n\t\tthis.appendHtml(val);\r\n\t});\r\n};\r\n\r\r\nif (_IE && _V < 7) {\r\n\t_nativeCommand(document, 'BackgroundImageCache', true);\r\n}\r\nK.EditorClass = KEditor;\r\nK.editor = _editor;\r\nK.create = _create;\r\nK.instances = _instances;\r\nK.plugin = _plugin;\r\nK.lang = _lang;\r\n\r\r\n_plugin('core', function(K) {\r\n\tvar self = this,\r\n\t\tshortcutKeys = {\r\n\t\t\tundo : 'Z', redo : 'Y', bold : 'B', italic : 'I', underline : 'U', print : 'P', selectall : 'A'\r\n\t\t};\r\n\tself.afterSetHtml(function() {\r\n\t\tif (self.options.afterChange) {\r\n\t\t\tself.options.afterChange.call(self);\r\n\t\t}\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tif (self.syncType != 'form') {\r\n\t\t\treturn;\r\n\t\t}\r\n\t\tvar el = K(self.srcElement), hasForm = false;\r\n\t\twhile ((el = el.parent())) {\r\n\t\t\tif (el.name == 'form') {\r\n\t\t\t\thasForm = true;\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t}\r\n\t\tif (hasForm) {\r\n\t\t\tel.bind('submit', function(e) {\r\n\t\t\t\tself.sync();\r\n\t\t\t\tK(window).bind('unload', function() {\r\n\t\t\t\t\tself.edit.textarea.remove();\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t\tvar resetBtn = K('[type=\"reset\"]', el);\r\n\t\t\tresetBtn.click(function() {\r\n\t\t\t\tself.html(self.initContent);\r\n\t\t\t\tself.cmd.selection();\r\n\t\t\t});\r\n\t\t\tself.beforeRemove(function() {\r\n\t\t\t\tel.unbind();\r\n\t\t\t\tresetBtn.unbind();\r\n\t\t\t});\r\n\t\t}\r\n\t});\r\n\tself.clickToolbar('source', function() {\r\n\t\tif (self.edit.designMode) {\r\n\t\t\tself.toolbar.disableAll(true);\r\n\t\t\tself.edit.design(false);\r\n\t\t\tself.toolbar.select('source');\r\n\t\t} else {\r\n\t\t\tself.toolbar.disableAll(false);\r\n\t\t\tself.edit.design(true);\r\n\t\t\tself.toolbar.unselect('source');\r\n\t\t\tif (_GECKO) {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tself.cmd.selection();\r\n\t\t\t\t}, 0);\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection();\r\n\t\t\t}\r\n\t\t}\r\n\t\tself.designMode = self.edit.designMode;\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tif (!self.designMode) {\r\n\t\t\tself.toolbar.disableAll(true).select('source');\r\n\t\t}\r\n\t});\r\n\tself.clickToolbar('fullscreen', function() {\r\n\t\tself.fullscreen();\r\n\t});\r\n\tif (self.fullscreenShortcut) {\r\n\t\tvar loaded = false;\r\n\t\tself.afterCreate(function() {\r\n\t\t\tK(self.edit.doc, self.edit.textarea).keyup(function(e) {\r\n\t\t\t\tif (e.which == 27) {\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tself.fullscreen();\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tif (loaded) {\r\n\t\t\t\tif (_IE && !self.designMode) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\tself.focus();\r\n\t\t\t}\r\n\t\t\tif (!loaded) {\r\n\t\t\t\tloaded = true;\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\t_each('undo,redo'.split(','), function(i, name) {\r\n\t\tif (shortcutKeys[name]) {\r\n\t\t\tself.afterCreate(function() {\r\n\t\t\t\t_ctrl(this.edit.doc, shortcutKeys[name], function() {\r\n\t\t\t\t\tself.clickToolbar(name);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself[name]();\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('formatblock', function() {\r\n\t\tvar blocks = self.lang('formatblock.formatBlock'),\r\n\t\t\theights = {\r\n\t\t\t\th1 : 28,\r\n\t\t\t\th2 : 24,\r\n\t\t\t\th3 : 18,\r\n\t\t\t\tH4 : 14,\r\n\t\t\t\tp : 12\r\n\t\t\t},\r\n\t\t\tcurVal = self.cmd.val('formatblock'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'formatblock',\r\n\t\t\t\twidth : self.langType == 'en' ? 200 : 150\r\n\t\t\t});\r\n\t\t_each(blocks, function(key, val) {\r\n\t\t\tvar style = 'font-size:' + heights[key] + 'px;';\r\n\t\t\tif (key.charAt(0) === 'h') {\r\n\t\t\t\tstyle += 'font-weight:bold;';\r\n\t\t\t}\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"' + style + '\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\theight : heights[key] + 12,\r\n\t\t\t\tchecked : (curVal === key || curVal === val),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.select().exec('formatblock', '<' + key + '>').hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('fontname', function() {\r\n\t\tvar curVal = self.cmd.val('fontname'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'fontname',\r\n\t\t\t\twidth : 150\r\n\t\t\t});\r\n\t\t_each(self.lang('fontname.fontName'), function(key, val) {\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"font-family: ' + key + ';\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\tchecked : (curVal === key.toLowerCase() || curVal === val.toLowerCase()),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.exec('fontname', key).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('fontsize', function() {\r\n\t\tvar curVal = self.cmd.val('fontsize'),\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : 'fontsize',\r\n\t\t\t\twidth : 150\r\n\t\t\t});\r\n\t\t_each(self.fontSizeTable, function(i, val) {\r\n\t\t\tmenu.addItem({\r\n\t\t\t\ttitle : '<span style=\"font-size:' + val + ';\" unselectable=\"on\">' + val + '</span>',\r\n\t\t\t\theight : _removeUnit(val) + 12,\r\n\t\t\t\tchecked : curVal === val,\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.exec('fontsize', val).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\t_each('forecolor,hilitecolor'.split(','), function(i, name) {\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.createMenu({\r\n\t\t\t\tname : name,\r\n\t\t\t\tselectedColor : self.cmd.val(name) || 'default',\r\n\t\t\t\tcolors : self.colorTable,\r\n\t\t\t\tclick : function(color) {\r\n\t\t\t\t\tself.exec(name, color).hideMenu();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n\t_each(('cut,copy,paste').split(','), function(i, name) {\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.focus();\r\n\t\t\ttry {\r\n\t\t\t\tself.exec(name, null);\r\n\t\t\t} catch(e) {\r\n\t\t\t\talert(self.lang(name + 'Error'));\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\tself.clickToolbar('about', function() {\r\n\t\tvar html = '<div style=\"margin:20px;\">' +\r\n\t\t\t'<div>KindEditor ' + _VERSION + '</div>' +\r\n\t\t\t'<div>Copyright &copy; <a href=\"http://www.kindsoft.net/\" target=\"_blank\">kindsoft.net</a> All rights reserved.</div>' +\r\n\t\t\t'</div>';\r\n\t\tself.createDialog({\r\n\t\t\tname : 'about',\r\n\t\t\twidth : 350,\r\n\t\t\ttitle : self.lang('about'),\r\n\t\t\tbody : html\r\n\t\t});\r\n\t});\r\n\tself.plugin.getSelectedLink = function() {\r\n\t\treturn self.cmd.commonAncestor('a');\r\n\t};\r\n\tself.plugin.getSelectedImage = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn !/^ke-\\w+$/i.test(img[0].className);\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedFlash = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-flash';\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedMedia = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-media' || img[0].className == 'ke-rm';\r\n\t\t});\r\n\t};\r\n\tself.plugin.getSelectedAnchor = function() {\r\n\t\treturn _getImageFromRange(self.edit.cmd.range, function(img) {\r\n\t\t\treturn img[0].className == 'ke-anchor';\r\n\t\t});\r\n\t};\r\n\t_each('link,image,flash,media,anchor'.split(','), function(i, name) {\r\n\t\tvar uName = name.charAt(0).toUpperCase() + name.substr(1);\r\n\t\t_each('edit,delete'.split(','), function(j, val) {\r\n\t\t\tself.addContextmenu({\r\n\t\t\t\ttitle : self.lang(val + uName),\r\n\t\t\t\tclick : function() {\r\n\t\t\t\t\tself.loadPlugin(name, function() {\r\n\t\t\t\t\t\tself.plugin[name][val]();\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t});\r\n\t\t\t\t},\r\n\t\t\t\tcond : self.plugin['getSelected' + uName],\r\n\t\t\t\twidth : 150,\r\n\t\t\t\ticonClass : val == 'edit' ? 'ke-icon-' + name : undefined\r\n\t\t\t});\r\n\t\t});\r\n\t\tself.addContextmenu({ title : '-' });\r\n\t});\r\n\tself.plugin.getSelectedTable = function() {\r\n\t\treturn self.cmd.commonAncestor('table');\r\n\t};\r\n\tself.plugin.getSelectedRow = function() {\r\n\t\treturn self.cmd.commonAncestor('tr');\r\n\t};\r\n\tself.plugin.getSelectedCell = function() {\r\n\t\treturn self.cmd.commonAncestor('td');\r\n\t};\r\n\t_each(('prop,cellprop,colinsertleft,colinsertright,rowinsertabove,rowinsertbelow,rowmerge,colmerge,' +\r\n\t'rowsplit,colsplit,coldelete,rowdelete,insert,delete').split(','), function(i, val) {\r\n\t\tvar cond = _inArray(val, ['prop', 'delete']) < 0 ? self.plugin.getSelectedCell : self.plugin.getSelectedTable;\r\n\t\tself.addContextmenu({\r\n\t\t\ttitle : self.lang('table' + val),\r\n\t\t\tclick : function() {\r\n\t\t\t\tself.loadPlugin('table', function() {\r\n\t\t\t\t\tself.plugin.table[val]();\r\n\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\tcond : cond,\r\n\t\t\twidth : 170,\r\n\t\t\ticonClass : 'ke-icon-table' + val\r\n\t\t});\r\n\t});\r\n\tself.addContextmenu({ title : '-' });\r\n\t_each(('selectall,justifyleft,justifycenter,justifyright,justifyfull,insertorderedlist,' +\r\n\t\t'insertunorderedlist,indent,outdent,subscript,superscript,hr,print,' +\r\n\t\t'bold,italic,underline,strikethrough,removeformat,unlink').split(','), function(i, name) {\r\n\t\tif (shortcutKeys[name]) {\r\n\t\t\tself.afterCreate(function() {\r\n\t\t\t\t_ctrl(this.edit.doc, shortcutKeys[name], function() {\r\n\t\t\t\t\tself.cmd.selection();\r\n\t\t\t\t\tself.clickToolbar(name);\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t}\r\n\t\tself.clickToolbar(name, function() {\r\n\t\t\tself.focus().exec(name, null);\r\n\t\t});\r\n\t});\r\n\tself.afterCreate(function() {\r\n\t\tvar doc = self.edit.doc, cmd, bookmark, div,\r\n\t\t\tcls = '__kindeditor_paste__', pasting = false;\r\n\t\tfunction movePastedData() {\r\n\t\t\tcmd.range.moveToBookmark(bookmark);\r\n\t\t\tcmd.select();\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\tK('div.' + cls, div).each(function() {\r\n\t\t\t\t\tK(this).after('<br />').remove(true);\r\n\t\t\t\t});\r\n\t\t\t\tK('span.Apple-style-span', div).remove(true);\r\n\t\t\t\tK('span.Apple-tab-span', div).remove(true);\r\n\t\t\t\tK('span[style]', div).each(function() {\r\n\t\t\t\t\tif (K(this).css('white-space') == 'nowrap') {\r\n\t\t\t\t\t\tK(this).remove(true);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tK('meta', div).remove();\r\n\t\t\t}\r\n\t\t\tvar html = div[0].innerHTML;\r\n\t\t\tdiv.remove();\r\n\t\t\tif (html === '') {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (_WEBKIT) {\r\n\t\t\t\thtml = html.replace(/(<br>)\\1/ig, '$1');\r\n\t\t\t}\r\n\t\t\tif (self.pasteType === 2) {\r\n\t\t\t\thtml = html.replace(/(<(?:p|p\\s[^>]*)>) *(<\\/p>)/ig, '');\r\n\t\t\t\tif (/schemas-microsoft-com|worddocument|mso-\\w+/i.test(html)) {\r\n\t\t\t\t\thtml = _clearMsWord(html, self.filterMode ? self.htmlTags : K.options.htmlTags);\r\n\t\t\t\t} else {\r\n\t\t\t\t\thtml = _formatHtml(html, self.filterMode ? self.htmlTags : null);\r\n\t\t\t\t\thtml = self.beforeSetHtml(html);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (self.pasteType === 1) {\r\n\t\t\t\thtml = html.replace(/&nbsp;/ig, ' ');\r\n\t\t\t\thtml = html.replace(/\\n\\s*\\n/g, '\\n');\r\n\t\t\t\thtml = html.replace(/<br[^>]*>/ig, '\\n');\r\n\t\t\t\thtml = html.replace(/<\\/p><p[^>]*>/ig, '\\n');\r\n\t\t\t\thtml = html.replace(/<[^>]+>/g, '');\r\n\t\t\t\thtml = html.replace(/ {2}/g, ' &nbsp;');\r\n\t\t\t\tif (self.newlineTag == 'p') {\r\n\t\t\t\t\tif (/\\n/.test(html)) {\r\n\t\t\t\t\t\thtml = html.replace(/^/, '<p>').replace(/$/, '<br /></p>').replace(/\\n/g, '<br /></p><p>');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\thtml = html.replace(/\\n/g, '<br />$&');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tself.insertHtml(html, true);\r\n\t\t}\r\n\t\tK(doc.body).bind('paste', function(e){\r\n\t\t\tif (self.pasteType === 0) {\r\n\t\t\t\te.stop();\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tif (pasting) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tpasting = true;\r\n\t\t\tK('div.' + cls, doc).remove();\r\n\t\t\tcmd = self.cmd.selection();\r\n\t\t\tbookmark = cmd.range.createBookmark();\r\n\t\t\tdiv = K('<div class=\"' + cls + '\"></div>', doc).css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\twidth : '1px',\r\n\t\t\t\theight : '1px',\r\n\t\t\t\toverflow : 'hidden',\r\n\t\t\t\tleft : '-1981px',\r\n\t\t\t\ttop : K(bookmark.start).pos().y + 'px',\r\n\t\t\t\t'white-space' : 'nowrap'\r\n\t\t\t});\r\n\t\t\tK(doc.body).append(div);\r\n\t\t\tif (_IE) {\r\n\t\t\t\tvar rng = cmd.range.get(true);\r\n\t\t\t\trng.moveToElementText(div[0]);\r\n\t\t\t\trng.select();\r\n\t\t\t\trng.execCommand('paste');\r\n\t\t\t\te.preventDefault();\r\n\t\t\t} else {\r\n\t\t\t\tcmd.range.selectNodeContents(div[0]);\r\n\t\t\t\tcmd.select();\r\n\t\t\t\tdiv[0].tabIndex = -1;\r\n\t\t\t\tdiv[0].focus();\r\n\t\t\t}\r\n\t\t\tsetTimeout(function() {\r\n\t\t\t\tmovePastedData();\r\n\t\t\t\tpasting = false;\r\n\t\t\t}, 0);\r\n\t\t});\r\n\t});\r\n\tself.beforeGetHtml(function(html) {\r\n\t\tif (_IE && _V <= 8) {\r\n\t\t\thtml = html.replace(/<div\\s+[^>]*data-ke-input-tag=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, tag) {\r\n\t\t\t\treturn unescape(tag);\r\n\t\t\t});\r\n\t\t\thtml = html.replace(/(<input)((?:\\s+[^>]*)?>)/ig, function($0, $1, $2) {\r\n\t\t\t\tif (!/\\s+type=\"[^\"]+\"/i.test($0)) {\r\n\t\t\t\t\treturn $1 + ' type=\"text\"' + $2;\r\n\t\t\t\t}\r\n\t\t\t\treturn $0;\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn html.replace(/(<(?:noscript|noscript\\s[^>]*)>)([\\s\\S]*?)(<\\/noscript>)/ig, function($0, $1, $2, $3) {\r\n\t\t\treturn $1 + _unescape($2).replace(/\\s+/g, ' ') + $3;\r\n\t\t})\r\n\t\t.replace(/<img[^>]*class=\"?ke-(flash|rm|media)\"?[^>]*>/ig, function(full) {\r\n\t\t\tvar imgAttrs = _getAttrList(full);\r\n\t\t\tvar styles = _getCssList(imgAttrs.style || '');\r\n\t\t\tvar attrs = _mediaAttrs(imgAttrs['data-ke-tag']);\r\n\t\t\tvar width = _undef(styles.width, '');\r\n\t\t\tvar height = _undef(styles.height, '');\r\n\t\t\tif (/px/i.test(width)) {\r\n\t\t\t\twidth = _removeUnit(width);\r\n\t\t\t}\r\n\t\t\tif (/px/i.test(height)) {\r\n\t\t\t\theight = _removeUnit(height);\r\n\t\t\t}\r\n\t\t\tattrs.width = _undef(imgAttrs.width, width);\r\n\t\t\tattrs.height = _undef(imgAttrs.height, height);\r\n\t\t\treturn _mediaEmbed(attrs);\r\n\t\t})\r\n\t\t.replace(/<img[^>]*class=\"?ke-anchor\"?[^>]*>/ig, function(full) {\r\n\t\t\tvar imgAttrs = _getAttrList(full);\r\n\t\t\treturn '<a name=\"' + unescape(imgAttrs['data-ke-name']) + '\"></a>';\r\n\t\t})\r\n\t\t.replace(/<div\\s+[^>]*data-ke-script-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, attr, code) {\r\n\t\t\treturn '<script' + unescape(attr) + '>' + unescape(code) + '</script>';\r\n\t\t})\r\n\t\t.replace(/<div\\s+[^>]*data-ke-noscript-attr=\"([^\"]*)\"[^>]*>([\\s\\S]*?)<\\/div>/ig, function(full, attr, code) {\r\n\t\t\treturn '<noscript' + unescape(attr) + '>' + unescape(code) + '</noscript>';\r\n\t\t})\r\n\t\t.replace(/(<[^>]*)data-ke-src=\"([^\"]*)\"([^>]*>)/ig, function(full, start, src, end) {\r\n\t\t\tfull = full.replace(/(\\s+(?:href|src)=\")[^\"]*(\")/i, function($0, $1, $2) {\r\n\t\t\t\treturn $1 + _unescape(src) + $2;\r\n\t\t\t});\r\n\t\t\tfull = full.replace(/\\s+data-ke-src=\"[^\"]*\"/i, '');\r\n\t\t\treturn full;\r\n\t\t})\r\n\t\t.replace(/(<[^>]+\\s)data-ke-(on\\w+=\"[^\"]*\"[^>]*>)/ig, function(full, start, end) {\r\n\t\t\treturn start + end;\r\n\t\t});\r\n\t});\r\n\tself.beforeSetHtml(function(html) {\r\n\t\tif (_IE && _V <= 8) {\r\n\t\t\thtml = html.replace(/<input[^>]*>|<(select|button)[^>]*>[\\s\\S]*?<\\/\\1>/ig, function(full) {\r\n\t\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\t\tvar styles = _getCssList(attrs.style || '');\r\n\t\t\t\tif (styles.display == 'none') {\r\n\t\t\t\t\treturn '<div class=\"ke-display-none\" data-ke-input-tag=\"' + escape(full) + '\"></div>';\r\n\t\t\t\t}\r\n\t\t\t\treturn full;\r\n\t\t\t});\r\n\t\t}\r\n\t\treturn html.replace(/<embed[^>]*type=\"([^\"]+)\"[^>]*>(?:<\\/embed>)?/ig, function(full) {\r\n\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\tattrs.src = _undef(attrs.src, '');\r\n\t\t\tattrs.width = _undef(attrs.width, 0);\r\n\t\t\tattrs.height = _undef(attrs.height, 0);\r\n\t\t\treturn _mediaImg(self.themesPath + 'common/blank.gif', attrs);\r\n\t\t})\r\n\t\t.replace(/<a[^>]*name=\"([^\"]+)\"[^>]*>(?:<\\/a>)?/ig, function(full) {\r\n\t\t\tvar attrs = _getAttrList(full);\r\n\t\t\tif (attrs.href !== undefined) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\treturn '<img class=\"ke-anchor\" src=\"' + self.themesPath + 'common/anchor.gif\" data-ke-name=\"' + escape(attrs.name) + '\" />';\r\n\t\t})\r\n\t\t.replace(/<script([^>]*)>([\\s\\S]*?)<\\/script>/ig, function(full, attr, code) {\r\n\t\t\treturn '<div class=\"ke-script\" data-ke-script-attr=\"' + escape(attr) + '\">' + escape(code) + '</div>';\r\n\t\t})\r\n\t\t.replace(/<noscript([^>]*)>([\\s\\S]*?)<\\/noscript>/ig, function(full, attr, code) {\r\n\t\t\treturn '<div class=\"ke-noscript\" data-ke-noscript-attr=\"' + escape(attr) + '\">' + escape(code) + '</div>';\r\n\t\t})\r\n\t\t.replace(/(<[^>]*)(href|src)=\"([^\"]*)\"([^>]*>)/ig, function(full, start, key, src, end) {\r\n\t\t\tif (full.match(/\\sdata-ke-src=\"[^\"]*\"/i)) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\tfull = start + key + '=\"' + src + '\"' + ' data-ke-src=\"' + _escape(src) + '\"' + end;\r\n\t\t\treturn full;\r\n\t\t})\r\n\t\t.replace(/(<[^>]+\\s)(on\\w+=\"[^\"]*\"[^>]*>)/ig, function(full, start, end) {\r\n\t\t\treturn start + 'data-ke-' + end;\r\n\t\t})\r\n\t\t.replace(/<table[^>]*\\s+border=\"0\"[^>]*>/ig, function(full) {\r\n\t\t\tif (full.indexOf('ke-zeroborder') >= 0) {\r\n\t\t\t\treturn full;\r\n\t\t\t}\r\n\t\t\treturn _addClassToTag(full, 'ke-zeroborder');\r\n\t\t});\r\n\t});\r\n});\r\n\n\r\n})(window);\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.lang({\r\n\tsource : 'HTML代码',\r\n\tpreview : '预览',\r\n\tundo : '后退(Ctrl+Z)',\r\n\tredo : '前进(Ctrl+Y)',\r\n\tcut : '剪切(Ctrl+X)',\r\n\tcopy : '复制(Ctrl+C)',\r\n\tpaste : '粘贴(Ctrl+V)',\r\n\tplainpaste : '粘贴为无格式文本',\r\n\twordpaste : '从Word粘贴',\r\n\tselectall : '全选(Ctrl+A)',\r\n\tjustifyleft : '左对齐',\r\n\tjustifycenter : '居中',\r\n\tjustifyright : '右对齐',\r\n\tjustifyfull : '两端对齐',\r\n\tinsertorderedlist : '编号',\r\n\tinsertunorderedlist : '项目符号',\r\n\tindent : '增加缩进',\r\n\toutdent : '减少缩进',\r\n\tsubscript : '下标',\r\n\tsuperscript : '上标',\r\n\tformatblock : '段落',\r\n\tfontname : '字体',\r\n\tfontsize : '文字大小',\r\n\tforecolor : '文字颜色',\r\n\thilitecolor : '文字背景',\r\n\tbold : '粗体(Ctrl+B)',\r\n\titalic : '斜体(Ctrl+I)',\r\n\tunderline : '下划线(Ctrl+U)',\r\n\tstrikethrough : '删除线',\r\n\tremoveformat : '删除格式',\r\n\timage : '图片',\r\n\tuploadImage : '插入图片',\r\n\tmultiimage : '批量图片上传',\r\n\tflash : 'Flash',\r\n\tmedia : '视音频',\r\n\ttable : '表格',\r\n\ttablecell : '单元格',\r\n\thr : '插入横线',\r\n\temoticons : '插入表情',\r\n\tlink : '超级链接',\r\n\tunlink : '取消超级链接',\r\n\tfullscreen : '全屏显示',\r\n\tabout : '关于',\r\n\tprint : '打印(Ctrl+P)',\r\n\tfilemanager : '文件空间',\r\n\tcode : '插入程序代码',\r\n\tmap : 'Google地图',\r\n\tbaidumap : '百度地图',\r\n\tlineheight : '行距',\r\n\tclearhtml : '清理HTML代码',\r\n\tpagebreak : '插入分页符',\r\n\tquickformat : '一键排版',\r\n\tinsertfile : '插入文件',\r\n\ttemplate : '插入模板',\r\n\tanchor : '锚点',\r\n\tyes : '确定',\r\n\tno : '取消',\r\n\tclose : '关闭',\r\n\teditImage : '图片属性',\r\n\tdeleteImage : '删除图片',\r\n\teditFlash : 'Flash属性',\r\n\tdeleteFlash : '删除Flash',\r\n\teditMedia : '视音频属性',\r\n\tdeleteMedia : '删除视音频',\r\n\teditLink : '超级链接属性',\r\n\tdeleteLink : '取消超级链接',\r\n\teditAnchor : '锚点属性',\r\n\tdeleteAnchor : '删除锚点',\r\n\ttableprop : '表格属性',\r\n\ttablecellprop : '单元格属性',\r\n\ttableinsert : '插入表格',\r\n\ttabledelete : '删除表格',\r\n\ttablecolinsertleft : '左侧插入列',\r\n\ttablecolinsertright : '右侧插入列',\r\n\ttablerowinsertabove : '上方插入行',\r\n\ttablerowinsertbelow : '下方插入行',\r\n\ttablerowmerge : '向下合并单元格',\r\n\ttablecolmerge : '向右合并单元格',\r\n\ttablerowsplit : '拆分行',\r\n\ttablecolsplit : '拆分列',\r\n\ttablecoldelete : '删除列',\r\n\ttablerowdelete : '删除行',\r\n\tnoColor : '无颜色',\r\n\tpleaseSelectFile : '请选择文件。',\r\n\tinvalidImg : \"请输入有效的URL地址。\\n只允许jpg,gif,bmp,png格式。\",\r\n\tinvalidMedia : \"请输入有效的URL地址。\\n只允许swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb格式。\",\r\n\tinvalidWidth : \"宽度必须为数字。\",\r\n\tinvalidHeight : \"高度必须为数字。\",\r\n\tinvalidBorder : \"边框必须为数字。\",\r\n\tinvalidUrl : \"请输入有效的URL地址。\",\r\n\tinvalidRows : '行数为必选项,只允许输入大于0的数字。',\r\n\tinvalidCols : '列数为必选项,只允许输入大于0的数字。',\r\n\tinvalidPadding : '边距必须为数字。',\r\n\tinvalidSpacing : '间距必须为数字。',\r\n\tinvalidJson : '服务器发生故障。',\r\n\tuploadSuccess : '上传成功。',\r\n\tcutError : '您的浏览器安全设置不允许使用剪切操作,请使用快捷键(Ctrl+X)来完成。',\r\n\tcopyError : '您的浏览器安全设置不允许使用复制操作,请使用快捷键(Ctrl+C)来完成。',\r\n\tpasteError : '您的浏览器安全设置不允许使用粘贴操作,请使用快捷键(Ctrl+V)来完成。',\r\n\tajaxLoading : '加载中,请稍候 ...',\r\n\tuploadLoading : '上传中,请稍候 ...',\r\n\tuploadError : '上传错误',\r\n\t'plainpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',\r\n\t'wordpaste.comment' : '请使用快捷键(Ctrl+V)把内容粘贴到下面的方框里。',\r\n\t'code.pleaseInput' : '请输入程序代码。',\r\n\t'link.url' : 'URL',\r\n\t'link.linkType' : '打开类型',\r\n\t'link.newWindow' : '新窗口',\r\n\t'link.selfWindow' : '当前窗口',\r\n\t'flash.url' : 'URL',\r\n\t'flash.width' : '宽度',\r\n\t'flash.height' : '高度',\r\n\t'flash.upload' : '上传',\r\n\t'flash.viewServer' : '文件空间',\r\n\t'media.url' : 'URL',\r\n\t'media.width' : '宽度',\r\n\t'media.height' : '高度',\r\n\t'media.autostart' : '自动播放',\r\n\t'media.upload' : '上传',\r\n\t'media.viewServer' : '文件空间',\r\n\t'image.remoteImage' : '网络图片',\r\n\t'image.localImage' : '本地上传',\r\n\t'image.remoteUrl' : '图片地址',\r\n\t'image.localUrl' : '上传文件',\r\n\t'image.size' : '图片大小',\r\n\t'image.width' : '宽',\r\n\t'image.height' : '高',\r\n\t'image.resetSize' : '重置大小',\r\n\t'image.align' : '对齐方式',\r\n\t'image.defaultAlign' : '默认方式',\r\n\t'image.leftAlign' : '左对齐',\r\n\t'image.rightAlign' : '右对齐',\r\n\t'image.imgTitle' : '图片说明',\r\n\t'image.upload' : '浏览...',\r\n\t'image.viewServer' : '本地上传',\r\n\t'multiimage.uploadDesc' : '允许用户同时上传<%=uploadLimit%>张图片,单张图片容量不超过<%=sizeLimit%>',\r\n\t'multiimage.startUpload' : '开始上传',\r\n\t'multiimage.clearAll' : '全部清空',\r\n\t'multiimage.insertAll' : '全部插入',\r\n\t'multiimage.queueLimitExceeded' : '文件数量超过限制。',\r\n\t'multiimage.fileExceedsSizeLimit' : '文件大小超过限制。',\r\n\t'multiimage.zeroByteFile' : '无法上传空文件。',\r\n\t'multiimage.invalidFiletype' : '文件类型不正确。',\r\n\t'multiimage.unknownError' : '发生异常,无法上传。',\r\n\t'multiimage.pending' : '等待上传',\r\n\t'multiimage.uploadError' : '上传失败',\r\n\t'filemanager.emptyFolder' : '空文件夹',\r\n\t'filemanager.moveup' : '移到上一级文件夹',\r\n\t'filemanager.viewType' : '显示方式:',\r\n\t'filemanager.viewImage' : '缩略图',\r\n\t'filemanager.listImage' : '详细信息',\r\n\t'filemanager.orderType' : '排序方式:',\r\n\t'filemanager.fileName' : '名称',\r\n\t'filemanager.fileSize' : '大小',\r\n\t'filemanager.fileType' : '类型',\r\n\t'insertfile.url' : 'URL',\r\n\t'insertfile.title' : '文件说明',\r\n\t'insertfile.upload' : '上传',\r\n\t'insertfile.viewServer' : '文件空间',\r\n\t'table.cells' : '单元格数',\r\n\t'table.rows' : '行数',\r\n\t'table.cols' : '列数',\r\n\t'table.size' : '大小',\r\n\t'table.width' : '宽度',\r\n\t'table.height' : '高度',\r\n\t'table.percent' : '%',\r\n\t'table.px' : 'px',\r\n\t'table.space' : '边距间距',\r\n\t'table.padding' : '边距',\r\n\t'table.spacing' : '间距',\r\n\t'table.align' : '对齐方式',\r\n\t'table.textAlign' : '水平对齐',\r\n\t'table.verticalAlign' : '垂直对齐',\r\n\t'table.alignDefault' : '默认',\r\n\t'table.alignLeft' : '左对齐',\r\n\t'table.alignCenter' : '居中',\r\n\t'table.alignRight' : '右对齐',\r\n\t'table.alignTop' : '顶部',\r\n\t'table.alignMiddle' : '中部',\r\n\t'table.alignBottom' : '底部',\r\n\t'table.alignBaseline' : '基线',\r\n\t'table.border' : '边框',\r\n\t'table.borderWidth' : '边框',\r\n\t'table.borderColor' : '颜色',\r\n\t'table.backgroundColor' : '背景颜色',\r\n\t'map.address' : '地址: ',\r\n\t'map.search' : '搜索',\r\n\t'baidumap.address' : '地址: ',\r\n\t'baidumap.search' : '搜索',\r\n\t'baidumap.insertDynamicMap' : '插入动态地图',\r\n\t'anchor.name' : '锚点名称',\r\n\t'formatblock.formatBlock' : {\r\n\t\th1 : '标题 1',\r\n\t\th2 : '标题 2',\r\n\t\th3 : '标题 3',\r\n\t\th4 : '标题 4',\r\n\t\tp : '正 文'\r\n\t},\r\n\t'fontname.fontName' : {\r\n\t\t'SimSun' : '宋体',\r\n\t\t'NSimSun' : '新宋体',\r\n\t\t'FangSong_GB2312' : '仿宋_GB2312',\r\n\t\t'KaiTi_GB2312' : '楷体_GB2312',\r\n\t\t'SimHei' : '黑体',\r\n\t\t'Microsoft YaHei' : '微软雅黑',\r\n\t\t'Arial' : 'Arial',\r\n\t\t'Arial Black' : 'Arial Black',\r\n\t\t'Times New Roman' : 'Times New Roman',\r\n\t\t'Courier New' : 'Courier New',\r\n\t\t'Tahoma' : 'Tahoma',\r\n\t\t'Verdana' : 'Verdana'\r\n\t},\r\n\t'lineheight.lineHeight' : [\r\n\t\t{'1' : '单倍行距'},\r\n\t\t{'1.5' : '1.5倍行距'},\r\n\t\t{'2' : '2倍行距'},\r\n\t\t{'2.5' : '2.5倍行距'},\r\n\t\t{'3' : '3倍行距'}\r\n\t],\r\n\t'template.selectTemplate' : '可选模板',\r\n\t'template.replaceContent' : '替换当前内容',\r\n\t'template.fileList' : {\r\n\t\t'1.html' : '图片和文字',\r\n\t\t'2.html' : '表格',\r\n\t\t'3.html' : '项目编号'\r\n\t}\r\n}, 'zh-CN');\r\nKindEditor.options.langType = 'zh-CN';\n/*******************************************************************************\n* KindEditor - WYSIWYG HTML Editor for Internet\n* Copyright (C) 2006-2011 kindsoft.net\n*\n* @author Roddy <luolonghao@gmail.com>\n* @site http://www.kindsoft.net/\n* @licence http://www.kindsoft.net/license.php\n*******************************************************************************/\nKindEditor.plugin('anchor', function(K) {\n\tvar self = this, name = 'anchor', lang = self.lang(name + '.');\n\tself.plugin.anchor = {\n\t\tedit : function() {\n\t\t\tvar html = ['<div style=\"padding:20px;\">',\n\t\t\t\t\t'<div class=\"ke-dialog-row\">',\n\t\t\t\t\t'<label for=\"keName\">' + lang.name + '</label>',\n\t\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keName\" name=\"name\" value=\"\" style=\"width:100px;\" />',\n\t\t\t\t\t'</div>',\n\t\t\t\t\t'</div>'].join('');\n\t\t\tvar dialog = self.createDialog({\n\t\t\t\tname : name,\n\t\t\t\twidth : 300,\n\t\t\t\ttitle : self.lang(name),\n\t\t\t\tbody : html,\n\t\t\t\tyesBtn : {\n\t\t\t\t\tname : self.lang('yes'),\n\t\t\t\t\tclick : function(e) {\n\t\t\t\t\t\tself.insertHtml('<a name=\"' + nameBox.val() + '\">').hideDialog().focus();\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t\tvar div = dialog.div,\n\t\t\t\tnameBox = K('input[name=\"name\"]', div);\n\t\t\tvar img = self.plugin.getSelectedAnchor();\n\t\t\tif (img) {\n\t\t\t\tnameBox.val(unescape(img.attr('data-ke-name')));\n\t\t\t}\n\t\t\tnameBox[0].focus();\n\t\t\tnameBox[0].select();\n\t\t},\n\t\t'delete' : function() {\n\t\t\tself.plugin.getSelectedAnchor().remove();\n\t\t}\n\t};\n\tself.clickToolbar(name, self.plugin.anchor.edit);\n});\n\n/*******************************************************************************\n* KindEditor - WYSIWYG HTML Editor for Internet\n* Copyright (C) 2006-2011 kindsoft.net\n*\n* @author Roddy <luolonghao@gmail.com>\n* @site http://www.kindsoft.net/\n* @licence http://www.kindsoft.net/license.php\n*******************************************************************************/\nKindEditor.plugin('autoheight', function(K) {\n\tvar self = this;\n\tif (!self.autoHeightMode) {\n\t\treturn;\n\t}\n\tvar minHeight;\n\tfunction hideScroll() {\n\t\tvar edit = self.edit;\n\t\tvar body = edit.doc.body;\n\t\tedit.iframe[0].scroll = 'no';\n\t\tbody.style.overflowY = 'hidden';\n\t}\n\tfunction resetHeight() {\n\t\tvar edit = self.edit;\n\t\tvar body = edit.doc.body;\n\t\tedit.iframe.height(minHeight);\n\t\tself.resize(null, Math.max((K.IE ? body.scrollHeight : body.offsetHeight) + 76, minHeight));\n\t}\n\tfunction init() {\n\t\tminHeight = K.removeUnit(self.height);\n\t\tself.edit.afterChange(resetHeight);\n\t\thideScroll();\n\t\tresetHeight();\n\t}\n\tif (self.isCreated) {\n\t\tinit();\n\t} else {\n\t\tself.afterCreate(init);\n\t}\n});\n/*\n* 如何实现真正的自动高度?\n* 修改编辑器高度之后,再次获取body内容高度时,最小值只会是当前iframe的设置高度,这样就导致高度只增不减。\n* 所以每次获取body内容高度之前,先将iframe的高度重置为最小高度,这样就能获取body的实际高度。\n* 由此就实现了真正的自动高度\n* 测试:chrome、firefox、IE9、IE8\n* */\n\n/*******************************************************************************\n* KindEditor - WYSIWYG HTML Editor for Internet\n* Copyright (C) 2006-2011 kindsoft.net\n*\n* @author Roddy <luolonghao@gmail.com>\n* @site http://www.kindsoft.net/\n* @licence http://www.kindsoft.net/license.php\n*******************************************************************************/\nKindEditor.plugin('baidumap', function(K) {\n\tvar self = this, name = 'baidumap', lang = self.lang(name + '.');\n\tvar mapWidth = K.undef(self.mapWidth, 558);\n\tvar mapHeight = K.undef(self.mapHeight, 360);\n\tself.clickToolbar(name, function() {\n\t\tvar html = ['<div style=\"padding:10px 20px;\">',\n\t\t\t'<div class=\"ke-header\">',\n\t\t\t'<div class=\"ke-left\">',\n\t\t\tlang.address + ' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ',\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\n\t\t\t'<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"' + lang.search + '\" />',\n\t\t\t'</span>',\n\t\t\t'</div>',\n\t\t\t'<div class=\"ke-right\">',\n\t\t\t'<input type=\"checkbox\" id=\"keInsertDynamicMap\" name=\"insertDynamicMap\" value=\"1\" /> <label for=\"keInsertDynamicMap\">' + lang.insertDynamicMap + '</label>',\n\t\t\t'</div>',\n\t\t\t'<div class=\"ke-clearfix\"></div>',\n\t\t\t'</div>',\n\t\t\t'<div class=\"ke-map\" style=\"width:' + mapWidth + 'px;height:' + mapHeight + 'px;\"></div>',\n\t\t\t'</div>'].join('');\n\t\tvar dialog = self.createDialog({\n\t\t\tname : name,\n\t\t\twidth : mapWidth + 42,\n\t\t\ttitle : self.lang(name),\n\t\t\tbody : html,\n\t\t\tyesBtn : {\n\t\t\t\tname : self.lang('yes'),\n\t\t\t\tclick : function(e) {\n\t\t\t\t\tvar map = win.map;\n\t\t\t\t\tvar centerObj = map.getCenter();\n\t\t\t\t\tvar center = centerObj.lng + ',' + centerObj.lat;\n\t\t\t\t\tvar zoom = map.getZoom();\n\t\t\t\t\tvar url = [checkbox[0].checked ? self.pluginsPath + 'baidumap/index.html' : 'http://api.map.baidu.com/staticimage',\n\t\t\t\t\t\t'?center=' + encodeURIComponent(center),\n\t\t\t\t\t\t'&zoom=' + encodeURIComponent(zoom),\n\t\t\t\t\t\t'&width=' + mapWidth,\n\t\t\t\t\t\t'&height=' + mapHeight,\n\t\t\t\t\t\t'&markers=' + encodeURIComponent(center),\n\t\t\t\t\t\t'&markerStyles=' + encodeURIComponent('l,A')].join('');\n\t\t\t\t\tif (checkbox[0].checked) {\n\t\t\t\t\t\tself.insertHtml('<iframe src=\"' + url + '\" frameborder=\"0\" style=\"width:' + (mapWidth + 2) + 'px;height:' + (mapHeight + 2) + 'px;\"></iframe>');\n\t\t\t\t\t} else {\n\t\t\t\t\t\tself.exec('insertimage', url);\n\t\t\t\t\t}\n\t\t\t\t\tself.hideDialog().focus();\n\t\t\t\t}\n\t\t\t},\n\t\t\tbeforeRemove : function() {\n\t\t\t\tsearchBtn.remove();\n\t\t\t\tif (doc) {\n\t\t\t\t\tdoc.write('');\n\t\t\t\t}\n\t\t\t\tiframe.remove();\n\t\t\t}\n\t\t});\n\t\tvar div = dialog.div,\n\t\t\taddressBox = K('[name=\"address\"]', div),\n\t\t\tsearchBtn = K('[name=\"searchBtn\"]', div),\n\t\t\tcheckbox = K('[name=\"insertDynamicMap\"]', dialog.div),\n\t\t\twin, doc;\n\t\tvar iframe = K('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"' + self.pluginsPath + 'baidumap/map.html\" style=\"width:' + mapWidth + 'px;height:' + mapHeight + 'px;\"></iframe>');\n\t\tfunction ready() {\n\t\t\twin = iframe[0].contentWindow;\n\t\t\tdoc = K.iframeDoc(iframe);\n\t\t}\n\t\tiframe.bind('load', function() {\n\t\t\tiframe.unbind('load');\n\t\t\tif (K.IE) {\n\t\t\t\tready();\n\t\t\t} else {\n\t\t\t\tsetTimeout(ready, 0);\n\t\t\t}\n\t\t});\n\t\tK('.ke-map', div).replaceWith(iframe);\n\t\tsearchBtn.click(function() {\n\t\t\twin.search(addressBox.val());\n\t\t});\n\t});\n});\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\r\nKindEditor.plugin('map', function(K) {\r\n\tvar self = this, name = 'map', lang = self.lang(name + '.');\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar html = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\tlang.address + ' <input id=\"kindeditor_plugin_map_address\" name=\"address\" class=\"ke-input-text\" value=\"\" style=\"width:200px;\" /> ',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" name=\"searchBtn\" class=\"ke-button-common ke-button\" value=\"' + lang.search + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-map\" style=\"width:558px;height:360px;\"></div>',\r\n\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 600,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar geocoder = win.geocoder,\r\n\t\t\t\t\t\tmap = win.map,\r\n\t\t\t\t\t\tcenter = map.getCenter().lat() + ',' + map.getCenter().lng(),\r\n\t\t\t\t\t\tzoom = map.getZoom(),\r\n\t\t\t\t\t\tmaptype = map.getMapTypeId(),\r\n\t\t\t\t\t\turl = 'http://maps.googleapis.com/maps/api/staticmap';\r\n\t\t\t\t\t\turl += '?center=' + encodeURIComponent(center);\r\n\t\t\t\t\t\turl += '&zoom=' + encodeURIComponent(zoom);\r\n\t\t\t\t\t\turl += '&size=558x360';\r\n\t\t\t\t\t\turl += '&maptype=' + encodeURIComponent(maptype);\r\n\t\t\t\t\t\turl += '&markers=' + encodeURIComponent(center);\r\n\t\t\t\t\t\turl += '&language=' + self.langType;\r\n\t\t\t\t\t\turl += '&sensor=false';\r\n\t\t\t\t\tself.exec('insertimage', url).hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tsearchBtn.remove();\r\n\t\t\t\tif (doc) {\r\n\t\t\t\t\tdoc.write('');\r\n\t\t\t\t}\r\n\t\t\t\tiframe.remove();\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar div = dialog.div,\r\n\t\t\taddressBox = K('[name=\"address\"]', div),\r\n\t\t\tsearchBtn = K('[name=\"searchBtn\"]', div),\r\n\t\t\twin, doc;\r\n\t\tvar iframeHtml = ['<!doctype html><html><head>',\r\n\t\t\t'<meta name=\"viewport\" content=\"initial-scale=1.0, user-scalable=no\" />',\r\n\t\t\t'<style>',\r\n\t\t\t'\thtml { height: 100% }',\r\n\t\t\t'\tbody { height: 100%; margin: 0; padding: 0; background-color: #FFF }',\r\n\t\t\t'\t#map_canvas { height: 100% }',\r\n\t\t\t'</style>',\r\n\t\t\t'<script src=\"http://maps.googleapis.com/maps/api/js?sensor=false&language=' + self.langType + '\"></script>',\r\n\t\t\t'<script>',\r\n\t\t\t'var map, geocoder;',\r\n\t\t\t'function initialize() {',\r\n\t\t\t'\tvar latlng = new google.maps.LatLng(31.230393, 121.473704);',\r\n\t\t\t'\tvar options = {',\r\n\t\t\t'\t\tzoom: 11,',\r\n\t\t\t'\t\tcenter: latlng,',\r\n\t\t\t'\t\tdisableDefaultUI: true,',\r\n\t\t\t'\t\tpanControl: true,',\r\n\t\t\t'\t\tzoomControl: true,',\r\n\t\t\t'\t\tmapTypeControl: true,',\r\n\t\t\t'\t\tscaleControl: true,',\r\n\t\t\t'\t\tstreetViewControl: false,',\r\n\t\t\t'\t\toverviewMapControl: true,',\r\n\t\t\t'\t\tmapTypeId: google.maps.MapTypeId.ROADMAP',\r\n\t\t\t'\t};',\r\n\t\t\t'\tmap = new google.maps.Map(document.getElementById(\"map_canvas\"), options);',\r\n\t\t\t'\tgeocoder = new google.maps.Geocoder();',\r\n\t\t\t'\tgeocoder.geocode({latLng: latlng}, function(results, status) {',\r\n\t\t\t'\t\tif (status == google.maps.GeocoderStatus.OK) {',\r\n\t\t\t'\t\t\tif (results[3]) {',\r\n\t\t\t'\t\t\t\tparent.document.getElementById(\"kindeditor_plugin_map_address\").value = results[3].formatted_address;',\r\n\t\t\t'\t\t\t}',\r\n\t\t\t'\t\t}',\r\n\t\t\t'\t});',\r\n\t\t\t'}',\r\n\t\t\t'function search(address) {',\r\n\t\t\t'\tif (!map) return;',\r\n\t\t\t'\tgeocoder.geocode({address : address}, function(results, status) {',\r\n\t\t\t'\t\tif (status == google.maps.GeocoderStatus.OK) {',\r\n\t\t\t'\t\t\tmap.setZoom(11);',\r\n\t\t\t'\t\t\tmap.setCenter(results[0].geometry.location);',\r\n\t\t\t'\t\t\tvar marker = new google.maps.Marker({',\r\n\t\t\t'\t\t\t\tmap: map,',\r\n\t\t\t'\t\t\t\tposition: results[0].geometry.location',\r\n\t\t\t'\t\t\t});',\r\n\t\t\t'\t\t} else {',\r\n\t\t\t'\t\t\talert(\"Invalid address: \" + address);',\r\n\t\t\t'\t\t}',\r\n\t\t\t'\t});',\r\n\t\t\t'}',\r\n\t\t\t'</script>',\r\n\t\t\t'</head>',\r\n\t\t\t'<body onload=\"initialize();\">',\r\n\t\t\t'<div id=\"map_canvas\" style=\"width:100%; height:100%\"></div>',\r\n\t\t\t'</body></html>'].join('\\n');\r\n\t\tvar iframe = K('<iframe class=\"ke-textarea\" frameborder=\"0\" src=\"' + self.pluginsPath + 'map/map.html\" style=\"width:558px;height:360px;\"></iframe>');\r\n\t\tfunction ready() {\r\n\t\t\twin = iframe[0].contentWindow;\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\t}\r\n\t\tiframe.bind('load', function() {\r\n\t\t\tiframe.unbind('load');\r\n\t\t\tif (K.IE) {\r\n\t\t\t\tready();\r\n\t\t\t} else {\r\n\t\t\t\tsetTimeout(ready, 0);\r\n\t\t\t}\r\n\t\t});\r\n\t\tK('.ke-map', div).replaceWith(iframe);\r\n\t\tsearchBtn.click(function() {\r\n\t\t\twin.search(addressBox.val());\r\n\t\t});\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('clearhtml', function(K) {\r\n\tvar self = this, name = 'clearhtml';\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.focus();\r\n\t\tvar html = self.html();\r\n\t\thtml = html.replace(/(<script[^>]*>)([\\s\\S]*?)(<\\/script>)/ig, '');\r\n\t\thtml = html.replace(/(<style[^>]*>)([\\s\\S]*?)(<\\/style>)/ig, '');\r\n\t\thtml = K.formatHtml(html, {\r\n\t\t\ta : ['href', 'target'],\r\n\t\t\tembed : ['src', 'width', 'height', 'type', 'loop', 'autostart', 'quality', '.width', '.height', 'align', 'allowscriptaccess'],\r\n\t\t\timg : ['src', 'width', 'height', 'border', 'alt', 'title', '.width', '.height'],\r\n\t\t\ttable : ['border'],\r\n\t\t\t'td,th' : ['rowspan', 'colspan'],\r\n\t\t\t'div,hr,br,tbody,tr,p,ol,ul,li,blockquote,h1,h2,h3,h4,h5,h6' : []\r\n\t\t});\r\n\t\tself.html(html);\r\n\t\tself.cmd.selection(true);\r\n\t\tself.addBookmark();\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\n\r\r\r\nKindEditor.plugin('code', function(K) {\r\n\tvar self = this, name = 'code';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<select class=\"ke-code-type\">',\r\n\t\t\t\t'<option value=\"js\">JavaScript</option>',\r\n\t\t\t\t'<option value=\"html\">HTML</option>',\r\n\t\t\t\t'<option value=\"css\">CSS</option>',\r\n\t\t\t\t'<option value=\"php\">PHP</option>',\r\n\t\t\t\t'<option value=\"pl\">Perl</option>',\r\n\t\t\t\t'<option value=\"py\">Python</option>',\r\n\t\t\t\t'<option value=\"rb\">Ruby</option>',\r\n\t\t\t\t'<option value=\"java\">Java</option>',\r\n\t\t\t\t'<option value=\"vb\">ASP/VB</option>',\r\n\t\t\t\t'<option value=\"cpp\">C/C++</option>',\r\n\t\t\t\t'<option value=\"cs\">C#</option>',\r\n\t\t\t\t'<option value=\"xml\">XML</option>',\r\n\t\t\t\t'<option value=\"bsh\">Shell</option>',\r\n\t\t\t\t'<option value=\"\">Other</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea>',\r\n\t\t\t\t'</div>'].join(''),\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar type = K('.ke-code-type', dialog.div).val(),\r\n\t\t\t\t\t\t\tcode = textarea.val(),\r\n\t\t\t\t\t\t\tcls = type === '' ? '' : ' lang-' + type,\r\n\t\t\t\t\t\t\thtml = '<pre class=\"prettyprint' + cls + '\">\\n' + K.escape(code) + '</pre> ';\r\n\t\t\t\t\t\tif (K.trim(code) === '') {\r\n\t\t\t\t\t\t\talert(lang.pleaseInput);\r\n\t\t\t\t\t\t\ttextarea[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttextarea = K('textarea', dialog.div);\r\n\t\ttextarea[0].focus();\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('emoticons', function(K) {\r\n\tvar self = this, name = 'emoticons',\r\n\t\tpath = (self.emoticonsPath || self.pluginsPath + 'emoticons/images/'),\r\n\t\tallowPreview = self.allowPreviewEmoticons === undefined ? true : self.allowPreviewEmoticons,\r\n\t\tcurrentPageNum = 1;\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar rows = 5, cols = 9, total = 135, startNum = 0,\r\n\t\t\tcells = rows * cols, pages = Math.ceil(total / cells),\r\n\t\t\tcolsHalf = Math.floor(cols / 2),\r\n\t\t\twrapperDiv = K('<div class=\"ke-plugin-emoticons\"></div>'),\r\n\t\t\telements = [],\r\n\t\t\tmenu = self.createMenu({\r\n\t\t\t\tname : name,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tremoveEvent();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\tmenu.div.append(wrapperDiv);\r\n\t\tvar previewDiv, previewImg;\r\n\t\tif (allowPreview) {\r\n\t\t\tpreviewDiv = K('<div class=\"ke-preview\"></div>').css('right', 0);\r\n\t\t\tpreviewImg = K('<img class=\"ke-preview-img\" src=\"' + path + startNum + '.gif\" />');\r\n\t\t\twrapperDiv.append(previewDiv);\r\n\t\t\tpreviewDiv.append(previewImg);\r\n\t\t}\r\n\t\tfunction bindCellEvent(cell, j, num) {\r\n\t\t\tif (previewDiv) {\r\n\t\t\t\tcell.mouseover(function() {\r\n\t\t\t\t\tif (j > colsHalf) {\r\n\t\t\t\t\t\tpreviewDiv.css('left', 0);\r\n\t\t\t\t\t\tpreviewDiv.css('right', '');\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tpreviewDiv.css('left', '');\r\n\t\t\t\t\t\tpreviewDiv.css('right', 0);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tpreviewImg.attr('src', path + num + '.gif');\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tcell.mouseover(function() {\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tcell.mouseout(function() {\r\n\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t});\r\n\t\t\tcell.click(function(e) {\r\n\t\t\t\tself.insertHtml('<img src=\"' + path + num + '.gif\" border=\"0\" alt=\"\" />').hideMenu().focus();\r\n\t\t\t\te.stop();\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction createEmoticonsTable(pageNum, parentDiv) {\r\n\t\t\tvar table = document.createElement('table');\r\n\t\t\tparentDiv.append(table);\r\n\t\t\tif (previewDiv) {\r\n\t\t\t\tK(table).mouseover(function() {\r\n\t\t\t\t\tpreviewDiv.show('block');\r\n\t\t\t\t});\r\n\t\t\t\tK(table).mouseout(function() {\r\n\t\t\t\t\tpreviewDiv.hide();\r\n\t\t\t\t});\r\n\t\t\t\telements.push(K(table));\r\n\t\t\t}\r\n\t\t\ttable.className = 'ke-table';\r\n\t\t\ttable.cellPadding = 0;\r\n\t\t\ttable.cellSpacing = 0;\r\n\t\t\ttable.border = 0;\r\n\t\t\tvar num = (pageNum - 1) * cells + startNum;\r\n\t\t\tfor (var i = 0; i < rows; i++) {\r\n\t\t\t\tvar row = table.insertRow(i);\r\n\t\t\t\tfor (var j = 0; j < cols; j++) {\r\n\t\t\t\t\tvar cell = K(row.insertCell(j));\r\n\t\t\t\t\tcell.addClass('ke-cell');\r\n\t\t\t\t\tbindCellEvent(cell, j, num);\r\n\t\t\t\t\tvar span = K('<span class=\"ke-img\"></span>')\r\n\t\t\t\t\t\t.css('background-position', '-' + (24 * num) + 'px 0px')\r\n\t\t\t\t\t\t.css('background-image', 'url(' + path + 'static.gif)');\r\n\t\t\t\t\tcell.append(span);\r\n\t\t\t\t\telements.push(cell);\r\n\t\t\t\t\tnum++;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn table;\r\n\t\t}\r\n\t\tvar table = createEmoticonsTable(currentPageNum, wrapperDiv);\r\n\t\tfunction removeEvent() {\r\n\t\t\tK.each(elements, function() {\r\n\t\t\t\tthis.unbind();\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar pageDiv;\r\n\t\tfunction bindPageEvent(el, pageNum) {\r\n\t\t\tel.click(function(e) {\r\n\t\t\t\tremoveEvent();\r\n\t\t\t\ttable.parentNode.removeChild(table);\r\n\t\t\t\tpageDiv.remove();\r\n\t\t\t\ttable = createEmoticonsTable(pageNum, wrapperDiv);\r\n\t\t\t\tcreatePageTable(pageNum);\r\n\t\t\t\tcurrentPageNum = pageNum;\r\n\t\t\t\te.stop();\r\n\t\t\t});\r\n\t\t}\r\n\t\tfunction createPageTable(currentPageNum) {\r\n\t\t\tpageDiv = K('<div class=\"ke-page\"></div>');\r\n\t\t\twrapperDiv.append(pageDiv);\r\n\t\t\tfor (var pageNum = 1; pageNum <= pages; pageNum++) {\r\n\t\t\t\tif (currentPageNum !== pageNum) {\r\n\t\t\t\t\tvar a = K('<a href=\"javascript:;\">[' + pageNum + ']</a>');\r\n\t\t\t\t\tbindPageEvent(a, pageNum);\r\n\t\t\t\t\tpageDiv.append(a);\r\n\t\t\t\t\telements.push(a);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tpageDiv.append(K('@[' + pageNum + ']'));\r\n\t\t\t\t}\r\n\t\t\t\tpageDiv.append(K('@&nbsp;'));\r\n\t\t\t}\r\n\t\t}\r\n\t\tcreatePageTable(currentPageNum);\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('filemanager', function(K) {\r\n\tvar self = this, name = 'filemanager',\r\n\t\tfileManagerJson = K.undef(self.fileManagerJson, self.basePath + 'php/file_manager_json.php'),\r\n\t\timgPath = self.pluginsPath + name + '/images/',\r\n\t\tlang = self.lang(name + '.');\r\n\tfunction makeFileTitle(filename, filesize, datetime) {\r\n\t\treturn filename + ' (' + Math.ceil(filesize / 1024) + 'KB, ' + datetime + ')';\r\n\t}\r\n\tfunction bindTitle(el, data) {\r\n\t\tif (data.is_dir) {\r\n\t\t\tel.attr('title', data.filename);\r\n\t\t} else {\r\n\t\t\tel.attr('title', makeFileTitle(data.filename, data.filesize, data.datetime));\r\n\t\t}\r\n\t}\r\n\tself.plugin.filemanagerDialog = function(options) {\r\n\t\tvar width = K.undef(options.width, 650),\r\n\t\t\theight = K.undef(options.height, 510),\r\n\t\t\tdirName = K.undef(options.dirName, ''),\r\n\t\t\tviewType = K.undef(options.viewType, 'VIEW').toUpperCase(),\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:10px 20px;\">',\r\n\t\t\t'<div class=\"ke-plugin-filemanager-header\">',\r\n\t\t\t'<div class=\"ke-left\">',\r\n\t\t\t'<img class=\"ke-inline-block\" name=\"moveupImg\" src=\"' + imgPath + 'go-up.gif\" width=\"16\" height=\"16\" border=\"0\" alt=\"\" /> ',\r\n\t\t\t'<a class=\"ke-inline-block\" name=\"moveupLink\" href=\"javascript:;\">' + lang.moveup + '</a>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-right\">',\r\n\t\t\tlang.viewType + ' <select class=\"ke-inline-block\" name=\"viewType\">',\r\n\t\t\t'<option value=\"VIEW\">' + lang.viewImage + '</option>',\r\n\t\t\t'<option value=\"LIST\">' + lang.listImage + '</option>',\r\n\t\t\t'</select> ',\r\n\t\t\tlang.orderType + ' <select class=\"ke-inline-block\" name=\"orderType\">',\r\n\t\t\t'<option value=\"NAME\">' + lang.fileName + '</option>',\r\n\t\t\t'<option value=\"SIZE\">' + lang.fileSize + '</option>',\r\n\t\t\t'<option value=\"TYPE\">' + lang.fileType + '</option>',\r\n\t\t\t'</select>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-plugin-filemanager-body\"></div>',\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : width,\r\n\t\t\theight : height,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html\r\n\t\t}),\r\n\t\tdiv = dialog.div,\r\n\t\tbodyDiv = K('.ke-plugin-filemanager-body', div),\r\n\t\tmoveupImg = K('[name=\"moveupImg\"]', div),\r\n\t\tmoveupLink = K('[name=\"moveupLink\"]', div),\r\n\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\tviewTypeBox = K('[name=\"viewType\"]', div),\r\n\t\torderTypeBox = K('[name=\"orderType\"]', div);\r\n\t\tfunction reloadPage(path, order, func) {\r\n\t\t\tvar param = 'path=' + path + '&order=' + order + '&dir=' + dirName;\r\n\t\t\tdialog.showLoading(self.lang('ajaxLoading'));\r\n\t\t\tK.ajax(K.addParam(fileManagerJson, param + '&' + new Date().getTime()), function(data) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tfunc(data);\r\n\t\t\t});\r\n\t\t}\r\n\t\tvar elList = [];\r\n\t\tfunction bindEvent(el, result, data, createFunc) {\r\n\t\t\tvar fileUrl = K.formatUrl(result.current_url + data.filename, 'absolute'),\r\n\t\t\t\tdirPath = encodeURIComponent(result.current_dir_path + data.filename + '/');\r\n\t\t\tif (data.is_dir) {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\treloadPage(dirPath, orderTypeBox.val(), createFunc);\r\n\t\t\t\t});\r\n\t\t\t} else if (data.is_photo) {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\tclickFn.call(this, fileUrl, data.filename);\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tel.click(function(e) {\r\n\t\t\t\t\tclickFn.call(this, fileUrl, data.filename);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\telList.push(el);\r\n\t\t}\r\n\t\tfunction createCommon(result, createFunc) {\r\n\t\t\tK.each(elList, function() {\r\n\t\t\t\tthis.unbind();\r\n\t\t\t});\r\n\t\t\tmoveupLink.unbind();\r\n\t\t\tviewTypeBox.unbind();\r\n\t\t\torderTypeBox.unbind();\r\n\t\t\tif (result.current_dir_path) {\r\n\t\t\t\tmoveupLink.click(function(e) {\r\n\t\t\t\t\treloadPage(result.moveup_dir_path, orderTypeBox.val(), createFunc);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t\tfunction changeFunc() {\r\n\t\t\t\tif (viewTypeBox.val() == 'VIEW') {\r\n\t\t\t\t\treloadPage(result.current_dir_path, orderTypeBox.val(), createView);\r\n\t\t\t\t} else {\r\n\t\t\t\t\treloadPage(result.current_dir_path, orderTypeBox.val(), createList);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tviewTypeBox.change(changeFunc);\r\n\t\t\torderTypeBox.change(changeFunc);\r\n\t\t\tbodyDiv.html('');\r\n\t\t}\r\n\t\tfunction createList(result) {\r\n\t\t\tcreateCommon(result, createList);\r\n\t\t\tvar table = document.createElement('table');\r\n\t\t\ttable.className = 'ke-table';\r\n\t\t\ttable.cellPadding = 0;\r\n\t\t\ttable.cellSpacing = 0;\r\n\t\t\ttable.border = 0;\r\n\t\t\tbodyDiv.append(table);\r\n\t\t\tvar fileList = result.file_list;\r\n\t\t\tfor (var i = 0, len = fileList.length; i < len; i++) {\r\n\t\t\t\tvar data = fileList[i], row = K(table.insertRow(i));\r\n\t\t\t\trow.mouseover(function(e) {\r\n\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t})\r\n\t\t\t\t.mouseout(function(e) {\r\n\t\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t\t});\r\n\t\t\t\tvar iconUrl = imgPath + (data.is_dir ? 'folder-16.gif' : 'file-16.gif'),\r\n\t\t\t\t\timg = K('<img src=\"' + iconUrl + '\" width=\"16\" height=\"16\" alt=\"' + data.filename + '\" align=\"absmiddle\" />'),\r\n\t\t\t\t\tcell0 = K(row[0].insertCell(0)).addClass('ke-cell ke-name').append(img).append(document.createTextNode(' ' + data.filename));\r\n\t\t\t\tif (!data.is_dir || data.has_file) {\r\n\t\t\t\t\trow.css('cursor', 'pointer');\r\n\t\t\t\t\tcell0.attr('title', data.filename);\r\n\t\t\t\t\tbindEvent(cell0, result, data, createList);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tcell0.attr('title', lang.emptyFolder);\r\n\t\t\t\t}\r\n\t\t\t\tK(row[0].insertCell(1)).addClass('ke-cell ke-size').html(data.is_dir ? '-' : Math.ceil(data.filesize / 1024) + 'KB');\r\n\t\t\t\tK(row[0].insertCell(2)).addClass('ke-cell ke-datetime').html(data.datetime);\r\n\t\t\t}\r\n\t\t}\r\n\t\tfunction createView(result) {\r\n\t\t\tcreateCommon(result, createView);\r\n\t\t\tvar fileList = result.file_list;\r\n\t\t\tfor (var i = 0, len = fileList.length; i < len; i++) {\r\n\t\t\t\tvar data = fileList[i],\r\n\t\t\t\t\tdiv = K('<div class=\"ke-inline-block ke-item\"></div>');\r\n\t\t\t\tbodyDiv.append(div);\r\n\t\t\t\tvar photoDiv = K('<div class=\"ke-inline-block ke-photo\"></div>')\r\n\t\t\t\t\t.mouseover(function(e) {\r\n\t\t\t\t\t\tK(this).addClass('ke-on');\r\n\t\t\t\t\t})\r\n\t\t\t\t\t.mouseout(function(e) {\r\n\t\t\t\t\t\tK(this).removeClass('ke-on');\r\n\t\t\t\t\t});\r\n\t\t\t\tdiv.append(photoDiv);\r\n\t\t\t\tvar fileUrl = result.current_url + data.filename,\r\n\t\t\t\t\ticonUrl = data.is_dir ? imgPath + 'folder-64.gif' : (data.is_photo ? fileUrl : imgPath + 'file-64.gif');\r\n\t\t\t\tvar img = K('<img src=\"' + iconUrl + '\" width=\"80\" height=\"80\" alt=\"' + data.filename + '\" />');\r\n\t\t\t\tif (!data.is_dir || data.has_file) {\r\n\t\t\t\t\tphotoDiv.css('cursor', 'pointer');\r\n\t\t\t\t\tbindTitle(photoDiv, data);\r\n\t\t\t\t\tbindEvent(photoDiv, result, data, createView);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tphotoDiv.attr('title', lang.emptyFolder);\r\n\t\t\t\t}\r\n\t\t\t\tphotoDiv.append(img);\r\n\t\t\t\tdiv.append('<div class=\"ke-name\" title=\"' + data.filename + '\">' + data.filename + '</div>');\r\n\t\t\t}\r\n\t\t}\r\n\t\tviewTypeBox.val(viewType);\r\n\t\treloadPage('', orderTypeBox.val(), viewType == 'VIEW' ? createView : createList);\r\n\t\treturn dialog;\r\n\t}\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('flash', function(K) {\r\n\tvar self = this, name = 'flash', lang = self.lang(name + '.'),\r\n\t\tallowFlashUpload = K.undef(self.allowFlashUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');\r\n\tself.plugin.flash = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t\t'</span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:60px;\">' + lang.width + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keHeight\" style=\"width:60px;\">' + lang.height + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val();\r\n\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = K.mediaImg(self.themesPath + 'common/blank.gif', {\r\n\t\t\t\t\t\t\t\tsrc : url,\r\n\t\t\t\t\t\t\t\ttype : K.mediaType('.swf'),\r\n\t\t\t\t\t\t\t\twidth : width,\r\n\t\t\t\t\t\t\t\theight : height,\r\n\t\t\t\t\t\t\t\tquality : 'high'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\turlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('[name=\"width\"]', div),\r\n\t\t\theightBox = K('[name=\"height\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\t\t\tif (allowFlashUpload) {\r\n\t\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\t\tfieldName : filePostName,\r\n\t\t\t\t\textraParams : extraParams,\r\n\t\t\t\t\turl : K.addParam(uploadJson, 'dir=flash'),\r\n\t\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t\t}\r\n\t\t\tif (allowFileManager) {\r\n\t\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\t\tdirName : 'flash',\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tviewServerBtn.hide();\r\n\t\t\t}\r\n\t\t\tvar img = self.plugin.getSelectedFlash();\r\n\t\t\tif (img) {\r\n\t\t\t\tvar attrs = K.mediaAttrs(img.attr('data-ke-tag'));\r\n\t\t\t\turlBox.val(attrs.src);\r\n\t\t\t\twidthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0);\r\n\t\t\t\theightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0);\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedFlash().remove();\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.flash.edit);\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('uploadImage', function(K) {\r\n\tvar editor = this;\r\n\teditor.clickToolbar('uploadImage', function() {\r\n\t\t$app.uploadFile({\r\n\t\t\tfileType: 'image',\r\n\t\t\tmultiple: true,\r\n\t\t\tsuccess: function(data) {\r\n\t\t\t\teditor.insertHtml(Array.from(data, item => `<img src=\"${item.filePath}\" alt=\"\" />`).join(''));\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\treturn;\r\n});\r\nKindEditor.plugin('image', function(K) {\r\n\tvar self = this, name = 'image',\r\n\t\tallowImageUpload = K.undef(self.allowImageUpload, false),\r\n\t\tallowImageRemote = K.undef(self.allowImageRemote, true),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, true),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\timageTabIndex = K.undef(self.imageTabIndex, 0),\r\n\t\timgPath = self.pluginsPath + 'image/images/',\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tfillDescAfterUploadImage = K.undef(self.fillDescAfterUploadImage, false),\r\n\t\tlang = self.lang(name + '.');\r\n\tself.plugin.imageDialog = function(options) {\r\n\t\tvar imageUrl = options.imageUrl,\r\n\t\t\timageWidth = K.undef(options.imageWidth, ''),\r\n\t\t\timageHeight = K.undef(options.imageHeight, ''),\r\n\t\t\timageTitle = K.undef(options.imageTitle, ''),\r\n\t\t\timageAlign = K.undef(options.imageAlign, ''),\r\n\t\t\tshowRemote = K.undef(options.showRemote, true),\r\n\t\t\tshowLocal = K.undef(options.showLocal, true),\r\n\t\t\ttabIndex = K.undef(options.tabIndex, 0),\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar target = 'kindeditor_upload_iframe_' + new Date().getTime();\r\n\t\tvar hiddenElements = [];\r\n\t\tfor(var k in extraParams){\r\n\t\t\thiddenElements.push('<input type=\"hidden\" name=\"' + k + '\" value=\"' + extraParams[k] + '\" />');\r\n\t\t}\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t'<div class=\"tabs\"></div>',\r\n\t\t\t'<div class=\"tab1\" style=\"display:none;\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteUrl\" style=\"width:60px;\">' + lang.remoteUrl + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"remoteUrl\" class=\"ke-input-text\" name=\"url\" value=\"\" style=\"width:200px;\" /> &nbsp;',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteWidth\" style=\"width:60px;\">' + lang.size + '</label>',\r\n\t\t\tlang.width + ' <input type=\"text\" id=\"remoteWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> ',\r\n\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> ',\r\n\t\t\t'<img class=\"ke-refresh-btn\" src=\"' + imgPath + 'refresh.png\" width=\"16\" height=\"16\" alt=\"\" style=\"cursor:pointer;\" title=\"' + lang.resetSize + '\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label style=\"width:60px;\">' + lang.align + '</label>',\r\n\t\t\t'<input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"\" checked=\"checked\" /> <img name=\"defaultImg\" src=\"' + IMAGE_ALIGN_TOP + '\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"left\" /> <img name=\"leftImg\" src=\"' + IMAGE_ALIGN_LEFT + '\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t' <input type=\"radio\" name=\"align\" class=\"ke-inline-block\" value=\"right\" /> <img name=\"rightImg\" src=\"' + IMAGE_ALIGN_RIGHT + '\" width=\"23\" height=\"25\" alt=\"\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"remoteTitle\" style=\"width:60px;\">' + lang.imgTitle + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"remoteTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:200px;\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"tab2\" style=\"display:none;\">',\r\n\t\t\t'<iframe name=\"' + target + '\" style=\"display:none;\"></iframe>',\r\n\t\t\t'<form class=\"ke-upload-area ke-form\" method=\"post\" enctype=\"multipart/form-data\" target=\"' + target + '\" action=\"' + K.addParam(uploadJson, 'dir=image') + '\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\thiddenElements.join(''),\r\n\t\t\t'<label style=\"width:60px;\">' + lang.localUrl + '</label>',\r\n\t\t\t'<input type=\"text\" name=\"localUrl\" class=\"ke-input-text\" tabindex=\"-1\" style=\"width:200px;\" readonly=\"true\" /> &nbsp;',\r\n\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" />',\r\n\t\t\t'</div>',\r\n\t\t\t'</form>',\r\n\t\t\t'</div>',\r\n\t\t\t'</div>'\r\n\t\t].join('');\r\n\t\tvar dialogWidth = showLocal || allowFileManager ? 450 : 400,\r\n\t\t\tdialogHeight = showLocal && showRemote ? 300 : 250;\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : dialogWidth,\r\n\t\t\theight : dialogHeight,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tif (dialog.isLoading) {\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (showLocal && showRemote && tabs && tabs.selectedIndex === 1 || !showRemote) {\r\n\t\t\t\t\t\tif (uploadbutton.fileBox.val() == '') {\r\n\t\t\t\t\t\t\talert(self.lang('pleaseSelectFile'));\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t\t\tlocalUrlBox.val('');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\ttitle = titleBox.val(),\r\n\t\t\t\t\t\talign = '';\r\n\t\t\t\t\talignBox.each(function() {\r\n\t\t\t\t\t\tif (this.checked) {\r\n\t\t\t\t\t\t\talign = this.value;\r\n\t\t\t\t\t\t\treturn false;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclickFn.call(self, url, title, width, height, 0, align);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tbeforeRemove : function() {\r\n\t\t\t\tviewServerBtn.unbind();\r\n\t\t\t\twidthBox.unbind();\r\n\t\t\t\theightBox.unbind();\r\n\t\t\t\trefreshBtn.unbind();\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\t\tvar urlBox = K('[name=\"url\"]', div),\r\n\t\t\tlocalUrlBox = K('[name=\"localUrl\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('.tab1 [name=\"width\"]', div),\r\n\t\t\theightBox = K('.tab1 [name=\"height\"]', div),\r\n\t\t\trefreshBtn = K('.ke-refresh-btn', div),\r\n\t\t\ttitleBox = K('.tab1 [name=\"title\"]', div),\r\n\t\t\talignBox = K('.tab1 [name=\"align\"]', div);\r\n\t\tvar tabs;\r\n\t\tif (showRemote && showLocal) {\r\n\t\t\ttabs = K.tabs({\r\n\t\t\t\tsrc : K('.tabs', div),\r\n\t\t\t\tafterSelect : function(i) {}\r\n\t\t\t});\r\n\t\t\ttabs.add({\r\n\t\t\t\ttitle : lang.remoteImage,\r\n\t\t\t\tpanel : K('.tab1', div)\r\n\t\t\t});\r\n\t\t\ttabs.add({\r\n\t\t\t\ttitle : lang.localImage,\r\n\t\t\t\tpanel : K('.tab2', div)\r\n\t\t\t});\r\n\t\t\ttabs.select(tabIndex);\r\n\t\t} else if (showRemote) {\r\n\t\t\tK('.tab1', div).show();\r\n\t\t} else if (showLocal) {\r\n\t\t\tK('.tab2', div).show();\r\n\t\t}\r\n\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\tfieldName : filePostName,\r\n\t\t\tform : K('.ke-form', div),\r\n\t\t\ttarget : target,\r\n\t\t\twidth: 60,\r\n\t\t\tafterUpload : function(data) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (!fillDescAfterUploadImage) {\r\n\t\t\t\t\t\tclickFn.call(self, url, data.title, data.width, data.height, data.border, data.align);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tK(\".ke-dialog-row #remoteUrl\", div).val(url);\r\n\t\t\t\t\t\tK(\".ke-tabs-li\", div)[0].click();\r\n\t\t\t\t\t\tK(\".ke-refresh-btn\", div).click();\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\talert(data.message);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tafterError : function(html) {\r\n\t\t\t\tdialog.hideLoading();\r\n\t\t\t\tself.errorDialog(html);\r\n\t\t\t}\r\n\t\t});\r\n\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\tlocalUrlBox.val(uploadbutton.fileBox.val());\r\n\t\t});\r\n\t\tif (allowFileManager) {\r\n\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\t$app.uploadFile({\r\n\t\t\t\t\tfileType: 'image',\r\n\t\t\t\t\tsuccess: function(data) {\r\n\t\t\t\t\t\tK('[name=\"url\"]', div).val(data.filePath);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\treturn;\r\n\t\t\t\t\r\n\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\tviewType : 'VIEW',\r\n\t\t\t\t\t\tdirName : 'image',\r\n\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tviewServerBtn.hide();\r\n\t\t}\r\n\t\tvar originalWidth = 0, originalHeight = 0;\r\n\t\tfunction setSize(width, height) {\r\n\t\t\twidthBox.val(width);\r\n\t\t\theightBox.val(height);\r\n\t\t\toriginalWidth = width;\r\n\t\t\toriginalHeight = height;\r\n\t\t}\r\n\t\trefreshBtn.click(function(e) {\r\n\t\t\tvar tempImg = K('<img src=\"' + urlBox.val() + '\" />', document).css({\r\n\t\t\t\tposition : 'absolute',\r\n\t\t\t\tvisibility : 'hidden',\r\n\t\t\t\ttop : 0,\r\n\t\t\t\tleft : '-1000px'\r\n\t\t\t});\r\n\t\t\ttempImg.bind('load', function() {\r\n\t\t\t\tsetSize(tempImg.width(), tempImg.height());\r\n\t\t\t\ttempImg.remove();\r\n\t\t\t});\r\n\t\t\tK(document.body).append(tempImg);\r\n\t\t});\r\n\t\twidthBox.change(function(e) {\r\n\t\t\tif (originalWidth > 0) {\r\n\t\t\t\theightBox.val(Math.round(originalHeight / originalWidth * parseInt(this.value, 10)));\r\n\t\t\t}\r\n\t\t});\r\n\t\theightBox.change(function(e) {\r\n\t\t\tif (originalHeight > 0) {\r\n\t\t\t\twidthBox.val(Math.round(originalWidth / originalHeight * parseInt(this.value, 10)));\r\n\t\t\t}\r\n\t\t});\r\n\t\turlBox.val(options.imageUrl);\r\n\t\t// setSize(options.imageWidth, options.imageHeight);\r\n\t\ttitleBox.val(options.imageTitle);\r\n\t\talignBox.each(function() {\r\n\t\t\tif (this.value === options.imageAlign) {\r\n\t\t\t\tthis.checked = true;\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t});\r\n\t\tif (showRemote && tabIndex === 0) {\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t}\r\n\t\treturn dialog;\r\n\t};\r\n\tself.plugin.image = {\r\n\t\tedit : function() {\r\n\t\t\tvar img = self.plugin.getSelectedImage();\r\n\t\t\tself.plugin.imageDialog({\r\n\t\t\t\timageUrl : img ? img.attr('data-ke-src') : 'http://',\r\n\t\t\t\timageWidth : img ? img.width() : '',\r\n\t\t\t\timageHeight : img ? img.height() : '',\r\n\t\t\t\timageTitle : img ? img.attr('title') : '',\r\n\t\t\t\timageAlign : img ? img.attr('align') : '',\r\n\t\t\t\tshowRemote : allowImageRemote,\r\n\t\t\t\tshowLocal : allowImageUpload,\r\n\t\t\t\ttabIndex: img ? 0 : imageTabIndex,\r\n\t\t\t\tclickFn : function(url, title, width, height, border, align) {\r\n\t\t\t\t\tif (img) {\r\n\t\t\t\t\t\timg.attr('src', url);\r\n\t\t\t\t\t\timg.attr('data-ke-src', url);\r\n\t\t\t\t\t\timg.attr('width', width);\r\n\t\t\t\t\t\timg.attr('height', height);\r\n\t\t\t\t\t\timg.attr('title', title);\r\n\t\t\t\t\t\timg.attr('align', align);\r\n\t\t\t\t\t\timg.attr('alt', title);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tself.exec('insertimage', url, title, width, height, border, align);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t}, 0);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tvar target = self.plugin.getSelectedImage();\r\n\t\t\tif (target.parent().name == 'a') {\r\n\t\t\t\ttarget = target.parent();\r\n\t\t\t}\r\n\t\t\ttarget.remove();\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.image.edit);\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('insertfile', function(K) {\r\n\tvar self = this, name = 'insertfile',\r\n\t\tallowFileUpload = K.undef(self.allowFileUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tlang = self.lang(name + '.');\r\n\tself.plugin.fileDialog = function(options) {\r\n\t\tvar fileUrl = K.undef(options.fileUrl, 'http://'),\r\n\t\t\tfileTitle = K.undef(options.fileTitle, ''),\r\n\t\t\tclickFn = options.clickFn;\r\n\t\tvar html = [\r\n\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"keUrl\" name=\"url\" class=\"ke-input-text\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t'</span>',\r\n\t\t\t'</div>',\r\n\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t'<label for=\"keTitle\" style=\"width:60px;\">' + lang.title + '</label>',\r\n\t\t\t'<input type=\"text\" id=\"keTitle\" class=\"ke-input-text\" name=\"title\" value=\"\" style=\"width:160px;\" /></div>',\r\n\t\t\t'</div>',\r\n\t\t\t'</form>',\r\n\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 450,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\ttitle = titleBox.val();\r\n\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (K.trim(title) === '') {\r\n\t\t\t\t\t\ttitle = url;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tclickFn.call(self, url, title);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}),\r\n\t\tdiv = dialog.div;\r\n\t\tvar urlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\ttitleBox = K('[name=\"title\"]', div);\r\n\t\tif (allowFileUpload) {\r\n\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\tfieldName : filePostName,\r\n\t\t\t\turl : K.addParam(uploadJson, 'dir=file'),\r\n\t\t\t\textraParams : extraParams,\r\n\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\tuploadbutton.submit();\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t}\r\n\t\tif (allowFileManager) {\r\n\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\tdirName : 'file',\r\n\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tviewServerBtn.hide();\r\n\t\t}\r\n\t\turlBox.val(fileUrl);\r\n\t\ttitleBox.val(fileTitle);\r\n\t\turlBox[0].focus();\r\n\t\turlBox[0].select();\r\n\t};\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.plugin.fileDialog({\r\n\t\t\tclickFn : function(url, title) {\r\n\t\t\t\tvar html = '<a class=\"ke-insertfile\" href=\"' + url + '\" data-ke-src=\"' + url + '\" target=\"_blank\">' + title + '</a>';\r\n\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('lineheight', function(K) {\r\n\tvar self = this, name = 'lineheight', lang = self.lang(name + '.');\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar curVal = '', commonNode = self.cmd.commonNode({'*' : '.line-height'});\r\n\t\tif (commonNode) {\r\n\t\t\tcurVal = commonNode.css('line-height');\r\n\t\t}\r\n\t\tvar menu = self.createMenu({\r\n\t\t\tname : name,\r\n\t\t\twidth : 150\r\n\t\t});\r\n\t\tK.each(lang.lineHeight, function(i, row) {\r\n\t\t\tK.each(row, function(key, val) {\r\n\t\t\t\tmenu.addItem({\r\n\t\t\t\t\ttitle : val,\r\n\t\t\t\t\tchecked : curVal === key,\r\n\t\t\t\t\tclick : function() {\r\n\t\t\t\t\t\tself.cmd.toggle('<span style=\"line-height:' + key + ';\"></span>', {\r\n\t\t\t\t\t\t\tspan : '.line-height=' + key\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.updateState();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t\tself.hideMenu();\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t});\r\n\t\t});\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('link', function(K) {\r\n\tvar self = this, name = 'link';\r\n\tself.plugin.link = {\r\n\t\tedit : function() {\r\n\t\t\tvar lang = self.lang(name + '.'),\r\n\t\t\t\thtml = '<div style=\"padding:20px;\">' +\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\">' +\r\n\t\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>' +\r\n\t\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:260px;\" /></div>' +\r\n\t\t\t\t\t'<div class=\"ke-dialog-row\"\">' +\r\n\t\t\t\t\t'<label for=\"keType\" style=\"width:60px;\">' + lang.linkType + '</label>' +\r\n\t\t\t\t\t'<select id=\"keType\" name=\"type\"></select>' +\r\n\t\t\t\t\t'</div>' +\r\n\t\t\t\t\t'</div>',\r\n\t\t\t\tdialog = self.createDialog({\r\n\t\t\t\t\tname : name,\r\n\t\t\t\t\twidth : 450,\r\n\t\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\t\tbody : html,\r\n\t\t\t\t\tyesBtn : {\r\n\t\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\t\tvar url = K.trim(urlBox.val());\r\n\t\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tself.exec('createlink', url, typeBox.val()).hideDialog().focus();\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}),\r\n\t\t\t\tdiv = dialog.div,\r\n\t\t\t\turlBox = K('input[name=\"url\"]', div),\r\n\t\t\t\ttypeBox = K('select[name=\"type\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\t\t\ttypeBox[0].options[0] = new Option(lang.newWindow, '_blank');\r\n\t\t\ttypeBox[0].options[1] = new Option(lang.selfWindow, '');\r\n\t\t\tself.cmd.selection();\r\n\t\t\tvar a = self.plugin.getSelectedLink();\r\n\t\t\tif (a) {\r\n\t\t\t\tself.cmd.range.selectNode(a[0]);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\turlBox.val(a.attr('data-ke-src'));\r\n\t\t\t\ttypeBox.val(a.attr('target'));\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.exec('unlink', null);\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.link.edit);\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('media', function(K) {\r\n\tvar self = this, name = 'media', lang = self.lang(name + '.'),\r\n\t\tallowMediaUpload = K.undef(self.allowMediaUpload, true),\r\n\t\tallowFileManager = K.undef(self.allowFileManager, false),\r\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\r\n\t\textraParams = K.undef(self.extraFileUploadParams, {}),\r\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\r\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php');\r\n\tself.plugin.media = {\r\n\t\tedit : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keUrl\" style=\"width:60px;\">' + lang.url + '</label>',\r\n\t\t\t\t'<input class=\"ke-input-text\" type=\"text\" id=\"keUrl\" name=\"url\" value=\"\" style=\"width:160px;\" /> &nbsp;',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-upload-button\" value=\"' + lang.upload + '\" /> &nbsp;',\r\n\t\t\t\t'<span class=\"ke-button-common ke-button-outer\">',\r\n\t\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" name=\"viewServer\" value=\"' + lang.viewServer + '\" />',\r\n\t\t\t\t'</span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:60px;\">' + lang.width + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"550\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keHeight\" style=\"width:60px;\">' + lang.height + '</label>',\r\n\t\t\t\t'<input type=\"text\" id=\"keHeight\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"400\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAutostart\">' + lang.autostart + '</label>',\r\n\t\t\t\t'<input type=\"checkbox\" id=\"keAutostart\" name=\"autostart\" value=\"\" /> ',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\theight : 230,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar url = K.trim(urlBox.val()),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val();\r\n\t\t\t\t\t\tif (url == 'http://' || K.invalidUrl(url)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidUrl'));\r\n\t\t\t\t\t\t\turlBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = K.mediaImg(self.themesPath + 'common/blank.gif', {\r\n\t\t\t\t\t\t\t\tsrc : url,\r\n\t\t\t\t\t\t\t\ttype : K.mediaType(url),\r\n\t\t\t\t\t\t\t\twidth : width,\r\n\t\t\t\t\t\t\t\theight : height,\r\n\t\t\t\t\t\t\t\tautostart : autostartBox[0].checked ? 'true' : 'false',\r\n\t\t\t\t\t\t\t\tloop : 'true'\r\n\t\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\turlBox = K('[name=\"url\"]', div),\r\n\t\t\tviewServerBtn = K('[name=\"viewServer\"]', div),\r\n\t\t\twidthBox = K('[name=\"width\"]', div),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\tautostartBox = K('[name=\"autostart\"]', div);\r\n\t\t\turlBox.val('http://');\r\n\t\t\tif (allowMediaUpload) {\r\n\t\t\t\tvar uploadbutton = K.uploadbutton({\r\n\t\t\t\t\tbutton : K('.ke-upload-button', div)[0],\r\n\t\t\t\t\tfieldName : filePostName,\r\n\t\t\t\t\textraParams : extraParams,\r\n\t\t\t\t\turl : K.addParam(uploadJson, 'dir=media'),\r\n\t\t\t\t\tafterUpload : function(data) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tif (data.error === 0) {\r\n\t\t\t\t\t\t\tvar url = data.url;\r\n\t\t\t\t\t\t\tif (formatUploadUrl) {\r\n\t\t\t\t\t\t\t\turl = K.formatUrl(url, 'absolute');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\turlBox.val(url);\r\n\t\t\t\t\t\t\tif (self.afterUpload) {\r\n\t\t\t\t\t\t\t\tself.afterUpload.call(self, url, data, name);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\talert(self.lang('uploadSuccess'));\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\talert(data.message);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t},\r\n\t\t\t\t\tafterError : function(html) {\r\n\t\t\t\t\t\tdialog.hideLoading();\r\n\t\t\t\t\t\tself.errorDialog(html);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tuploadbutton.fileBox.change(function(e) {\r\n\t\t\t\t\tdialog.showLoading(self.lang('uploadLoading'));\r\n\t\t\t\t\tuploadbutton.submit();\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tK('.ke-upload-button', div).hide();\r\n\t\t\t}\r\n\t\t\tif (allowFileManager) {\r\n\t\t\t\tviewServerBtn.click(function(e) {\r\n\t\t\t\t\tself.loadPlugin('filemanager', function() {\r\n\t\t\t\t\t\tself.plugin.filemanagerDialog({\r\n\t\t\t\t\t\t\tviewType : 'LIST',\r\n\t\t\t\t\t\t\tdirName : 'media',\r\n\t\t\t\t\t\t\tclickFn : function(url, title) {\r\n\t\t\t\t\t\t\t\tif (self.dialogs.length > 1) {\r\n\t\t\t\t\t\t\t\t\tK('[name=\"url\"]', div).val(url);\r\n\t\t\t\t\t\t\t\t\tif (self.afterSelectFile) {\r\n\t\t\t\t\t\t\t\t\t\tself.afterSelectFile.call(self, url);\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t\tself.hideDialog();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tviewServerBtn.hide();\r\n\t\t\t}\r\n\t\t\tvar img = self.plugin.getSelectedMedia();\r\n\t\t\tif (img) {\r\n\t\t\t\tvar attrs = K.mediaAttrs(img.attr('data-ke-tag'));\r\n\t\t\t\turlBox.val(attrs.src);\r\n\t\t\t\twidthBox.val(K.removeUnit(img.css('width')) || attrs.width || 0);\r\n\t\t\t\theightBox.val(K.removeUnit(img.css('height')) || attrs.height || 0);\r\n\t\t\t\tautostartBox[0].checked = (attrs.autostart === 'true');\r\n\t\t\t}\r\n\t\t\turlBox[0].focus();\r\n\t\t\turlBox[0].select();\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tself.plugin.getSelectedMedia().remove();\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.media.edit);\r\n});\r\n\n/*******************************************************************************\n* KindEditor - WYSIWYG HTML Editor for Internet\n* Copyright (C) 2006-2011 kindsoft.net\n*\n* @author Roddy <luolonghao@gmail.com>\n* @site http://www.kindsoft.net/\n* @licence http://www.kindsoft.net/license.php\n*******************************************************************************/\n(function(K) {\nfunction KSWFUpload(options) {\n\tthis.init(options);\n}\nK.extend(KSWFUpload, {\n\tinit : function(options) {\n\t\tvar self = this;\n\t\toptions.afterError = options.afterError || function(str) {\n\t\t\talert(str);\n\t\t};\n\t\tself.options = options;\n\t\tself.progressbars = {};\n\t\tself.div = K(options.container).html([\n\t\t\t'<div class=\"ke-swfupload\">',\n\t\t\t'<div class=\"ke-swfupload-top\">',\n\t\t\t'<div class=\"ke-inline-block ke-swfupload-button\">',\n\t\t\t'<input type=\"button\" value=\"Browse\" />',\n\t\t\t'</div>',\n\t\t\t'<div class=\"ke-inline-block ke-swfupload-desc\">' + options.uploadDesc + '</div>',\n\t\t\t'<span class=\"ke-button-common ke-button-outer ke-swfupload-startupload\">',\n\t\t\t'<input type=\"button\" class=\"ke-button-common ke-button\" value=\"' + options.startButtonValue + '\" />',\n\t\t\t'</span>',\n\t\t\t'</div>',\n\t\t\t'<div class=\"ke-swfupload-body\"></div>',\n\t\t\t'</div>'\n\t\t].join(''));\n\t\tself.bodyDiv = K('.ke-swfupload-body', self.div);\n\t\tfunction showError(itemDiv, msg) {\n\t\t\tK('.ke-status > div', itemDiv).hide();\n\t\t\tK('.ke-message', itemDiv).addClass('ke-error').show().html(K.escape(msg));\n\t\t}\n\t\tvar settings = {\n\t\t\tdebug : false,\n\t\t\tupload_url : options.uploadUrl,\n\t\t\tflash_url : options.flashUrl,\n\t\t\tfile_post_name : options.filePostName,\n\t\t\tbutton_placeholder : K('.ke-swfupload-button > input', self.div)[0],\n\t\t\tbutton_image_url: options.buttonImageUrl,\n\t\t\tbutton_width: options.buttonWidth,\n\t\t\tbutton_height: options.buttonHeight,\n\t\t\tbutton_cursor : SWFUpload.CURSOR.HAND,\n\t\t\tfile_types : options.fileTypes,\n\t\t\tfile_types_description : options.fileTypesDesc,\n\t\t\tfile_upload_limit : options.fileUploadLimit,\n\t\t\tfile_size_limit : options.fileSizeLimit,\n\t\t\tpost_params : options.postParams,\n\t\t\tfile_queued_handler : function(file) {\n\t\t\t\tfile.url = self.options.fileIconUrl;\n\t\t\t\tself.appendFile(file);\n\t\t\t},\n\t\t\tfile_queue_error_handler : function(file, errorCode, message) {\n\t\t\t\tvar errorName = '';\n\t\t\t\tswitch (errorCode) {\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED:\n\t\t\t\t\t\terrorName = options.queueLimitExceeded;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT:\n\t\t\t\t\t\terrorName = options.fileExceedsSizeLimit;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE:\n\t\t\t\t\t\terrorName = options.zeroByteFile;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tcase SWFUpload.QUEUE_ERROR.INVALID_FILETYPE:\n\t\t\t\t\t\terrorName = options.invalidFiletype;\n\t\t\t\t\t\tbreak;\n\t\t\t\t\tdefault:\n\t\t\t\t\t\terrorName = options.unknownError;\n\t\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tK.DEBUG && alert(errorName);\n\t\t\t},\n\t\t\tupload_start_handler : function(file) {\n\t\t\t\tvar self = this;\n\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv);\n\t\t\t\tK('.ke-status > div', itemDiv).hide();\n\t\t\t\tK('.ke-progressbar', itemDiv).show();\n\t\t\t},\n\t\t\tupload_progress_handler : function(file, bytesLoaded, bytesTotal) {\n\t\t\t\tvar percent = Math.round(bytesLoaded * 100 / bytesTotal);\n\t\t\t\tvar progressbar = self.progressbars[file.id];\n\t\t\t\tprogressbar.bar.css('width', Math.round(percent * 80 / 100) + 'px');\n\t\t\t\tprogressbar.percent.html(percent + '%');\n\t\t\t},\n\t\t\tupload_error_handler : function(file, errorCode, message) {\n\t\t\t\tif (file && file.filestatus == SWFUpload.FILE_STATUS.ERROR) {\n\t\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv).eq(0);\n\t\t\t\t\tshowError(itemDiv, self.options.errorMessage);\n\t\t\t\t}\n\t\t\t},\n\t\t\tupload_success_handler : function(file, serverData) {\n\t\t\t\tvar itemDiv = K('div[data-id=\"' + file.id + '\"]', self.bodyDiv).eq(0);\n\t\t\t\tvar data = {};\n\t\t\t\ttry {\n\t\t\t\t\tdata = K.json(serverData);\n\t\t\t\t} catch (e) {\n\t\t\t\t\tself.options.afterError.call(this, '<!doctype html><html>' + serverData + '</html>');\n\t\t\t\t}\n\t\t\t\tif (data.error !== 0) {\n\t\t\t\t\tshowError(itemDiv, K.DEBUG ? data.message : self.options.errorMessage);\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tfile.url = data.url;\n\t\t\t\tK('.ke-img', itemDiv).attr('src', file.url).attr('data-status', file.filestatus).data('data', data);\n\t\t\t\tK('.ke-status > div', itemDiv).hide();\n\t\t\t}\n\t\t};\n\t\tself.swfu = new SWFUpload(settings);\n\t\tK('.ke-swfupload-startupload input', self.div).click(function() {\n\t\t\tself.swfu.startUpload();\n\t\t});\n\t},\n\tgetUrlList : function() {\n\t\tvar list = [];\n\t\tK('.ke-img', self.bodyDiv).each(function() {\n\t\t\tvar img = K(this);\n\t\t\tvar status = img.attr('data-status');\n\t\t\tif (status == SWFUpload.FILE_STATUS.COMPLETE) {\n\t\t\t\tlist.push(img.data('data'));\n\t\t\t}\n\t\t});\n\t\treturn list;\n\t},\n\tremoveFile : function(fileId) {\n\t\tvar self = this;\n\t\tself.swfu.cancelUpload(fileId);\n\t\tvar itemDiv = K('div[data-id=\"' + fileId + '\"]', self.bodyDiv);\n\t\tK('.ke-photo', itemDiv).unbind();\n\t\tK('.ke-delete', itemDiv).unbind();\n\t\titemDiv.remove();\n\t},\n\tremoveFiles : function() {\n\t\tvar self = this;\n\t\tK('.ke-item', self.bodyDiv).each(function() {\n\t\t\tself.removeFile(K(this).attr('data-id'));\n\t\t});\n\t},\n\tappendFile : function(file) {\n\t\tvar self = this;\n\t\tvar itemDiv = K('<div class=\"ke-inline-block ke-item\" data-id=\"' + file.id + '\"></div>');\n\t\tself.bodyDiv.append(itemDiv);\n\t\tvar photoDiv = K('<div class=\"ke-inline-block ke-photo\"></div>')\n\t\t\t.mouseover(function(e) {\n\t\t\t\tK(this).addClass('ke-on');\n\t\t\t})\n\t\t\t.mouseout(function(e) {\n\t\t\t\tK(this).removeClass('ke-on');\n\t\t\t});\n\t\titemDiv.append(photoDiv);\n\t\tvar img = K('<img src=\"' + file.url + '\" class=\"ke-img\" data-status=\"' + file.filestatus + '\" width=\"80\" height=\"80\" alt=\"' + file.name + '\" />');\n\t\tphotoDiv.append(img);\n\t\tK('<span class=\"ke-delete\"></span>').appendTo(photoDiv).click(function() {\n\t\t\tself.removeFile(file.id);\n\t\t});\n\t\tvar statusDiv = K('<div class=\"ke-status\"></div>').appendTo(photoDiv);\n\t\tK(['<div class=\"ke-progressbar\">',\n\t\t\t'<div class=\"ke-progressbar-bar\"><div class=\"ke-progressbar-bar-inner\"></div></div>',\n\t\t\t'<div class=\"ke-progressbar-percent\">0%</div></div>'].join('')).hide().appendTo(statusDiv);\n\t\tK('<div class=\"ke-message\">' + self.options.pendingMessage + '</div>').appendTo(statusDiv);\n\t\titemDiv.append('<div class=\"ke-name\">' + file.name + '</div>');\n\t\tself.progressbars[file.id] = {\n\t\t\tbar : K('.ke-progressbar-bar-inner', photoDiv),\n\t\t\tpercent : K('.ke-progressbar-percent', photoDiv)\n\t\t};\n\t},\n\tremove : function() {\n\t\tthis.removeFiles();\n\t\tthis.swfu.destroy();\n\t\tthis.div.html('');\n\t}\n});\nK.swfupload = function(element, options) {\n\treturn new KSWFUpload(element, options);\n};\n})(KindEditor);\nKindEditor.plugin('multiimage', function(K) {\n\tvar self = this, name = 'multiimage',\n\t\tformatUploadUrl = K.undef(self.formatUploadUrl, true),\n\t\tuploadJson = K.undef(self.uploadJson, self.basePath + 'php/upload_json.php'),\n\t\timgPath = self.pluginsPath + 'multiimage/images/',\n\t\timageSizeLimit = K.undef(self.imageSizeLimit, '1MB'),\n\t\timageFileTypes = K.undef(self.imageFileTypes, '*.jpg;*.gif;*.png'),\n\t\timageUploadLimit = K.undef(self.imageUploadLimit, 20),\n\t\tfilePostName = K.undef(self.filePostName, 'imgFile'),\n\t\tlang = self.lang(name + '.');\n\tself.plugin.multiImageDialog = function(options) {\n\t\tvar clickFn = options.clickFn,\n\t\t\tuploadDesc = K.tmpl(lang.uploadDesc, {uploadLimit : imageUploadLimit, sizeLimit : imageSizeLimit});\n\t\tvar html = [\n\t\t\t'<div style=\"padding:20px;\">',\n\t\t\t'<div class=\"swfupload\">',\n\t\t\t'</div>',\n\t\t\t'</div>'\n\t\t].join('');\n\t\tvar dialog = self.createDialog({\n\t\t\tname : name,\n\t\t\twidth : 650,\n\t\t\theight : 510,\n\t\t\ttitle : self.lang(name),\n\t\t\tbody : html,\n\t\t\tpreviewBtn : {\n\t\t\t\tname : lang.insertAll,\n\t\t\t\tclick : function(e) {\n\t\t\t\t\tclickFn.call(self, swfupload.getUrlList());\n\t\t\t\t}\n\t\t\t},\n\t\t\tyesBtn : {\n\t\t\t\tname : lang.clearAll,\n\t\t\t\tclick : function(e) {\n\t\t\t\t\tswfupload.removeFiles();\n\t\t\t\t}\n\t\t\t},\n\t\t\tbeforeRemove : function() {\n\t\t\t\tif (!K.IE || K.V <= 8) {\n\t\t\t\t\tswfupload.remove();\n\t\t\t\t}\n\t\t\t}\n\t\t}),\n\t\tdiv = dialog.div;\n\t\tvar swfupload = K.swfupload({\n\t\t\tcontainer : K('.swfupload', div),\n\t\t\tbuttonImageUrl : imgPath + (self.langType == 'zh-CN' ? 'select-files-zh-CN.png' : 'select-files-en.png'),\n\t\t\tbuttonWidth : self.langType == 'zh-CN' ? 72 : 88,\n\t\t\tbuttonHeight : 23,\n\t\t\tfileIconUrl : imgPath + 'image.png',\n\t\t\tuploadDesc : uploadDesc,\n\t\t\tstartButtonValue : lang.startUpload,\n\t\t\tuploadUrl : K.addParam(uploadJson, 'dir=image'),\n\t\t\tflashUrl : imgPath + 'swfupload.swf',\n\t\t\tfilePostName : filePostName,\n\t\t\tfileTypes : '*.jpg;*.jpeg;*.gif;*.png;*.bmp',\n\t\t\tfileTypesDesc : 'Image Files',\n\t\t\tfileUploadLimit : imageUploadLimit,\n\t\t\tfileSizeLimit : imageSizeLimit,\n\t\t\tpostParams : K.undef(self.extraFileUploadParams, {}),\n\t\t\tqueueLimitExceeded : lang.queueLimitExceeded,\n\t\t\tfileExceedsSizeLimit : lang.fileExceedsSizeLimit,\n\t\t\tzeroByteFile : lang.zeroByteFile,\n\t\t\tinvalidFiletype : lang.invalidFiletype,\n\t\t\tunknownError : lang.unknownError,\n\t\t\tpendingMessage : lang.pending,\n\t\t\terrorMessage : lang.uploadError,\n\t\t\tafterError : function(html) {\n\t\t\t\tself.errorDialog(html);\n\t\t\t}\n\t\t});\n\t\treturn dialog;\n\t};\n\tself.clickToolbar(name, function() {\n\t\tself.plugin.multiImageDialog({\n\t\t\tclickFn : function (urlList) {\n\t\t\t\tif (urlList.length === 0) {\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\tK.each(urlList, function(i, data) {\n\t\t\t\t\tif (self.afterUpload) {\n\t\t\t\t\t\tself.afterUpload.call(self, data.url, data, 'multiimage');\n\t\t\t\t\t}\n\t\t\t\t\tself.exec('insertimage', data.url, data.title, data.width, data.height, data.border, data.align);\n\t\t\t\t});\n\t\t\t\tsetTimeout(function() {\n\t\t\t\t\tself.hideDialog().focus();\n\t\t\t\t}, 0);\n\t\t\t}\n\t\t});\n\t});\n});\n/* ******************* */\n/* Constructor & Init */\n/* ******************* */\n(function() {\nwindow.SWFUpload = function (settings) {\n\tthis.initSWFUpload(settings);\n};\nSWFUpload.prototype.initSWFUpload = function (settings) {\n\ttry {\n\t\tthis.customSettings = {};\n\t\tthis.settings = settings;\n\t\tthis.eventQueue = [];\n\t\tthis.movieName = \"KindEditor_SWFUpload_\" + SWFUpload.movieCount++;\n\t\tthis.movieElement = null;\n\t\tSWFUpload.instances[this.movieName] = this;\n\t\tthis.initSettings();\n\t\tthis.loadFlash();\n\t\tthis.displayDebugInfo();\n\t} catch (ex) {\n\t\tdelete SWFUpload.instances[this.movieName];\n\t\tthrow ex;\n\t}\n};\n/* *************** */\n/* Static Members */\n/* *************** */\nSWFUpload.instances = {};\nSWFUpload.movieCount = 0;\nSWFUpload.version = \"2.2.0 2009-03-25\";\nSWFUpload.QUEUE_ERROR = {\n\tQUEUE_LIMIT_EXCEEDED\t \t\t: -100,\n\tFILE_EXCEEDS_SIZE_LIMIT \t\t: -110,\n\tZERO_BYTE_FILE\t\t\t \t\t: -120,\n\tINVALID_FILETYPE\t\t \t\t: -130\n};\nSWFUpload.UPLOAD_ERROR = {\n\tHTTP_ERROR\t\t\t\t \t\t: -200,\n\tMISSING_UPLOAD_URL\t \t\t: -210,\n\tIO_ERROR\t\t\t\t \t\t: -220,\n\tSECURITY_ERROR\t\t\t \t\t: -230,\n\tUPLOAD_LIMIT_EXCEEDED\t \t\t: -240,\n\tUPLOAD_FAILED\t\t\t \t\t: -250,\n\tSPECIFIED_FILE_ID_NOT_FOUND\t\t: -260,\n\tFILE_VALIDATION_FAILED\t \t\t: -270,\n\tFILE_CANCELLED\t\t\t \t\t: -280,\n\tUPLOAD_STOPPED\t\t\t\t\t: -290\n};\nSWFUpload.FILE_STATUS = {\n\tQUEUED\t\t : -1,\n\tIN_PROGRESS\t : -2,\n\tERROR\t\t : -3,\n\tCOMPLETE\t : -4,\n\tCANCELLED\t : -5\n};\nSWFUpload.BUTTON_ACTION = {\n\tSELECT_FILE : -100,\n\tSELECT_FILES : -110,\n\tSTART_UPLOAD : -120\n};\nSWFUpload.CURSOR = {\n\tARROW : -1,\n\tHAND : -2\n};\nSWFUpload.WINDOW_MODE = {\n\tWINDOW : \"window\",\n\tTRANSPARENT : \"transparent\",\n\tOPAQUE : \"opaque\"\n};\nSWFUpload.completeURL = function(url) {\n\tif (typeof(url) !== \"string\" || url.match(/^https?:\\/\\//i) || url.match(/^\\//)) {\n\t\treturn url;\n\t}\n\tvar currentURL = window.location.protocol + \"//\" + window.location.hostname + (window.location.port ? \":\" + window.location.port : \"\");\n\tvar indexSlash = window.location.pathname.lastIndexOf(\"/\");\n\tif (indexSlash <= 0) {\n\t\tpath = \"/\";\n\t} else {\n\t\tpath = window.location.pathname.substr(0, indexSlash) + \"/\";\n\t}\n\treturn /*currentURL +*/ path + url;\n};\n/* ******************** */\n/* Instance Members */\n/* ******************** */\nSWFUpload.prototype.initSettings = function () {\n\tthis.ensureDefault = function (settingName, defaultValue) {\n\t\tthis.settings[settingName] = (this.settings[settingName] == undefined) ? defaultValue : this.settings[settingName];\n\t};\n\tthis.ensureDefault(\"upload_url\", \"\");\n\tthis.ensureDefault(\"preserve_relative_urls\", false);\n\tthis.ensureDefault(\"file_post_name\", \"Filedata\");\n\tthis.ensureDefault(\"post_params\", {});\n\tthis.ensureDefault(\"use_query_string\", false);\n\tthis.ensureDefault(\"requeue_on_error\", false);\n\tthis.ensureDefault(\"http_success\", []);\n\tthis.ensureDefault(\"assume_success_timeout\", 0);\n\tthis.ensureDefault(\"file_types\", \"*.*\");\n\tthis.ensureDefault(\"file_types_description\", \"All Files\");\n\tthis.ensureDefault(\"file_size_limit\", 0);\n\tthis.ensureDefault(\"file_upload_limit\", 0);\n\tthis.ensureDefault(\"file_queue_limit\", 0);\n\tthis.ensureDefault(\"flash_url\", \"swfupload.swf\");\n\tthis.ensureDefault(\"prevent_swf_caching\", true);\n\tthis.ensureDefault(\"button_image_url\", \"\");\n\tthis.ensureDefault(\"button_width\", 1);\n\tthis.ensureDefault(\"button_height\", 1);\n\tthis.ensureDefault(\"button_text\", \"\");\n\tthis.ensureDefault(\"button_text_style\", \"color: #000000; font-size: 16pt;\");\n\tthis.ensureDefault(\"button_text_top_padding\", 0);\n\tthis.ensureDefault(\"button_text_left_padding\", 0);\n\tthis.ensureDefault(\"button_action\", SWFUpload.BUTTON_ACTION.SELECT_FILES);\n\tthis.ensureDefault(\"button_disabled\", false);\n\tthis.ensureDefault(\"button_placeholder_id\", \"\");\n\tthis.ensureDefault(\"button_placeholder\", null);\n\tthis.ensureDefault(\"button_cursor\", SWFUpload.CURSOR.ARROW);\n\tthis.ensureDefault(\"button_window_mode\", SWFUpload.WINDOW_MODE.WINDOW);\n\tthis.ensureDefault(\"debug\", false);\n\tthis.settings.debug_enabled = this.settings.debug;\n\tthis.settings.return_upload_start_handler = this.returnUploadStart;\n\tthis.ensureDefault(\"swfupload_loaded_handler\", null);\n\tthis.ensureDefault(\"file_dialog_start_handler\", null);\n\tthis.ensureDefault(\"file_queued_handler\", null);\n\tthis.ensureDefault(\"file_queue_error_handler\", null);\n\tthis.ensureDefault(\"file_dialog_complete_handler\", null);\n\tthis.ensureDefault(\"upload_start_handler\", null);\n\tthis.ensureDefault(\"upload_progress_handler\", null);\n\tthis.ensureDefault(\"upload_error_handler\", null);\n\tthis.ensureDefault(\"upload_success_handler\", null);\n\tthis.ensureDefault(\"upload_complete_handler\", null);\n\tthis.ensureDefault(\"debug_handler\", this.debugMessage);\n\tthis.ensureDefault(\"custom_settings\", {});\n\tthis.customSettings = this.settings.custom_settings;\n\tif (!!this.settings.prevent_swf_caching) {\n\t\tthis.settings.flash_url = this.settings.flash_url + (this.settings.flash_url.indexOf(\"?\") < 0 ? \"?\" : \"&\") + \"preventswfcaching=\" + new Date().getTime();\n\t}\n\tif (!this.settings.preserve_relative_urls) {\n\t\tthis.settings.upload_url = SWFUpload.completeURL(this.settings.upload_url);\n\t\tthis.settings.button_image_url = SWFUpload.completeURL(this.settings.button_image_url);\n\t}\n\tdelete this.ensureDefault;\n};\nSWFUpload.prototype.loadFlash = function () {\n\tvar targetElement, tempParent;\n\tif (document.getElementById(this.movieName) !== null) {\n\t\tthrow \"ID \" + this.movieName + \" is already in use. The Flash Object could not be added\";\n\t}\n\ttargetElement = document.getElementById(this.settings.button_placeholder_id) || this.settings.button_placeholder;\n\tif (targetElement == undefined) {\n\t\tthrow \"Could not find the placeholder element: \" + this.settings.button_placeholder_id;\n\t}\n\ttempParent = document.createElement(\"div\");\n\ttempParent.innerHTML = this.getFlashHTML();\n\ttargetElement.parentNode.replaceChild(tempParent.firstChild, targetElement);\n\tif (window[this.movieName] == undefined) {\n\t\twindow[this.movieName] = this.getMovieElement();\n\t}\n};\nSWFUpload.prototype.getFlashHTML = function () {\n\tvar classid = '';\n\tif (KindEditor.IE && KindEditor.V > 8) {\n\t\tclassid = ' classid = \"clsid:d27cdb6e-ae6d-11cf-96b8-444553540000\"';\n\t}\n\treturn ['<object id=\"', this.movieName, '\"' + classid + ' type=\"application/x-shockwave-flash\" data=\"', this.settings.flash_url, '\" width=\"', this.settings.button_width, '\" height=\"', this.settings.button_height, '\" class=\"swfupload\">',\n\t\t\t\t'<param name=\"wmode\" value=\"', this.settings.button_window_mode, '\" />',\n\t\t\t\t'<param name=\"movie\" value=\"', this.settings.flash_url, '\" />',\n\t\t\t\t'<param name=\"quality\" value=\"high\" />',\n\t\t\t\t'<param name=\"menu\" value=\"false\" />',\n\t\t\t\t'<param name=\"allowScriptAccess\" value=\"always\" />',\n\t\t\t\t'<param name=\"flashvars\" value=\"' + this.getFlashVars() + '\" />',\n\t\t\t\t'</object>'].join(\"\");\n};\nSWFUpload.prototype.getFlashVars = function () {\n\tvar paramString = this.buildParamString();\n\tvar httpSuccessString = this.settings.http_success.join(\",\");\n\treturn [\"movieName=\", encodeURIComponent(this.movieName),\n\t\t\t\"&amp;uploadURL=\", encodeURIComponent(this.settings.upload_url),\n\t\t\t\"&amp;useQueryString=\", encodeURIComponent(this.settings.use_query_string),\n\t\t\t\"&amp;requeueOnError=\", encodeURIComponent(this.settings.requeue_on_error),\n\t\t\t\"&amp;httpSuccess=\", encodeURIComponent(httpSuccessString),\n\t\t\t\"&amp;assumeSuccessTimeout=\", encodeURIComponent(this.settings.assume_success_timeout),\n\t\t\t\"&amp;params=\", encodeURIComponent(paramString),\n\t\t\t\"&amp;filePostName=\", encodeURIComponent(this.settings.file_post_name),\n\t\t\t\"&amp;fileTypes=\", encodeURIComponent(this.settings.file_types),\n\t\t\t\"&amp;fileTypesDescription=\", encodeURIComponent(this.settings.file_types_description),\n\t\t\t\"&amp;fileSizeLimit=\", encodeURIComponent(this.settings.file_size_limit),\n\t\t\t\"&amp;fileUploadLimit=\", encodeURIComponent(this.settings.file_upload_limit),\n\t\t\t\"&amp;fileQueueLimit=\", encodeURIComponent(this.settings.file_queue_limit),\n\t\t\t\"&amp;debugEnabled=\", encodeURIComponent(this.settings.debug_enabled),\n\t\t\t\"&amp;buttonImageURL=\", encodeURIComponent(this.settings.button_image_url),\n\t\t\t\"&amp;buttonWidth=\", encodeURIComponent(this.settings.button_width),\n\t\t\t\"&amp;buttonHeight=\", encodeURIComponent(this.settings.button_height),\n\t\t\t\"&amp;buttonText=\", encodeURIComponent(this.settings.button_text),\n\t\t\t\"&amp;buttonTextTopPadding=\", encodeURIComponent(this.settings.button_text_top_padding),\n\t\t\t\"&amp;buttonTextLeftPadding=\", encodeURIComponent(this.settings.button_text_left_padding),\n\t\t\t\"&amp;buttonTextStyle=\", encodeURIComponent(this.settings.button_text_style),\n\t\t\t\"&amp;buttonAction=\", encodeURIComponent(this.settings.button_action),\n\t\t\t\"&amp;buttonDisabled=\", encodeURIComponent(this.settings.button_disabled),\n\t\t\t\"&amp;buttonCursor=\", encodeURIComponent(this.settings.button_cursor)\n\t\t].join(\"\");\n};\nSWFUpload.prototype.getMovieElement = function () {\n\tif (this.movieElement == undefined) {\n\t\tthis.movieElement = document.getElementById(this.movieName);\n\t}\n\tif (this.movieElement === null) {\n\t\tthrow \"Could not find Flash element\";\n\t}\n\treturn this.movieElement;\n};\nSWFUpload.prototype.buildParamString = function () {\n\tvar postParams = this.settings.post_params;\n\tvar paramStringPairs = [];\n\tif (typeof(postParams) === \"object\") {\n\t\tfor (var name in postParams) {\n\t\t\tif (postParams.hasOwnProperty(name)) {\n\t\t\t\tparamStringPairs.push(encodeURIComponent(name.toString()) + \"=\" + encodeURIComponent(postParams[name].toString()));\n\t\t\t}\n\t\t}\n\t}\n\treturn paramStringPairs.join(\"&amp;\");\n};\nSWFUpload.prototype.destroy = function () {\n\ttry {\n\t\tthis.cancelUpload(null, false);\n\t\tvar movieElement = null;\n\t\tmovieElement = this.getMovieElement();\n\t\tif (movieElement && typeof(movieElement.CallFunction) === \"unknown\") {\n\t\t\tfor (var i in movieElement) {\n\t\t\t\ttry {\n\t\t\t\t\tif (typeof(movieElement[i]) === \"function\") {\n\t\t\t\t\t\tmovieElement[i] = null;\n\t\t\t\t\t}\n\t\t\t\t} catch (ex1) {}\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tmovieElement.parentNode.removeChild(movieElement);\n\t\t\t} catch (ex) {}\n\t\t}\n\t\twindow[this.movieName] = null;\n\t\tSWFUpload.instances[this.movieName] = null;\n\t\tdelete SWFUpload.instances[this.movieName];\n\t\tthis.movieElement = null;\n\t\tthis.settings = null;\n\t\tthis.customSettings = null;\n\t\tthis.eventQueue = null;\n\t\tthis.movieName = null;\n\t\treturn true;\n\t} catch (ex2) {\n\t\treturn false;\n\t}\n};\nSWFUpload.prototype.displayDebugInfo = function () {\n\tthis.debug(\n\t\t[\n\t\t\t\"---SWFUpload Instance Info---\\n\",\n\t\t\t\"Version: \", SWFUpload.version, \"\\n\",\n\t\t\t\"Movie Name: \", this.movieName, \"\\n\",\n\t\t\t\"Settings:\\n\",\n\t\t\t\"\\t\", \"upload_url: \", this.settings.upload_url, \"\\n\",\n\t\t\t\"\\t\", \"flash_url: \", this.settings.flash_url, \"\\n\",\n\t\t\t\"\\t\", \"use_query_string: \", this.settings.use_query_string.toString(), \"\\n\",\n\t\t\t\"\\t\", \"requeue_on_error: \", this.settings.requeue_on_error.toString(), \"\\n\",\n\t\t\t\"\\t\", \"http_success: \", this.settings.http_success.join(\", \"), \"\\n\",\n\t\t\t\"\\t\", \"assume_success_timeout: \", this.settings.assume_success_timeout, \"\\n\",\n\t\t\t\"\\t\", \"file_post_name: \", this.settings.file_post_name, \"\\n\",\n\t\t\t\"\\t\", \"post_params: \", this.settings.post_params.toString(), \"\\n\",\n\t\t\t\"\\t\", \"file_types: \", this.settings.file_types, \"\\n\",\n\t\t\t\"\\t\", \"file_types_description: \", this.settings.file_types_description, \"\\n\",\n\t\t\t\"\\t\", \"file_size_limit: \", this.settings.file_size_limit, \"\\n\",\n\t\t\t\"\\t\", \"file_upload_limit: \", this.settings.file_upload_limit, \"\\n\",\n\t\t\t\"\\t\", \"file_queue_limit: \", this.settings.file_queue_limit, \"\\n\",\n\t\t\t\"\\t\", \"debug: \", this.settings.debug.toString(), \"\\n\",\n\t\t\t\"\\t\", \"prevent_swf_caching: \", this.settings.prevent_swf_caching.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_placeholder_id: \", this.settings.button_placeholder_id.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_placeholder: \", (this.settings.button_placeholder ? \"Set\" : \"Not Set\"), \"\\n\",\n\t\t\t\"\\t\", \"button_image_url: \", this.settings.button_image_url.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_width: \", this.settings.button_width.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_height: \", this.settings.button_height.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_text: \", this.settings.button_text.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_text_style: \", this.settings.button_text_style.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_text_top_padding: \", this.settings.button_text_top_padding.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_text_left_padding: \", this.settings.button_text_left_padding.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_action: \", this.settings.button_action.toString(), \"\\n\",\n\t\t\t\"\\t\", \"button_disabled: \", this.settings.button_disabled.toString(), \"\\n\",\n\t\t\t\"\\t\", \"custom_settings: \", this.settings.custom_settings.toString(), \"\\n\",\n\t\t\t\"Event Handlers:\\n\",\n\t\t\t\"\\t\", \"swfupload_loaded_handler assigned: \", (typeof this.settings.swfupload_loaded_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"file_dialog_start_handler assigned: \", (typeof this.settings.file_dialog_start_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"file_queued_handler assigned: \", (typeof this.settings.file_queued_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"file_queue_error_handler assigned: \", (typeof this.settings.file_queue_error_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"upload_start_handler assigned: \", (typeof this.settings.upload_start_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"upload_progress_handler assigned: \", (typeof this.settings.upload_progress_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"upload_error_handler assigned: \", (typeof this.settings.upload_error_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"upload_success_handler assigned: \", (typeof this.settings.upload_success_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"upload_complete_handler assigned: \", (typeof this.settings.upload_complete_handler === \"function\").toString(), \"\\n\",\n\t\t\t\"\\t\", \"debug_handler assigned: \", (typeof this.settings.debug_handler === \"function\").toString(), \"\\n\"\n\t\t].join(\"\")\n\t);\n};\n/* Note: addSetting and getSetting are no longer used by SWFUpload but are included\n\tthe maintain v2 API compatibility\n*/\nSWFUpload.prototype.addSetting = function (name, value, default_value) {\n if (value == undefined) {\n return (this.settings[name] = default_value);\n } else {\n return (this.settings[name] = value);\n\t}\n};\nSWFUpload.prototype.getSetting = function (name) {\n if (this.settings[name] != undefined) {\n return this.settings[name];\n\t}\n return \"\";\n};\nSWFUpload.prototype.callFlash = function (functionName, argumentArray) {\n\targumentArray = argumentArray || [];\n\tvar movieElement = this.getMovieElement();\n\tvar returnValue, returnString;\n\ttry {\n\t\treturnString = movieElement.CallFunction('<invoke name=\"' + functionName + '\" returntype=\"javascript\">' + __flash__argumentsToXML(argumentArray, 0) + '</invoke>');\n\t\treturnValue = eval(returnString);\n\t} catch (ex) {\n\t\tthrow \"Call to \" + functionName + \" failed\";\n\t}\n\tif (returnValue != undefined && typeof returnValue.post === \"object\") {\n\t\treturnValue = this.unescapeFilePostParams(returnValue);\n\t}\n\treturn returnValue;\n};\n/* *****************************\n\t-- Flash control methods --\n\tYour UI should use these\n\tto operate SWFUpload\n ***************************** */\nSWFUpload.prototype.selectFile = function () {\n\tthis.callFlash(\"SelectFile\");\n};\nSWFUpload.prototype.selectFiles = function () {\n\tthis.callFlash(\"SelectFiles\");\n};\nSWFUpload.prototype.startUpload = function (fileID) {\n\tthis.callFlash(\"StartUpload\", [fileID]);\n};\nSWFUpload.prototype.cancelUpload = function (fileID, triggerErrorEvent) {\n\tif (triggerErrorEvent !== false) {\n\t\ttriggerErrorEvent = true;\n\t}\n\tthis.callFlash(\"CancelUpload\", [fileID, triggerErrorEvent]);\n};\nSWFUpload.prototype.stopUpload = function () {\n\tthis.callFlash(\"StopUpload\");\n};\n/* ************************\n * Settings methods\n * These methods change the SWFUpload settings.\n * SWFUpload settings should not be changed directly on the settings object\n * since many of the settings need to be passed to Flash in order to take\n * effect.\n * *********************** */\nSWFUpload.prototype.getStats = function () {\n\treturn this.callFlash(\"GetStats\");\n};\nSWFUpload.prototype.setStats = function (statsObject) {\n\tthis.callFlash(\"SetStats\", [statsObject]);\n};\nSWFUpload.prototype.getFile = function (fileID) {\n\tif (typeof(fileID) === \"number\") {\n\t\treturn this.callFlash(\"GetFileByIndex\", [fileID]);\n\t} else {\n\t\treturn this.callFlash(\"GetFile\", [fileID]);\n\t}\n};\nSWFUpload.prototype.addFileParam = function (fileID, name, value) {\n\treturn this.callFlash(\"AddFileParam\", [fileID, name, value]);\n};\nSWFUpload.prototype.removeFileParam = function (fileID, name) {\n\tthis.callFlash(\"RemoveFileParam\", [fileID, name]);\n};\nSWFUpload.prototype.setUploadURL = function (url) {\n\tthis.settings.upload_url = url.toString();\n\tthis.callFlash(\"SetUploadURL\", [url]);\n};\nSWFUpload.prototype.setPostParams = function (paramsObject) {\n\tthis.settings.post_params = paramsObject;\n\tthis.callFlash(\"SetPostParams\", [paramsObject]);\n};\nSWFUpload.prototype.addPostParam = function (name, value) {\n\tthis.settings.post_params[name] = value;\n\tthis.callFlash(\"SetPostParams\", [this.settings.post_params]);\n};\nSWFUpload.prototype.removePostParam = function (name) {\n\tdelete this.settings.post_params[name];\n\tthis.callFlash(\"SetPostParams\", [this.settings.post_params]);\n};\nSWFUpload.prototype.setFileTypes = function (types, description) {\n\tthis.settings.file_types = types;\n\tthis.settings.file_types_description = description;\n\tthis.callFlash(\"SetFileTypes\", [types, description]);\n};\nSWFUpload.prototype.setFileSizeLimit = function (fileSizeLimit) {\n\tthis.settings.file_size_limit = fileSizeLimit;\n\tthis.callFlash(\"SetFileSizeLimit\", [fileSizeLimit]);\n};\nSWFUpload.prototype.setFileUploadLimit = function (fileUploadLimit) {\n\tthis.settings.file_upload_limit = fileUploadLimit;\n\tthis.callFlash(\"SetFileUploadLimit\", [fileUploadLimit]);\n};\nSWFUpload.prototype.setFileQueueLimit = function (fileQueueLimit) {\n\tthis.settings.file_queue_limit = fileQueueLimit;\n\tthis.callFlash(\"SetFileQueueLimit\", [fileQueueLimit]);\n};\nSWFUpload.prototype.setFilePostName = function (filePostName) {\n\tthis.settings.file_post_name = filePostName;\n\tthis.callFlash(\"SetFilePostName\", [filePostName]);\n};\nSWFUpload.prototype.setUseQueryString = function (useQueryString) {\n\tthis.settings.use_query_string = useQueryString;\n\tthis.callFlash(\"SetUseQueryString\", [useQueryString]);\n};\nSWFUpload.prototype.setRequeueOnError = function (requeueOnError) {\n\tthis.settings.requeue_on_error = requeueOnError;\n\tthis.callFlash(\"SetRequeueOnError\", [requeueOnError]);\n};\nSWFUpload.prototype.setHTTPSuccess = function (http_status_codes) {\n\tif (typeof http_status_codes === \"string\") {\n\t\thttp_status_codes = http_status_codes.replace(\" \", \"\").split(\",\");\n\t}\n\tthis.settings.http_success = http_status_codes;\n\tthis.callFlash(\"SetHTTPSuccess\", [http_status_codes]);\n};\nSWFUpload.prototype.setAssumeSuccessTimeout = function (timeout_seconds) {\n\tthis.settings.assume_success_timeout = timeout_seconds;\n\tthis.callFlash(\"SetAssumeSuccessTimeout\", [timeout_seconds]);\n};\nSWFUpload.prototype.setDebugEnabled = function (debugEnabled) {\n\tthis.settings.debug_enabled = debugEnabled;\n\tthis.callFlash(\"SetDebugEnabled\", [debugEnabled]);\n};\nSWFUpload.prototype.setButtonImageURL = function (buttonImageURL) {\n\tif (buttonImageURL == undefined) {\n\t\tbuttonImageURL = \"\";\n\t}\n\tthis.settings.button_image_url = buttonImageURL;\n\tthis.callFlash(\"SetButtonImageURL\", [buttonImageURL]);\n};\nSWFUpload.prototype.setButtonDimensions = function (width, height) {\n\tthis.settings.button_width = width;\n\tthis.settings.button_height = height;\n\tvar movie = this.getMovieElement();\n\tif (movie != undefined) {\n\t\tmovie.style.width = width + \"px\";\n\t\tmovie.style.height = height + \"px\";\n\t}\n\tthis.callFlash(\"SetButtonDimensions\", [width, height]);\n};\nSWFUpload.prototype.setButtonText = function (html) {\n\tthis.settings.button_text = html;\n\tthis.callFlash(\"SetButtonText\", [html]);\n};\nSWFUpload.prototype.setButtonTextPadding = function (left, top) {\n\tthis.settings.button_text_top_padding = top;\n\tthis.settings.button_text_left_padding = left;\n\tthis.callFlash(\"SetButtonTextPadding\", [left, top]);\n};\nSWFUpload.prototype.setButtonTextStyle = function (css) {\n\tthis.settings.button_text_style = css;\n\tthis.callFlash(\"SetButtonTextStyle\", [css]);\n};\nSWFUpload.prototype.setButtonDisabled = function (isDisabled) {\n\tthis.settings.button_disabled = isDisabled;\n\tthis.callFlash(\"SetButtonDisabled\", [isDisabled]);\n};\nSWFUpload.prototype.setButtonAction = function (buttonAction) {\n\tthis.settings.button_action = buttonAction;\n\tthis.callFlash(\"SetButtonAction\", [buttonAction]);\n};\nSWFUpload.prototype.setButtonCursor = function (cursor) {\n\tthis.settings.button_cursor = cursor;\n\tthis.callFlash(\"SetButtonCursor\", [cursor]);\n};\n/* *******************************\n\tFlash Event Interfaces\n\tThese functions are used by Flash to trigger the various\n\tevents.\n\tAll these functions a Private.\n\tBecause the ExternalInterface library is buggy the event calls\n\tare added to a queue and the queue then executed by a setTimeout.\n\tThis ensures that events are executed in a determinate order and that\n\tthe ExternalInterface bugs are avoided.\n******************************* */\nSWFUpload.prototype.queueEvent = function (handlerName, argumentArray) {\n\tif (argumentArray == undefined) {\n\t\targumentArray = [];\n\t} else if (!(argumentArray instanceof Array)) {\n\t\targumentArray = [argumentArray];\n\t}\n\tvar self = this;\n\tif (typeof this.settings[handlerName] === \"function\") {\n\t\tthis.eventQueue.push(function () {\n\t\t\tthis.settings[handlerName].apply(this, argumentArray);\n\t\t});\n\t\tsetTimeout(function () {\n\t\t\tself.executeNextEvent();\n\t\t}, 0);\n\t} else if (this.settings[handlerName] !== null) {\n\t\tthrow \"Event handler \" + handlerName + \" is unknown or is not a function\";\n\t}\n};\nSWFUpload.prototype.executeNextEvent = function () {\n\tvar f = this.eventQueue ? this.eventQueue.shift() : null;\n\tif (typeof(f) === \"function\") {\n\t\tf.apply(this);\n\t}\n};\nSWFUpload.prototype.unescapeFilePostParams = function (file) {\n\tvar reg = /[$]([0-9a-f]{4})/i;\n\tvar unescapedPost = {};\n\tvar uk;\n\tif (file != undefined) {\n\t\tfor (var k in file.post) {\n\t\t\tif (file.post.hasOwnProperty(k)) {\n\t\t\t\tuk = k;\n\t\t\t\tvar match;\n\t\t\t\twhile ((match = reg.exec(uk)) !== null) {\n\t\t\t\t\tuk = uk.replace(match[0], String.fromCharCode(parseInt(\"0x\" + match[1], 16)));\n\t\t\t\t}\n\t\t\t\tunescapedPost[uk] = file.post[k];\n\t\t\t}\n\t\t}\n\t\tfile.post = unescapedPost;\n\t}\n\treturn file;\n};\nSWFUpload.prototype.testExternalInterface = function () {\n\ttry {\n\t\treturn this.callFlash(\"TestExternalInterface\");\n\t} catch (ex) {\n\t\treturn false;\n\t}\n};\nSWFUpload.prototype.flashReady = function () {\n\tvar movieElement = this.getMovieElement();\n\tif (!movieElement) {\n\t\tthis.debug(\"Flash called back ready but the flash movie can't be found.\");\n\t\treturn;\n\t}\n\tthis.cleanUp(movieElement);\n\tthis.queueEvent(\"swfupload_loaded_handler\");\n};\nSWFUpload.prototype.cleanUp = function (movieElement) {\n\ttry {\n\t\tif (this.movieElement && typeof(movieElement.CallFunction) === \"unknown\") {\n\t\t\tthis.debug(\"Removing Flash functions hooks (this should only run in IE and should prevent memory leaks)\");\n\t\t\tfor (var key in movieElement) {\n\t\t\t\ttry {\n\t\t\t\t\tif (typeof(movieElement[key]) === \"function\") {\n\t\t\t\t\t\tmovieElement[key] = null;\n\t\t\t\t\t}\n\t\t\t\t} catch (ex) {\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t} catch (ex1) {\n\t}\n\twindow[\"__flash__removeCallback\"] = function (instance, name) {\n\t\ttry {\n\t\t\tif (instance) {\n\t\t\t\tinstance[name] = null;\n\t\t\t}\n\t\t} catch (flashEx) {\n\t\t}\n\t};\n};\n/* This is a chance to do something before the browse window opens */\nSWFUpload.prototype.fileDialogStart = function () {\n\tthis.queueEvent(\"file_dialog_start_handler\");\n};\n/* Called when a file is successfully added to the queue. */\nSWFUpload.prototype.fileQueued = function (file) {\n\tfile = this.unescapeFilePostParams(file);\n\tthis.queueEvent(\"file_queued_handler\", file);\n};\n/* Handle errors that occur when an attempt to queue a file fails. */\nSWFUpload.prototype.fileQueueError = function (file, errorCode, message) {\n\tfile = this.unescapeFilePostParams(file);\n\tthis.queueEvent(\"file_queue_error_handler\", [file, errorCode, message]);\n};\n/* Called after the file dialog has closed and the selected files have been queued.\n\tYou could call startUpload here if you want the queued files to begin uploading immediately. */\nSWFUpload.prototype.fileDialogComplete = function (numFilesSelected, numFilesQueued, numFilesInQueue) {\n\tthis.queueEvent(\"file_dialog_complete_handler\", [numFilesSelected, numFilesQueued, numFilesInQueue]);\n};\nSWFUpload.prototype.uploadStart = function (file) {\n\tfile = this.unescapeFilePostParams(file);\n\tthis.queueEvent(\"return_upload_start_handler\", file);\n};\nSWFUpload.prototype.returnUploadStart = function (file) {\n\tvar returnValue;\n\tif (typeof this.settings.upload_start_handler === \"function\") {\n\t\tfile = this.unescapeFilePostParams(file);\n\t\treturnValue = this.settings.upload_start_handler.call(this, file);\n\t} else if (this.settings.upload_start_handler != undefined) {\n\t\tthrow \"upload_start_handler must be a function\";\n\t}\n\tif (returnValue === undefined) {\n\t\treturnValue = true;\n\t}\n\treturnValue = !!returnValue;\n\tthis.callFlash(\"ReturnUploadStart\", [returnValue]);\n};\nSWFUpload.prototype.uploadProgress = function (file, bytesComplete, bytesTotal) {\n\tfile = this.unescapeFilePostParams(file);\n\tthis.queueEvent(\"upload_progress_handler\", [file, bytesComplete, bytesTotal]);\n};\nSWFUpload.prototype.uploadError = function (file, errorCode, message) {\n\tfile = this.unescapeFilePostParams(file);\n\tthis.queueEvent(\"upload_error_handler\", [file, errorCode, message]);\n};\nSWFUpload.prototype.uploadSuccess = function (file, serverData, responseReceived) {\n\tfile = this.unescapeFilePostParams(file);\n\tthis.queueEvent(\"upload_success_handler\", [file, serverData, responseReceived]);\n};\nSWFUpload.prototype.uploadComplete = function (file) {\n\tfile = this.unescapeFilePostParams(file);\n\tthis.queueEvent(\"upload_complete_handler\", file);\n};\n/* Called by SWFUpload JavaScript and Flash functions when debug is enabled. By default it writes messages to the\n internal debug console. You can override this event and have messages written where you want. */\nSWFUpload.prototype.debug = function (message) {\n\tthis.queueEvent(\"debug_handler\", message);\n};\n/* **********************************\n\tDebug Console\n\tThe debug console is a self contained, in page location\n\tfor debug message to be sent. The Debug Console adds\n\titself to the body if necessary.\n\tThe console is automatically scrolled as messages appear.\n\tIf you are using your own debug handler or when you deploy to production and\n\thave debug disabled you can remove these functions to reduce the file size\n\tand complexity.\n********************************** */\nSWFUpload.prototype.debugMessage = function (message) {\n\tif (this.settings.debug) {\n\t\tvar exceptionMessage, exceptionValues = [];\n\t\tif (typeof message === \"object\" && typeof message.name === \"string\" && typeof message.message === \"string\") {\n\t\t\tfor (var key in message) {\n\t\t\t\tif (message.hasOwnProperty(key)) {\n\t\t\t\t\texceptionValues.push(key + \": \" + message[key]);\n\t\t\t\t}\n\t\t\t}\n\t\t\texceptionMessage = exceptionValues.join(\"\\n\") || \"\";\n\t\t\texceptionValues = exceptionMessage.split(\"\\n\");\n\t\t\texceptionMessage = \"EXCEPTION: \" + exceptionValues.join(\"\\nEXCEPTION: \");\n\t\t\tSWFUpload.Console.writeLine(exceptionMessage);\n\t\t} else {\n\t\t\tSWFUpload.Console.writeLine(message);\n\t\t}\n\t}\n};\nSWFUpload.Console = {};\nSWFUpload.Console.writeLine = function (message) {\n\tvar console, documentForm;\n\ttry {\n\t\tconsole = document.getElementById(\"SWFUpload_Console\");\n\t\tif (!console) {\n\t\t\tdocumentForm = document.createElement(\"form\");\n\t\t\tdocument.getElementsByTagName(\"body\")[0].appendChild(documentForm);\n\t\t\tconsole = document.createElement(\"textarea\");\n\t\t\tconsole.id = \"SWFUpload_Console\";\n\t\t\tconsole.style.fontFamily = \"monospace\";\n\t\t\tconsole.setAttribute(\"wrap\", \"off\");\n\t\t\tconsole.wrap = \"off\";\n\t\t\tconsole.style.overflow = \"auto\";\n\t\t\tconsole.style.width = \"700px\";\n\t\t\tconsole.style.height = \"350px\";\n\t\t\tconsole.style.margin = \"5px\";\n\t\t\tdocumentForm.appendChild(console);\n\t\t}\n\t\tconsole.value += message + \"\\n\";\n\t\tconsole.scrollTop = console.scrollHeight - console.clientHeight;\n\t} catch (ex) {\n\t\talert(\"Exception: \" + ex.name + \" Message: \" + ex.message);\n\t}\n};\n})();\n(function() {\n/*\n\tQueue Plug-in\n\tFeatures:\n\t\t*Adds a cancelQueue() method for cancelling the entire queue.\n\t\t*All queued files are uploaded when startUpload() is called.\n\t\t*If false is returned from uploadComplete then the queue upload is stopped.\n\t\t If false is not returned (strict comparison) then the queue upload is continued.\n\t\t*Adds a QueueComplete event that is fired when all the queued files have finished uploading.\n\t\t Set the event handler with the queue_complete_handler setting.\n\t*/\nif (typeof(SWFUpload) === \"function\") {\n\tSWFUpload.queue = {};\n\tSWFUpload.prototype.initSettings = (function (oldInitSettings) {\n\t\treturn function () {\n\t\t\tif (typeof(oldInitSettings) === \"function\") {\n\t\t\t\toldInitSettings.call(this);\n\t\t\t}\n\t\t\tthis.queueSettings = {};\n\t\t\tthis.queueSettings.queue_cancelled_flag = false;\n\t\t\tthis.queueSettings.queue_upload_count = 0;\n\t\t\tthis.queueSettings.user_upload_complete_handler = this.settings.upload_complete_handler;\n\t\t\tthis.queueSettings.user_upload_start_handler = this.settings.upload_start_handler;\n\t\t\tthis.settings.upload_complete_handler = SWFUpload.queue.uploadCompleteHandler;\n\t\t\tthis.settings.upload_start_handler = SWFUpload.queue.uploadStartHandler;\n\t\t\tthis.settings.queue_complete_handler = this.settings.queue_complete_handler || null;\n\t\t};\n\t})(SWFUpload.prototype.initSettings);\n\tSWFUpload.prototype.startUpload = function (fileID) {\n\t\tthis.queueSettings.queue_cancelled_flag = false;\n\t\tthis.callFlash(\"StartUpload\", [fileID]);\n\t};\n\tSWFUpload.prototype.cancelQueue = function () {\n\t\tthis.queueSettings.queue_cancelled_flag = true;\n\t\tthis.stopUpload();\n\t\tvar stats = this.getStats();\n\t\twhile (stats.files_queued > 0) {\n\t\t\tthis.cancelUpload();\n\t\t\tstats = this.getStats();\n\t\t}\n\t};\n\tSWFUpload.queue.uploadStartHandler = function (file) {\n\t\tvar returnValue;\n\t\tif (typeof(this.queueSettings.user_upload_start_handler) === \"function\") {\n\t\t\treturnValue = this.queueSettings.user_upload_start_handler.call(this, file);\n\t\t}\n\t\treturnValue = (returnValue === false) ? false : true;\n\t\tthis.queueSettings.queue_cancelled_flag = !returnValue;\n\t\treturn returnValue;\n\t};\n\tSWFUpload.queue.uploadCompleteHandler = function (file) {\n\t\tvar user_upload_complete_handler = this.queueSettings.user_upload_complete_handler;\n\t\tvar continueUpload;\n\t\tif (file.filestatus === SWFUpload.FILE_STATUS.COMPLETE) {\n\t\t\tthis.queueSettings.queue_upload_count++;\n\t\t}\n\t\tif (typeof(user_upload_complete_handler) === \"function\") {\n\t\t\tcontinueUpload = (user_upload_complete_handler.call(this, file) === false) ? false : true;\n\t\t} else if (file.filestatus === SWFUpload.FILE_STATUS.QUEUED) {\n\t\t\tcontinueUpload = false;\n\t\t} else {\n\t\t\tcontinueUpload = true;\n\t\t}\n\t\tif (continueUpload) {\n\t\t\tvar stats = this.getStats();\n\t\t\tif (stats.files_queued > 0 && this.queueSettings.queue_cancelled_flag === false) {\n\t\t\t\tthis.startUpload();\n\t\t\t} else if (this.queueSettings.queue_cancelled_flag === false) {\n\t\t\t\tthis.queueEvent(\"queue_complete_handler\", [this.queueSettings.queue_upload_count]);\n\t\t\t\tthis.queueSettings.queue_upload_count = 0;\n\t\t\t} else {\n\t\t\t\tthis.queueSettings.queue_cancelled_flag = false;\n\t\t\t\tthis.queueSettings.queue_upload_count = 0;\n\t\t\t}\n\t\t}\n\t};\n}\n})();\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('pagebreak', function(K) {\r\n\tvar self = this;\r\n\tvar name = 'pagebreak';\r\n\tvar pagebreakHtml = K.undef(self.pagebreakHtml, '<hr style=\"page-break-after: always;\" class=\"ke-pagebreak\" />');\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar cmd = self.cmd, range = cmd.range;\r\n\t\tself.focus();\r\n\t\tvar tail = self.newlineTag == 'br' || K.WEBKIT ? '' : '<span id=\"__kindeditor_tail_tag__\"></span>';\r\n\t\tself.insertHtml(pagebreakHtml + tail);\r\n\t\tif (tail !== '') {\r\n\t\t\tvar p = K('#__kindeditor_tail_tag__', self.edit.doc);\r\n\t\t\trange.selectNodeContents(p[0]);\r\n\t\t\tp.removeAttr('id');\r\n\t\t\tcmd.select();\r\n\t\t}\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('plainpaste', function(K) {\r\n\tvar self = this, name = 'plainpaste';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<div style=\"margin-bottom:10px;\">' + lang.comment + '</div>' +\r\n\t\t\t\t'<textarea class=\"ke-textarea\" style=\"width:408px;height:260px;\"></textarea>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar html = textarea.val();\r\n\t\t\t\t\t\thtml = K.escape(html);\r\n\t\t\t\t\t\thtml = html.replace(/ {2}/g, ' &nbsp;');\r\n\t\t\t\t\t\tif (self.newlineTag == 'p') {\r\n\t\t\t\t\t\t\thtml = html.replace(/^/, '<p>').replace(/$/, '</p>').replace(/\\n/g, '</p><p>');\r\n\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\thtml = html.replace(/\\n/g, '<br />$&');\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\ttextarea = K('textarea', dialog.div);\r\n\t\ttextarea[0].focus();\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('preview', function(K) {\r\n\tvar self = this, name = 'preview', undefined;\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:708px;height:400px;\"></iframe>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 750,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html\r\n\t\t\t}),\r\n\t\t\tiframe = K('iframe', dialog.div),\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\tdoc.open();\r\n\t\tdoc.write(self.fullHtml());\r\n\t\tdoc.close();\r\n\t\tK(doc.body).css('background-color', '#FFF');\r\n\t\tiframe[0].contentWindow.focus();\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('quickformat', function(K) {\r\n\tvar self = this, name = 'quickformat',\r\n\t\tblockMap = K.toMap('blockquote,center,div,h1,h2,h3,h4,h5,h6,p');\r\n\tfunction getFirstChild(knode) {\r\n\t\tvar child = knode.first();\r\n\t\twhile (child && child.first()) {\r\n\t\t\tchild = child.first();\r\n\t\t}\r\n\t\treturn child;\r\n\t}\r\n\tself.clickToolbar(name, function() {\r\n\t\tself.focus();\r\n\t\tvar doc = self.edit.doc,\r\n\t\t\trange = self.cmd.range,\r\n\t\t\tchild = K(doc.body).first(), next,\r\n\t\t\tnodeList = [], subList = [],\r\n\t\t\tbookmark = range.createBookmark(true);\r\n\t\twhile(child) {\r\n\t\t\tnext = child.next();\r\n\t\t\tvar firstChild = getFirstChild(child);\r\n\t\t\tif (!firstChild || firstChild.name != 'img') {\r\n\t\t\t\tif (blockMap[child.name]) {\r\n\t\t\t\t\tchild.html(child.html().replace(/^(\\s|&nbsp;| )+/ig, ''));\r\n\t\t\t\t\tchild.css('text-indent', '2em');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tsubList.push(child);\r\n\t\t\t\t}\r\n\t\t\t\tif (!next || (blockMap[next.name] || blockMap[child.name] && !blockMap[next.name])) {\r\n\t\t\t\t\tif (subList.length > 0) {\r\n\t\t\t\t\t\tnodeList.push(subList);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tsubList = [];\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tchild = next;\r\n\t\t}\r\n\t\tK.each(nodeList, function(i, subList) {\r\n\t\t\tvar wrapper = K('<p style=\"text-indent:2em;\"></p>', doc);\r\n\t\t\tsubList[0].before(wrapper);\r\n\t\t\tK.each(subList, function(i, knode) {\r\n\t\t\t\twrapper.append(knode);\r\n\t\t\t});\r\n\t\t});\r\n\t\trange.moveToBookmark(bookmark);\r\n\t\tself.addBookmark();\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('table', function(K) {\r\n\tvar self = this, name = 'table', lang = self.lang(name + '.'), zeroborder = 'ke-zeroborder';\r\n\tfunction _setColor(box, color) {\r\n\t\tcolor = color.toUpperCase();\r\n\t\tbox.css('background-color', color);\r\n\t\tbox.css('color', color === '#000000' ? '#FFFFFF' : '#000000');\r\n\t\tbox.html(color);\r\n\t}\r\n\tvar pickerList = [];\r\n\tfunction _initColorPicker(dialogDiv, colorBox) {\r\n\t\tcolorBox.bind('click,mousedown', function(e){\r\n\t\t\te.stopPropagation();\r\n\t\t});\r\n\t\tfunction removePicker() {\r\n\t\t\tK.each(pickerList, function() {\r\n\t\t\t\tthis.remove();\r\n\t\t\t});\r\n\t\t\tpickerList = [];\r\n\t\t\tK(document).unbind('click,mousedown', removePicker);\r\n\t\t\tdialogDiv.unbind('click,mousedown', removePicker);\r\n\t\t}\r\n\t\tcolorBox.click(function(e) {\r\n\t\t\tremovePicker();\r\n\t\t\tvar box = K(this),\r\n\t\t\t\tpos = box.pos();\r\n\t\t\tvar picker = K.colorpicker({\r\n\t\t\t\tx : pos.x,\r\n\t\t\t\ty : pos.y + box.height(),\r\n\t\t\t\tz : 811214,\r\n\t\t\t\tselectedColor : K(this).html(),\r\n\t\t\t\tcolors : self.colorTable,\r\n\t\t\t\tnoColor : self.lang('noColor'),\r\n\t\t\t\tshadowMode : self.shadowMode,\r\n\t\t\t\tclick : function(color) {\r\n\t\t\t\t\t_setColor(box, color);\r\n\t\t\t\t\tremovePicker();\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\tpickerList.push(picker);\r\n\t\t\tK(document).bind('click,mousedown', removePicker);\r\n\t\t\tdialogDiv.bind('click,mousedown', removePicker);\r\n\t\t});\r\n\t}\r\n\tfunction _getCellIndex(table, row, cell) {\r\n\t\tvar rowSpanCount = 0;\r\n\t\tfor (var i = 0, len = row.cells.length; i < len; i++) {\r\n\t\t\tif (row.cells[i] == cell) {\r\n\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t\trowSpanCount += row.cells[i].rowSpan - 1;\r\n\t\t}\r\n\t\treturn cell.cellIndex - rowSpanCount;\r\n\t}\r\n\tself.plugin.table = {\r\n\t\tprop : function(isInsert) {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keRows\" style=\"width:90px;\">' + lang.cells + '</label>',\r\n\t\t\t\tlang.rows + ' <input type=\"text\" id=\"keRows\" class=\"ke-input-text ke-input-number\" name=\"rows\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.cols + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"cols\" value=\"\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:90px;\">' + lang.size + '</label>',\r\n\t\t\t\tlang.width + ' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"widthType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select> &nbsp; ',\r\n\t\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"heightType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"kePadding\" style=\"width:90px;\">' + lang.space + '</label>',\r\n\t\t\t\tlang.padding + ' <input type=\"text\" id=\"kePadding\" class=\"ke-input-text ke-input-number\" name=\"padding\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.spacing + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"spacing\" value=\"\" maxlength=\"4\" />',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAlign\" style=\"width:90px;\">' + lang.align + '</label>',\r\n\t\t\t\t'<select id=\"keAlign\" name=\"align\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"left\">' + lang.alignLeft + '</option>',\r\n\t\t\t\t'<option value=\"center\">' + lang.alignCenter + '</option>',\r\n\t\t\t\t'<option value=\"right\">' + lang.alignRight + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBorder\" style=\"width:90px;\">' + lang.border + '</label>',\r\n\t\t\t\tlang.borderWidth + ' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.borderColor + ' <span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBgColor\" style=\"width:90px;\">' + lang.backgroundColor + '</label>',\r\n\t\t\t\t'<span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar bookmark = self.cmd.range.createBookmark();\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 500,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tcolorBox.unbind();\r\n\t\t\t\t},\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar rows = rowsBox.val(),\r\n\t\t\t\t\t\t\tcols = colsBox.val(),\r\n\t\t\t\t\t\t\twidth = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\t\twidthType = widthTypeBox.val(),\r\n\t\t\t\t\t\t\theightType = heightTypeBox.val(),\r\n\t\t\t\t\t\t\tpadding = paddingBox.val(),\r\n\t\t\t\t\t\t\tspacing = spacingBox.val(),\r\n\t\t\t\t\t\t\talign = alignBox.val(),\r\n\t\t\t\t\t\t\tborder = borderBox.val(),\r\n\t\t\t\t\t\t\tborderColor = K(colorBox[0]).html() || '',\r\n\t\t\t\t\t\t\tbgColor = K(colorBox[1]).html() || '';\r\n\t\t\t\t\t\tif (rows == 0 || !/^\\d+$/.test(rows)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidRows'));\r\n\t\t\t\t\t\t\trowsBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (cols == 0 || !/^\\d+$/.test(cols)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidRows'));\r\n\t\t\t\t\t\t\tcolsBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(padding)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidPadding'));\r\n\t\t\t\t\t\t\tpaddingBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(spacing)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidSpacing'));\r\n\t\t\t\t\t\t\tspacingBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(border)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidBorder'));\r\n\t\t\t\t\t\t\tborderBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (table) {\r\n\t\t\t\t\t\t\tif (width !== '') {\r\n\t\t\t\t\t\t\t\ttable.width(width + widthType);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.css('width', '');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (table[0].width !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('width');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (height !== '') {\r\n\t\t\t\t\t\t\t\ttable.height(height + heightType);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.css('height', '');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (table[0].height !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('height');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\ttable.css('background-color', bgColor);\r\n\t\t\t\t\t\t\tif (table[0].bgColor !== undefined) {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('bgColor');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (padding !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].cellPadding = padding;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('cellPadding');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (spacing !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].cellSpacing = spacing;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('cellSpacing');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (align !== '') {\r\n\t\t\t\t\t\t\t\ttable[0].align = align;\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('align');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (border !== '') {\r\n\t\t\t\t\t\t\t\ttable.attr('border', border);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('border');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (border === '' || border === '0') {\r\n\t\t\t\t\t\t\t\ttable.addClass(zeroborder);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeClass(zeroborder);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tif (borderColor !== '') {\r\n\t\t\t\t\t\t\t\ttable.attr('borderColor', borderColor);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\ttable.removeAttr('borderColor');\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t\t\tself.cmd.range.moveToBookmark(bookmark);\r\n\t\t\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar style = '';\r\n\t\t\t\t\t\tif (width !== '') {\r\n\t\t\t\t\t\t\tstyle += 'width:' + width + widthType + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (height !== '') {\r\n\t\t\t\t\t\t\tstyle += 'height:' + height + heightType + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (bgColor !== '') {\r\n\t\t\t\t\t\t\tstyle += 'background-color:' + bgColor + ';';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tvar html = '<table';\r\n\t\t\t\t\t\tif (style !== '') {\r\n\t\t\t\t\t\t\thtml += ' style=\"' + style + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (padding !== '') {\r\n\t\t\t\t\t\t\thtml += ' cellpadding=\"' + padding + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (spacing !== '') {\r\n\t\t\t\t\t\t\thtml += ' cellspacing=\"' + spacing + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (align !== '') {\r\n\t\t\t\t\t\t\thtml += ' align=\"' + align + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (border !== '') {\r\n\t\t\t\t\t\t\thtml += ' border=\"' + border + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (border === '' || border === '0') {\r\n\t\t\t\t\t\t\thtml += ' class=\"' + zeroborder + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (borderColor !== '') {\r\n\t\t\t\t\t\t\thtml += ' bordercolor=\"' + borderColor + '\"';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thtml += '>';\r\n\t\t\t\t\t\tfor (var i = 0; i < rows; i++) {\r\n\t\t\t\t\t\t\thtml += '<tr>';\r\n\t\t\t\t\t\t\tfor (var j = 0; j < cols; j++) {\r\n\t\t\t\t\t\t\t\thtml += '<td>' + (K.IE ? '&nbsp;' : '<br />') + '</td>';\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\thtml += '</tr>';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\thtml += '</table>';\r\n\t\t\t\t\t\tif (!K.IE) {\r\n\t\t\t\t\t\t\thtml += '<br />';\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tself.insertHtml(html);\r\n\t\t\t\t\t\tself.select().hideDialog().focus();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\trowsBox = K('[name=\"rows\"]', div).val(3),\r\n\t\t\tcolsBox = K('[name=\"cols\"]', div).val(2),\r\n\t\t\twidthBox = K('[name=\"width\"]', div).val(100),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\twidthTypeBox = K('[name=\"widthType\"]', div),\r\n\t\t\theightTypeBox = K('[name=\"heightType\"]', div),\r\n\t\t\tpaddingBox = K('[name=\"padding\"]', div).val(2),\r\n\t\t\tspacingBox = K('[name=\"spacing\"]', div).val(0),\r\n\t\t\talignBox = K('[name=\"align\"]', div),\r\n\t\t\tborderBox = K('[name=\"border\"]', div).val(1),\r\n\t\t\tcolorBox = K('.ke-input-color', div);\r\n\t\t\t_initColorPicker(div, colorBox.eq(0));\r\n\t\t\t_initColorPicker(div, colorBox.eq(1));\r\n\t\t\t_setColor(colorBox.eq(0), '#000000');\r\n\t\t\t_setColor(colorBox.eq(1), '');\r\n\t\t\trowsBox[0].focus();\r\n\t\t\trowsBox[0].select();\r\n\t\t\tvar table;\r\n\t\t\tif (isInsert) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\ttable = self.plugin.getSelectedTable();\r\n\t\t\tif (table) {\r\n\t\t\t\trowsBox.val(table[0].rows.length);\r\n\t\t\t\tcolsBox.val(table[0].rows.length > 0 ? table[0].rows[0].cells.length : 0);\r\n\t\t\t\trowsBox.attr('disabled', true);\r\n\t\t\t\tcolsBox.attr('disabled', true);\r\n\t\t\t\tvar match,\r\n\t\t\t\t\ttableWidth = table[0].style.width || table[0].width,\r\n\t\t\t\t\ttableHeight = table[0].style.height || table[0].height;\r\n\t\t\t\tif (tableWidth !== undefined && (match = /^(\\d+)((?:px|%)*)$/.exec(tableWidth))) {\r\n\t\t\t\t\twidthBox.val(match[1]);\r\n\t\t\t\t\twidthTypeBox.val(match[2]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\twidthBox.val('');\r\n\t\t\t\t}\r\n\t\t\t\tif (tableHeight !== undefined && (match = /^(\\d+)((?:px|%)*)$/.exec(tableHeight))) {\r\n\t\t\t\t\theightBox.val(match[1]);\r\n\t\t\t\t\theightTypeBox.val(match[2]);\r\n\t\t\t\t}\r\n\t\t\t\tpaddingBox.val(table[0].cellPadding || '');\r\n\t\t\t\tspacingBox.val(table[0].cellSpacing || '');\r\n\t\t\t\talignBox.val(table[0].align || '');\r\n\t\t\t\tborderBox.val(table[0].border === undefined ? '' : table[0].border);\r\n\t\t\t\t_setColor(colorBox.eq(0), K.toHex(table.attr('borderColor') || ''));\r\n\t\t\t\t_setColor(colorBox.eq(1), K.toHex(table[0].style.backgroundColor || table[0].bgColor || ''));\r\n\t\t\t\twidthBox[0].focus();\r\n\t\t\t\twidthBox[0].select();\r\n\t\t\t}\r\n\t\t},\r\n\t\tcellprop : function() {\r\n\t\t\tvar html = [\r\n\t\t\t\t'<div style=\"padding:20px;\">',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keWidth\" style=\"width:90px;\">' + lang.size + '</label>',\r\n\t\t\t\tlang.width + ' <input type=\"text\" id=\"keWidth\" class=\"ke-input-text ke-input-number\" name=\"width\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"widthType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select> &nbsp; ',\r\n\t\t\t\tlang.height + ' <input type=\"text\" class=\"ke-input-text ke-input-number\" name=\"height\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\t'<select name=\"heightType\">',\r\n\t\t\t\t'<option value=\"%\">' + lang.percent + '</option>',\r\n\t\t\t\t'<option value=\"px\">' + lang.px + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keAlign\" style=\"width:90px;\">' + lang.align + '</label>',\r\n\t\t\t\tlang.textAlign + ' <select id=\"keAlign\" name=\"textAlign\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"left\">' + lang.alignLeft + '</option>',\r\n\t\t\t\t'<option value=\"center\">' + lang.alignCenter + '</option>',\r\n\t\t\t\t'<option value=\"right\">' + lang.alignRight + '</option>',\r\n\t\t\t\t'</select> ',\r\n\t\t\t\tlang.verticalAlign + ' <select name=\"verticalAlign\">',\r\n\t\t\t\t'<option value=\"\">' + lang.alignDefault + '</option>',\r\n\t\t\t\t'<option value=\"top\">' + lang.alignTop + '</option>',\r\n\t\t\t\t'<option value=\"middle\">' + lang.alignMiddle + '</option>',\r\n\t\t\t\t'<option value=\"bottom\">' + lang.alignBottom + '</option>',\r\n\t\t\t\t'<option value=\"baseline\">' + lang.alignBaseline + '</option>',\r\n\t\t\t\t'</select>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBorder\" style=\"width:90px;\">' + lang.border + '</label>',\r\n\t\t\t\tlang.borderWidth + ' <input type=\"text\" id=\"keBorder\" class=\"ke-input-text ke-input-number\" name=\"border\" value=\"\" maxlength=\"4\" /> &nbsp; ',\r\n\t\t\t\tlang.borderColor + ' <span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-dialog-row\">',\r\n\t\t\t\t'<label for=\"keBgColor\" style=\"width:90px;\">' + lang.backgroundColor + '</label>',\r\n\t\t\t\t'<span class=\"ke-inline-block ke-input-color\"></span>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'</div>'\r\n\t\t\t].join('');\r\n\t\t\tvar bookmark = self.cmd.range.createBookmark();\r\n\t\t\tvar dialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 500,\r\n\t\t\t\ttitle : self.lang('tablecell'),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tbeforeRemove : function() {\r\n\t\t\t\t\tcolorBox.unbind();\r\n\t\t\t\t},\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar width = widthBox.val(),\r\n\t\t\t\t\t\t\theight = heightBox.val(),\r\n\t\t\t\t\t\t\twidthType = widthTypeBox.val(),\r\n\t\t\t\t\t\t\theightType = heightTypeBox.val(),\r\n\t\t\t\t\t\t\tpadding = paddingBox.val(),\r\n\t\t\t\t\t\t\tspacing = spacingBox.val(),\r\n\t\t\t\t\t\t\ttextAlign = textAlignBox.val(),\r\n\t\t\t\t\t\t\tverticalAlign = verticalAlignBox.val(),\r\n\t\t\t\t\t\t\tborder = borderBox.val(),\r\n\t\t\t\t\t\t\tborderColor = K(colorBox[0]).html() || '',\r\n\t\t\t\t\t\t\tbgColor = K(colorBox[1]).html() || '';\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(width)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidWidth'));\r\n\t\t\t\t\t\t\twidthBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(height)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidHeight'));\r\n\t\t\t\t\t\t\theightBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (!/^\\d*$/.test(border)) {\r\n\t\t\t\t\t\t\talert(self.lang('invalidBorder'));\r\n\t\t\t\t\t\t\tborderBox[0].focus();\r\n\t\t\t\t\t\t\treturn;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcell.css({\r\n\t\t\t\t\t\t\twidth : width !== '' ? (width + widthType) : '',\r\n\t\t\t\t\t\t\theight : height !== '' ? (height + heightType) : '',\r\n\t\t\t\t\t\t\t'background-color' : bgColor,\r\n\t\t\t\t\t\t\t'text-align' : textAlign,\r\n\t\t\t\t\t\t\t'vertical-align' : verticalAlign,\r\n\t\t\t\t\t\t\t'border-width' : border,\r\n\t\t\t\t\t\t\t'border-style' : border !== '' ? 'solid' : '',\r\n\t\t\t\t\t\t\t'border-color' : borderColor\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t\tself.hideDialog().focus();\r\n\t\t\t\t\t\tself.cmd.range.moveToBookmark(bookmark);\r\n\t\t\t\t\t\tself.cmd.select();\r\n\t\t\t\t\t\tself.addBookmark();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\twidthBox = K('[name=\"width\"]', div).val(100),\r\n\t\t\theightBox = K('[name=\"height\"]', div),\r\n\t\t\twidthTypeBox = K('[name=\"widthType\"]', div),\r\n\t\t\theightTypeBox = K('[name=\"heightType\"]', div),\r\n\t\t\tpaddingBox = K('[name=\"padding\"]', div).val(2),\r\n\t\t\tspacingBox = K('[name=\"spacing\"]', div).val(0),\r\n\t\t\ttextAlignBox = K('[name=\"textAlign\"]', div),\r\n\t\t\tverticalAlignBox = K('[name=\"verticalAlign\"]', div),\r\n\t\t\tborderBox = K('[name=\"border\"]', div).val(1),\r\n\t\t\tcolorBox = K('.ke-input-color', div);\r\n\t\t\t_initColorPicker(div, colorBox.eq(0));\r\n\t\t\t_initColorPicker(div, colorBox.eq(1));\r\n\t\t\t_setColor(colorBox.eq(0), '#000000');\r\n\t\t\t_setColor(colorBox.eq(1), '');\r\n\t\t\twidthBox[0].focus();\r\n\t\t\twidthBox[0].select();\r\n\t\t\tvar cell = self.plugin.getSelectedCell();\r\n\t\t\tvar match,\r\n\t\t\t\tcellWidth = cell[0].style.width || cell[0].width || '',\r\n\t\t\t\tcellHeight = cell[0].style.height || cell[0].height || '';\r\n\t\t\tif ((match = /^(\\d+)((?:px|%)*)$/.exec(cellWidth))) {\r\n\t\t\t\twidthBox.val(match[1]);\r\n\t\t\t\twidthTypeBox.val(match[2]);\r\n\t\t\t} else {\r\n\t\t\t\twidthBox.val('');\r\n\t\t\t}\r\n\t\t\tif ((match = /^(\\d+)((?:px|%)*)$/.exec(cellHeight))) {\r\n\t\t\t\theightBox.val(match[1]);\r\n\t\t\t\theightTypeBox.val(match[2]);\r\n\t\t\t}\r\n\t\t\ttextAlignBox.val(cell[0].style.textAlign || '');\r\n\t\t\tverticalAlignBox.val(cell[0].style.verticalAlign || '');\r\n\t\t\tvar border = cell[0].style.borderWidth || '';\r\n\t\t\tif (border) {\r\n\t\t\t\tborder = parseInt(border);\r\n\t\t\t}\r\n\t\t\tborderBox.val(border);\r\n\t\t\t_setColor(colorBox.eq(0), K.toHex(cell[0].style.borderColor || ''));\r\n\t\t\t_setColor(colorBox.eq(1), K.toHex(cell[0].style.backgroundColor || ''));\r\n\t\t\twidthBox[0].focus();\r\n\t\t\twidthBox[0].select();\r\n\t\t},\r\n\t\tinsert : function() {\r\n\t\t\tthis.prop(true);\r\n\t\t},\r\n\t\t'delete' : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable();\r\n\t\t\tself.cmd.range.setStartBefore(table[0]).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\ttable.remove();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolinsert : function(offset) {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tindex = cell.cellIndex + offset;\r\n\t\t\tindex += table.rows[0].cells.length - row.cells.length;\r\n\t\t\tfor (var i = 0, len = table.rows.length; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[i],\r\n\t\t\t\t\tnewCell = newRow.insertCell(index);\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t\tindex = _getCellIndex(table, newRow, newCell);\r\n\t\t\t}\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolinsertleft : function() {\r\n\t\t\tthis.colinsert(0);\r\n\t\t},\r\n\t\tcolinsertright : function() {\r\n\t\t\tthis.colinsert(1);\r\n\t\t},\r\n\t\trowinsert : function(offset) {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0];\r\n\t\t\tvar rowIndex = row.rowIndex;\r\n\t\t\tif (offset === 1) {\r\n\t\t\t\trowIndex = row.rowIndex + (cell.rowSpan - 1) + offset;\r\n\t\t\t}\r\n\t\t\tvar newRow = table.insertRow(rowIndex);\r\n\t\t\tfor (var i = 0, len = row.cells.length; i < len; i++) {\r\n\t\t\t\tif (row.cells[i].rowSpan > 1) {\r\n\t\t\t\t\tlen -= row.cells[i].rowSpan - 1;\r\n\t\t\t\t}\r\n\t\t\t\tvar newCell = newRow.insertCell(i);\r\n\t\t\t\tif (offset === 1 && row.cells[i].colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan = row.cells[i].colSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t}\r\n\t\t\tfor (var j = rowIndex; j >= 0; j--) {\r\n\t\t\t\tvar cells = table.rows[j].cells;\r\n\t\t\t\tif (cells.length > i) {\r\n\t\t\t\t\tfor (var k = cell.cellIndex; k >= 0; k--) {\r\n\t\t\t\t\t\tif (cells[k].rowSpan > 1) {\r\n\t\t\t\t\t\t\tcells[k].rowSpan += 1;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t\tbreak;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowinsertabove : function() {\r\n\t\t\tthis.rowinsert(0);\r\n\t\t},\r\n\t\trowinsertbelow : function() {\r\n\t\t\tthis.rowinsert(1);\r\n\t\t},\r\n\t\trowmerge : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex,\r\n\t\t\t\tnextRowIndex = rowIndex + cell.rowSpan,\r\n\t\t\t\tnextRow = table.rows[nextRowIndex];\r\n\t\t\tif (table.rows.length <= nextRowIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cellIndex = cell.cellIndex;\r\n\t\t\tif (nextRow.cells.length <= cellIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar nextCell = nextRow.cells[cellIndex];\r\n\t\t\tif (cell.colSpan !== nextCell.colSpan) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcell.rowSpan += nextCell.rowSpan;\r\n\t\t\tnextRow.deleteCell(cellIndex);\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolmerge : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex,\r\n\t\t\t\tcellIndex = cell.cellIndex,\r\n\t\t\t\tnextCellIndex = cellIndex + 1;\r\n\t\t\tif (row.cells.length <= nextCellIndex) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar nextCell = row.cells[nextCellIndex];\r\n\t\t\tif (cell.rowSpan !== nextCell.rowSpan) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tcell.colSpan += nextCell.colSpan;\r\n\t\t\trow.deleteCell(nextCellIndex);\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowsplit : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex;\r\n\t\t\tif (cell.rowSpan === 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tvar cellIndex = _getCellIndex(table, row, cell);\r\n\t\t\tfor (var i = 1, len = cell.rowSpan; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[rowIndex + i],\r\n\t\t\t\t\tnewCell = newRow.insertCell(cellIndex);\r\n\t\t\t\tif (cell.colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan = cell.colSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t\tcellIndex = _getCellIndex(table, newRow, newCell);\r\n\t\t\t}\r\n\t\t\tK(cell).removeAttr('rowSpan');\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcolsplit : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tcellIndex = cell.cellIndex;\r\n\t\t\tif (cell.colSpan === 1) {\r\n\t\t\t\treturn;\r\n\t\t\t}\r\n\t\t\tfor (var i = 1, len = cell.colSpan; i < len; i++) {\r\n\t\t\t\tvar newCell = row.insertCell(cellIndex + i);\r\n\t\t\t\tif (cell.rowSpan > 1) {\r\n\t\t\t\t\tnewCell.rowSpan = cell.rowSpan;\r\n\t\t\t\t}\r\n\t\t\t\tnewCell.innerHTML = K.IE ? '' : '<br />';\r\n\t\t\t}\r\n\t\t\tK(cell).removeAttr('colSpan');\r\n\t\t\tself.cmd.range.selectNodeContents(cell).collapse(true);\r\n\t\t\tself.cmd.select();\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\tcoldelete : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\tindex = cell.cellIndex;\r\n\t\t\tfor (var i = 0, len = table.rows.length; i < len; i++) {\r\n\t\t\t\tvar newRow = table.rows[i],\r\n\t\t\t\t\tnewCell = newRow.cells[index];\r\n\t\t\t\tif (newCell.colSpan > 1) {\r\n\t\t\t\t\tnewCell.colSpan -= 1;\r\n\t\t\t\t\tif (newCell.colSpan === 1) {\r\n\t\t\t\t\t\tK(newCell).removeAttr('colSpan');\r\n\t\t\t\t\t}\r\n\t\t\t\t} else {\r\n\t\t\t\t\tnewRow.deleteCell(index);\r\n\t\t\t\t}\r\n\t\t\t\tif (newCell.rowSpan > 1) {\r\n\t\t\t\t\ti += newCell.rowSpan - 1;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tif (row.cells.length === 0) {\r\n\t\t\t\tself.cmd.range.setStartBefore(table).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\tK(table).remove();\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection(true);\r\n\t\t\t}\r\n\t\t\tself.addBookmark();\r\n\t\t},\r\n\t\trowdelete : function() {\r\n\t\t\tvar table = self.plugin.getSelectedTable()[0],\r\n\t\t\t\trow = self.plugin.getSelectedRow()[0],\r\n\t\t\t\tcell = self.plugin.getSelectedCell()[0],\r\n\t\t\t\trowIndex = row.rowIndex;\r\n\t\t\tfor (var i = cell.rowSpan - 1; i >= 0; i--) {\r\n\t\t\t\ttable.deleteRow(rowIndex + i);\r\n\t\t\t}\r\n\t\t\tif (table.rows.length === 0) {\r\n\t\t\t\tself.cmd.range.setStartBefore(table).collapse(true);\r\n\t\t\t\tself.cmd.select();\r\n\t\t\t\tK(table).remove();\r\n\t\t\t} else {\r\n\t\t\t\tself.cmd.selection(true);\r\n\t\t\t}\r\n\t\t\tself.addBookmark();\r\n\t\t}\r\n\t};\r\n\tself.clickToolbar(name, self.plugin.table.prop);\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('template', function(K) {\r\n\tvar self = this, name = 'template', lang = self.lang(name + '.'),\r\n\t\thtmlPath = self.pluginsPath + name + '/html/';\r\n\tfunction getFilePath(fileName) {\r\n\t\treturn htmlPath + fileName + '?ver=' + encodeURIComponent(K.DEBUG ? K.TIME : K.VERSION);\r\n\t}\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\tarr = ['<div style=\"padding:10px 20px;\">',\r\n\t\t\t\t'<div class=\"ke-header\">',\r\n\t\t\t\t'<div class=\"ke-left\">',\r\n\t\t\t\tlang. selectTemplate + ' <select>'];\r\n\t\t\tK.each(lang.fileList, function(key, val) {\r\n\t\t\t\tarr.push('<option value=\"' + key + '\">' + val + '</option>');\r\n\t\t\t});\r\n\t\t\thtml = [arr.join(''),\r\n\t\t\t\t'</select></div>',\r\n\t\t\t\t'<div class=\"ke-right\">',\r\n\t\t\t\t'<input type=\"checkbox\" id=\"keReplaceFlag\" name=\"replaceFlag\" value=\"1\" /> <label for=\"keReplaceFlag\">' + lang.replaceContent + '</label>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<div class=\"ke-clearfix\"></div>',\r\n\t\t\t\t'</div>',\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:458px;height:260px;background-color:#FFF;\"></iframe>',\r\n\t\t\t\t'</div>'].join('');\r\n\t\tvar dialog = self.createDialog({\r\n\t\t\tname : name,\r\n\t\t\twidth : 500,\r\n\t\t\ttitle : self.lang(name),\r\n\t\t\tbody : html,\r\n\t\t\tyesBtn : {\r\n\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\tclick : function(e) {\r\n\t\t\t\t\tvar doc = K.iframeDoc(iframe);\r\n\t\t\t\t\tself[checkbox[0].checked ? 'html' : 'insertHtml'](doc.body.innerHTML).hideDialog().focus();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n\t\tvar selectBox = K('select', dialog.div),\r\n\t\t\tcheckbox = K('[name=\"replaceFlag\"]', dialog.div),\r\n\t\t\tiframe = K('iframe', dialog.div);\r\n\t\tcheckbox[0].checked = true;\r\n\t\tiframe.attr('src', getFilePath(selectBox.val()));\r\n\t\tselectBox.change(function() {\r\n\t\t\tiframe.attr('src', getFilePath(this.value));\r\n\t\t});\r\n\t});\r\n});\r\n\n/*******************************************************************************\r\n* KindEditor - WYSIWYG HTML Editor for Internet\r\n* Copyright (C) 2006-2011 kindsoft.net\r\n*\r\n* @author Roddy <luolonghao@gmail.com>\r\n* @site http://www.kindsoft.net/\r\n* @licence http://www.kindsoft.net/license.php\r\n*******************************************************************************/\r\nKindEditor.plugin('wordpaste', function(K) {\r\n\tvar self = this, name = 'wordpaste';\r\n\tself.clickToolbar(name, function() {\r\n\t\tvar lang = self.lang(name + '.'),\r\n\t\t\thtml = '<div style=\"padding:10px 20px;\">' +\r\n\t\t\t\t'<div style=\"margin-bottom:10px;\">' + lang.comment + '</div>' +\r\n\t\t\t\t'<iframe class=\"ke-textarea\" frameborder=\"0\" style=\"width:408px;height:260px;\"></iframe>' +\r\n\t\t\t\t'</div>',\r\n\t\t\tdialog = self.createDialog({\r\n\t\t\t\tname : name,\r\n\t\t\t\twidth : 450,\r\n\t\t\t\ttitle : self.lang(name),\r\n\t\t\t\tbody : html,\r\n\t\t\t\tyesBtn : {\r\n\t\t\t\t\tname : self.lang('yes'),\r\n\t\t\t\t\tclick : function(e) {\r\n\t\t\t\t\t\tvar str = doc.body.innerHTML;\r\n\t\t\t\t\t\tstr = K.clearMsWord(str, self.filterMode ? self.htmlTags : K.options.htmlTags);\r\n\t\t\t\t\t\tself.insertHtml(str).hideDialog().focus();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}),\r\n\t\t\tdiv = dialog.div,\r\n\t\t\tiframe = K('iframe', div),\r\n\t\t\tdoc = K.iframeDoc(iframe);\r\n\t\tif (!K.IE) {\r\n\t\t\tdoc.designMode = 'on';\r\n\t\t}\r\n\t\tdoc.open();\r\n\t\tdoc.write('<!doctype html><html><head><title>WordPaste</title></head>');\r\n\t\tdoc.write('<body style=\"background-color:#FFF;font-size:12px;margin:2px;\">');\r\n\t\tif (!K.IE) {\r\n\t\t\tdoc.write('<br />');\r\n\t\t}\r\n\t\tdoc.write('</body></html>');\r\n\t\tdoc.close();\r\n\t\tif (K.IE) {\r\n\t\t\tdoc.body.contentEditable = 'true';\r\n\t\t}\r\n\t\tiframe[0].contentWindow.focus();\r\n\t});\r\n});\r\n\n\nKindEditor.plugin('fixtoolbar', function (K) {\n var self = this;\n if (!self.fixToolBar) {\n return;\n }\n function init() {\n var toolbar = K('.ke-toolbar');\n var originY = toolbar.pos().y;\n K(window).bind('scroll', function () {\n if (toolbar.css('position') == 'fixed') {\n if(document.body.scrollTop - originY < 0){\n toolbar.css('position', 'static');\n toolbar.css('top', 'auto');\n }\n } else {\n if (toolbar.pos().y - document.body.scrollTop < 0) {\n toolbar.css('position', 'fixed');\n toolbar.css('top', 0);\n }\n }\n });\n }\n if (self.isCreated) {\n init();\n } else {\n self.afterCreate(init);\n }\n});\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = function(module) {\n\tvar getter = module && module.__esModule ?\n\t\tfunction() { return module['default']; } :\n\t\tfunction() { return module; };\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.g = (function() {\n\tif (typeof globalThis === 'object') return globalThis;\n\ttry {\n\t\treturn this || new Function('return this')();\n\t} catch (e) {\n\t\tif (typeof window === 'object') return window;\n\t}\n})();","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","__webpack_require__.p = \"\";","/* eslint-disable no-var */\n// This file is imported into lib/wc client bundles.\n\nif (typeof window !== 'undefined') {\n var currentScript = window.document.currentScript\n if (process.env.NEED_CURRENTSCRIPT_POLYFILL) {\n var getCurrentScript = require('@soda/get-current-script')\n currentScript = getCurrentScript()\n\n // for backward compatibility, because previously we directly included the polyfill\n if (!('currentScript' in document)) {\n Object.defineProperty(document, 'currentScript', { get: getCurrentScript })\n }\n }\n\n var src = currentScript && currentScript.src.match(/(.+\\/)[^/]+\\.js(\\?.*)?$/)\n if (src) {\n __webpack_public_path__ = src[1] // eslint-disable-line\n }\n}\n\n// Indicate to webpack that this file can be concatenated\nexport default null\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('button',{staticClass:\"c-button\",attrs:{\"color\":_vm.color,\"size\":_vm.size,\"hollow\":_vm.hollow,\"disabled\":!!_vm.disabled},on:{\"click\":$event => _vm.$emit('click', $event)}},[_c('div',{staticClass:\"flex-center\"},[(_vm.icon)?_c('i',{staticClass:\"tf\",class:_vm.icon}):_vm._e(),_c('span',[_vm._t(\"default\")],2)])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n <button class=\"c-button\" :color=\"color\" :size=\"size\" :hollow=\"hollow\" :disabled=\"!!disabled\" @click=\"$event => $emit('click', $event)\">\r\n\t\t<div class=\"flex-center\">\r\n\t\t\t<i v-if=\"icon\" class=\"tf\" :class=\"icon\"></i>\r\n\t\t\t<span><slot></slot></span>\r\n\t\t</div>\r\n\t</button>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'cButton',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tsize: { // 按钮尺寸(s:小号;m:中号;l:大号)\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 's'\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcolor: { // 按钮颜色(default: 系统辅色;sys:系统主色;)\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'black'\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\thollow: Boolean, // 是否为空心按钮\r\n\t\t\t\r\n\t\t\tdisabled: Boolean, // 禁用\r\n\t\t\t\r\n\t\t\ticon: String // 按钮图标\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-button {\r\n\t\tbox-sizing: border-box;\r\n\t\tposition: relative;\r\n\t\tborder-style: solid;\r\n\t\tborder-width: 1px;\r\n\t\tcolor: #fff;\r\n\t\twhite-space: nowrap;\r\n\t\tcursor: pointer;\r\n\t\t\r\n\t\t&[size=\"s\"] {\r\n\t\t\theight: 28px;\r\n\t\t\tborder-radius: 2px;\r\n\t\t\tpadding: 0 1em;\r\n\t\t}\r\n\t\t\r\n\t\t&[size=\"m\"] {\r\n\t\t\theight: 36px;\r\n\t\t\tpadding: 0 2em;\r\n\t\t}\r\n\t\t\r\n\t\t&[size=\"l\"] {\r\n\t\t\tmin-width: 120px;\r\n\t\t\theight: 40px;\r\n\t\t\tpadding: 0 2em;\r\n\t\t}\r\n\t\t\r\n\t\t&[disabled] {\r\n\t\t\tborder: none !important;\r\n\t\t\tcolor: #999 !important;\r\n\t\t\tbackground: #eee !important;\r\n\t\t\tcursor: not-allowed !important;\r\n\t\t}\r\n\t\t\r\n\t\t.tf {\r\n\t\t\tmargin-right: 5px;\r\n\t\t\tfont-size: 15px;\r\n\t\t}\r\n\t\t\r\n\t\tspan {\r\n\t\t\tdisplay: inline-block;\r\n\t\t\tvertical-align: 1px;\r\n\t\t}\r\n\t}\r\n\t\r\n\tcolorList = ({\r\n\t\tname: 'black',\r\n\t\tnormal: #333,\r\n\t\thover: #000\r\n\t} {\r\n\t\tname: 'gray',\r\n\t\tnormal: #ccc,\r\n\t\thover: #666,\r\n\t\tfont: #333\r\n\t} {\r\n\t\tname: 'red',\r\n\t\tnormal: #E63633,\r\n\t\thover: #f00\r\n\t} {\r\n\t\tname: 'green',\r\n\t\tnormal: #00B578,\r\n\t\thover: #0f0\r\n\t} {\r\n\t\tname: 'blue',\r\n\t\tnormal: #3296FA,\r\n\t\thover: #00f\r\n\t});\r\n\t\r\n\t.c-button\r\n\t\tfor item in colorList\r\n\t\t\t&[color={item.name}]\r\n\t\t\t\tborder-color: item.normal;\r\n\t\t\t\tbackground: item.normal;\r\n\t\t\t\t\r\n\t\t\t\t&:hover\r\n\t\t\t\t\tborder-color: item.hover;\r\n\t\t\t\t\tbackground: item.hover;\r\n\t\t\t\t\r\n\t\t\t\t&[hollow]\r\n\t\t\t\t\tcolor: item.font || item.normal;\r\n\t\t\t\t\tbackground: #fff;\r\n\t\t\t\t\t\r\n\t\t\t\t\t&:hover\r\n\t\t\t\t\t\tcolor: item.fontHover || item.hover;\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./button.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./button.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./button.vue?vue&type=style&index=0&id=73616ebe&prod&lang=stylus&scoped=true&\"","/* globals __VUE_SSR_CONTEXT__ */\n\n// IMPORTANT: Do NOT use ES2015 features in this file (except for modules).\n// This module is a runtime utility for cleaner component module output and will\n// be included in the final webpack user bundle.\n\nexport default function normalizeComponent(\n scriptExports,\n render,\n staticRenderFns,\n functionalTemplate,\n injectStyles,\n scopeId,\n moduleIdentifier /* server only */,\n shadowMode /* vue-cli only */\n) {\n // Vue.extend constructor export interop\n var options =\n typeof scriptExports === 'function' ? scriptExports.options : scriptExports\n\n // render functions\n if (render) {\n options.render = render\n options.staticRenderFns = staticRenderFns\n options._compiled = true\n }\n\n // functional template\n if (functionalTemplate) {\n options.functional = true\n }\n\n // scopedId\n if (scopeId) {\n options._scopeId = 'data-v-' + scopeId\n }\n\n var hook\n if (moduleIdentifier) {\n // server build\n hook = function (context) {\n // 2.3 injection\n context =\n context || // cached call\n (this.$vnode && this.$vnode.ssrContext) || // stateful\n (this.parent && this.parent.$vnode && this.parent.$vnode.ssrContext) // functional\n // 2.2 with runInNewContext: true\n if (!context && typeof __VUE_SSR_CONTEXT__ !== 'undefined') {\n context = __VUE_SSR_CONTEXT__\n }\n // inject component styles\n if (injectStyles) {\n injectStyles.call(this, context)\n }\n // register component module identifier for async chunk inferrence\n if (context && context._registeredComponents) {\n context._registeredComponents.add(moduleIdentifier)\n }\n }\n // used by ssr in case component is cached and beforeCreate\n // never gets called\n options._ssrRegister = hook\n } else if (injectStyles) {\n hook = shadowMode\n ? function () {\n injectStyles.call(\n this,\n (options.functional ? this.parent : this).$root.$options.shadowRoot\n )\n }\n : injectStyles\n }\n\n if (hook) {\n if (options.functional) {\n // for template-only hot-reload because in that case the render fn doesn't\n // go through the normalizer\n options._injectStyles = hook\n // register for functional component in vue file\n var originalRender = options.render\n options.render = function renderWithStyleInjection(h, context) {\n hook.call(context)\n return originalRender(h, context)\n }\n } else {\n // inject component registration as beforeCreate hook\n var existing = options.beforeCreate\n options.beforeCreate = existing ? [].concat(existing, hook) : [hook]\n }\n }\n\n return {\n exports: scriptExports,\n options: options\n }\n}\n","import { render, staticRenderFns } from \"./button.vue?vue&type=template&id=73616ebe&scoped=true&\"\nimport script from \"./button.vue?vue&type=script&lang=js&\"\nexport * from \"./button.vue?vue&type=script&lang=js&\"\nimport style0 from \"./button.vue?vue&type=style&index=0&id=73616ebe&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"73616ebe\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.type != 'hidden'),expression:\"type != 'hidden'\"}],staticClass:\"c-input\",class:{'c-textarea': _vm.type == 'textarea', 'z-dis': _vm.disabled}},[(_vm.type == 'textarea')?_c('div',[_c('textarea',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.valueData),expression:\"valueData\"}],ref:\"input\",style:({'padding-bottom': _vm.maxlength ? '20px' : '8px'}),attrs:{\"placeholder\":_vm.placeholder,\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly},domProps:{\"value\":(_vm.valueData)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.valueData=$event.target.value},_vm.inputHandle],\"focus\":_vm.inputHandle,\"blur\":_vm.inputHandle,\"change\":function($event){return _vm.$emit('change')}}}),(_vm.maxlength)?_c('span',{staticClass:\"c-input-length\"},[_vm._v(_vm._s(_vm.valueData.length)+\" / \"+_vm._s(_vm.maxlength))]):_vm._e()]):_c('div',{staticClass:\"flex\"},[(_vm.type == 'stepper' && _vm.stepControls == 'both')?_c('button',{staticClass:\"c-input-step flex-center\",class:{'z-dis': _vm.valueData !== '' && _vm.minRange !== false && _vm.minRange == _vm.valueData},on:{\"click\":function($event){return _vm.stepHandle(-1)}}},[_c('i',{staticClass:\"tf tf-minus\"})]):_vm._e(),((_vm.compType)==='checkbox')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.valueData),expression:\"valueData\"}],ref:\"input\",staticClass:\"flex-grow\",attrs:{\"placeholder\":_vm.placeholder,\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(_vm.valueData)?_vm._i(_vm.valueData,null)>-1:(_vm.valueData)},on:{\"input\":_vm.inputHandle,\"focus\":_vm.inputHandle,\"blur\":_vm.inputHandle,\"change\":[function($event){var $$a=_vm.valueData,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.valueData=$$a.concat([$$v]))}else{$$i>-1&&(_vm.valueData=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{_vm.valueData=$$c}},function($event){return _vm.$emit('change')}]}}):((_vm.compType)==='radio')?_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.valueData),expression:\"valueData\"}],ref:\"input\",staticClass:\"flex-grow\",attrs:{\"placeholder\":_vm.placeholder,\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":\"radio\"},domProps:{\"checked\":_vm._q(_vm.valueData,null)},on:{\"input\":_vm.inputHandle,\"focus\":_vm.inputHandle,\"blur\":_vm.inputHandle,\"change\":[function($event){_vm.valueData=null},function($event){return _vm.$emit('change')}]}}):_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.valueData),expression:\"valueData\"}],ref:\"input\",staticClass:\"flex-grow\",attrs:{\"placeholder\":_vm.placeholder,\"maxlength\":_vm.maxlength,\"disabled\":_vm.disabled,\"readonly\":_vm.readonly,\"type\":_vm.compType},domProps:{\"value\":(_vm.valueData)},on:{\"input\":[function($event){if($event.target.composing)return;_vm.valueData=$event.target.value},_vm.inputHandle],\"focus\":_vm.inputHandle,\"blur\":_vm.inputHandle,\"change\":function($event){return _vm.$emit('change')}}}),(_vm.clear && _vm.valueData)?_c('a',{staticClass:\"c-input-handle clear flex-center\",on:{\"click\":_vm.clearHandle}},[_c('i',{staticClass:\"tf tf-clear\"})]):_vm._e(),(_vm.visible)?_c('a',{staticClass:\"c-input-handle flex-center\",on:{\"click\":function($event){_vm.visibleState = !_vm.visibleState}}},[_c('i',{staticClass:\"tf tf-eyes\",class:{'tf-eyes-close': _vm.visibleState}})]):_vm._e(),_c('div',{staticClass:\"flex-column\"},[(_vm.type == 'stepper')?_c('button',{staticClass:\"c-input-step flex-center flex-grow\",class:{'z-dis': _vm.valueData !== '' && _vm.maxRange !== false && _vm.maxRange == _vm.valueData},on:{\"click\":function($event){return _vm.stepHandle(1)}}},[_c('i',{staticClass:\"tf tf-plus\"})]):_vm._e(),(_vm.type == 'stepper' && _vm.stepControls == 'side')?_c('button',{staticClass:\"c-input-step flex-center flex-grow\",class:{'z-dis': _vm.valueData !== '' && _vm.minRange !== false && _vm.minRange == _vm.valueData},on:{\"click\":function($event){return _vm.stepHandle(-1)}}},[_c('i',{staticClass:\"tf tf-minus\"})]):_vm._e()]),(_vm.unit)?_c('span',{staticClass:\"c-input-unit flex-center\"},[_vm._v(_vm._s(_vm.unit))]):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div v-show=\"type != 'hidden'\" class=\"c-input\" :class=\"{'c-textarea': type == 'textarea', 'z-dis': disabled}\">\r\n\t\t<div v-if=\"type == 'textarea'\">\r\n\t\t\t<textarea v-model=\"valueData\" ref=\"input\" :placeholder=\"placeholder\" :maxlength=\"maxlength\" :disabled=\"disabled\" :readonly=\"readonly\"\r\n\t\t\t\t:style=\"{'padding-bottom': maxlength ? '20px' : '8px'}\"\r\n\t\t\t\t@input=\"inputHandle\"\r\n\t\t\t\t@focus=\"inputHandle\"\r\n\t\t\t\t@blur=\"inputHandle\"\r\n\t\t\t\t@change=\"$emit('change')\"\r\n\t\t\t></textarea>\r\n\t\t\t<span v-if=\"maxlength\" class=\"c-input-length\">{{valueData.length}} / {{maxlength}}</span>\r\n\t\t</div>\r\n\t\t<div v-else class=\"flex\">\r\n\t\t\t<button v-if=\"type == 'stepper' && stepControls == 'both'\" class=\"c-input-step flex-center\" :class=\"{'z-dis': valueData !== '' && minRange !== false && minRange == valueData}\" @click=\"stepHandle(-1)\"><i class=\"tf tf-minus\"></i></button>\r\n\t\t\t\r\n\t\t\t<input v-model=\"valueData\" ref=\"input\" :type=\"compType\" class=\"flex-grow\" :placeholder=\"placeholder\" :maxlength=\"maxlength\" :disabled=\"disabled\" :readonly=\"readonly\"\r\n\t\t\t\t@input=\"inputHandle\"\r\n\t\t\t\t@focus=\"inputHandle\"\r\n\t\t\t\t@blur=\"inputHandle\"\r\n\t\t\t\t@change=\"$emit('change')\"\r\n\t\t\t>\r\n\t\t\t<a v-if=\"clear && valueData\" class=\"c-input-handle clear flex-center\" @click=\"clearHandle\"><i class=\"tf tf-clear\"></i></a>\r\n\t\t\t<a v-if=\"visible\" class=\"c-input-handle flex-center\" @click=\"visibleState = !visibleState\"><i class=\"tf tf-eyes\" :class=\"{'tf-eyes-close': visibleState}\"></i></a>\r\n\t\t\t\r\n\t\t\t<div class=\"flex-column\">\r\n\t\t\t\t<button v-if=\"type == 'stepper'\" class=\"c-input-step flex-center flex-grow\" :class=\"{'z-dis': valueData !== '' && maxRange !== false && maxRange == valueData}\" @click=\"stepHandle(1)\"><i class=\"tf tf-plus\"></i></button>\r\n\t\t\t\t<button v-if=\"type == 'stepper' && stepControls == 'side'\" class=\"c-input-step flex-center flex-grow\" :class=\"{'z-dis': valueData !== '' && minRange !== false && minRange == valueData}\" @click=\"stepHandle(-1)\"><i class=\"tf tf-minus\"></i></button>\r\n\t\t\t</div>\r\n\t\t\t\r\n\t\t\t<span v-if=\"unit\" class=\"c-input-unit flex-center\">{{unit}}</span>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'cInput',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\ttype: { // 文本框类型(hidden: 隐藏; password: 密码; number: 数字; stepper: 步进器; textarea: 多行文本)\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'text'\r\n\t\t\t},\r\n\t\t\tvalue: [Number, String],\r\n\t\t\tname: String,\r\n\t\t\tplaceholder: String,\r\n\t\t\tmaxlength: [Number, String],\r\n\t\t\tdecimal: [Number, String], // 保留小数位数\r\n\t\t\trange: [Number, String, Array], // 数字范围\r\n\t\t\tdisabled: Boolean,\r\n\t\t\treadonly: Boolean,\r\n\t\t\tunit: String, // 显示单位\r\n\t\t\tvisible: Boolean, // 可见密码按钮\r\n\t\t\tclear: { //清空按钮\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: true\r\n\t\t\t},\r\n\t\t\tstep: { // 步进器精度\r\n\t\t\t\ttype: [String, Number],\r\n\t\t\t\tdefault: 1\r\n\t\t\t},\r\n\t\t\tstepControls: { // 步进器按钮位置(both: 两侧; side: 一侧)\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'both'\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tvalueData: this.value || '',\r\n\t\t\t\tvisibleState: false\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\tcompType() {\r\n\t\t\t\tif (this.type == 'number' || this.visibleState) {\r\n\t\t\t\t\treturn 'text';\r\n\t\t\t\t}\r\n\t\t\t\treturn this.type;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcompRange() {\r\n\t\t\t\treturn this.range\r\n\t\t\t\t\t? typeof this.range == 'string'\r\n\t\t\t\t\t\t? this.range.split(',')\r\n\t\t\t\t\t\t: this.range\r\n\t\t\t\t\t: false;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tminRange() {\r\n\t\t\t\tif (typeof this.compRange == 'object' && this.compRange.length == 2) {\r\n\t\t\t\t\treturn parseFloat(this.compRange[0]);\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tmaxRange() {\r\n\t\t\t\treturn this.compRange !== false ? parseFloat(this.compRange[1]) : false;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcompDecimal() {\r\n\t\t\t\tif (this.type == 'number') {\r\n\t\t\t\t\treturn this.decimal || 0;\r\n\t\t\t\t} else if (this.type == 'stepper') {\r\n\t\t\t\t\treturn this.decimal || 99;\r\n\t\t\t\t}\r\n\t\t\t\treturn false;\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\twatch: {\r\n\t\t\tvalue(val) {\r\n\t\t\t\tthis.set(val)\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tvalueData() {\r\n\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tset(val = '') {\r\n\t\t\t\tthis.valueData = val.toString();\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tget() {\r\n\t\t\t\treturn this.valueData;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tinputHandle(e) {\r\n\t\t\t\tif (this.compDecimal !== false) {\r\n\t\t\t\t\tvar reg = [\r\n\t\t\t\t\t\t[this.compDecimal ? '[^-\\\\d\\\\.]+$' : '[^-\\\\d]+$', ''],\t//过滤非数字、负号、点的输入\r\n\t\t\t\t\t\t['^(-?)0?(\\\\d+)$', '$1$2'],\t\t\t\t\t\t//过滤首位为0的输入\r\n\t\t\t\t\t\t['^(-?)\\\\.$', '$1'],\t\t\t\t\t\t\t//过滤首位为.的输入\r\n\t\t\t\t\t\t['\\\\.(\\\\d*)\\\\.+', '.$1'],\t\t\t\t\t\t//过滤第二个.\r\n\t\t\t\t\t\t['^(\\\\d+\\\\.?\\\\d*)-+', '$1'],\t\t\t\t\t//过滤除第一位之外的-\r\n\t\t\t\t\t\t['^(-\\\\d*\\\\.?\\\\d*)-+', '$1'],\t\t\t\t\t//过滤除第一位之外的-\r\n\t\t\t\t\t\t['^(-?\\\\d+\\\\.\\\\d{' + this.compDecimal + '}).+', '$1']\t//过滤多余小数位\r\n\t\t\t\t\t];\r\n\t\t\t\t\t\r\n\t\t\t\t\treg.forEach(item => {\r\n\t\t\t\t\t\tthis.valueData = this.valueData.toString().replace(new RegExp(item[0]), item[1]);\r\n\t\t\t\t\t});\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (this.valueData !== '' && e.type == 'blur') {\r\n\t\t\t\t\t\tif (this.minRange !== false && this.valueData < this.minRange) {\r\n\t\t\t\t\t\t\tthis.valueData = this.minRange;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tif (this.maxRange !== false && this.valueData > this.maxRange) {\r\n\t\t\t\t\t\t\tthis.valueData = this.maxRange;\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif (e.type != 'input') {\r\n\t\t\t\t\tthis.$emit(e.type, e);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tclearHandle() {\r\n\t\t\t\tthis.valueData = '';\r\n\t\t\t\tthis.$refs.input.focus();\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tstepHandle(step) {\r\n\t\t\t\tlet valueStep = this.valueData.toString().split('.')[1] || '';\r\n\t\t\t\tlet stepStep = this.step.toString().split('.')[1] || '';\r\n\t\t\t\tlet n = stepStep.length > valueStep.length ? stepStep.length : valueStep.length;\r\n\t\t\t\tthis.valueData = parseFloat(((parseFloat(this.valueData) || 0) + step * parseFloat(this.step)).toFixed(n));\r\n\t\t\t\tthis.inputHandle({\r\n\t\t\t\t\ttype: 'blur'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-input {\r\n\t\tposition: relative;\r\n\t\tbox-sizing: border-box;\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 400px;\r\n\t\theight: 38px;\r\n\t\tborder: 1px solid $unitBorder;\r\n\t\tbackground: #fff;\r\n\t\ttransition: all .1s ease;\r\n\t\t\r\n\t\t&.c-textarea {\r\n\t\t\twidth: 400px;\r\n\t\t\theight: auto;\r\n\t\t}\r\n\t\t\r\n\t\t&:not(.z-dis):hover,\r\n\t\t&:not(.z-dis):hover .c-input-step,\r\n\t\t&:not(.z-dis):hover .c-input-unit {\r\n\t\t\tborder-color: $unitHoverBorder;\r\n\t\t}\r\n\t\t\r\n\t\t&:focus-within,\r\n\t\t&:focus-within .c-input-step,\r\n\t\t&:focus-within .c-input-unit {\r\n\t\t\tborder-color: $unitActiveBorder !important;\r\n\t\t}\r\n\r\n\t\t&.z-dis {\r\n\t\t\tbackground: $unitDisabled;\r\n\t\t\t\r\n\t\t\t&:after {\r\n\t\t\t\tcontent: '';\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tleft: 0;\r\n\t\t\t\tright: 0;\r\n\t\t\t\ttop: 0;\r\n\t\t\t\tbottom: 0;\r\n\t\t\t\tcursor: not-allowed;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&:hover {\r\n\t\t\t.c-input-handle.clear {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t> div {\r\n\t\t\theight: 100%;\r\n\t\t\tfont-size: 0;\r\n\t\t}\r\n\t\t\r\n\t\ttextarea {\r\n\t\t\tresize: vertical;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 150px;\r\n\t\t\tmin-height: 100px;\r\n\t\t\tborder: none;\r\n\t\t\tpadding: 8px;\r\n\t\t\tline-height: 20px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tbackground: none;\r\n\t\t}\r\n\t\t\r\n\t\tinput {\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\twidth: 100%;\r\n\t\t\theight: 100%;\r\n\t\t\tborder: none;\r\n\t\t\tpadding: 0 8px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tbackground: none;\r\n\t\t\t\r\n\t\t\t&:-webkit-autofill {\r\n\t\t\t\t-webkit-box-shadow: 0 0 0px 1000px #fff inset;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&-handle {\r\n\t\t\tmin-width: 34px;\r\n\t\t\theight: 100%;\r\n\t\t\tfont-size: 18px;\r\n\t\t\tcolor: #999;\r\n\t\t\t\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #333;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t&.clear {\r\n\t\t\t\tdisplay: none;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\t\r\n\t\t&-unit {\r\n\t\t\theight: 100%;\r\n\t\t\tborder-left: 1px solid $unitBorder;\r\n\t\t\tpadding: 0 8px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\twhite-space: nowrap;\r\n\t\t\tcolor: #333;\r\n\t\t\tbackground: #FAFAFA;\r\n\t\t\ttransition: all .1s ease;\r\n\t\t}\r\n\t\t\r\n\t\t&-step {\r\n\t\t\tmin-width: 34px;\r\n\t\t\tborder-style: solid;\r\n\t\t\tborder-color: $unitBorder;\r\n\t\t\tborder-width: 0 0 0 1px;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tcolor: #888;\r\n\t\t\tbackground: #FAFAFA;\r\n\t\t\t\r\n\t\t\t&:nth-child(2) {\r\n\t\t\t\tborder-top-width: 1px;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #000;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t&.z-dis {\r\n\t\t\t\tcolor: #bbb;\r\n\t\t\t\tcursor: not-allowed;\r\n\t\t\t}\r\n\t\t}\r\n\t\t> div > .c-input-step {\r\n\t\t\tborder-right-width: 1px;\r\n\t\t\tborder-left-width: 0;\r\n\t\t}\r\n\t\t\r\n\t\t&-length {\r\n\t\t\tposition: absolute;\r\n\t\t\tright: 20px;\r\n\t\t\tbottom: 0;\r\n\t\t\tline-height: 20px;\r\n\t\t\tfont-size: 12px;\r\n\t\t\tcolor: #bbb;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./input.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./input.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./input.vue?vue&type=style&index=0&id=3a00d18a&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./input.vue?vue&type=template&id=3a00d18a&scoped=true&\"\nimport script from \"./input.vue?vue&type=script&lang=js&\"\nexport * from \"./input.vue?vue&type=script&lang=js&\"\nimport style0 from \"./input.vue?vue&type=style&index=0&id=3a00d18a&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"3a00d18a\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-radio\",class:{'z-chk': _vm.checkState, 'z-dis': _vm.disabledState},on:{\"click\":_vm.checkHandle}},[_c('div'),(_vm.$slots.default)?_c('span',[_vm._t(\"default\")],2):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var __WEBPACK_NAMESPACE_OBJECT__ = require(\"vue\");","import Vue from 'vue'\r\n\r\nfunction createStore(data) {\r\n\treturn new (Vue.extend({\r\n\t\tdata() {\r\n\t\t\treturn data\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tcommit(key, data) {\r\n\t\t\t\tthis[key] = data;\r\n\t\t\t}\r\n\t\t}\r\n\t}))\r\n}\r\n\r\nfunction mapState(data) {\r\n\tconst res = {};\r\n\tdata.forEach(key => {\r\n\t\tres[key] = {\r\n\t\t\tget() {\r\n\t\t\t\treturn this.store[key];\r\n\t\t\t},\r\n\t\t\tset() {}\r\n\t\t}\r\n\t});\r\n\treturn res;\r\n}\r\n\r\nexport {createStore, mapState}","<template>\r\n\t<div class=\"c-radio\" :class=\"{'z-chk': checkState, 'z-dis': disabledState}\" @click=\"checkHandle\">\r\n\t\t<div></div>\r\n\t\t<span v-if=\"$slots.default\"><slot></slot></span>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport {mapState} from '../createStore.js'\r\n\t\r\n\texport default {\r\n\t\tname: 'cRadio',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tvalue: [Number, String],\r\n\t\t\tdisabled: Boolean\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tstore: this.$parent.store\r\n\t\t\t};\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['valueData', 'groupDisabled']),\r\n\t\t\t\r\n\t\t\tcheckState() {\r\n\t\t\t\treturn this.valueData == this.value;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tdisabledState() {\r\n\t\t\t\treturn this.groupDisabled || this.disabled;\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tmethods: {\r\n\t\t\tcheckHandle() {\r\n\t\t\t\tif (this.disabledState) return;\r\n\t\t\t\t\r\n\t\t\t\tthis.store.commit('valueData', this.value);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-radio {\r\n\t\tdisplay: inline-block;\r\n\t\theight: 20px;\r\n\t\tfont-size: 13px;\r\n\t\toverflow: hidden;\r\n\t\tcursor: pointer;\r\n\t\t\r\n\t\t&:not(.z-chk):not(.z-dis):hover {\r\n\t\t\tdiv {\r\n\t\t\t\tborder-color: $unitHoverBorder;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&.z-chk {\r\n\t\t\t&:not(.z-dis) {\r\n\t\t\t\tdiv {\r\n\t\t\t\t\tborder-color: #000;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tdiv {\r\n\t\t\t\t&:after {\r\n\t\t\t\t\twidth: 9px;\r\n\t\t\t\t\theight: 9px;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tspan {\r\n\t\t\t\tfont-weight: bold;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&.z-dis {\r\n\t\t\tcursor: not-allowed;\r\n\t\t\t\r\n\t\t\tdiv {\r\n\t\t\t\tbackground: $unitDisabled;\r\n\t\t\t\t\r\n\t\t\t\t&:after {\r\n\t\t\t\t\tbackground: #999;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdiv {\r\n\t\t\tfloat: left;\r\n\t\t\tposition: relative;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\twidth: 20px;\r\n\t\t\theight: 20px;\r\n\t\t\tborder: 1px solid #ddd;\r\n\t\t\tborder-radius: 100%;\r\n\t\t\tbackground: #fff;\r\n\t\t\ttransition: all .1s ease;\r\n\t\t\t\r\n\t\t\t&:after {\r\n\t\t\t\tcontent: '';\r\n\t\t\t\tposition: absolute;\r\n\t\t\t\tleft: 50%;\r\n\t\t\t\ttop: 50%;\r\n\t\t\t\twidth: 0;\r\n\t\t\t\theight: 0;\r\n\t\t\t\tborder-radius: 100%;\r\n\t\t\t\tbackground: #000;\r\n\t\t\t\ttransform: translate(-50%,-50%);\r\n\t\t\t\ttransition: all .1s ease;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\tspan {\r\n\t\t\tfloat: left;\r\n\t\t\tmargin-left: 5px;\r\n\t\t\tline-height: 20px;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./radio.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./radio.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./radio.vue?vue&type=style&index=0&id=07d956d7&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./radio.vue?vue&type=template&id=07d956d7&scoped=true&\"\nimport script from \"./radio.vue?vue&type=script&lang=js&\"\nexport * from \"./radio.vue?vue&type=script&lang=js&\"\nimport style0 from \"./radio.vue?vue&type=style&index=0&id=07d956d7&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"07d956d7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-radio-group\"},[(_vm.$slots.default)?_vm._t(\"default\"):_vm._l((_vm.options),function(item,i){return _c('c-radio',{key:i,attrs:{\"value\":item.value}},[_vm._v(_vm._s(item.name))])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div class=\"c-radio-group\">\r\n\t\t<slot v-if=\"$slots.default\"></slot>\r\n\t\t<template v-else>\r\n\t\t\t<c-radio v-for=\"(item, i) in options\" :key=\"i\" :value=\"item.value\">{{item.name}}</c-radio>\r\n\t\t</template>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport {createStore, mapState} from '../createStore.js'\r\n\t\r\n\texport default {\r\n\t\tname: 'cRadioGroup',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tvalue: [String, Number],\r\n\t\t\tname: String,\r\n\t\t\tdisabled: Boolean,\r\n\t\t\toptions: Array\r\n\t\t},\r\n\t\t\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tstore: createStore({\r\n\t\t\t\t\tvalueData: this.value,\r\n\t\t\t\t\tgroupDisabled: this.disabled\r\n\t\t\t\t})\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['valueData'])\r\n\t\t},\r\n\r\n\t\twatch: {\r\n\t\t\tvalue(val) {\r\n\t\t\t\tthis.set(val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tvalueData() {\r\n\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tdisabled(val) {\r\n\t\t\t\tthis.store.commit('groupDisabled', val);\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tset(val = '') {\r\n\t\t\t\tthis.store.commit('valueData', val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tget() {\r\n\t\t\t\treturn this.valueData;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-radio-group {\r\n\t\tdisplay: inline-block;\r\n\t\t\r\n\t\t.c-radio {\r\n\t\t\tmargin: 3px 10px 3px 0;\r\n\t\t\t\r\n\t\t\t&:nth-last-child(1) {\r\n\t\t\t\tmargin-right: 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./radio_group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./radio_group.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./radio_group.vue?vue&type=style&index=0&id=ac0a5b94&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./radio_group.vue?vue&type=template&id=ac0a5b94&scoped=true&\"\nimport script from \"./radio_group.vue?vue&type=script&lang=js&\"\nexport * from \"./radio_group.vue?vue&type=script&lang=js&\"\nimport style0 from \"./radio_group.vue?vue&type=style&index=0&id=ac0a5b94&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"ac0a5b94\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-checkbox\",class:{'z-chk': _vm.checkState, 'z-dis': _vm.disabledState},on:{\"click\":function($event){return _vm.checkHandle(!_vm.checkState)}}},[_vm._m(0),(_vm.$slots.default)?_c('span',[_vm._t(\"default\")],2):_vm._e()])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"flex-center\"},[_c('i',{staticClass:\"tf tf-check\"})])\n}]\n\nexport { render, staticRenderFns }","export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./checkbox.vue?vue&type=template&id=5c30b59c&scoped=true&\"","<template>\r\n\t<div class=\"c-checkbox\" :class=\"{'z-chk': checkState, 'z-dis': disabledState}\" @click=\"checkHandle(!checkState)\">\r\n\t\t<div class=\"flex-center\"><i class=\"tf tf-check\"></i></div>\r\n\t\t<span v-if=\"$slots.default\"><slot></slot></span>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport {mapState} from '../createStore.js'\r\n\t\r\n\texport default {\r\n\t\tname: 'cCheckbox',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tvalue: [Number, String, Boolean],\r\n\t\t\tdisabled: Boolean\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tinGroup: this.$parent.$options.name == 'cCheckboxGroup',\r\n\t\t\t\tstore: this.$parent.store\r\n\t\t\t};\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['valueData', 'limit', 'groupDisabled']),\r\n\t\t\t\r\n\t\t\tparseValueData() {\r\n\t\t\t\treturn typeof this.valueData == 'object' ? Array.from(this.valueData, item => item.toString()) : this.valueData.toString() ? this.valueData.toString().split(',') : [];\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcheckState() {\r\n\t\t\t\tif (this.inGroup) {\r\n\t\t\t\t\treturn this.parseValueData.includes(this.value.toString());\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn this.value;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tdisabledState() {\r\n\t\t\t\tif (this.inGroup) {\r\n\t\t\t\t\treturn this.inGroupDisabled || this.disabled;\r\n\t\t\t\t} else {\r\n\t\t\t\t\treturn this.disabled;\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\toverflow() {\r\n\t\t\t\treturn !this.checkState && this.limit > 0 && this.parseValueData.length >= this.limit;\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tcheckHandle(state) {\r\n\t\t\t\tif (this.disabledState) return;\r\n\t\t\t\t\r\n\t\t\t\tif (!this.inGroup) {\r\n\t\t\t\t\tthis.$emit('input', state);\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif (this.overflow) {\r\n\t\t\t\t\tthis.$message({\r\n\t\t\t\t\t\tmessage: `最多只能选择${this.limit}项`\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tlet data;\r\n\t\t\t\tif (state) {\r\n\t\t\t\t\tdata = this.parseValueData.concat([this.value.toString()]);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tdata = this.parseValueData.join(',').split(',');\r\n\t\t\t\t\tdata.splice(data.indexOf(this.value.toString()), 1);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tthis.store.commit('valueData', typeof this.valueData == 'object' ? data : data.join(','));\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-checkbox {\r\n\t\tdisplay: inline-block;\r\n\t\theight: 20px;\r\n\t\toverflow: hidden;\r\n\t\tcursor: pointer;\r\n\t\t\r\n\t\t&:not(.z-chk):not(.z-dis):hover {\r\n\t\t\tdiv {\r\n\t\t\t\tborder-color: $unitHoverBorder;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&.z-chk {\r\n\t\t\t&:not(.z-dis) {\r\n\t\t\t\tdiv {\r\n\t\t\t\t\ttheme-border-color(main);\r\n\t\t\t\t\ttheme-background(main);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\tdiv {\r\n\t\t\t\tfont-size: 13px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&.z-dis {\r\n\t\t\tcursor: not-allowed;\r\n\t\t\t\r\n\t\t\tdiv {\r\n\t\t\t\tcolor: #999;\r\n\t\t\t\tbackground: $unitDisabled;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tdiv {\r\n\t\t\tfloat: left;\r\n\t\t\tposition: relative;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\twidth: 20px;\r\n\t\t\theight: 20px;\r\n\t\t\tborder: 1px solid $unitBorder;\r\n\t\t\tfont-size: 0;\r\n\t\t\tcolor: #fff;\r\n\t\t\tbackground: #fff;\r\n\t\t\ttransition: all .1s ease;\r\n\t\t}\r\n\t\t\r\n\t\tspan {\r\n\t\t\tfloat: left;\r\n\t\t\tmargin-left: 5px;\r\n\t\t\tline-height: 20px;\r\n\t\t\tfont-size: 13px;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./checkbox.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./checkbox.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./checkbox.vue?vue&type=style&index=0&id=5c30b59c&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./checkbox.vue?vue&type=template&id=5c30b59c&scoped=true&\"\nimport script from \"./checkbox.vue?vue&type=script&lang=js&\"\nexport * from \"./checkbox.vue?vue&type=script&lang=js&\"\nimport style0 from \"./checkbox.vue?vue&type=style&index=0&id=5c30b59c&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"5c30b59c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-checkbox-group\"},[(_vm.$slots.default)?_vm._t(\"default\"):_vm._l((_vm.options),function(item,i){return _c('c-checkbox',{key:i,attrs:{\"value\":item.value}},[_vm._v(_vm._s(item.name))])})],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div class=\"c-checkbox-group\">\r\n\t\t<slot v-if=\"$slots.default\"></slot>\r\n\t\t<template v-else>\r\n\t\t\t<c-checkbox v-for=\"(item, i) in options\" :key=\"i\" :value=\"item.value\">{{item.name}}</c-checkbox>\r\n\t\t</template>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport {createStore, mapState} from '../createStore.js'\r\n\t\r\n\texport default {\r\n\t\tname: 'cCheckboxGroup',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tvalue: {\r\n\t\t\t\ttype: [String, Number, Array],\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\tname: String,\r\n\t\t\tdisabled: Boolean,\r\n\t\t\tlimit: [String, Number],\r\n\t\t\toptions: Array\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tstore: createStore({\r\n\t\t\t\t\tvalueData: this.value,\r\n\t\t\t\t\tlimit: parseInt(this.limit),\r\n\t\t\t\t\tgroupDisabled: this.disabled\r\n\t\t\t\t})\r\n\t\t\t};\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['valueData'])\r\n\t\t},\r\n\r\n\t\twatch: {\r\n\t\t\tvalue(val) {\r\n\t\t\t\tthis.set(val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tvalueData() {\r\n\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tlimit(val) {\r\n\t\t\t\tthis.store.commit('limit', val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tdisabled(val) {\r\n\t\t\t\tthis.store.commit('groupDisabled', val);\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tset(val = typeof this.valueData == 'object' ? [] : '') {\r\n\t\t\t\tthis.store.commit('valueData', val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tget() {\r\n\t\t\t\treturn this.valueData;\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-checkbox-group {\r\n\t\tdisplay: inline-block;\r\n\t\t\r\n\t\t.c-checkbox {\r\n\t\t\tmargin: 3px 10px 3px 0;\r\n\t\t\t\r\n\t\t\t&:nth-last-child(1) {\r\n\t\t\t\tmargin-right: 0;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./checkbox_group.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./checkbox_group.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./checkbox_group.vue?vue&type=style&index=0&id=1189f524&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./checkbox_group.vue?vue&type=template&id=1189f524&scoped=true&\"\nimport script from \"./checkbox_group.vue?vue&type=script&lang=js&\"\nexport * from \"./checkbox_group.vue?vue&type=script&lang=js&\"\nimport style0 from \"./checkbox_group.vue?vue&type=style&index=0&id=1189f524&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1189f524\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-select\",class:{'z-develop': _vm.listPosition, 'z-dis': _vm.disabled},on:{\"click\":_vm.developHandle}},[_c('div',{staticClass:\"c-select-main flex-between-center\"},[_c('span',{staticClass:\"c-select-current flex-grow ellipsis\",class:{'z-empty': _vm.emptyState}},[_vm._v(_vm._s(_vm.emptyState ? _vm.placeholder : _vm.valueName))]),(_vm.clear && _vm.valueData.length)?_c('a',{staticClass:\"c-select-clear flex-center\",on:{\"click\":function($event){$event.stopPropagation();return _vm.clearHandle.apply(null, arguments)}}},[_c('i',{staticClass:\"tf tf-clear\"})]):_vm._e(),_vm._m(0)]),_c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.listPosition),expression:\"listPosition\"}],ref:\"list\",staticClass:\"c-select-options\",style:(_vm.listPosition),on:{\"click\":function($event){$event.stopPropagation();}}},[_c('select-list',{attrs:{\"options\":_vm.options,\"multiple\":_vm.multiple}})],1)])\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('span',{staticClass:\"c-select-angle flex-center\"},[_c('i',{staticClass:\"tf tf-angle-down\"})])\n}]\n\nexport { render, staticRenderFns }","export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./select.vue?vue&type=template&id=752f2375&\"","<template>\r\n\t<div class=\"c-select\" :class=\"{'z-develop': listPosition, 'z-dis': disabled}\" @click=\"developHandle\">\r\n\t\t<div class=\"c-select-main flex-between-center\">\r\n\t\t\t<span class=\"c-select-current flex-grow ellipsis\" :class=\"{'z-empty': emptyState}\">{{emptyState ? placeholder : valueName}}</span>\r\n\t\t\t\r\n\t\t\t<a v-if=\"clear && valueData.length\" class=\"c-select-clear flex-center\" @click.stop=\"clearHandle\"><i class=\"tf tf-clear\"></i></a>\r\n\t\t\t<span class=\"c-select-angle flex-center\"><i class=\"tf tf-angle-down\"></i></span>\r\n\t\t</div>\r\n\r\n\t\t<div v-show=\"listPosition\" ref=\"list\" class=\"c-select-options\" :style=\"listPosition\" @click.stop>\r\n\t\t\t<select-list :options=\"options\" :multiple=\"multiple\"></select-list>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport {createStore, mapState} from '../createStore.js'\r\n\t\r\n\tfunction render(h, list, level = 0) {\r\n\t\tvar arr = [];\r\n\t\tlist && list.map(item => {\r\n\t\t\tarr = arr.concat([\r\n\t\t\t\t<div class={`flex-center-cross c-select-options-item flex-center-cross ${this.currentValue.includes(item.value.toString()) ? 'z-crt' : ''}`} title={item.name} on-click={() => this.clickHandle(item)}>\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tlevel ? [\r\n\t\t\t\t\t\t\t<div class=\"c-select-options-item-level tf tf-level-line\" style={`margin-left: ${(level - 1) * 20}px;`}></div>\r\n\t\t\t\t\t\t] : []\r\n\t\t\t\t\t}\r\n\t\t\t\t\t<p class=\"ellipsis flex-grow\">{item.name}</p>\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tthis.multiple ? [\r\n\t\t\t\t\t\t\t<i class=\"c-select-options-item-check tf tf-check\"></i>\r\n\t\t\t\t\t\t] : []\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t]).concat(render.call(this, h, item.children, level+1));\r\n\t\t});\r\n\t\t\r\n\t\treturn arr;\r\n\t}\r\n\t\r\n\tconst selectList = {\r\n\t\trender(h) {\r\n\t\t\treturn (\r\n\t\t\t\t<div>\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\trender.call(this, h, this.options)\r\n\t\t\t\t\t}\r\n\t\t\t\t</div>\r\n\t\t\t)\r\n\t\t},\r\n\t\t\r\n\t\tprops: {\r\n\t\t\toptions: Array,\r\n\t\t\tmultiple: Boolean\r\n\t\t},\r\n\t\t\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tstore: this.$parent.store\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['valueData', 'currentData']),\r\n\t\t\t\r\n\t\t\tcurrentValue() {\r\n\t\t\t\treturn Array.from(this.currentData, item => item.value.toString());\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\twatch: {\r\n\t\t\tvalueData() {\r\n\t\t\t\tthis.updateCurrentData();\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\toptions() {\r\n\t\t\t\tthis.updateCurrentData();\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmounted() {\r\n\t\t\tthis.$el.addEventListener('wheel', e => {\r\n\t\t\t\te.stopPropagation();\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tthis.updateCurrentData();\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tupdateCurrentData() {\r\n\t\t\t\tlet data = [];\r\n\t\t\t\tlet val = typeof this.valueData == 'object' ? Array.from(this.valueData, item => item.toString()) : this.valueData.toString().split(',');\r\n\t\t\t\t\r\n\t\t\t\tif (val.length) {\r\n\t\t\t\t\t!function loop(list) {\r\n\t\t\t\t\t\tlist.forEach(item => {\r\n\t\t\t\t\t\t\tif (val.includes(item.value.toString())) {\r\n\t\t\t\t\t\t\t\tdata.push(item);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\titem.children && loop(item.children);\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}(this.options);\r\n\t\t\t\t}\r\n\t\t\t\tthis.store.commit('currentData', data);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tclickHandle(item) {\r\n\t\t\t\tlet data;\r\n\t\t\t\tif (this.multiple) {\r\n\t\t\t\t\tif (this.currentData.includes(item)) {\r\n\t\t\t\t\t\tdata = Array.from(this.currentData, item => item);\r\n\t\t\t\t\t\tdata.splice(data.indexOf(item), 1);\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tdata = this.currentData.concat([item]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.store.commit('currentData', data);\r\n\t\t\t\t\t\r\n\t\t\t\t\tdata = Array.from(data, item => item.value);\r\n\t\t\t\t\tthis.store.commit('valueData', typeof this.valueData == 'object' ? data : data.join(','));\r\n\t\t\t\t\tthis.$parent.$emit('change', this.$parent.get());\r\n\t\t\t\t} else {\r\n\t\t\t\t\tif (!this.currentValue.includes(item.value.toString())) {\r\n\t\t\t\t\t\tthis.store.commit('currentData', [item]);\r\n\t\t\t\t\t\tthis.store.commit('valueData', item.value);\r\n\t\t\t\t\t\tthis.$parent.$emit('change', this.$parent.get());\r\n\t\t\t\t\t}\r\n\t\t\t\t\tthis.$parent.foldHandle();\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\t\r\n\texport default {\r\n\t\tname: 'cSelect',\r\n\t\t\r\n\t\tcomponents: {\r\n\t\t\tselectList\r\n\t\t},\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tname: String,\r\n\t\t\tvalue: {\r\n\t\t\t\ttype: [String, Number, Array],\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\tplaceholder: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '请选择'\r\n\t\t\t},\r\n\t\t\toptions: {\r\n\t\t\t\ttype: Array,\r\n\t\t\t\tdefault: () => {\r\n\t\t\t\t\treturn [];\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tlistWidth: [Number, String],\r\n\t\t\tlistHeight: {\r\n\t\t\t\ttype: [Number, String],\r\n\t\t\t\tdefault: 300\r\n\t\t\t},\r\n\t\t\tmultiple: Boolean,\r\n\t\t\tdisabled: Boolean,\r\n\t\t\tclear: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: true\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tstore: createStore({\r\n\t\t\t\t\tvalueData: this.value,\r\n\t\t\t\t\tcurrentData: []\r\n\t\t\t\t}),\r\n\t\t\t\tlistPosition: false\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\t...mapState(['valueData', 'currentData']),\r\n\t\t\t\r\n\t\t\tvalueName() {\r\n\t\t\t\treturn Array.from(this.currentData, item => item.name).join(',');\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\temptyState() {\r\n\t\t\t\treturn !this.valueData || (this.multiple && !this.valueData.length);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\toptionsClone() {\r\n\t\t\t\treturn JSON.parse(JSON.stringify(this.options || []));\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\twatch: {\r\n\t\t\tvalue(val) {\r\n\t\t\t\tthis.set(val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tvalueData() {\r\n\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\toptionsClone(val, old) {\r\n\t\t\t\t// console.log(val, old);\r\n\t\t\t\tif (old && old.length > 0) {\r\n\t\t\t\t\tthis.set();\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcurrentData(val) {\r\n\t\t\t\t// if (this.multiple) {\r\n\t\t\t\t// \tlet data = Array.from(val, item => item.value);\r\n\t\t\t\t// \tthis.store.commit('valueData', typeof this.valueData == 'object' ? data : data.join(','));\r\n\t\t\t\t// } else {\r\n\t\t\t\t// \tthis.store.commit('valueData', val[0] ? val[0].value : '');\r\n\t\t\t\t// }\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tset(val = this.multiple && typeof this.valueData == 'object' ? [] : '') {\r\n\t\t\t\tthis.store.commit('valueData', val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tget() {\r\n\t\t\t\treturn this.valueData;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tgetCurrentData() {\r\n\t\t\t\treturn this.multiple ? this.currentData : this.currentData[0] || {}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tdevelopHandle() {\r\n\t\t\t\tif (this.listPosition || this.disabled) return;\r\n\t\t\t\tthis.listPosition = true;\r\n\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\tlet rect = this.$el.getBoundingClientRect();\r\n\t\t\t\t\tlet listHeight = this.$refs.list.offsetHeight < this.listHeight ? this.$refs.list.offsetHeight : this.listHeight;\r\n\t\t\t\t\tlet up = window.innerHeight - rect.bottom < listHeight;\r\n\t\t\t\t\tthis.listPosition = {\r\n\t\t\t\t\t\tleft: rect.left + 'px',\r\n\t\t\t\t\t\ttop: (up ? rect.top - listHeight + 1 : rect.top + this.$el.offsetHeight - 1) + 'px',\r\n\t\t\t\t\t\twidth: (this.listWidth || this.$el.offsetWidth) + 'px',\r\n\t\t\t\t\t\t'max-height': this.parsePixel(this.listHeight)\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\twindow.addEventListener('click', this.foldHandle);\r\n\t\t\t\t\twindow.addEventListener('wheel', this.foldHandle);\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tfoldHandle() {\r\n\t\t\t\tthis.listPosition = false;\r\n\t\t\t\twindow.removeEventListener('click', this.foldHandle);\r\n\t\t\t\twindow.removeEventListener('wheel', this.foldHandle);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tclearHandle() {\r\n\t\t\t\tthis.set(typeof this.valueData == 'object' ? [] : '');\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"stylus\">\r\n\t.c-select {\r\n\t\tbox-sizing: border-box;\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 400px;\r\n\t\theight: 38px;\r\n\t\tborder: 1px solid $unitBorder;\r\n\t\tbackground: #fff;\r\n\t\ttransition: all .1s ease;\r\n\t\t\r\n\t\t&:not(.z-dis):hover {\r\n\t\t\t&:not(.z-develop) {\r\n\t\t\t\tborder-color: $unitHoverBorder;\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t.c-select-clear {\r\n\t\t\t\tdisplay: flex;\r\n\t\t\t\t\r\n\t\t\t\t+ .c-select-angle {\r\n\t\t\t\t\tdisplay: none;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&.z-develop {\r\n\t\t\tborder-color: $unitActiveBorder;\r\n\t\t}\r\n\t\t\r\n\t\t&.z-dis {\r\n\t\t\tbackground: $unitDisabled;\r\n\t\t\t\r\n\t\t\t> div {\r\n\t\t\t\tcursor: not-allowed;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&-main {\r\n\t\t\theight: 100%;\r\n\t\t\tpadding-left: 8px;\r\n\t\t\tcursor: pointer;\r\n\t\t}\r\n\r\n\t\t&-current {\r\n\t\t\tfont-size: 14px;\r\n\r\n\t\t\t&.z-empty {\r\n\t\t\t\tcolor: #ccc;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&-clear {\r\n\t\t\tdisplay: none;\r\n\t\t\twidth: 34px;\r\n\t\t\theight: 100%;\r\n\t\t\tfont-size: 18px;\r\n\t\t\tcolor: #999;\r\n\t\t\t\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: #333;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&-angle {\r\n\t\t\twidth: 34px;\r\n\t\t}\r\n\t\t\r\n\t\t&-options {\r\n\t\t\tz-index: 11;\r\n\t\t\tposition: fixed;\r\n\t\t\ttop: 50%;\r\n\t\t\tleft: 50%;\r\n\t\t\tbox-sizing: border-box;\r\n\t\t\twidth: 400px;\r\n\t\t\tborder: 1px solid $unitActiveBorder;\r\n\t\t\toverflow: auto;\r\n\t\t\tbackground: #fff;\r\n\t\t\t\r\n\t\t\t&-item {\r\n\t\t\t\theight: 36px;\r\n\t\t\t\tpadding: 0 8px;\r\n\t\t\t\toverflow: hidden;\r\n\t\t\t\tfont-size: 13px;\r\n\t\t\t\twhite-space: nowrap;\r\n\t\t\t\ttext-overflow: ellipsis;\r\n\t\t\t\tcursor: pointer;\r\n\r\n\t\t\t\t&:not(.z-crt):hover {\r\n\t\t\t\t\ttheme-color(main);\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t&.z-crt {\r\n\t\t\t\t\tcolor: #fff;\r\n\t\t\t\t\ttheme-background(main);\r\n\t\t\t\t\t\r\n\t\t\t\t\t.c-select-options-item-check {\r\n\t\t\t\t\t\tdisplay: inline-block;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t&-check {\r\n\t\t\t\t\tdisplay: none;\r\n\t\t\t\t\tmargin-left: 8px;\r\n\t\t\t\t\tfont-size: 16px;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t&-level {\r\n\t\t\t\t\twidth: 15px;\r\n\t\t\t\t\tmargin-right: 5px;\r\n\t\t\t\t\ttext-align: right;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./select.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./select.vue?vue&type=style&index=0&id=752f2375&prod&lang=stylus&\"","import { render, staticRenderFns } from \"./select.vue?vue&type=template&id=752f2375&\"\nimport script from \"./select.vue?vue&type=script&lang=js&\"\nexport * from \"./select.vue?vue&type=script&lang=js&\"\nimport style0 from \"./select.vue?vue&type=style&index=0&id=752f2375&prod&lang=stylus&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-region\"},[_c('div',{staticClass:\"flex\"},[(_vm.level >= 1)?_c('c-select',{ref:\"province\",staticClass:\"flex-grow\",attrs:{\"options\":_vm.provinceOptions,\"placeholder\":\"省\",\"clear\":false},on:{\"change\":function($event){return _vm.changeHandle($event, 'province')}},model:{value:(_vm.valueData.province),callback:function ($$v) {_vm.$set(_vm.valueData, \"province\", $$v)},expression:\"valueData.province\"}}):_vm._e(),(_vm.level >= 2)?_c('c-select',{ref:\"city\",staticClass:\"flex-grow\",attrs:{\"options\":_vm.cityOptions,\"placeholder\":\"市\",\"clear\":false},on:{\"change\":function($event){return _vm.changeHandle($event, 'city')}},model:{value:(_vm.valueData.city),callback:function ($$v) {_vm.$set(_vm.valueData, \"city\", $$v)},expression:\"valueData.city\"}}):_vm._e(),(_vm.level >= 3)?_c('c-select',{ref:\"county\",staticClass:\"flex-grow\",attrs:{\"options\":_vm.countyOptions,\"placeholder\":\"区/县\",\"clear\":false},on:{\"change\":function($event){return _vm.changeHandle($event, 'county')}},model:{value:(_vm.valueData.county),callback:function ($$v) {_vm.$set(_vm.valueData, \"county\", $$v)},expression:\"valueData.county\"}}):_vm._e()],1),_c('c-input',{attrs:{\"placeholder\":\"详细街道地址\"},model:{value:(_vm.valueData.address),callback:function ($$v) {_vm.$set(_vm.valueData, \"address\", $$v)},expression:\"valueData.address\"}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div class=\"c-region\">\r\n\t\t<div class=\"flex\">\r\n\t\t\t<c-select v-if=\"level >= 1\" v-model=\"valueData.province\" ref=\"province\" class=\"flex-grow\" :options=\"provinceOptions\" placeholder=\"省\" :clear=\"false\" @change=\"changeHandle($event, 'province')\"></c-select>\r\n\t\t\t<c-select v-if=\"level >= 2\" v-model=\"valueData.city\" ref=\"city\" class=\"flex-grow\" :options=\"cityOptions\" placeholder=\"市\" :clear=\"false\" @change=\"changeHandle($event, 'city')\"></c-select>\r\n\t\t\t<c-select v-if=\"level >= 3\" v-model=\"valueData.county\" ref=\"county\" class=\"flex-grow\" :options=\"countyOptions\" placeholder=\"区/县\" :clear=\"false\" @change=\"changeHandle($event, 'county')\"></c-select>\r\n\t\t</div>\r\n\t\t<c-input v-model=\"valueData.address\" placeholder=\"详细街道地址\"></c-input>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport addressJson from '@/data/address.json'\r\n\t\r\n\texport default {\r\n\t\tname: 'cRegion',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tname: String,\r\n\t\t\tvalue: {\r\n\t\t\t\ttype: Object,\r\n\t\t\t\tdefault: () => {\r\n\t\t\t\t\treturn {};\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\tprovinceName: String, // 省份字段名\r\n\t\t\tcityName: String, // 城市字段名\r\n\t\t\tcountyName: String, // 区县字段名\r\n\t\t\taddressName: String, // 详细街道字段名\r\n\t\t\tlevel: { // 级别(1:到省;2:到市;3:到区县;)\r\n\t\t\t\ttype: [Number, String],\r\n\t\t\t\tdefault: 3\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tvalueData: {},\r\n\t\t\t\tprovinceOptions: [],\r\n\t\t\t\tcityOptions: [],\r\n\t\t\t\tcountyOptions: []\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\twatch: {\r\n\t\t\tvalue(val) {\r\n\t\t\t\tthis.set(val);\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tmounted() {\r\n\t\t\tthis.updateOptions('province');\r\n\t\t\tthis.set(this.value);\r\n\t\t},\r\n\r\n\t\tmethods: {\r\n\t\t\tset(val = {}) {\r\n\t\t\t\tthis.$refs.province.set(val.province);\r\n\t\t\t\t\r\n\t\t\t\tif (!val.province || val.province != this.valueData.province) {\r\n\t\t\t\t\tthis.updateOptions('city', val.province, val.city);\r\n\t\t\t\t} else if (this.level >= 2) {\r\n\t\t\t\t\tthis.$refs.city.set(val.city);\r\n\t\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif (!val.city || val.city != this.valueData.city) {\r\n\t\t\t\t\tthis.updateOptions('county', val.city, val.county);\r\n\t\t\t\t} else if (this.level == 3) {\r\n\t\t\t\t\tthis.$refs.county.set(val.county);\r\n\t\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tthis.$set(this.valueData, 'address', val.address);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tget() {\r\n\t\t\t\treturn this.valueData;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tgetCurrentData() {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tprovince: this.$refs.province.getCurrentData(),\r\n\t\t\t\t\tcity: this.$refs.city && this.$refs.city.getCurrentData(),\r\n\t\t\t\t\tcounty: this.$refs.county && this.$refs.county.getCurrentData(),\r\n\t\t\t\t\taddress: this.valueData.address\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tupdateOptions(type, parent, val) {\r\n\t\t\t\tif (this.level == 1 && type == 'city' || this.level != 3 && type == 'county') return;\r\n\t\t\t\tthis[`${type}Options`] = [];\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis[`${type}Options`] = addressJson[parent || 0];\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (type != 'province') {\r\n\t\t\t\t\t\tthis.$refs[type].set(val);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\r\n\t\t\t\t\tif (this.level == 1 || this.level == 2 && type == 'city' || this.level == 3 && type == 'county') {\r\n\t\t\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 500);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tchangeHandle(val, type) {\r\n\t\t\t\tif (type == 'province') {\r\n\t\t\t\t\tthis.updateOptions('city', val);\r\n\t\t\t\t\tthis.updateOptions('county');\r\n\t\t\t\t} else if (type == 'city') {\r\n\t\t\t\t\tthis.updateOptions('county', val);\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t} \r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-region {\r\n\t\tdisplay: inline-block;\r\n\t\twidth: 400px;\r\n\t\t\r\n\t\t>>> .c-select {\r\n\t\t\t&:nth-child(n+2) {\r\n\t\t\t\tmargin-left: 10px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t>>> .c-input {\r\n\t\t\tmargin-top: 10px;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./region.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./region.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./region.vue?vue&type=style&index=0&id=13a3d336&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./region.vue?vue&type=template&id=13a3d336&scoped=true&\"\nimport script from \"./region.vue?vue&type=script&lang=js&\"\nexport * from \"./region.vue?vue&type=script&lang=js&\"\nimport style0 from \"./region.vue?vue&type=style&index=0&id=13a3d336&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"13a3d336\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-file\"},[_c('div',{class:{'flex-start-end': _vm.media}},[(_vm.media)?_c('div',{staticClass:\"c-file-media flex-wrap\"},[(!_vm.parseValueData.length)?_c('div',{staticClass:\"c-file-media-item flex-center empty\",on:{\"click\":_vm.uploadHandle}},[_c('i',{staticClass:\"tf tf-media\"})]):_vm._e(),_vm._l((_vm.parseValueData),function(item,i){return _c('div',{key:item,staticClass:\"c-file-media-item flex-center\",on:{\"click\":function($event){return _vm.$preview({src: item})}}},[(_vm.isVideo(item))?_c('video',{attrs:{\"src\":item}}):_c('img',{attrs:{\"src\":item}}),_c('a',{staticClass:\"flex-center\",on:{\"click\":function($event){$event.stopPropagation();return _vm.removeHandle(i)},\"mousedown\":function($event){$event.stopPropagation();}}},[_c('i',{staticClass:\"tf tf-cross\"})])])})],2):_vm._e(),_c('div',{class:{'flex-column': _vm.media, 'flex-center-cross': !_vm.media}},[_c('c-button',{attrs:{\"color\":\"gray\",\"icon\":_vm.icon,\"hollow\":\"\"},on:{\"click\":_vm.uploadHandle}},[_vm._v(_vm._s(_vm.button))]),(_vm.tip || _vm.$slots.tip || _vm.fileTypeTip)?_c('div',{staticClass:\"c-file-tip\",style:({'margin-top': _vm.media ? '4px' : ''})},[_vm._t(\"tip\",null,{\"type\":_vm.fileTypeTip}),(!_vm.$scopedSlots.tip)?_c('div',{class:{'flex-center': !_vm.media}},[(_vm.tip)?_c('p',[_vm._v(_vm._s(_vm.tip))]):_vm._e(),(_vm.fileTypeTip)?_c('p',[_vm._v(_vm._s(_vm.tip && !_vm.media ? ',' : '')+_vm._s(_vm.fileTypeTip))]):_vm._e()]):_vm._e()],2):_vm._e()],1)]),(!_vm.media)?_c('ul',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.parseValueData.length),expression:\"parseValueData.length\"}],staticClass:\"c-file-list\"},_vm._l((_vm.parseValueData),function(item,i){return _c('li',{key:i},[_c('span',[_vm._v(_vm._s(_vm.fileName(item)))]),_c('a',{on:{\"click\":function($event){return _vm.removeHandle(i)}}},[_vm._v(\"[删除]\")])])}),0):_vm._e()])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div class=\"c-file\">\r\n\t\t<div :class=\"{'flex-start-end': media}\">\r\n\t\t\t<div v-if=\"media\" class=\"c-file-media flex-wrap\">\r\n\t\t\t\t<div v-if=\"!parseValueData.length\" class=\"c-file-media-item flex-center empty\" @click=\"uploadHandle\">\r\n\t\t\t\t\t<i class=\"tf tf-media\"></i>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-for=\"(item, i) in parseValueData\" :key=\"item\" class=\"c-file-media-item flex-center\" @click=\"$preview({src: item})\">\r\n\t\t\t\t\t<video v-if=\"isVideo(item)\" :src=\"item\"></video>\r\n\t\t\t\t\t<img v-else :src=\"item\">\r\n\t\t\t\t\t<a class=\"flex-center\" @click.stop=\"removeHandle(i)\" @mousedown.stop><i class=\"tf tf-cross\"></i></a>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t\t\r\n\t\t\t<div :class=\"{'flex-column': media, 'flex-center-cross': !media}\">\r\n\t\t\t\t<c-button color=\"gray\" :icon=\"icon\" hollow @click=\"uploadHandle\">{{button}}</c-button>\r\n\t\t\t\t<div v-if=\"tip || $slots.tip || fileTypeTip\" class=\"c-file-tip\" :style=\"{'margin-top': media ? '4px' : ''}\">\r\n\t\t\t\t\t<slot name=\"tip\" :type=\"fileTypeTip\"></slot>\r\n\t\t\t\t\t<div v-if=\"!$scopedSlots.tip\" :class=\"{'flex-center': !media}\">\r\n\t\t\t\t\t\t<p v-if=\"tip\">{{tip}}</p>\r\n\t\t\t\t\t\t<p v-if=\"fileTypeTip\">{{tip && !media ? ',' : ''}}{{fileTypeTip}}</p>\r\n\t\t\t\t\t</div>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t\r\n\t\t<ul v-if=\"!media\" v-show=\"parseValueData.length\" class=\"c-file-list\">\r\n\t\t\t<li v-for=\"(item, i) in parseValueData\" :key=\"i\"><span>{{fileName(item)}}</span><a @click=\"removeHandle(i)\">[删除]</a></li>\r\n\t\t</ul>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'cUploadFile',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tname: String,\r\n\t\t\t\r\n\t\t\ttype: [String, Array],\r\n\t\t\t\r\n\t\t\tsize: [String, Number],\r\n\t\t\t\r\n\t\t\tmedia: Boolean,\r\n\t\t\t\r\n\t\t\ticon: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'upload'\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tbutton: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '上传文件'\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\ttip: String,\r\n\t\t\t\r\n\t\t\tvalue: {\r\n\t\t\t\ttype: [String, Array],\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tmultiple: Boolean,\r\n\t\t\t\r\n\t\t\tlimit: {\r\n\t\t\t\ttype: [Number, String],\r\n\t\t\t\tdefault: 1\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcustom: Boolean\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tvalueData: this.value\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcomputed: {\r\n\t\t\tparseValueData() {\r\n\t\t\t\treturn this.valueData ? (typeof this.valueData == 'object' ? this.valueData : this.valueData.toString().split(',')) : []\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tfileType() {\r\n\t\t\t\tif (this.type) {\r\n\t\t\t\t\tlet arr = [];\r\n\t\t\t\t\tthis.type.split(',').forEach(item => {\r\n\t\t\t\t\t\tarr = arr.concat({\r\n\t\t\t\t\t\t\timage: ['jpg', 'jpeg', 'png'],\r\n\t\t\t\t\t\t\tvideo: ['mp4'],\r\n\t\t\t\t\t\t\tword: ['doc', 'docx'],\r\n\t\t\t\t\t\t\texcel: ['xls', 'xlsx'],\r\n\t\t\t\t\t\t\tzip: ['zip', '7z', 'rar']\r\n\t\t\t\t\t\t}[item] || [item])\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn arr;\r\n\t\t\t\t}\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tfileTypeTip() {\r\n\t\t\t\tif (this.type) {\r\n\t\t\t\t\tlet arr = [];\r\n\t\t\t\t\tthis.type.split(',').forEach(item => {\r\n\t\t\t\t\t\tarr = arr.concat({\r\n\t\t\t\t\t\t\timage: ['图片'],\r\n\t\t\t\t\t\t\tvideo: ['mp4'],\r\n\t\t\t\t\t\t\tword: ['doc(x)'],\r\n\t\t\t\t\t\t\texcel: ['xls(x)'],\r\n\t\t\t\t\t\t\tzip: ['压缩包']\r\n\t\t\t\t\t\t}[item] || [item])\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn '支持格式:' + arr.join(',');\r\n\t\t\t\t}\r\n\t\t\t\treturn '';\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tfileName() {\r\n\t\t\t\treturn path => {\r\n\t\t\t\t\treturn path.substring(path.lastIndexOf('/') + 1);\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tisVideo() {\r\n\t\t\t\treturn path => {\r\n\t\t\t\t\treturn path.substring(path.lastIndexOf('.') + 1) == 'mp4';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\twatch: {\r\n\t\t\tvalue(val) {\r\n\t\t\t\tthis.set(val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tvalueData() {\r\n\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tset(val = this.limit > 1 && typeof this.valueData == 'object' ? [] : '') {\r\n\t\t\t\tthis.valueData = val;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tget() {\r\n\t\t\t\treturn this.valueData;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tremoveHandle(i) {\r\n\t\t\t\tlet data = this.parseValueData.join(',').split(',');\r\n\t\t\t\tdata.splice(i, 1);\r\n\t\t\t\tthis.set(this.limit > 1 && typeof this.valueData == 'object' ? data : data.join(','));\r\n\t\t\t},\r\n\r\n\t\t\tuploadHandle() {\r\n\t\t\t\tif (this.parseValueData.length >= parseInt(this.limit)) {\r\n\t\t\t\t\tthis.$message({\r\n\t\t\t\t\t\tmessage: `最多只能上传${this.limit}个文件`\r\n\t\t\t\t\t});\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif (this.custom) {\r\n\t\t\t\t\tthis.$emit('click');\r\n\t\t\t\t} else {\r\n\t\t\t\t\tthis.uploadFile({\r\n\t\t\t\t\t\tfileType: Array.from(this.fileType, item => '.' + item).join(','),\r\n\t\t\t\t\t\tfileSize: this.size,\r\n\t\t\t\t\t\tmultiple: this.multiple || parseInt(this.limit) > 1,\r\n\t\t\t\t\t\tsuccess: data => {\r\n\t\t\t\t\t\t\tif (!this.multiple && this.limit == 1) {\r\n\t\t\t\t\t\t\t\tthis.set(data[0]);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tdata = this.parseValueData.concat(data);\r\n\t\t\t\t\t\t\t\tthis.set(typeof this.valueData == 'object' ? data : data.join(','));\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-file {\r\n\t\t&-media {\r\n\t\t\tmargin-right: 10px;\r\n\t\t\toverflow: hidden;\r\n\t\t\t\r\n\t\t\t&-item {\r\n\t\t\t\tposition: relative;\r\n\t\t\t\tbox-sizing: border-box;\r\n\t\t\t\twidth: 80px;\r\n\t\t\t\theight: 80px;\r\n\t\t\t\tborder: 1px solid $unitBorder;\r\n\t\t\t\toverflow: hidden;\r\n\t\t\t\tbackground: #fff;\r\n\t\t\t\tcursor: pointer;\r\n\t\t\t\t\r\n\t\t\t\t&:nth-child(n+2) {\r\n\t\t\t\t\tmargin-left: 10px;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\t&.empty {\r\n\t\t\t\t\tfont-size: 36px;\r\n\t\t\t\t\tcolor: $unitHoverBorder;\r\n\t\t\t\t\tcursor: pointer;\r\n\t\t\t\t\t\r\n\t\t\t\t\t&:hover {\r\n\t\t\t\t\t\tborder-color: $unitHoverBorder;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tvideo {\r\n\t\t\t\t\twidth: 100%;\r\n\t\t\t\t\theight: 100%;\r\n\t\t\t\t\tbackground: #000;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\ta {\r\n\t\t\t\t\tposition: absolute;\r\n\t\t\t\t\tright: 0;\r\n\t\t\t\t\ttop: 0;\r\n\t\t\t\t\twidth: 18px;\r\n\t\t\t\t\theight: 18px;\r\n\t\t\t\t\tfont-size: 12px;\r\n\t\t\t\t\tcolor: #fff;\r\n\t\t\t\t\tbackground: rgba(0,0,0,.4);\r\n\t\t\t\t\t\r\n\t\t\t\t\t&:hover {\r\n\t\t\t\t\t\tbackground: #f11;\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t>>> .c-button {\r\n\t\t\talign-self: flex-start;\r\n\t\t\tmargin-right: 10px;\r\n\t\t}\r\n\t\t\r\n\t\t&-tip {\r\n\t\t\tline-height: 20px;\r\n\t\t\tfont-size: 13px;\r\n\t\t\tcolor: #999;\r\n\t\t\t\r\n\t\t\t> span {\r\n\t\t\t\tmargin-right: 10px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&-list {\r\n\t\t\tmargin-top: 6px;\r\n\t\t\t\r\n\t\t\tli {\r\n\t\t\t\tline-height: 20px;\r\n\t\t\t\tfont-size: 13px;\r\n\t\t\t\tcolor: #0030FF;\r\n\t\t\t\t\r\n\t\t\t\ta {\r\n\t\t\t\t\tmargin-left: 12px;\r\n\t\t\t\t\tcolor: #f00;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./upload_file.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./upload_file.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./upload_file.vue?vue&type=style&index=0&id=2077e74c&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./upload_file.vue?vue&type=template&id=2077e74c&scoped=true&\"\nimport script from \"./upload_file.vue?vue&type=script&lang=js&\"\nexport * from \"./upload_file.vue?vue&type=script&lang=js&\"\nimport style0 from \"./upload_file.vue?vue&type=style&index=0&id=2077e74c&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2077e74c\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return (_vm.src)?_c('div',{staticClass:\"c-file flex\"},[_c('i',{staticClass:\"tf tf-fw tf-file\",class:`tf-file-${_vm.suffix}`}),_c('a',{on:{\"click\":_vm.download}},[_vm._v(_vm._s(_vm.fileName))])]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div v-if=\"src\" class=\"c-file flex\">\r\n\t\t<i class=\"tf tf-fw tf-file\" :class=\"`tf-file-${suffix}`\"></i>\r\n\t\t<a @click=\"download\">{{fileName}}</a>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'cFile',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tsrc: String\r\n\t\t},\r\n\r\n\t\tcomputed: {\r\n\t\t\tfileName() {\r\n\t\t\t\tif (!this.src) return '';\r\n\t\t\t\tlet path = this.src.split('/');\r\n\t\t\t\treturn path[path.length - 1];\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tsuffix() {\r\n\t\t\t\tif (!this.src) return '';\r\n\t\t\t\tvar arr = this.src.split('.');\r\n\t\t\t\treturn arr[arr.length - 1].toLowerCase();\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tdownload() {\r\n\t\t\t\twindow.open(this.src);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-file {\r\n\t\tpadding: 2px 0;\r\n\t\tline-height: 20px;\r\n\t\t\t\r\n\t\telder({\r\n\t\t\tline-height: 30px\r\n\t\t})\r\n\t\t\r\n\t\t.tf {\r\n\t\t\tmargin-right: 6px;\r\n\t\t\tfont-size: 18px;\r\n\t\t\t\r\n\t\t\telder({\r\n\t\t\t\tfont-size: 20px\r\n\t\t\t})\r\n\t\t}\r\n\t\t\r\n\t\ta {\r\n\t\t\tfont-size: 14px;\r\n\t\t\tcolor: #1492FF;\r\n\t\t\t\r\n\t\t\telder({\r\n\t\t\t\tfont-size: 20px\r\n\t\t\t})\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./file.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./file.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./file.vue?vue&type=style&index=0&id=abb21c70&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./file.vue?vue&type=template&id=abb21c70&scoped=true&\"\nimport script from \"./file.vue?vue&type=script&lang=js&\"\nexport * from \"./file.vue?vue&type=script&lang=js&\"\nimport style0 from \"./file.vue?vue&type=style&index=0&id=abb21c70&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"abb21c70\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-editor\",style:({'width': _vm.parsePixel(_vm.width)})},[_c('div',{ref:\"div\",attrs:{\"id\":_vm.id}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div class=\"c-editor\" :style=\"{'width': parsePixel(width)}\">\r\n\t\t<div ref=\"div\" :id=\"id\"></div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\timport '@/assets/script/lib/kindeditor/kindeditor-all.js'\r\n\timport '@/assets/script/lib/kindeditor/themes/default/default.css'\r\n\r\n\texport default {\r\n\t\tname: 'cEditor',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tname: String,\r\n\t\t\twidth: {\r\n\t\t\t\ttype: [String, Number],\r\n\t\t\t\tdefault: '100%'\r\n\t\t\t},\r\n\t\t\theight: {\r\n\t\t\t\ttype: [String, Number],\r\n\t\t\t\tdefault: 300\r\n\t\t\t},\r\n\t\t\tvalue: String\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tid: `KindEditor${this._uid}`\r\n\t\t\t};\r\n\t\t},\r\n\t\t\r\n\t\twatch: {\r\n\t\t\tvalue(val) {\r\n\t\t\t\tthis.editor.html(val);\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmounted() {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tif (!this.editor) {\r\n\t\t\t\t\tthis.create();\r\n\t\t\t\t}\r\n\t\t\t\tthis.set(this.value);\r\n\t\t\t});\r\n\t\t},\r\n\t\t\r\n\t\tactivated() {\r\n\t\t\tthis.destroy();\r\n\t\t\tthis.create();\r\n\t\t},\r\n\t\t\r\n\t\tbeforeDestroy() {\r\n\t\t\tthis.destroy();\r\n\t\t},\r\n\r\n\t\tmethods: {\r\n\t\t\tset(val = '') {\r\n\t\t\t\tthis.editor.html(val);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tget() {\r\n\t\t\t\treturn this.editor.html();\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcreate() {\r\n\t\t\t\tthis.editor = KindEditor.create('#' + this.id, {\r\n\t\t\t\t\twidth: '100%',\r\n\t\t\t\t\theight: this.height,\r\n\t\t\t\t\tresizeType: 1,\r\n\t\t\t\t\tafterBlur: () => {\r\n\t\t\t\t\t\tthis.$emit('input', this.get());\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tdestroy() {\r\n\t\t\t\tthis.editor && this.editor.remove();\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./editor.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./editor.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./editor.vue?vue&type=template&id=746a589a&\"\nimport script from \"./editor.vue?vue&type=script&lang=js&\"\nexport * from \"./editor.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.show),expression:\"show\"}]},[_c('div',{staticClass:\"popup-mask an an-fadein\",class:{'an-fadeout': !_vm.active},staticStyle:{\"z-index\":\"101\"}}),_c('div',{ref:\"wrapper\",staticClass:\"c-dialog-wrapper\",attrs:{\"mode\":_vm.mode}},[_c('div',{staticClass:\"c-dialog flex-column an\",class:{[_vm.animate]: _vm.active, 'an-fadeout': !_vm.active},style:({'width': _vm.parsePixel(_vm.compWidth)}),attrs:{\"mode\":_vm.mode,\"confirm\":_vm.confirm}},[(_vm.title !== false)?_c('div',{staticClass:\"c-dialog-head\"},[_c('p',[_vm._v(_vm._s(_vm.title))])]):_vm._e(),(_vm.closeButton)?_c('div',{staticClass:\"c-dialog-close flex-center\",on:{\"click\":_vm.close}},[_c('i',{staticClass:\"tf tf-cross\"})]):_vm._e(),_c('div',{ref:\"content\",class:{'flex-grow': _vm.mode == 'slide'},style:({'height': _vm.parsePixel(_vm.compHeight), 'padding-bottom': _vm.oddHeight ? '1px' : '', 'overflow': _vm.compHeight == 'auto' ? '' : 'auto'})},[_vm._t(\"default\")],2),(_vm.button)?_c('div',{staticClass:\"c-dialog-button flex-center-cross flex-end-center\"},[(_vm.$slots.button)?_vm._t(\"button\"):[_c('c-button',{attrs:{\"size\":\"m\"},on:{\"click\":function($event){return _vm.buttonHandle('resolve')}}},[_vm._v(_vm._s(_vm.buttonName))]),(_vm.cancelButton)?_c('c-button',{attrs:{\"color\":\"black\",\"size\":\"m\",\"hollow\":\"\"},on:{\"click\":function($event){return _vm.buttonHandle('cancel')}}},[_vm._v(_vm._s(_vm.cancelButtonnName))]):_vm._e()]],2):_vm._e()])])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div v-show=\"show\">\r\n\t\t<div class=\"popup-mask an an-fadein\" :class=\"{'an-fadeout': !active}\" style=\"z-index: 101;\"></div>\r\n\t\t<div ref=\"wrapper\" class=\"c-dialog-wrapper\" :mode=\"mode\">\r\n\t\t\t<div class=\"c-dialog flex-column an\" :class=\"{[animate]: active, 'an-fadeout': !active}\" :mode=\"mode\" :confirm=\"confirm\" :style=\"{'width': parsePixel(compWidth)}\">\r\n\t\t\t\t<div v-if=\"title !== false\" class=\"c-dialog-head\">\r\n\t\t\t\t\t<p>{{title}}</p>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-if=\"closeButton\" class=\"c-dialog-close flex-center\" @click=\"close\"><i class=\"tf tf-cross\"></i></div>\r\n\t\t\t\t<div ref=\"content\" :class=\"{'flex-grow': mode == 'slide'}\" :style=\"{'height': parsePixel(compHeight), 'padding-bottom': oddHeight ? '1px' : '', 'overflow': compHeight == 'auto' ? '' : 'auto'}\">\r\n\t\t\t\t\t<slot></slot>\r\n\t\t\t\t</div>\r\n\t\t\t\t<div v-if=\"button\" class=\"c-dialog-button flex-center-cross flex-end-center\">\r\n\t\t\t\t\t<slot v-if=\"$slots.button\" name=\"button\"></slot>\r\n\t\t\t\t\t<template v-else>\r\n\t\t\t\t\t\t<c-button size=\"m\" @click=\"buttonHandle('resolve')\">{{buttonName}}</c-button>\r\n\t\t\t\t\t\t<c-button v-if=\"cancelButton\" color=\"black\" size=\"m\" hollow @click=\"buttonHandle('cancel')\">{{cancelButtonnName}}</c-button>\r\n\t\t\t\t\t</template>\r\n\t\t\t\t</div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'cDialog',\r\n\t\t\r\n\t\tprops: {\r\n\t\t\tmode: { // 打开模式(popup: 渐显; slide: 侧滑)\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: 'popup'\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tconfirm: Boolean,\r\n\t\t\t\r\n\t\t\ttitle: {\r\n\t\t\t\ttype: [String, Boolean],\r\n\t\t\t\tdefault: ''\r\n\t\t\t},\r\n\r\n\t\t\twidth: [Number, String],\r\n\r\n\t\t\theight: {\r\n\t\t\t\ttype: [Number, String],\r\n\t\t\t\tdefault: 'auto'\r\n\t\t\t},\r\n\r\n\t\t\tcloseButton: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: true\r\n\t\t\t},\r\n\r\n\t\t\tbutton: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: true\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tbuttonName: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '确定'\r\n\t\t\t},\r\n\r\n\t\t\tcancelButton: {\r\n\t\t\t\ttype: Boolean,\r\n\t\t\t\tdefault: true\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcancelButtonnName: {\r\n\t\t\t\ttype: String,\r\n\t\t\t\tdefault: '取消'\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tshow: false,\r\n\t\t\t\tactive: false,\r\n\t\t\t\toddHeight: false\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\tcompWidth() {\r\n\t\t\t\treturn this.width || {\r\n\t\t\t\t\tpopup: 750,\r\n\t\t\t\t\tslide: 600\r\n\t\t\t\t}[this.mode];\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tcompHeight() {\r\n\t\t\t\treturn this.mode == 'slide' ? 0 : this.height;\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tanimate() {\r\n\t\t\t\treturn {\r\n\t\t\t\t\tpopup: 'an-popup',\r\n\t\t\t\t\tslide: 'an-slidein'\r\n\t\t\t\t}[this.mode];\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmounted() {\r\n\t\t\tthis._observer = new MutationObserver(this.updateOddHeight);\r\n\t\t\tthis._observer.observe(this.$refs.content, {\r\n\t\t\t\tchildList: true,\r\n\t\t\t\tsubtree: true\r\n\t\t\t});\r\n\t\t},\r\n\t\t\r\n\t\tbeforeDestroy() {\r\n\t\t\tthis._observer.disconnect();\r\n\t\t},\r\n\r\n\t\tmethods: {\r\n\t\t\tupdateOddHeight() {\r\n\t\t\t\tif (this.show) {\r\n\t\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\t\tthis.oddHeight = (this.$refs.wrapper.getBoundingClientRect().height - (this.oddHeight ? 1 : 0)) % 2 == 1;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\topen() {\r\n\t\t\t\tthis.active = true;\r\n\t\t\t\tthis.show = true;\r\n\t\t\t\tthis.updateOddHeight();\r\n\t\t\t},\r\n\r\n\t\t\tclose() {\r\n\t\t\t\tthis.active = false;\r\n\t\t\t\tthis.$emit('close');\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.show = false;\r\n\t\t\t\t}, 250);\r\n\t\t\t},\r\n\r\n\t\t\tbuttonHandle(state) {\r\n\t\t\t\tlet stop = false;\r\n\t\t\t\tthis.$emit(state, () => {\r\n\t\t\t\t\tstop = true;\r\n\t\t\t\t});\r\n\t\t\t\t!stop && this.close();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-dialog {\r\n\t\tbackground: #fff;\r\n\t\t\r\n\t\t&[confirm] {\r\n\t\t\tborder-radius: 4px;\r\n\t\t\t\r\n\t\t\t.c-dialog-button {\r\n\t\t\t\theight: 54px;\r\n\t\t\t\tpadding: 0 14px;\r\n\t\t\t\t\r\n\t\t\t\t>>> .c-button {\r\n\t\t\t\t\tmin-width: 72px;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&[mode=popup] {\r\n\t\t\tborder-radius: 10px;\r\n\t\t}\r\n\t\t\r\n\t\t&[mode=slide] {\r\n\t\t\theight: 100%;\r\n\t\t}\r\n\t\t\r\n\t\t&-wrapper {\r\n\t\t\tz-index: 101;\r\n\t\t\tposition: fixed;\r\n\t\t\t\r\n\t\t\t&[mode=\"popup\"] {\r\n\t\t\t\tleft: 50%;\r\n\t\t\t\ttop: 50%;\r\n\t\t\t\ttransform: translate(-50%, -50%);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t&[mode=slide] {\r\n\t\t\t\tright: 0;\r\n\t\t\t\ttop: 0;\r\n\t\t\t\tbottom: 0;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&-head {\r\n\t\t\tline-height: 60px;\r\n\t\t\tborder-bottom: 1px solid $line;\r\n\t\t\t\r\n\t\t\tp {\r\n\t\t\t\tfont-size: 18px;\r\n\t\t\t\tfont-weight: bold;\r\n\t\t\t\ttext-indent: 30px;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&-close {\r\n\t\t\tz-index: 1;\r\n\t\t\tposition: absolute;\r\n\t\t\tright: 10px;\r\n\t\t\ttop: 10px;\r\n\t\t\twidth: 40px;\r\n\t\t\theight: 40px;\r\n\t\t\tfont-size: 18px;\r\n\t\t\tcolor: #999;\r\n\t\t\tcursor: pointer;\r\n\t\t\ttransition: all .3s ease;\r\n\t\t\t\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: $deleteHover;\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t&-button {\r\n\t\t\theight: 60px;\r\n\t\t\tborder-top: 1px solid $line;\r\n\t\t\tpadding: 0 20px;\r\n\t\t\t\r\n\t\t\t>>> .c-button {\r\n\t\t\t\tpadding: 0 20px;\r\n\t\t\t\tmargin-left: 12px;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./dialog.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./dialog.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./dialog.vue?vue&type=style&index=0&id=a69b8388&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./dialog.vue?vue&type=template&id=a69b8388&scoped=true&\"\nimport script from \"./dialog.vue?vue&type=script&lang=js&\"\nexport * from \"./dialog.vue?vue&type=script&lang=js&\"\nimport style0 from \"./dialog.vue?vue&type=style&index=0&id=a69b8388&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"a69b8388\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div')\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div></div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'loading',\r\n\t\t\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tmessage: '', // 消息内容\r\n\t\t\t\ttimeout: 10000 // 自动消失时长\r\n\t\t\t}\r\n\t\t},\r\n\r\n\t\tcreated() {\r\n\t\t\tthis._$message = this.$message({\r\n\t\t\t\ttype: 'loading',\r\n\t\t\t\tmessage: this.message,\r\n\t\t\t\ttimeout: this.timeout,\r\n\t\t\t\tmask: true\r\n\t\t\t});\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tclose() {\r\n\t\t\t\tthis._$message.close();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./loading.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./loading.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./loading.vue?vue&type=template&id=1786b91e&\"\nimport script from \"./loading.vue?vue&type=script&lang=js&\"\nexport * from \"./loading.vue?vue&type=script&lang=js&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',[(_vm.mask)?_c('div',{staticClass:\"popup-mask\",staticStyle:{\"z-index\":\"999\"},attrs:{\"invisible\":\"\"}}):_vm._e(),_c('div',{staticClass:\"c-message flex flex-center an\",class:{'an-fadein': _vm.active, 'an-fadeout': !_vm.active},style:({'min-width': _vm.type == 'loading' ? 'auto' : ''})},[_c('i',{staticClass:\"tf tf-message\",class:_vm.type ? `tf-message-${_vm.type}` : ''}),(_vm.message)?_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.message)}}):_vm._e()])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div>\r\n\t\t<div v-if=\"mask\" class=\"popup-mask\" invisible style=\"z-index: 999;\"></div>\r\n\t\t<div class=\"c-message flex flex-center an\" :class=\"{'an-fadein': active, 'an-fadeout': !active}\" :style=\"{'min-width': type == 'loading' ? 'auto' : ''}\">\r\n\t\t\t<i class=\"tf tf-message\" :class=\"type ? `tf-message-${type}` : ''\"></i>\r\n\t\t\t<p v-if=\"message\" v-html=\"message\"></p>\r\n\t\t</div>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'message',\r\n\t\t\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttype: '', // 消息类型 (success: 成功; fail: 失败; warn: 警告;)\r\n\t\t\t\tmessage: '', // 消息内容\r\n\t\t\t\ttimeout: 2500, // 自动消失时长\r\n\t\t\t\tmask: false, // 是否显示遮罩\r\n\t\t\t\tactive: true\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmounted() {\r\n\t\t\twindow._$messageVm && window._$messageVm.close();\r\n\t\t\twindow._$messageVm = this;\r\n\t\t\tthis.timeout && (this._timer = setTimeout(this.close, this.timeout));\r\n\t\t},\r\n\r\n\t\tmethods: {\r\n\t\t\tclose() {\r\n\t\t\t\tthis.active = false;\r\n\t\t\t\tclearTimeout(this._timer);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.$destroy();\r\n\t\t\t\t\tthis.$el.remove();\r\n\t\t\t\t}, 250);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-message {\r\n\t\tz-index: 999;\r\n\t\tposition: fixed;\r\n\t\tleft: 50%;\r\n\t\ttop: 50%;\r\n\t\tmax-width: 15em;\r\n\t\tmin-width: 8em;\r\n\t\tborder-radius: 4px;\r\n\t\tpadding: 14px;\r\n\t\tcolor: #fff;\r\n\t\tbackground: rgba(0,0,0,.7);\r\n\t\ttransform: translate(-50%, -50%);\r\n\t\t\r\n\t\t.tf {\r\n\t\t\theight: 24px;\r\n\t\t\tfont-size: 24px;\r\n\t\t}\r\n\r\n\t\tp {\r\n\t\t\tmargin-left: 10px;\r\n\t\t\tline-height: 20px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\ttext-align: center;\r\n\t\t\tword-break: break-all;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./message.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./message.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./message.vue?vue&type=style&index=0&id=54a8762f&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./message.vue?vue&type=template&id=54a8762f&scoped=true&\"\nimport script from \"./message.vue?vue&type=script&lang=js&\"\nexport * from \"./message.vue?vue&type=script&lang=js&\"\nimport style0 from \"./message.vue?vue&type=style&index=0&id=54a8762f&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"54a8762f\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"c-notice an\",class:{'an-slidein': _vm.active, 'an-fadeout': !_vm.active},style:({'margin-top': _vm.active ? '' : -_vm.height + 'px'})},[_c('div',{staticClass:\"flex\"},[_c('i',{staticClass:\"icon tf tf-message\",class:_vm.type ? `tf-message-${_vm.type}` : '',attrs:{\"color\":\"\"}}),_c('div',{staticClass:\"flex-grow\"},[_c('p',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"content\",domProps:{\"innerHTML\":_vm._s(_vm.message)}})])]),(_vm.button)?_c('div',{staticClass:\"button\"},_vm._l((_vm.button),function(item,i){return _c('a',{key:i,on:{\"click\":function($event){return _vm.buttonHandle(item)}}},[_vm._v(_vm._s(item.name))])}),0):_vm._e(),_c('a',{staticClass:\"close flex-center\",on:{\"click\":_vm.close}},[_c('i',{staticClass:\"tf tf-cross\"})])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<div class=\"c-notice an\" :class=\"{'an-slidein': active, 'an-fadeout': !active}\" :style=\"{'margin-top': active ? '' : -height + 'px'}\">\r\n\t\t<div class=\"flex\">\r\n\t\t\t<i class=\"icon tf tf-message\" :class=\"type ? `tf-message-${type}` : ''\" color></i>\r\n\t\t\t<div class=\"flex-grow\">\r\n\t\t\t\t<p class=\"title\">{{title}}</p>\r\n\t\t\t\t<div v-html=\"message\" class=\"content\"></div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t<div v-if=\"button\" class=\"button\">\r\n\t\t\t<a v-for=\"(item, i) in button\" :key=\"i\" @click=\"buttonHandle(item)\">{{item.name}}</a>\r\n\t\t</div>\r\n\t\t<a class=\"close flex-center\" @click=\"close\"><i class=\"tf tf-cross\"></i></a>\r\n\t</div>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'notice',\r\n\t\t\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttype: '', // 通知类型 (success: 成功; fail: 失败; warn: 警告;)\r\n\t\t\t\ttitle: '', // 通知标题\r\n\t\t\t\tmessage: '', // 通知内容\r\n\t\t\t\ttimeout: 10000, // 自动消失时长\r\n\t\t\t\tbutton: false, // 按钮\r\n\t\t\t\tactive: true,\r\n\t\t\t\theight: 0\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmounted() {\r\n\t\t\tthis.$nextTick(() => {\r\n\t\t\t\tthis.height = this.$el.clientHeight;\r\n\t\t\t});\r\n\t\t\tthis.timeout && (this._timer = setTimeout(this.close, this.timeout));\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tclose() {\r\n\t\t\t\tthis.active = false;\r\n\t\t\t\tclearTimeout(this._timer);\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.$destroy();\r\n\t\t\t\t\tthis.$el.remove();\r\n\t\t\t\t}, 450);\r\n\t\t\t},\r\n\t\t\t\r\n\t\t\tbuttonHandle(item) {\r\n\t\t\t\titem.callback();\r\n\t\t\t\tthis.close();\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-notice {\r\n\t\tposition: relative;\r\n\t\tbox-sizing: border-box;\r\n\t\twidth: 330px;\r\n\t\tborder-radius: 4px;\r\n\t\tpadding: 14px 20px;\r\n\t\tmargin: 12px 10px 0 0;\r\n\t\tbackground: rgba(255,255,255,.95);\r\n\t\tbox-shadow: 0 0 6px 0 rgba(0,0,0,.15);\r\n\t\ttransition: margin .4s ease;\r\n\t\t\r\n\t\t.icon {\r\n\t\t\tmargin-right: 14px;\r\n\t\t\tfont-size: 26px;\r\n\t\t}\r\n\r\n\t\t.title {\r\n\t\t\tmargin-right: 20px;\r\n\t\t\tline-height: 26px;\r\n\t\t\tfont-size: 16px;\r\n\t\t\tfont-weight: bold;\r\n\t\t\tcolor: #333;\r\n\t\t\t\r\n\t\t\t& + .content {\r\n\t\t\t\tmargin-top: 6px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t.content {\r\n\t\t\tline-height: 20px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tword-break: break-all;\r\n\t\t\tcolor: #333;\r\n\t\t}\r\n\t\t\r\n\t\t.button {\r\n\t\t\tmargin-top: 14px;\r\n\t\t\ttext-align: right;\r\n\t\t\t\r\n\t\t\ta {\r\n\t\t\t\tmargin-left: 1em;\r\n\t\t\t\tfont-size: 13px;\r\n\t\t\t\tcolor: $link;\r\n\t\t\t\t\r\n\t\t\t\t&:hover {\r\n\t\t\t\t\tcolor: $linkHover;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t.close {\r\n\t\t\tposition: absolute;\r\n\t\t\tright: 10px;\r\n\t\t\ttop: 10px;\r\n\t\t\twidth: 30px;\r\n\t\t\theight: 30px;\r\n\t\t\ttransition: all .3s ease;\r\n\t\t\t\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: $deleteHover;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./notice.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./notice.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./notice.vue?vue&type=style&index=0&id=4669efae&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./notice.vue?vue&type=template&id=4669efae&scoped=true&\"\nimport script from \"./notice.vue?vue&type=script&lang=js&\"\nexport * from \"./notice.vue?vue&type=script&lang=js&\"\nimport style0 from \"./notice.vue?vue&type=style&index=0&id=4669efae&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4669efae\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('c-dialog',{ref:\"dialog\",attrs:{\"confirm\":\"\",\"title\":false,\"width\":\"450\",\"close-button\":false}},[_c('div',{staticClass:\"c-confirm flex\"},[_c('i',{staticClass:\"icon tf\",class:_vm.type ? `tf-message-${_vm.type}` : '',attrs:{\"color\":\"\"}}),_c('div',{staticClass:\"flex-grow\"},[_c('p',{staticClass:\"title\"},[_vm._v(_vm._s(_vm.title))]),_c('div',{staticClass:\"content\",domProps:{\"innerHTML\":_vm._s(_vm.message)}})])]),_c('template',{slot:\"button\"},[_c('c-button',{attrs:{\"width\":\"72\",\"height\":\"34\",\"size\":\"m\"},on:{\"click\":function($event){return _vm.buttonHandle('resolve')}}},[_vm._v(_vm._s(_vm.buttonName))]),(_vm.cancelButton)?_c('c-button',{attrs:{\"width\":\"72\",\"height\":\"34\",\"size\":\"m\",\"color\":\"black\",\"hollow\":\"\"},on:{\"click\":function($event){return _vm.buttonHandle('cancel')}}},[_vm._v(_vm._s(_vm.cancelButtonName))]):_vm._e()],1)],2)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<c-dialog ref=\"dialog\" confirm :title=\"false\" width=\"450\" :close-button=\"false\">\r\n\t\t<div class=\"c-confirm flex\">\r\n\t\t\t<i class=\"icon tf\" :class=\"type ? `tf-message-${type}` : ''\" color></i>\r\n\t\t\t<div class=\"flex-grow\">\r\n\t\t\t\t<p class=\"title\">{{title}}</p>\r\n\t\t\t\t<div v-html=\"message\" class=\"content\"></div>\r\n\t\t\t</div>\r\n\t\t</div>\r\n\t\t\t\r\n\t\t<template slot=\"button\">\r\n\t\t\t<c-button width=\"72\" height=\"34\" size=\"m\" @click=\"buttonHandle('resolve')\">{{buttonName}}</c-button>\r\n\t\t\t<c-button v-if=\"cancelButton\" width=\"72\" height=\"34\" size=\"m\" color=\"black\" hollow @click=\"buttonHandle('cancel')\">{{cancelButtonName}}</c-button>\r\n\t\t</template>\r\n\t</c-dialog>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'confirm',\r\n\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\ttype: 'enquire', // 消息类型 (enquire: 询问; warn: 警告;)\r\n\t\t\t\ttitle: '消息提醒', // 消息标题\r\n\t\t\t\tmessage: '', // 消息内容\r\n\t\t\t\tbuttonName: '确定',\r\n\t\t\t\tcancelButton: true,\r\n\t\t\t\tcancelButtonName: '取消'\r\n\t\t\t};\r\n\t\t},\r\n\r\n\t\tmounted() {\r\n\t\t\tthis.$refs.dialog.open();\r\n\t\t},\r\n\r\n\t\tmethods: {\r\n\t\t\tbuttonHandle(state) {\r\n\t\t\t\tthis[state] && this[state]();\r\n\t\t\t\tthis.$refs.dialog.close();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.$destroy();\r\n\t\t\t\t\tthis.$el.remove();\r\n\t\t\t\t}, 260);\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t.c-confirm {\r\n\t\tpadding: 40px 36px;\r\n\t\t\r\n\t\t.icon {\r\n\t\t\tmargin-right: 16px;\r\n\t\t\tfont-size: 32px;\r\n\t\t}\r\n\r\n\t\t.title {\r\n\t\t\tmargin-right: 20px;\r\n\t\t\tline-height: 32px;\r\n\t\t\tfont-size: 16px;\r\n\t\t\tfont-weight: bold;\r\n\t\t\tcolor: #333;\r\n\t\t\t\r\n\t\t\t& + .content {\r\n\t\t\t\tmargin-top: 6px;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t.content {\r\n\t\t\tline-height: 20px;\r\n\t\t\tfont-size: 14px;\r\n\t\t\tword-break: break-all;\r\n\t\t\tcolor: #333;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./confirm.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./confirm.vue?vue&type=style&index=0&id=63f1dde7&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./confirm.vue?vue&type=template&id=63f1dde7&scoped=true&\"\nimport script from \"./confirm.vue?vue&type=script&lang=js&\"\nexport * from \"./confirm.vue?vue&type=script&lang=js&\"\nimport style0 from \"./confirm.vue?vue&type=style&index=0&id=63f1dde7&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"63f1dde7\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('c-dialog',{ref:\"dialog\",attrs:{\"title\":false,\"width\":\"auto\",\"button\":false}},[_c('div',{staticClass:\"preview-close flex-center\",on:{\"click\":_vm.close}},[_c('i',{staticClass:\"tf tf-cross\"})]),(_vm.video)?_c('video',{ref:\"video\",staticClass:\"preview-video\",attrs:{\"src\":_vm.src,\"controls\":\"\",\"loop\":\"\",\"autoplay\":\"\"}}):_c('img',{ref:\"img\",staticClass:\"preview-img\",attrs:{\"src\":_vm.src}})])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n\t<c-dialog ref=\"dialog\" :title=\"false\" width=\"auto\" :button=\"false\">\r\n\t\t<div class=\"preview-close flex-center\" @click=\"close\"><i class=\"tf tf-cross\"></i></div>\r\n\t\t<video v-if=\"video\" ref=\"video\" class=\"preview-video\" :src=\"src\" controls loop autoplay></video>\r\n\t\t<img v-else ref=\"img\" class=\"preview-img\" :src=\"src\">\r\n\t</c-dialog>\r\n</template>\r\n\r\n<script>\r\n\texport default {\r\n\t\tname: 'preview',\r\n\t\t\r\n\t\tdata() {\r\n\t\t\treturn {\r\n\t\t\t\tsrc: ''\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tcomputed: {\r\n\t\t\tvideo() {\r\n\t\t\t\tvar arr = this.src.split('.');\r\n\t\t\t\t\r\n\t\t\t\treturn ['mp4', 'webm'].includes(arr[arr.length - 1]);\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmounted() {\r\n\t\t\tif (!this.src) return;\r\n\t\t\t\r\n\t\t\tthis.$loading();\r\n\t\t\tif (this.video) {\r\n\t\t\t\tthis.$refs.video.addEventListener('play', () => {\r\n\t\t\t\t\tthis.$loadOver();\r\n\t\t\t\t\tthis.$refs.dialog.open();\r\n\t\t\t\t});\r\n\t\t\t\tthis.$refs.video.addEventListener('error', () => {\r\n\t\t\t\t\tthis.$loadOver();\r\n\t\t\t\t\tthis.$message({\r\n\t\t\t\t\t\ttype: 'fail',\r\n\t\t\t\t\t\tmessage: '视频加载失败'\r\n\t\t\t\t\t});\r\n\t\t\t\t});\r\n\t\t\t} else {\r\n\t\t\t\tthis.$refs.img.onload = () => {\r\n\t\t\t\t\tthis.$loadOver();\r\n\t\t\t\t\tthis.$refs.dialog.open();\r\n\t\t\t\t};\r\n\t\t\t\tthis.$refs.img.onerror = () => {\r\n\t\t\t\t\tthis.$loadOver();\r\n\t\t\t\t\tthis.$message({\r\n\t\t\t\t\t\ttype: 'fail',\r\n\t\t\t\t\t\tmessage: '图片加载失败'\r\n\t\t\t\t\t})\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t},\r\n\t\t\r\n\t\tmethods: {\r\n\t\t\tclose() {\r\n\t\t\t\tthis.$refs.dialog.close();\r\n\t\t\t\tsetTimeout(() => {\r\n\t\t\t\t\tthis.$el.remove();\r\n\t\t\t\t}, 260);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n</script>\r\n\r\n<style lang=\"stylus\" scoped>\r\n\t>>> .c-dialog {\r\n\t\tbackground: none;\r\n\t}\r\n\t\r\n\t.preview {\r\n\t\t&-close {\r\n\t\t\tz-index: 1;\r\n\t\t\tposition: absolute;\r\n\t\t\tright: 10px;\r\n\t\t\ttop: 10px;\r\n\t\t\twidth: 40px;\r\n\t\t\theight: 40px;\r\n\t\t\tborder-radius: 100%;\r\n\t\t\tfont-size: 18px;\r\n\t\t\tcolor: #fff;\r\n\t\t\tbackground: rgba(0,0,0,.6);\r\n\t\t\tcursor: pointer;\r\n\t\t\ttransition: all .3s ease;\r\n\t\t\t\r\n\t\t\t&:hover {\r\n\t\t\t\tcolor: $deleteHover;\r\n\t\t\t\tbackground: none;\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t&-img {\r\n\t\t\tmin-width: 200px;\r\n\t\t\tmax-width: 80vw;\r\n\t\t\tmin-height: 200px;\r\n\t\t\tmax-height: 80vh;\r\n\t\t}\r\n\t\t\r\n\t\t&-video {\r\n\t\t\tmin-width: 200px;\r\n\t\t\tmax-width: 80vw;\r\n\t\t\tmin-height: 200px;\r\n\t\t\tmax-height: 80vh;\r\n\t\t\tbackground: #000;\r\n\t\t}\r\n\t}\r\n</style>\r\n","import mod from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./preview.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-40.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./preview.vue?vue&type=script&lang=js&\"","// extracted by mini-css-extract-plugin\nexport {};","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??clonedRuleSet-37.use[0]!../../../node_modules/css-loader/dist/cjs.js??clonedRuleSet-37.use[1]!../../../node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-37.use[2]!../../../node_modules/stylus-loader/index.js??clonedRuleSet-37.use[3]!../../../node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./preview.vue?vue&type=style&index=0&id=dc0d36ce&prod&lang=stylus&scoped=true&\"","import { render, staticRenderFns } from \"./preview.vue?vue&type=template&id=dc0d36ce&scoped=true&\"\nimport script from \"./preview.vue?vue&type=script&lang=js&\"\nexport * from \"./preview.vue?vue&type=script&lang=js&\"\nimport style0 from \"./preview.vue?vue&type=style&index=0&id=dc0d36ce&prod&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"dc0d36ce\",\n null\n \n)\n\nexport default component.exports","import Button from './unit/button.vue'\r\n\r\nimport Input from './unit/input.vue'\r\nimport Radio from './unit/radio.vue'\r\nimport RadioGroup from './unit/radio_group.vue'\r\nimport Checkbox from './unit/checkbox.vue'\r\nimport CheckboxGroup from './unit/checkbox_group.vue'\r\nimport Select from './unit/select.vue'\r\nimport Region from './unit/region.vue'\r\nimport UploadFile from './unit/upload_file.vue'\r\nimport File from './unit/file.vue'\r\nimport Editor from './unit/editor.vue'\r\n\r\nimport cDialog from './popup/dialog.vue'\r\nimport loading from './popup/loading.vue';\r\nimport message from './popup/message.vue';\r\nimport notice from './popup/notice.vue';\r\nimport confirm from './popup/confirm.vue';\r\nimport preview from './popup/preview.vue';\r\n\r\nconst COMPS = [\r\n\tButton,\r\n\tInput,\r\n\tRadio,\r\n\tRadioGroup,\r\n\tCheckbox,\r\n\tCheckboxGroup,\r\n\tSelect,\r\n\tRegion,\r\n\tUploadFile,\r\n\tFile,\r\n\tEditor,\r\n\tcDialog\r\n];\r\nconst DYNAMIC_COMPS = [\r\n\tloading,\r\n\tmessage,\r\n\tnotice,\r\n\tconfirm,\r\n\tpreview\r\n];\r\nconst install = function(Vue, config) {\r\n\tCOMPS.forEach(comp => {\r\n\t\tVue.component(comp.name, comp);\r\n\t});\r\n\t\r\n\tvar popupNoticeList = [];\r\n\tvar $popupNotice = document.createElement('div');\r\n\t$popupNotice.style.zIndex = 999;\r\n\t$popupNotice.style.position = 'fixed';\r\n\t$popupNotice.style.right = 0;\r\n\t$popupNotice.style.top = 0;\r\n\tdocument.body.appendChild($popupNotice);\r\n\tDYNAMIC_COMPS.forEach(comp => {\r\n\t\tlet constructor = Vue.extend(comp);\r\n\t\tVue.prototype[`$${comp.name}`] = function(opt = {}) {\r\n\t\t\tlet vm = new constructor({\r\n\t\t\t\tel: document.createElement('div'),\r\n\t\t\t\tdata() {\r\n\t\t\t\t\treturn opt\r\n\t\t\t\t},\r\n\t\t\t\tmounted() {\r\n\t\t\t\t\tif (this.$options.name == 'notice') {\r\n\t\t\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\t\t\tif ($popupNotice.clientHeight > window.innerHeight) {\r\n\t\t\t\t\t\t\t\tpopupNoticeList[0].close();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t},\r\n\t\t\t\tbeforeDestroy() {\r\n\t\t\t\t\tif (this.$options.name == 'notice') {\r\n\t\t\t\t\t\tthis.$nextTick(() => {\r\n\t\t\t\t\t\t\tpopupNoticeList.splice(popupNoticeList.findIndex(item => item == this), 1);\r\n\t\t\t\t\t\t\tif ($popupNotice.clientHeight > window.innerHeight) {\r\n\t\t\t\t\t\t\t\tpopupNoticeList[0].close();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tswitch (comp.name) {\r\n\t\t\tcase 'loading':\r\n\t\t\t\tVue.prototype.$loadOver = function() {\r\n\t\t\t\t\tvm.close();\r\n\t\t\t\t};\r\n\t\t\t\t\r\n\t\t\tcase 'notice':\r\n\t\t\t\tpopupNoticeList.push(vm);\r\n\t\t\t\t$popupNotice.appendChild(vm.$el);\r\n\t\t\t\tbreak;\r\n\t\t\t\t\r\n\t\t\tdefault:\r\n\t\t\t\tdocument.body.appendChild(vm.$el);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\treturn vm;\r\n\t\t}\r\n\t});\r\n}\r\n\r\nexport default install;","import './setPublicPath'\nimport mod from '~entry'\nexport default mod\nexport * from '~entry'\n"],"names":["IMAGE_ALIGN_TOP","require","IMAGE_ALIGN_LEFT","IMAGE_ALIGN_RIGHT","window","undefined","KindEditor","console","log","_VERSION","_ua","navigator","userAgent","toLowerCase","_IE","indexOf","_NEWIE","_GECKO","_WEBKIT","_OPERA","_MOBILE","_IOS","test","_QUIRKS","document","compatMode","_IERANGE","getSelection","_matches","exec","_V","_TIME","Date","getTime","_isArray","val","Object","prototype","toString","call","_isFunction","_inArray","arr","i","len","length","_each","obj","fn","key","hasOwnProperty","_trim","str","replace","_inString","delimiter","_addUnit","unit","_removeUnit","match","parseInt","_escape","_unescape","_toCamel","split","charAt","toUpperCase","substr","_toHex","hex","d","s","$0","$1","$2","$3","_toMap","map","_toArray","offset","Array","slice","_undef","defaultVal","_invalidUrl","url","_addParam","param","_extend","child","parent","proto","childProto","constructor","_json","text","cx","lastIndex","a","charCodeAt","eval","_round","Math","round","K","DEBUG","VERSION","IE","GECKO","WEBKIT","OPERA","V","TIME","each","isArray","isFunction","inArray","inString","trim","addUnit","removeUnit","escape","unescape","toCamel","toHex","toMap","toArray","undef","invalidUrl","addParam","extend","json","_INLINE_TAG_MAP","_BLOCK_TAG_MAP","_SINGLE_TAG_MAP","_STYLE_TAG_MAP","_CONTROL_TAG_MAP","_PRE_TAG_MAP","_NOSPLIT_TAG_MAP","_AUTOCLOSE_TAG_MAP","_FILL_ATTR_MAP","_VALUE_TAG_MAP","_getBasePath","els","getElementsByTagName","src","substring","lastIndexOf","basePath","options","designMode","fullscreenMode","filterMode","wellFormatMode","shadowMode","loadStyleMode","themesPath","langPath","pluginsPath","themeType","langType","urlType","newlineTag","resizeType","syncType","pasteType","dialogAlignType","useContextmenu","fullscreenShortcut","bodyClass","indentChar","cssPath","cssData","minWidth","minHeight","minChangeSize","zIndex","items","noDisableItems","colorTable","fontSizeTable","htmlTags","font","span","div","table","embed","img","pre","hr","iframe","layout","_useCapture","_INPUT_KEY_MAP","_CURSORMOVE_KEY_MAP","_CHANGE_KEY_MAP","_bindEvent","el","type","addEventListener","attachEvent","_unbindEvent","removeEventListener","detachEvent","_EVENT_PROPS","KEvent","event","init","self","doc","ownerDocument","target","srcElement","nodeType","parentNode","relatedTarget","fromElement","toElement","pageX","clientX","documentElement","body","scrollLeft","clientLeft","pageY","clientY","scrollTop","clientTop","which","charCode","keyCode","metaKey","ctrlKey","button","preventDefault","ev","returnValue","stopPropagation","cancelBubble","stop","_eventExpendo","_eventId","_eventData","_getId","_setId","_removeId","e","removeAttribute","_bind","id","events","kevent","push","_unbind","splice","count","_fire","_ctrl","shiftKey","altKey","_readyFinished","_ready","loaded","readyFunc","ieReadyFunc","doScroll","setTimeout","ieReadyStateFunc","readyState","toplevel","frameElement","ctrl","ready","_getCssList","css","list","reg","_getAttrList","tag","_addClassToTag","className","_formatCss","_formatUrl","mode","host","pathname","location","protocol","m","getRealPath","path","parts","paths","part","pop","join","getRelativePath","depth","prefix","_formatHtml","html","wellFormatted","fontSizeList","htmlTagMap","script","style","re","tagStack","$4","$5","$6","full","startNewline","startSlash","tagName","attr","endSlash","endNewline","attrMap","fontStyleMap","fontStyle","color","styleMap","k","v","_clearMsWord","_mediaType","_mediaClass","_mediaAttrs","srcTag","_mediaEmbed","attrs","_mediaImg","blankPath","width","height","_tmpl","data","Function","formatUrl","formatHtml","getCssList","getAttrList","mediaType","mediaAttrs","mediaEmbed","mediaImg","clearMsWord","tmpl","_contains","nodeA","nodeB","_getSetAttrDiv","createElement","setAttribute","_GET_SET_ATTRIBUTE","_getAttr","nodeName","appendChild","cloneNode","innerHTML","getAttribute","_queryAll","expr","root","exprList","mergedResults","stripslashes","cmpTag","tagA","tagB","byId","getElementById","byClass","getElementsByClassName","querySelectorAll","cls","byName","name","getElementsByName","byAttr","select","matches","results","isChild","subResults","j","l","lenth","_query","query","queryAll","_get","_getDoc","node","_getWin","parentWindow","defaultView","_setHtml","temp","removeChild","empty","_hasClass","_setAttr","_removeAttr","_getNodeName","_computedCss","win","camelKey","getComputedStyle","getPropertyValue","currentStyle","_hasVal","_docElement","_docHeight","max","scrollHeight","clientHeight","_docWidth","scrollWidth","clientWidth","_getScrollPos","x","y","scrollX","scrollY","KNode","bind","unbind","fire","hasAttr","outer","removeAttr","get","eq","hasClass","addClass","removeClass","RegExp","innerText","textContent","hasVal","value","offsetWidth","offsetHeight","opacity","filter","pos","getBoundingClientRect","box","left","top","offsetLeft","offsetTop","offsetParent","clone","bool","append","appendTo","before","insertBefore","after","nextSibling","replaceWith","nodes","newNode","replaceChild","firstChild","next","remove","keepChilds","show","_originDisplay","hide","display","isSingle","isInline","isBlock","isStyle","isControl","contains","otherNode","children","nodeValue","first","last","index","sibling","previousSibling","prev","scan","order","walk","n","lastChild","_K","childNodes","arguments","NodeClass","_START_TO_START","_START_TO_END","_END_TO_END","_END_TO_START","_BOOKMARK_ID","_updateCollapsed","range","collapsed","startContainer","endContainer","startOffset","endOffset","_copyAndDelete","isCopy","isDelete","nodeList","splitTextNode","centerNode","splitText","center","setStart","right","setEnd","removeNodes","up","collapse","copyRange","cloneRange","down","start","incStart","incEnd","end","ancestor","commonAncestor","frag","createDocumentFragment","textNode","extractNodes","nextNode","testRange","KRange","selectNode","compareBoundaryPoints","childFlag","_moveToElementText","knode","moveToElementText","_getStartEnd","rng","isStart","parentElement","pointRange","duplicate","startNode","startPos","cmp","compareEndPoints","nodeRange","dummy","setEndPoint","moveStart","prevNode","_getEndRange","createTextRange","kchild","_toRange","tr2td","cells","item","getParents","parents","parentsA","parentsB","lenA","lenB","parentA","parentB","setStartBefore","setStartAfter","setEndBefore","setEndAfter","selectNodeContents","toStart","how","rangeA","rangeB","nodeC","posA","posB","diff","cloneContents","deleteContents","extractContents","insertNode","sc","so","ec","eo","c","nodeCount","surroundContents","hasControlRange","createRange","createControlRange","addElement","downPos","upPos","enlarge","toBlock","enlargePos","shrink","createBookmark","serialize","endNode","moveToBookmark","bookmark","dump","_range","mixed","RangeClass","START_TO_START","START_TO_END","END_TO_END","END_TO_START","_nativeCommand","execCommand","_nativeCommandValue","queryCommandValue","_getSel","selection","_getRng","sel","rangeCount","getRangeAt","_singleKeyMap","newMap","_hasAttrOrCss","_hasAttrOrCssByKey","mapKey","method","_removeAttrOrCss","_removeAttrOrCssByKey","allFlag","_getInnerNode","inner","_isEmptyNode","_mergeWrapper","b","lastA","childA","merged","_mergeAttrs","_wrapNode","wrapper","nodeWrapper","styles","_inPreElement","KCmd","forceReset","hasDummy","hasU200b","ex","focus","createTextNode","removeAllRanges","addRange","scrollTo","wrap","copyWrapper","tempRange","needSplit","dummyParent","ksc","kscp","sb","sa","startBefore","startDummy","endDummy","cmpStart","startAfter","endAfter","commonNode","find","cNode","state","queryCommandState","lc","toggle","bold","strong","italic","em","underline","u","strikethrough","forecolor","hilitecolor","fontsize","fontname","fontfamily","removeformat","tags","inserthtml","quickMode","pasteHtml","outerHTML","pasteHTML","newRange","insertHtml","print","insertimage","title","border","align","createlink","setAttr","unlink","queryCommandSupported","_cmd","CmdClass","cmd","_drag","moveEl","moveFn","clickEl","beforeDrag","iframeFix","docs","_iframeDoc","mousedown","moveListener","kdoc","diffX","diffY","selectListener","upListener","releaseCapture","mousemove","mouseup","setCapture","KWidget","z","_alignEl","alignEl","position","autoPos","autoScroll","scrollPos","updateProp","w","h","docEl","draggable","_widget","WidgetClass","widget","contentDocument","contentWindow","_direction","dir","_getInitHtml","_elementVal","KEdit","beforeGetHtml","beforeSetHtml","afterSetHtml","isDocumentDomain","domain","srcScript","iframeSrc","encodeURIComponent","textarea","tabIndex","isNaN","setWidth","setHeight","open","write","close","afterChange","click","_mousedownHandler","blur","keydown","disabled","contentEditable","afterCreate","isFull","design","input","keyup","contextmenu","timeoutHandler","_edit","EditClass","edit","iframeDoc","_selectToolbar","KToolbar","disableMode","noDisableItemMap","_itemMap","hover","mouseover","mouseout","unselect","enable","disable","disableAll","_toolbar","ToolbarClass","toolbar","KMenu","centerLineMode","addItem","itemDiv","leftDiv","rightDiv","iconClass","centerDiv","checked","beforeRemove","_menu","MenuClass","menu","KColorPicker","colors","selectedColor","_cells","cellPadding","cellSpacing","row","insertRow","cell","insertCell","colSpan","_addAttr","noColor","_colorpicker","ColorPickerClass","colorpicker","KUploadButton","fieldName","extraParams","afterError","alert","hiddenElements","form","fileBox","submit","tempForm","reset","afterUpload","_uploadbutton","UploadButtonClass","uploadbutton","_createButton","arg","btn","KDialog","previewBtn","yesBtn","noBtn","closeBtn","showMask","contentDiv","iframeMask","headerDiv","closeIcon","bodyDiv","footerDiv","mask","docWidth","docHeight","isLoading","setMaskIndex","showLoading","msg","loading","hideLoading","_dialog","DialogClass","dialog","_tabs","afterSelect","liList","ul","add","tab","li","selectedIndex","panel","tabs","_loadScript","head","charset","onload","onreadystatechange","_chopQuery","_loadStyle","link","absoluteUrl","links","href","rel","_ajax","dataType","xhr","XMLHttpRequest","ActiveXObject","status","responseText","params","setRequestHeader","send","loadScript","loadStyle","ajax","_plugins","_plugin","_language","_parseLangKey","ns","_lang","_getImageFromRange","_bindContextmenuEvent","hideMenu","_contextmenus","maxWidth","cond","shift","prevItem","visibility","menuHeight","_bindNewlineEvent","brSkipTagMap","pSkipTagMap","getAncestorTagName","p","_bindTabEvent","afterTab","_bindFocusEvent","afterFocus","afterBlur","_removeBookmarkTag","_removeTempTag","_addBookmarkToStack","stack","_undoToRedo","fromStack","toStack","KEditor","setOption","se","initContent","plugin","isCreated","_handlers","_undoStack","_redoStack","_firstAddBookmark","dialogs","lang","loadPlugin","_pluginStatus","handler","clickToolbar","updateState","addContextmenu","create","overflow","container","toolbarDiv","editDiv","statusbar","_scrollPos","_fullscreenExecuted","htmlList","menuName","editHeight","_docMousedownFn","addBookmark","readonlyMode","readonly","_fullscreenResizeHandler","initResize","resize","hideDialog","fullHtml","isEmpty","isDirty","selectedHtml","changeFlag","apply","appendHtml","sync","checkSize","abs","undo","redo","fullscreen","isReadonly","createMenu","hideContextmenu","createDialog","firstDialog","parentDialog","errorDialog","_editor","_instances","_create","editor","_eachEditor","EditorClass","instances","shortcutKeys","selectall","hasForm","resetBtn","blocks","heights","h1","h2","h3","H4","curVal","getSelectedLink","getSelectedImage","getSelectedFlash","getSelectedMedia","getSelectedAnchor","uName","getSelectedTable","getSelectedRow","getSelectedCell","pasting","movePastedData","imgAttrs","code","source","preview","cut","copy","paste","plainpaste","wordpaste","justifyleft","justifycenter","justifyright","justifyfull","insertorderedlist","insertunorderedlist","indent","outdent","subscript","superscript","formatblock","image","uploadImage","multiimage","flash","media","tablecell","emoticons","about","filemanager","baidumap","lineheight","clearhtml","pagebreak","quickformat","insertfile","template","anchor","yes","no","editImage","deleteImage","editFlash","deleteFlash","editMedia","deleteMedia","editLink","deleteLink","editAnchor","deleteAnchor","tableprop","tablecellprop","tableinsert","tabledelete","tablecolinsertleft","tablecolinsertright","tablerowinsertabove","tablerowinsertbelow","tablerowmerge","tablecolmerge","tablerowsplit","tablecolsplit","tablecoldelete","tablerowdelete","pleaseSelectFile","invalidImg","invalidMedia","invalidWidth","invalidHeight","invalidBorder","invalidRows","invalidCols","invalidPadding","invalidSpacing","invalidJson","uploadSuccess","cutError","copyError","pasteError","ajaxLoading","uploadLoading","uploadError","h4","nameBox","delete","autoHeightMode","hideScroll","scroll","overflowY","resetHeight","mapWidth","mapHeight","address","search","insertDynamicMap","centerObj","getCenter","lng","lat","zoom","getZoom","checkbox","searchBtn","addressBox","geocoder","maptype","getMapTypeId","iframeHtml","pleaseInput","emoticonsPath","allowPreview","allowPreviewEmoticons","currentPageNum","rows","cols","total","startNum","pages","ceil","colsHalf","floor","wrapperDiv","elements","removeEvent","previewDiv","previewImg","bindCellEvent","num","createEmoticonsTable","pageNum","parentDiv","pageDiv","bindPageEvent","createPageTable","fileManagerJson","imgPath","makeFileTitle","filename","filesize","datetime","bindTitle","is_dir","filemanagerDialog","dirName","viewType","clickFn","moveup","viewImage","listImage","orderType","fileName","fileSize","fileType","moveupImg","moveupLink","viewServerBtn","viewTypeBox","orderTypeBox","reloadPage","func","elList","bindEvent","result","createFunc","fileUrl","current_url","dirPath","current_dir_path","is_photo","createCommon","moveup_dir_path","changeFunc","createView","createList","change","fileList","file_list","iconUrl","cell0","has_file","emptyFolder","photoDiv","allowFlashUpload","allowFileManager","formatUploadUrl","extraFileUploadParams","filePostName","uploadJson","upload","viewServer","urlBox","widthBox","heightBox","quality","error","message","afterSelectFile","$app","uploadFile","multiple","success","from","filePath","allowImageUpload","allowImageRemote","imageTabIndex","fillDescAfterUploadImage","imageDialog","imageUrl","imageWidth","imageHeight","imageTitle","imageAlign","showRemote","showLocal","remoteUrl","size","resetSize","imgTitle","localUrl","dialogWidth","dialogHeight","localUrlBox","titleBox","alignBox","refreshBtn","remoteImage","localImage","originalWidth","originalHeight","setSize","tempImg","allowFileUpload","fileDialog","fileTitle","lineHeight","linkType","typeBox","Option","newWindow","selfWindow","allowMediaUpload","autostart","autostartBox","loop","KSWFUpload","progressbars","uploadDesc","startButtonValue","showError","settings","debug","upload_url","uploadUrl","flash_url","flashUrl","file_post_name","button_placeholder","button_image_url","buttonImageUrl","button_width","buttonWidth","button_height","buttonHeight","button_cursor","SWFUpload","CURSOR","HAND","file_types","fileTypes","file_types_description","fileTypesDesc","file_upload_limit","fileUploadLimit","file_size_limit","fileSizeLimit","post_params","postParams","file_queued_handler","file","fileIconUrl","appendFile","file_queue_error_handler","errorCode","errorName","QUEUE_ERROR","QUEUE_LIMIT_EXCEEDED","queueLimitExceeded","FILE_EXCEEDS_SIZE_LIMIT","fileExceedsSizeLimit","ZERO_BYTE_FILE","zeroByteFile","INVALID_FILETYPE","invalidFiletype","unknownError","upload_start_handler","upload_progress_handler","bytesLoaded","bytesTotal","percent","progressbar","bar","upload_error_handler","filestatus","FILE_STATUS","ERROR","errorMessage","upload_success_handler","serverData","swfu","startUpload","getUrlList","COMPLETE","removeFile","fileId","cancelUpload","removeFiles","statusDiv","pendingMessage","destroy","swfupload","element","imageSizeLimit","imageFileTypes","imageUploadLimit","multiImageDialog","uploadLimit","sizeLimit","insertAll","clearAll","pending","urlList","initSWFUpload","customSettings","eventQueue","movieName","movieCount","movieElement","initSettings","loadFlash","displayDebugInfo","version","UPLOAD_ERROR","HTTP_ERROR","MISSING_UPLOAD_URL","IO_ERROR","SECURITY_ERROR","UPLOAD_LIMIT_EXCEEDED","UPLOAD_FAILED","SPECIFIED_FILE_ID_NOT_FOUND","FILE_VALIDATION_FAILED","FILE_CANCELLED","UPLOAD_STOPPED","QUEUED","IN_PROGRESS","CANCELLED","BUTTON_ACTION","SELECT_FILE","SELECT_FILES","START_UPLOAD","ARROW","WINDOW_MODE","WINDOW","TRANSPARENT","OPAQUE","completeURL","currentURL","hostname","port","indexSlash","ensureDefault","settingName","defaultValue","debug_enabled","return_upload_start_handler","returnUploadStart","debugMessage","custom_settings","prevent_swf_caching","preserve_relative_urls","targetElement","tempParent","button_placeholder_id","getFlashHTML","getMovieElement","classid","button_window_mode","getFlashVars","paramString","buildParamString","httpSuccessString","http_success","use_query_string","requeue_on_error","assume_success_timeout","file_queue_limit","button_text","button_text_top_padding","button_text_left_padding","button_text_style","button_action","button_disabled","paramStringPairs","CallFunction","ex1","ex2","swfupload_loaded_handler","file_dialog_start_handler","upload_complete_handler","debug_handler","addSetting","default_value","getSetting","callFlash","functionName","argumentArray","returnString","__flash__argumentsToXML","post","unescapeFilePostParams","selectFile","selectFiles","fileID","triggerErrorEvent","stopUpload","getStats","setStats","statsObject","getFile","addFileParam","removeFileParam","setUploadURL","setPostParams","paramsObject","addPostParam","removePostParam","setFileTypes","types","description","setFileSizeLimit","setFileUploadLimit","setFileQueueLimit","fileQueueLimit","setFilePostName","setUseQueryString","useQueryString","setRequeueOnError","requeueOnError","setHTTPSuccess","http_status_codes","setAssumeSuccessTimeout","timeout_seconds","setDebugEnabled","debugEnabled","setButtonImageURL","buttonImageURL","setButtonDimensions","movie","setButtonText","setButtonTextPadding","setButtonTextStyle","setButtonDisabled","isDisabled","setButtonAction","buttonAction","setButtonCursor","cursor","queueEvent","handlerName","executeNextEvent","f","unescapedPost","uk","String","fromCharCode","testExternalInterface","flashReady","cleanUp","instance","flashEx","fileDialogStart","fileQueued","fileQueueError","fileDialogComplete","numFilesSelected","numFilesQueued","numFilesInQueue","uploadStart","uploadProgress","bytesComplete","responseReceived","uploadComplete","exceptionMessage","exceptionValues","Console","writeLine","documentForm","fontFamily","margin","queue","oldInitSettings","queueSettings","queue_cancelled_flag","queue_upload_count","user_upload_complete_handler","user_upload_start_handler","uploadCompleteHandler","uploadStartHandler","queue_complete_handler","cancelQueue","stats","files_queued","continueUpload","pagebreakHtml","tail","comment","blockMap","getFirstChild","subList","zeroborder","_setColor","pickerList","_initColorPicker","dialogDiv","colorBox","removePicker","picker","_getCellIndex","rowSpanCount","rowSpan","cellIndex","prop","isInsert","px","space","padding","spacing","alignDefault","alignLeft","alignCenter","alignRight","borderWidth","borderColor","backgroundColor","rowsBox","colsBox","widthType","widthTypeBox","heightType","heightTypeBox","paddingBox","spacingBox","borderBox","bgColor","tableWidth","tableHeight","cellprop","textAlign","verticalAlign","alignTop","alignMiddle","alignBottom","alignBaseline","textAlignBox","verticalAlignBox","cellWidth","cellHeight","insert","colinsert","newRow","newCell","colinsertleft","colinsertright","rowinsert","rowIndex","rowinsertabove","rowinsertbelow","rowmerge","nextRowIndex","nextRow","nextCell","deleteCell","colmerge","nextCellIndex","rowsplit","colsplit","coldelete","rowdelete","deleteRow","htmlPath","getFilePath","selectTemplate","replaceContent","selectBox","fixToolBar","originY","render","_vm","_c","_self","staticClass","hollow","on","$event","$emit","icon","class","_e","_t","staticRenderFns","props","default","Boolean","directives","rawName","expression","valueData","ref","maxlength","placeholder","domProps","composing","inputHandle","_v","_s","stepControls","minRange","stepHandle","compType","_i","$$a","$$el","$$c","$$v","$$i","concat","_q","clear","clearHandle","visible","visibleState","maxRange","Number","decimal","step","computed","compRange","parseFloat","compDecimal","watch","set","methods","forEach","$refs","valueStep","stepStep","toFixed","checkState","disabledState","checkHandle","$slots","Vue","createStore","commit","mapState","res","store","$parent","groupDisabled","_l","_m","inGroup","$options","parseValueData","includes","inGroupDisabled","limit","$message","listPosition","developHandle","emptyState","valueName","level","currentValue","clickHandle","selectList","currentData","updateCurrentData","mounted","$el","foldHandle","components","listWidth","listHeight","optionsClone","JSON","parse","stringify","old","getCurrentData","$nextTick","rect","innerHeight","bottom","parsePixel","provinceOptions","changeHandle","model","province","callback","$set","cityOptions","city","countyOptions","county","addressJson","provinceName","cityName","countyName","addressName","updateOptions","uploadHandle","$preview","isVideo","removeHandle","tip","fileTypeTip","$scopedSlots","custom","video","word","excel","zip","suffix","download","_uid","activated","beforeDestroy","active","staticStyle","animate","compWidth","confirm","closeButton","compHeight","oddHeight","buttonHandle","buttonName","cancelButton","cancelButtonnName","popup","slide","_observer","MutationObserver","updateOddHeight","observe","content","childList","subtree","disconnect","timeout","created","_$message","_$messageVm","_timer","clearTimeout","$destroy","slot","cancelButtonName","$loading","$loadOver","onerror","Button","Input","Radio","RadioGroup","Checkbox","CheckboxGroup","Select","Region","UploadFile","File","Editor","cDialog","notice","COMPS","DYNAMIC_COMPS","install","config","comp","component","popupNoticeList","$popupNotice","opt","vm","findIndex"],"sourceRoot":""}