/* This file is part of Ext JS 4.2 Copyright (c) 2011-2013 Sencha Inc Contact: http://www.sencha.com/contact Commercial Usage Licensees holding valid commercial licenses may use this file in accordance with the Commercial Software License Agreement provided with the Software or, alternatively, in accordance with the terms contained in a written agreement between you and Sencha. If you are unsure which license is appropriate for your use, please contact the sales department at http://www.sencha.com/contact. Build date: 2013-05-16 14:36:50 (f9be68accb407158ba2b1be2c226a6ce1f649314) */ var Ext = Ext || {}; if (!Ext.Direct) { Ext.Direct = {} } if (!Ext.Toolbar) { Ext.Toolbar = {} } if (!Ext.app) { Ext.app = {} } if (!Ext.app.domain) { Ext.app.domain = {} } if (!Ext.button) { Ext.button = {} } if (!Ext.chart) { Ext.chart = {} } if (!Ext.chart.axis) { Ext.chart.axis = {} } if (!Ext.chart.series) { Ext.chart.series = {} } if (!Ext.chart.theme) { Ext.chart.theme = {} } if (!Ext.container) { Ext.container = {} } if (!Ext.core) { Ext.core = {} } if (!Ext.data) { Ext.data = {} } if (!Ext.data.association) { Ext.data.association = {} } if (!Ext.data.flash) { Ext.data.flash = {} } if (!Ext.data.proxy) { Ext.data.proxy = {} } if (!Ext.data.reader) { Ext.data.reader = {} } if (!Ext.data.writer) { Ext.data.writer = {} } if (!Ext.dd) { Ext.dd = {} } if (!Ext.direct) { Ext.direct = {} } if (!Ext.dom) { Ext.dom = {} } if (!Ext.draw) { Ext.draw = {} } if (!Ext.draw.engine) { Ext.draw.engine = {} } if (!Ext.flash) { Ext.flash = {} } if (!Ext.form) { Ext.form = {} } if (!Ext.form.Action) { Ext.form.Action = {} } if (!Ext.form.action) { Ext.form.action = {} } if (!Ext.form.field) { Ext.form.field = {} } if (!Ext.fx) { Ext.fx = {} } if (!Ext.fx.target) { Ext.fx.target = {} } if (!Ext.grid) { Ext.grid = {} } if (!Ext.grid.column) { Ext.grid.column = {} } if (!Ext.grid.feature) { Ext.grid.feature = {} } if (!Ext.grid.header) { Ext.grid.header = {} } if (!Ext.grid.locking) { Ext.grid.locking = {} } if (!Ext.grid.plugin) { Ext.grid.plugin = {} } if (!Ext.grid.property) { Ext.grid.property = {} } if (!Ext.layout) { Ext.layout = {} } if (!Ext.layout.boxOverflow) { Ext.layout.boxOverflow = {} } if (!Ext.layout.component) { Ext.layout.component = {} } if (!Ext.layout.component.field) { Ext.layout.component.field = {} } if (!Ext.layout.container) { Ext.layout.container = {} } if (!Ext.layout.container.border) { Ext.layout.container.border = {} } if (!Ext.layout.container.boxOverflow) { Ext.layout.container.boxOverflow = {} } if (!Ext.list) { Ext.list = {} } if (!Ext.menu) { Ext.menu = {} } if (!Ext.panel) { Ext.panel = {} } if (!Ext.perf) { Ext.perf = {} } if (!Ext.picker) { Ext.picker = {} } if (!Ext.resizer) { Ext.resizer = {} } if (!Ext.rtl) { Ext.rtl = {} } if (!Ext.rtl.button) { Ext.rtl.button = {} } if (!Ext.rtl.dd) { Ext.rtl.dd = {} } if (!Ext.rtl.dom) { Ext.rtl.dom = {} } if (!Ext.rtl.form) { Ext.rtl.form = {} } if (!Ext.rtl.form.field) { Ext.rtl.form.field = {} } if (!Ext.rtl.grid) { Ext.rtl.grid = {} } if (!Ext.rtl.grid.column) { Ext.rtl.grid.column = {} } if (!Ext.rtl.grid.plugin) { Ext.rtl.grid.plugin = {} } if (!Ext.rtl.layout) { Ext.rtl.layout = {} } if (!Ext.rtl.layout.component) { Ext.rtl.layout.component = {} } if (!Ext.rtl.layout.component.field) { Ext.rtl.layout.component.field = {} } if (!Ext.rtl.layout.container) { Ext.rtl.layout.container = {} } if (!Ext.rtl.layout.container.boxOverflow) { Ext.rtl.layout.container.boxOverflow = {} } if (!Ext.rtl.panel) { Ext.rtl.panel = {} } if (!Ext.rtl.resizer) { Ext.rtl.resizer = {} } if (!Ext.rtl.selection) { Ext.rtl.selection = {} } if (!Ext.rtl.slider) { Ext.rtl.slider = {} } if (!Ext.rtl.tab) { Ext.rtl.tab = {} } if (!Ext.rtl.tip) { Ext.rtl.tip = {} } if (!Ext.rtl.tree) { Ext.rtl.tree = {} } if (!Ext.rtl.util) { Ext.rtl.util = {} } if (!Ext.rtl.view) { Ext.rtl.view = {} } if (!Ext.selection) { Ext.selection = {} } if (!Ext.slider) { Ext.slider = {} } if (!Ext.state) { Ext.state = {} } if (!Ext.tab) { Ext.tab = {} } if (!Ext.tip) { Ext.tip = {} } if (!Ext.toolbar) { Ext.toolbar = {} } if (!Ext.tree) { Ext.tree = {} } if (!Ext.tree.plugin) { Ext.tree.plugin = {} } if (!Ext.util) { Ext.util = {} } if (!Ext.ux) { Ext.ux = {} } if (!Ext.ux.form) { Ext.ux.form = {} } if (!Ext.view) { Ext.view = {} } if (!Ext.window) { Ext.window = {} } (function (j) { var l = [], m = ["constructor", "toString", "valueOf", "toLocaleString"], k = {}, p = {}, b = 0, h, c, o, g, a = function () { var r, q; c = Ext.Base; o = Ext.ClassManager; for (r = m.length; r-- > 0; ) { q = (1 << r); p[k[q] = m[r]] = q } for (r in p) { b |= p[r] } b = ~b; Function.prototype.$isFunction = 1; g = Ext.Class.getPreprocessor("config").fn; for (h in c) { if (c.hasOwnProperty(h)) { l.push(h) } } j.derive = d; return d.apply(this, arguments) }, e = function (y, u, x) { var r = x.enumerableMembers, v = y.prototype, t, w, s, q; if (!u) { return } for (t in u) { q = u[t]; if (q && q.$isFunction && !q.$isClass && q !== Ext.emptyFn && q !== Ext.identityFn) { v[t] = w = q; w.$owner = y; w.$name = t } else { v[t] = q } } for (s = 1; r; s <<= 1) { if (r & s) { r &= ~s; t = k[s]; v[t] = w = u[t]; w.$owner = y; w.$name = t } } }, n = function (u) { var q = function t() { return u.apply(this, arguments) || null }, s, r; q.prototype = Ext.Object.chain(u.prototype); for (s = l.length; s-- > 0; ) { r = l[s]; q[r] = c[r] } return q }, d = function (v, y, R, q, x, F, w, O, t, H, B) { var r = function A() { return this.constructor.apply(this, arguments) || null }, Q = r, s = { enumerableMembers: q & b, onCreated: B, onBeforeCreated: e, aliases: O }, E = R.alternateClassName || [], M = Ext.global, I, L, N, D, K, U, T, u, J, z, P, G, C, S; for (N = l.length; N-- > 0; ) { T = l[N]; r[T] = c[T] } if (R.$isFunction) { R = R(r) } s.data = R; z = R.statics, R.$className = v; if (R.$className) { r.$className = R.$className } r.extend(y); J = r.prototype; r.xtype = R.xtype = x[0]; if (x) { J.xtypes = x } J.xtypesChain = F; J.xtypesMap = w; R.alias = O; Q.triggerExtended(r, R, s); if (R.onClassExtended) { r.onExtended(R.onClassExtended, r); delete R.onClassExtended } if (z) { for (P in z) { if (z.hasOwnProperty(P)) { S = z[P]; if (S && S.$isFunction && !S.$isClass && S !== Ext.emptyFn && S !== Ext.identityFn) { r[P] = C = S; C.$owner = r; C.$name = P } r[P] = S } } } delete R.statics; if (R.inheritableStatics) { r.addInheritableStatics(R.inheritableStatics) } if (J.onClassExtended) { Q.onExtended(J.onClassExtended, Q); delete J.onClassExtended } if (R.config) { g(r, R) } s.onBeforeCreated(r, s.data, s); for (N = 0, K = t && t.length; N < K; ++N) { r.mixin.apply(r, t[N]) } for (N = 0, K = O.length; N < K; N++) { I = O[N]; o.setAlias(r, I) } if (R.singleton) { Q = new r() } if (!(E instanceof Array)) { E = [E] } for (N = 0, D = E.length; N < D; N++) { L = E[N]; o.classes[L] = Q; G = o.getName(Q); u = o.maps.nameToAlternates; if (G && G !== L) { o.maps.alternateToName[L] = G; E = u[G] || (u[G] = []); E.push(L) } } for (N = 0, K = H.length; N < K; N += 2) { U = H[N]; if (!U) { U = M } U[H[N + 1]] = Q } o.classes[v] = Q; G = o.getName(Q); u = o.maps.nameToAlternates; if (G && G !== v) { o.maps.alternateToName[v] = G; E = u[G] || (u[G] = []); E.push(v) } delete J.alternateClassName; if (s.onCreated) { s.onCreated.call(Q, Q) } if (v) { o.triggerCreated(v) } return Q }; j.derive = a } (Ext.cmd = {})); var Ext = Ext || {}; Ext._startTime = new Date().getTime(); (function () { var a = this, d = Object.prototype, b = d.toString, l = true, m = { toString: 1 }, g = function () {}, k = function () { var n = k.caller.caller; return n.$owner.prototype[n.$name].apply(this, arguments) }, e, j = /\S/, h, c = /\[object\s*(?:Array|Arguments|\w*Collection|\w*List|HTML\s+document\.all\s+class)\]/; Function.prototype.$extIsFunction = true; Ext.global = a; for (e in m) { l = null } if (l) { l = ["hasOwnProperty", "valueOf", "isPrototypeOf", "propertyIsEnumerable", "toLocaleString", "toString", "constructor"] } Ext.enumerables = l; Ext.apply = function (q, p, s) { if (s) { Ext.apply(q, s) } if (q && p && typeof p === "object") { var r, o, n; for (r in p) { q[r] = p[r] } if (l) { for (o = l.length; o--; ) { n = l[o]; if (p.hasOwnProperty(n)) { q[n] = p[n] } } } } return q }; Ext.buildSettings = Ext.apply({ baseCSSPrefix: "x-" }, Ext.buildSettings || {}); Ext.apply(Ext, { name: Ext.sandboxName || "Ext", emptyFn: g, identityFn: function (n) { return n }, emptyString: new String(), baseCSSPrefix: Ext.buildSettings.baseCSSPrefix, applyIf: function (o, n) { var p; if (o) { for (p in n) { if (o[p] === undefined) { o[p] = n[p] } } } return o }, iterate: function (n, p, o) { if (Ext.isEmpty(n)) { return } if (o === undefined) { o = n } if (Ext.isIterable(n)) { Ext.Array.each.call(Ext.Array, n, p, o) } else { Ext.Object.each.call(Ext.Object, n, p, o) } } }); Ext.apply(Ext, { extend: (function () { var n = d.constructor, o = function (q) { for (var p in q) { if (!q.hasOwnProperty(p)) { continue } this[p] = q[p] } }; return function (p, u, s) { if (Ext.isObject(u)) { s = u; u = p; p = s.constructor !== n ? s.constructor : function () { u.apply(this, arguments) } } var r = function () {}, q, t = u.prototype; r.prototype = t; q = p.prototype = new r(); q.constructor = p; p.superclass = t; if (t.constructor === n) { t.constructor = u } p.override = function (v) { Ext.override(p, v) }; q.override = o; q.proto = q; p.override(s); p.extend = function (v) { return Ext.extend(p, v) }; return p } } ()), override: function (q, r) { if (q.$isClass) { q.override(r) } else { if (typeof q == "function") { Ext.apply(q.prototype, r) } else { var n = q.self, o, p; if (n && n.$isClass) { for (o in r) { if (r.hasOwnProperty(o)) { p = r[o]; if (typeof p == "function") { p.$name = o; p.$owner = n; p.$previous = q.hasOwnProperty(o) ? q[o] : k } q[o] = p } } } else { Ext.apply(q, r) } } } return q } }); Ext.apply(Ext, { valueFrom: function (p, n, o) { return Ext.isEmpty(p, o) ? n : p }, typeOf: function (o) { var n, p; if (o === null) { return "null" } n = typeof o; if (n === "undefined" || n === "string" || n === "number" || n === "boolean") { return n } p = b.call(o); switch (p) { case "[object Array]": return "array"; case "[object Date]": return "date"; case "[object Boolean]": return "boolean"; case "[object Number]": return "number"; case "[object RegExp]": return "regexp" } if (n === "function") { return "function" } if (n === "object") { if (o.nodeType !== undefined) { if (o.nodeType === 3) { return (j).test(o.nodeValue) ? "textnode" : "whitespace" } else { return "element" } } return "object" } }, coerce: function (r, q) { var p = Ext.typeOf(r), o = Ext.typeOf(q), n = typeof r === "string"; if (p !== o) { switch (o) { case "string": return String(r); case "number": return Number(r); case "boolean": return n && (!r || r === "false") ? false : Boolean(r); case "null": return n && (!r || r === "null") ? null : r; case "undefined": return n && (!r || r === "undefined") ? undefined : r; case "date": return n && isNaN(r) ? Ext.Date.parse(r, Ext.Date.defaultFormat) : Date(Number(r)) } } return r }, isEmpty: function (n, o) { return (n === null) || (n === undefined) || (!o ? n === "" : false) || (Ext.isArray(n) && n.length === 0) }, isArray: ("isArray" in Array) ? Array.isArray : function (n) { return b.call(n) === "[object Array]" }, isDate: function (n) { return b.call(n) === "[object Date]" }, isObject: (b.call(null) === "[object Object]") ? function (n) { return n !== null && n !== undefined && b.call(n) === "[object Object]" && n.ownerDocument === undefined } : function (n) { return b.call(n) === "[object Object]" }, isSimpleObject: function (n) { return n instanceof Object && n.constructor === Object }, isPrimitive: function (o) { var n = typeof o; return n === "string" || n === "number" || n === "boolean" }, isFunction: function (n) { return !!(n && n.$extIsFunction) }, isNumber: function (n) { return typeof n === "number" && isFinite(n) }, isNumeric: function (n) { return !isNaN(parseFloat(n)) && isFinite(n) }, isString: function (n) { return typeof n === "string" }, isBoolean: function (n) { return typeof n === "boolean" }, isElement: function (n) { return n ? n.nodeType === 1 : false }, isTextNode: function (n) { return n ? n.nodeName === "#text" : false }, isDefined: function (n) { return typeof n !== "undefined" }, isIterable: function (n) { if (!n || typeof n.length !== "number" || typeof n === "string" || n.$extIsFunction) { return false } if (!n.propertyIsEnumerable) { return !!n.item } if (n.hasOwnProperty("length") && !n.propertyIsEnumerable("length")) { return true } return c.test(b.call(n)) } }); Ext.apply(Ext, { clone: function (s) { var r, q, o, n, t, p; if (s === null || s === undefined) { return s } if (s.nodeType && s.cloneNode) { return s.cloneNode(true) } r = b.call(s); if (r === "[object Date]") { return new Date(s.getTime()) } if (r === "[object Array]") { q = s.length; t = []; while (q--) { t[q] = Ext.clone(s[q]) } } else { if (r === "[object Object]" && s.constructor === Object) { t = {}; for (p in s) { t[p] = Ext.clone(s[p]) } if (l) { for (o = l.length; o--; ) { n = l[o]; if (s.hasOwnProperty(n)) { t[n] = s[n] } } } } } return t || s }, getUniqueGlobalNamespace: function () { var o = this.uniqueGlobalNamespace, n; if (o === undefined) { n = 0; do { o = "ExtBox" + (++n) } while (Ext.global[o] !== undefined); Ext.global[o] = Ext; this.uniqueGlobalNamespace = o } return o }, functionFactoryCache: {}, cacheableFunctionFactory: function () { var s = this, p = Array.prototype.slice.call(arguments), o = s.functionFactoryCache, n, q, r; if (Ext.isSandboxed) { r = p.length; if (r > 0) { r--; p[r] = "var Ext=window." + Ext.name + ";" + p[r] } } n = p.join(""); q = o[n]; if (!q) { q = Function.prototype.constructor.apply(Function.prototype, p); o[n] = q } return q }, functionFactory: function () { var p = this, n = Array.prototype.slice.call(arguments), o; if (Ext.isSandboxed) { o = n.length; if (o > 0) { o--; n[o] = "var Ext=window." + Ext.name + ";" + n[o] } } return Function.prototype.constructor.apply(Function.prototype, n) }, Logger: { verbose: g, log: g, info: g, warn: g, error: function (n) { throw new Error(n) }, deprecate: g } }); Ext.type = Ext.typeOf; h = Ext.app; if (!h) { h = Ext.app = {} } Ext.apply(h, { namespaces: {}, collectNamespaces: function (p) { var n = Ext.app.namespaces, o; for (o in p) { if (p.hasOwnProperty(o)) { n[o] = true } } }, addNamespaces: function (p) { var q = Ext.app.namespaces, o, n; if (!Ext.isArray(p)) { p = [p] } for (o = 0, n = p.length; o < n; o++) { q[p[o]] = true } }, clearNamespaces: function () { Ext.app.namespaces = {} }, getNamespace: function (o) { var q = Ext.app.namespaces, n = "", p; for (p in q) { if (q.hasOwnProperty(p) && p.length > n.length && (p + "." === o.substring(0, p.length + 1))) { n = p } } return n === "" ? undefined : n } }) } ()); Ext.globalEval = Ext.global.execScript ? function (a) { execScript(a) } : function ($$code) { (function () { var Ext = this.Ext; eval($$code) } ()) }; (function () { var a = "4.2.1.883", b; Ext.Version = b = Ext.extend(Object, { constructor: function (c) { var e, d; if (c instanceof b) { return c } this.version = this.shortVersion = String(c).toLowerCase().replace(/_/g, ".").replace(/[\-+]/g, ""); d = this.version.search(/([^\d\.])/); if (d !== -1) { this.release = this.version.substr(d, c.length); this.shortVersion = this.version.substr(0, d) } this.shortVersion = this.shortVersion.replace(/[^\d]/g, ""); e = this.version.split("."); this.major = parseInt(e.shift() || 0, 10); this.minor = parseInt(e.shift() || 0, 10); this.patch = parseInt(e.shift() || 0, 10); this.build = parseInt(e.shift() || 0, 10); return this }, toString: function () { return this.version }, valueOf: function () { return this.version }, getMajor: function () { return this.major || 0 }, getMinor: function () { return this.minor || 0 }, getPatch: function () { return this.patch || 0 }, getBuild: function () { return this.build || 0 }, getRelease: function () { return this.release || "" }, isGreaterThan: function (c) { return b.compare(this.version, c) === 1 }, isGreaterThanOrEqual: function (c) { return b.compare(this.version, c) >= 0 }, isLessThan: function (c) { return b.compare(this.version, c) === -1 }, isLessThanOrEqual: function (c) { return b.compare(this.version, c) <= 0 }, equals: function (c) { return b.compare(this.version, c) === 0 }, match: function (c) { c = String(c); return this.version.substr(0, c.length) === c }, toArray: function () { return [this.getMajor(), this.getMinor(), this.getPatch(), this.getBuild(), this.getRelease()] }, getShortVersion: function () { return this.shortVersion }, gt: function () { return this.isGreaterThan.apply(this, arguments) }, lt: function () { return this.isLessThan.apply(this, arguments) }, gtEq: function () { return this.isGreaterThanOrEqual.apply(this, arguments) }, ltEq: function () { return this.isLessThanOrEqual.apply(this, arguments) } }); Ext.apply(b, { releaseValueMap: { dev: -6, alpha: -5, a: -5, beta: -4, b: -4, rc: -3, "#": -2, p: -1, pl: -1 }, getComponentValue: function (c) { return !c ? 0 : (isNaN(c) ? this.releaseValueMap[c] || c : parseInt(c, 10)) }, compare: function (h, g) { var d, e, c; h = new b(h).toArray(); g = new b(g).toArray(); for (c = 0; c < Math.max(h.length, g.length); c++) { d = this.getComponentValue(h[c]); e = this.getComponentValue(g[c]); if (d < e) { return -1 } else { if (d > e) { return 1 } } } return 0 } }); Ext.apply(Ext, { versions: {}, lastRegisteredVersion: null, setVersion: function (d, c) { Ext.versions[d] = new b(c); Ext.lastRegisteredVersion = Ext.versions[d]; return this }, getVersion: function (c) { if (c === undefined) { return Ext.lastRegisteredVersion } return Ext.versions[c] }, deprecate: function (c, e, g, d) { if (b.compare(Ext.getVersion(c), e) < 1) { g.call(d) } } }); Ext.setVersion("core", a) } ()); Ext.String = (function () { var k = /^[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+|[\x09\x0a\x0b\x0c\x0d\x20\xa0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u202f\u205f\u3000]+$/g, o = /('|\\)/g, j = /\{(\d+)\}/g, b = /([-.*+?\^${}()|\[\]\/\\])/g, p = /^\s+|\s+$/g, l = /\s+/, n = /(^[^a-z]*|[^\w])/gi, e, a, h, d, g = function (r, q) { return e[q] }, m = function (r, q) { return (q in a) ? a[q] : String.fromCharCode(parseInt(q.substr(2), 10)) }, c = function (r, q) { if (r === null || r === undefined || q === null || q === undefined) { return false } return q.length <= r.length }; return { insert: function (t, u, r) { if (!t) { return u } if (!u) { return t } var q = t.length; if (!r && r !== 0) { r = q } if (r < 0) { r *= -1; if (r >= q) { r = 0 } else { r = q - r } } if (r === 0) { t = u + t } else { if (r >= t.length) { t += u } else { t = t.substr(0, r) + u + t.substr(r) } } return t }, startsWith: function (t, u, r) { var q = c(t, u); if (q) { if (r) { t = t.toLowerCase(); u = u.toLowerCase() } q = t.lastIndexOf(u, 0) === 0 } return q }, endsWith: function (u, r, t) { var q = c(u, r); if (q) { if (t) { u = u.toLowerCase(); r = r.toLowerCase() } q = u.indexOf(r, u.length - r.length) !== -1 } return q }, createVarName: function (q) { return q.replace(n, "") }, htmlEncode: function (q) { return (!q) ? q : String(q).replace(h, g) }, htmlDecode: function (q) { return (!q) ? q : String(q).replace(d, m) }, addCharacterEntities: function (r) { var q = [], u = [], s, t; for (s in r) { t = r[s]; a[s] = t; e[t] = s; q.push(t); u.push(s) } h = new RegExp("(" + q.join("|") + ")", "g"); d = new RegExp("(" + u.join("|") + "|&#[0-9]{1,5};)", "g") }, resetCharacterEntities: function () { e = {}; a = {}; this.addCharacterEntities({ "&": "&", ">": ">", "<": "<", """: '"', "'": "'" }) }, urlAppend: function (r, q) { if (!Ext.isEmpty(q)) { return r + (r.indexOf("?") === -1 ? "?" : "&") + q } return r }, trim: function (q) { return q.replace(k, "") }, capitalize: function (q) { return q.charAt(0).toUpperCase() + q.substr(1) }, uncapitalize: function (q) { return q.charAt(0).toLowerCase() + q.substr(1) }, ellipsis: function (s, q, t) { if (s && s.length > q) { if (t) { var u = s.substr(0, q - 2), r = Math.max(u.lastIndexOf(" "), u.lastIndexOf("."), u.lastIndexOf("!"), u.lastIndexOf("?")); if (r !== -1 && r >= (q - 15)) { return u.substr(0, r) + "..." } } return s.substr(0, q - 3) + "..." } return s }, escapeRegex: function (q) { return q.replace(b, "\\$1") }, escape: function (q) { return q.replace(o, "\\$1") }, toggle: function (r, s, q) { return r === s ? q : s }, leftPad: function (r, s, t) { var q = String(r); t = t || " "; while (q.length < s) { q = t + q } return q }, format: function (r) { var q = Ext.Array.toArray(arguments, 1); return r.replace(j, function (s, t) { return q[t] }) }, repeat: function (u, t, r) { if (t < 1) { t = 0 } for (var q = [], s = t; s--; ) { q.push(u) } return q.join(r || "") }, splitWords: function (q) { if (q && typeof q == "string") { return q.replace(p, "").split(l) } return q || [] } } } ()); Ext.String.resetCharacterEntities(); Ext.htmlEncode = Ext.String.htmlEncode; Ext.htmlDecode = Ext.String.htmlDecode; Ext.urlAppend = Ext.String.urlAppend; Ext.Number = new function () { var b = this, c = (0.9).toFixed() !== "1", a = Math; Ext.apply(this, { constrain: function (h, g, e) { var d = parseFloat(h); return (d < g) ? g : ((d > e) ? e : d) }, snap: function (h, e, g, j) { var d; if (h === undefined || h < g) { return g || 0 } if (e) { d = h % e; if (d !== 0) { h -= d; if (d * 2 >= e) { h += e } else { if (d * 2 < -e) { h -= e } } } } return b.constrain(h, g, j) }, snapInRange: function (h, d, g, j) { var e; g = (g || 0); if (h === undefined || h < g) { return g } if (d && (e = ((h - g) % d))) { h -= e; e *= 2; if (e >= d) { h += d } } if (j !== undefined) { if (h > (j = b.snapInRange(j, d, g))) { h = j } } return h }, toFixed: c ? function (g, d) { d = d || 0; var e = a.pow(10, d); return (a.round(g * e) / e).toFixed(d) } : function (e, d) { return e.toFixed(d) }, from: function (e, d) { if (isFinite(e)) { e = parseFloat(e) } return !isNaN(e) ? e : d }, randomInt: function (e, d) { return a.floor(a.random() * (d - e + 1) + e) }, correctFloat: function (d) { return parseFloat(d.toPrecision(14)) } }); Ext.num = function () { return b.from.apply(this, arguments) } } (); (function () { var g = Array.prototype, p = g.slice, r = (function () { var B = [], e, A = 20; if (!B.splice) { return false } while (A--) { B.push("A") } B.splice(15, 0, "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F", "F"); e = B.length; B.splice(13, 0, "XXX"); if (e + 1 != B.length) { return false } return true } ()), k = "forEach" in g, v = "map" in g, q = "indexOf" in g, z = "every" in g, c = "some" in g, d = "filter" in g, o = (function () { var e = [1, 2, 3, 4, 5].sort(function () { return 0 }); return e[0] === 1 && e[1] === 2 && e[2] === 3 && e[3] === 4 && e[4] === 5 } ()), l = true, a, x, u, w; try { if (typeof document !== "undefined") { p.call(document.getElementsByTagName("body")) } } catch (t) { l = false } function n(A, e) { return (e < 0) ? Math.max(0, A.length + e) : Math.min(A.length, e) } function y(H, G, A, K) { var L = K ? K.length : 0, C = H.length, I = n(H, G), F, J, B, e, D, E; if (I === C) { if (L) { H.push.apply(H, K) } } else { F = Math.min(A, C - I); J = I + F; B = J + L - F; e = C - J; D = C - F; if (B < J) { for (E = 0; E < e; ++E) { H[B + E] = H[J + E] } } else { if (B > J) { for (E = e; E--; ) { H[B + E] = H[J + E] } } } if (L && I === D) { H.length = D; H.push.apply(H, K) } else { H.length = D + L; for (E = 0; E < L; ++E) { H[I + E] = K[E] } } } return H } function j(C, e, B, A) { if (A && A.length) { if (e === 0 && !B) { C.unshift.apply(C, A) } else { if (e < C.length) { C.splice.apply(C, [e, B].concat(A)) } else { C.push.apply(C, A) } } } else { C.splice(e, B) } return C } function b(B, e, A) { return y(B, e, A) } function s(B, e, A) { B.splice(e, A); return B } function m(D, e, B) { var C = n(D, e), A = D.slice(e, n(D, C + B)); if (arguments.length < 4) { y(D, C, B) } else { y(D, C, B, p.call(arguments, 3)) } return A } function h(e) { return e.splice.apply(e, p.call(arguments, 1)) } x = r ? s : b; u = r ? j : y; w = r ? h : m; a = Ext.Array = { each: function (E, C, B, e) { E = a.from(E); var A, D = E.length; if (e !== true) { for (A = 0; A < D; A++) { if (C.call(B || E[A], E[A], A, E) === false) { return A } } } else { for (A = D - 1; A > -1; A--) { if (C.call(B || E[A], E[A], A, E) === false) { return A } } } return true }, forEach: k ? function (B, A, e) { B.forEach(A, e) } : function (D, B, A) { var e = 0, C = D.length; for (; e < C; e++) { B.call(A, D[e], e, D) } }, indexOf: q ? function (B, e, A) { return g.indexOf.call(B, e, A) } : function (D, B, C) { var e, A = D.length; for (e = (C < 0) ? Math.max(0, A + C) : C || 0; e < A; e++) { if (D[e] === B) { return e } } return -1 }, contains: q ? function (A, e) { return g.indexOf.call(A, e) !== -1 } : function (C, B) { var e, A; for (e = 0, A = C.length; e < A; e++) { if (C[e] === B) { return true } } return false }, toArray: function (B, D, e) { if (!B || !B.length) { return [] } if (typeof B === "string") { B = B.split("") } if (l) { return p.call(B, D || 0, e || B.length) } var C = [], A; D = D || 0; e = e ? ((e < 0) ? B.length + e : e) : B.length; for (A = D; A < e; A++) { C.push(B[A]) } return C }, pluck: function (E, e) { var A = [], B, D, C; for (B = 0, D = E.length; B < D; B++) { C = E[B]; A.push(C[e]) } return A }, map: v ? function (B, A, e) { return B.map(A, e) } : function (E, D, C) { var B = [], A = 0, e = E.length; for (; A < e; A++) { B[A] = D.call(C, E[A], A, E) } return B }, every: z ? function (B, A, e) { return B.every(A, e) } : function (D, B, A) { var e = 0, C = D.length; for (; e < C; ++e) { if (!B.call(A, D[e], e, D)) { return false } } return true }, some: c ? function (B, A, e) { return B.some(A, e) } : function (D, B, A) { var e = 0, C = D.length; for (; e < C; ++e) { if (B.call(A, D[e], e, D)) { return true } } return false }, equals: function (D, C) { var A = D.length, e = C.length, B; if (D === C) { return true } if (A !== e) { return false } for (B = 0; B < A; ++B) { if (D[B] !== C[B]) { return false } } return true }, clean: function (D) { var A = [], e = 0, C = D.length, B; for (; e < C; e++) { B = D[e]; if (!Ext.isEmpty(B)) { A.push(B) } } return A }, unique: function (D) { var C = [], e = 0, B = D.length, A; for (; e < B; e++) { A = D[e]; if (a.indexOf(C, A) === -1) { C.push(A) } } return C }, filter: d ? function (B, A, e) { return B.filter(A, e) } : function (E, C, B) { var A = [], e = 0, D = E.length; for (; e < D; e++) { if (C.call(B, E[e], e, E)) { A.push(E[e]) } } return A }, findBy: function (D, C, B) { var A = 0, e = D.length; for (; A < e; A++) { if (C.call(B || D, D[A], A)) { return D[A] } } return null }, from: function (B, A) { if (B === undefined || B === null) { return [] } if (Ext.isArray(B)) { return (A) ? p.call(B) : B } var e = typeof B; if (B && B.length !== undefined && e !== "string" && (e !== "function" || !B.apply)) { return a.toArray(B) } return [B] }, remove: function (B, A) { var e = a.indexOf(B, A); if (e !== -1) { x(B, e, 1) } return B }, include: function (A, e) { if (!a.contains(A, e)) { A.push(e) } }, clone: function (e) { return p.call(e) }, merge: function () { var e = p.call(arguments), C = [], A, B; for (A = 0, B = e.length; A < B; A++) { C = C.concat(e[A]) } return a.unique(C) }, intersect: function () { var e = [], B = p.call(arguments), M, K, G, J, N, C, A, I, L, D, H, F, E; if (!B.length) { return e } M = B.length; for (H = N = 0; H < M; H++) { C = B[H]; if (!J || C.length < J.length) { J = C; N = H } } J = a.unique(J); x(B, N, 1); A = J.length; M = B.length; for (H = 0; H < A; H++) { I = J[H]; D = 0; for (F = 0; F < M; F++) { K = B[F]; G = K.length; for (E = 0; E < G; E++) { L = K[E]; if (I === L) { D++; break } } } if (D === M) { e.push(I) } } return e }, difference: function (A, e) { var F = p.call(A), D = F.length, C, B, E; for (C = 0, E = e.length; C < E; C++) { for (B = 0; B < D; B++) { if (F[B] === e[C]) { x(F, B, 1); B--; D-- } } } return F }, slice: ([1, 2].slice(1, undefined).length ? function (B, A, e) { return p.call(B, A, e) } : function (B, A, e) { if (typeof A === "undefined") { return p.call(B) } if (typeof e === "undefined") { return p.call(B, A) } return p.call(B, A, e) }), sort: o ? function (A, e) { if (e) { return A.sort(e) } else { return A.sort() } } : function (G, F) { var D = G.length, C = 0, E, e, B, A; for (; C < D; C++) { B = C; for (e = C + 1; e < D; e++) { if (F) { E = F(G[e], G[B]); if (E < 0) { B = e } } else { if (G[e] < G[B]) { B = e } } } if (B !== C) { A = G[C]; G[C] = G[B]; G[B] = A } } return G }, flatten: function (B) { var A = []; function e(C) { var E, F, D; for (E = 0, F = C.length; E < F; E++) { D = C[E]; if (Ext.isArray(D)) { e(D) } else { A.push(D) } } return A } return e(B) }, min: function (E, D) { var A = E[0], e, C, B; for (e = 0, C = E.length; e < C; e++) { B = E[e]; if (D) { if (D(A, B) === 1) { A = B } } else { if (B < A) { A = B } } } return A }, max: function (E, D) { var e = E[0], A, C, B; for (A = 0, C = E.length; A < C; A++) { B = E[A]; if (D) { if (D(e, B) === -1) { e = B } } else { if (B > e) { e = B } } } return e }, mean: function (e) { return e.length > 0 ? a.sum(e) / e.length : undefined }, sum: function (D) { var A = 0, e, C, B; for (e = 0, C = D.length; e < C; e++) { B = D[e]; A += B } return A }, toMap: function (D, e, B) { var C = {}, A = D.length; if (!e) { while (A--) { C[D[A]] = A + 1 } } else { if (typeof e == "string") { while (A--) { C[D[A][e]] = A + 1 } } else { while (A--) { C[e.call(B, D[A])] = A + 1 } } } return C }, toValueMap: function (D, e, B) { var C = {}, A = D.length; if (!e) { while (A--) { C[D[A]] = D[A] } } else { if (typeof e == "string") { while (A--) { C[D[A][e]] = D[A] } } else { while (A--) { C[e.call(B, D[A])] = D[A] } } } return C }, erase: x, insert: function (B, A, e) { return u(B, A, 0, e) }, replace: u, splice: w, push: function (C) { var e = arguments.length, B = 1, A; if (C === undefined) { C = [] } else { if (!Ext.isArray(C)) { C = [C] } } for (; B < e; B++) { A = arguments[B]; Array.prototype.push[Ext.isIterable(A) ? "apply" : "call"](C, A) } return C } }; Ext.each = a.each; a.union = a.merge; Ext.min = a.min; Ext.max = a.max; Ext.sum = a.sum; Ext.mean = a.mean; Ext.flatten = a.flatten; Ext.clean = a.clean; Ext.unique = a.unique; Ext.pluck = a.pluck; Ext.toArray = function () { return a.toArray.apply(a, arguments) } } ()); Ext.Function = { flexSetter: function (a) { return function (d, c) { var e, g; if (d === null) { return this } if (typeof d !== "string") { for (e in d) { if (d.hasOwnProperty(e)) { a.call(this, e, d[e]) } } if (Ext.enumerables) { for (g = Ext.enumerables.length; g--; ) { e = Ext.enumerables[g]; if (d.hasOwnProperty(e)) { a.call(this, e, d[e]) } } } } else { a.call(this, d, c) } return this } }, bind: function (d, c, b, a) { if (arguments.length === 2) { return function () { return d.apply(c, arguments) } } var g = d, e = Array.prototype.slice; return function () { var h = b || arguments; if (a === true) { h = e.call(arguments, 0); h = h.concat(b) } else { if (typeof a == "number") { h = e.call(arguments, 0); Ext.Array.insert(h, a, b) } } return g.apply(c || Ext.global, h) } }, pass: function (c, a, b) { if (!Ext.isArray(a)) { if (Ext.isIterable(a)) { a = Ext.Array.clone(a) } else { a = a !== undefined ? [a] : [] } } return function () { var d = [].concat(a); d.push.apply(d, arguments); return c.apply(b || this, d) } }, alias: function (b, a) { return function () { return b[a].apply(b, arguments) } }, clone: function (a) { return function () { return a.apply(this, arguments) } }, createInterceptor: function (d, c, b, a) { var e = d; if (!Ext.isFunction(c)) { return d } else { a = Ext.isDefined(a) ? a : null; return function () { var h = this, g = arguments; c.target = h; c.method = d; return (c.apply(b || h || Ext.global, g) !== false) ? d.apply(h || Ext.global, g) : a } } }, createDelayed: function (e, c, d, b, a) { if (d || b) { e = Ext.Function.bind(e, d, b, a) } return function () { var h = this, g = Array.prototype.slice.call(arguments); setTimeout(function () { e.apply(h, g) }, c) } }, defer: function (e, c, d, b, a) { e = Ext.Function.bind(e, d, b, a); if (c > 0) { return setTimeout(Ext.supports.TimeoutActualLateness ? function () { e() } : e, c) } e(); return 0 }, createSequence: function (b, c, a) { if (!c) { return b } else { return function () { var d = b.apply(this, arguments); c.apply(a || this, arguments); return d } } }, createBuffered: function (e, b, d, c) { var a; return function () { var h = c || Array.prototype.slice.call(arguments, 0), g = d || this; if (a) { clearTimeout(a) } a = setTimeout(function () { e.apply(g, h) }, b) } }, createThrottled: function (e, b, d) { var g, a, c, j, h = function () { e.apply(d || this, c); g = Ext.Date.now() }; return function () { a = Ext.Date.now() - g; c = arguments; clearTimeout(j); if (!g || (a >= b)) { h() } else { j = setTimeout(h, b - a) } } }, interceptBefore: function (b, a, d, c) { var e = b[a] || Ext.emptyFn; return (b[a] = function () { var g = d.apply(c || this, arguments); e.apply(this, arguments); return g }) }, interceptAfter: function (b, a, d, c) { var e = b[a] || Ext.emptyFn; return (b[a] = function () { e.apply(this, arguments); return d.apply(c || this, arguments) }) } }; Ext.defer = Ext.Function.alias(Ext.Function, "defer"); Ext.pass = Ext.Function.alias(Ext.Function, "pass"); Ext.bind = Ext.Function.alias(Ext.Function, "bind"); (function () { var a = function () {}, b = Ext.Object = { chain: Object.create || function (d) { a.prototype = d; var c = new a(); a.prototype = null; return c }, toQueryObjects: function (e, k, d) { var c = b.toQueryObjects, j = [], g, h; if (Ext.isArray(k)) { for (g = 0, h = k.length; g < h; g++) { if (d) { j = j.concat(c(e + "[" + g + "]", k[g], true)) } else { j.push({ name: e, value: k[g] }) } } } else { if (Ext.isObject(k)) { for (g in k) { if (k.hasOwnProperty(g)) { if (d) { j = j.concat(c(e + "[" + g + "]", k[g], true)) } else { j.push({ name: e, value: k[g] }) } } } } else { j.push({ name: e, value: k }) } } return j }, toQueryString: function (g, d) { var h = [], e = [], l, k, m, c, n; for (l in g) { if (g.hasOwnProperty(l)) { h = h.concat(b.toQueryObjects(l, g[l], d)) } } for (k = 0, m = h.length; k < m; k++) { c = h[k]; n = c.value; if (Ext.isEmpty(n)) { n = "" } else { if (Ext.isDate(n)) { n = Ext.Date.toString(n) } } e.push(encodeURIComponent(c.name) + "=" + encodeURIComponent(String(n))) } return e.join("&") }, fromQueryString: function (d, r) { var m = d.replace(/^\?/, "").split("&"), u = {}, s, k, w, n, q, g, o, p, c, h, t, l, v, e; for (q = 0, g = m.length; q < g; q++) { o = m[q]; if (o.length > 0) { k = o.split("="); w = decodeURIComponent(k[0]); n = (k[1] !== undefined) ? decodeURIComponent(k[1]) : ""; if (!r) { if (u.hasOwnProperty(w)) { if (!Ext.isArray(u[w])) { u[w] = [u[w]] } u[w].push(n) } else { u[w] = n } } else { h = w.match(/(\[):?([^\]]*)\]/g); t = w.match(/^([^\[]+)/); w = t[0]; l = []; if (h === null) { u[w] = n; continue } for (p = 0, c = h.length; p < c; p++) { v = h[p]; v = (v.length === 2) ? "" : v.substring(1, v.length - 1); l.push(v) } l.unshift(w); s = u; for (p = 0, c = l.length; p < c; p++) { v = l[p]; if (p === c - 1) { if (Ext.isArray(s) && v === "") { s.push(n) } else { s[v] = n } } else { if (s[v] === undefined || typeof s[v] === "string") { e = l[p + 1]; s[v] = (Ext.isNumeric(e) || e === "") ? [] : {} } s = s[v] } } } } } return u }, each: function (c, e, d) { for (var g in c) { if (c.hasOwnProperty(g)) { if (e.call(d || c, g, c[g], c) === false) { return } } } }, merge: function (k) { var h = 1, j = arguments.length, c = b.merge, e = Ext.clone, g, m, l, d; for (; h < j; h++) { g = arguments[h]; for (m in g) { l = g[m]; if (l && l.constructor === Object) { d = k[m]; if (d && d.constructor === Object) { c(d, l) } else { k[m] = e(l) } } else { k[m] = l } } } return k }, mergeIf: function (c) { var h = 1, j = arguments.length, e = Ext.clone, d, g, k; for (; h < j; h++) { d = arguments[h]; for (g in d) { if (!(g in c)) { k = d[g]; if (k && k.constructor === Object) { c[g] = e(k) } else { c[g] = k } } } } return c }, getKey: function (c, e) { for (var d in c) { if (c.hasOwnProperty(d) && c[d] === e) { return d } } return null }, getValues: function (d) { var c = [], e; for (e in d) { if (d.hasOwnProperty(e)) { c.push(d[e]) } } return c }, getKeys: (typeof Object.keys == "function") ? function (c) { if (!c) { return [] } return Object.keys(c) } : function (c) { var d = [], e; for (e in c) { if (c.hasOwnProperty(e)) { d.push(e) } } return d }, getSize: function (c) { var d = 0, e; for (e in c) { if (c.hasOwnProperty(e)) { d++ } } return d }, isEmpty: function (c) { for (var d in c) { if (c.hasOwnProperty(d)) { return false } } return true }, equals: (function () { var c = function (g, e) { var d; for (d in g) { if (g.hasOwnProperty(d)) { if (g[d] !== e[d]) { return false } } } return true }; return function (e, d) { if (e === d) { return true } if (e && d) { return c(e, d) && c(d, e) } else { if (!e && !d) { return e === d } else { return false } } } })(), classify: function (g) { var e = g, j = [], d = {}, c = function () { var l = 0, m = j.length, n; for (; l < m; l++) { n = j[l]; this[n] = new d[n]() } }, h, k; for (h in g) { if (g.hasOwnProperty(h)) { k = g[h]; if (k && k.constructor === Object) { j.push(h); d[h] = b.classify(k) } } } c.prototype = e; return c } }; Ext.merge = Ext.Object.merge; Ext.mergeIf = Ext.Object.mergeIf; Ext.urlEncode = function () { var c = Ext.Array.from(arguments), d = ""; if ((typeof c[1] === "string")) { d = c[1] + "&"; c[1] = false } return d + b.toQueryString.apply(b, c) }; Ext.urlDecode = function () { return b.fromQueryString.apply(b, arguments) } } ()); Ext.Date = new function () { var d = this, k = /(\\.)/g, a = /([gGhHisucUOPZ]|MS)/, e = /([djzmnYycU]|MS)/, j = /\\/gi, c = /\{(\d+)\}/g, g = new RegExp("\\/Date\\(([-+])?(\\d+)(?:[+-]\\d{4})?\\)\\/"), b = ["var me = this, dt, y, m, d, h, i, s, ms, o, O, z, zz, u, v, W, year, jan4, week1monday, daysInMonth, dayMatched,", "def = me.defaults,", "from = Ext.Number.from,", "results = String(input).match(me.parseRegexes[{0}]);", "if(results){", "{1}", "if(u != null){", "v = new Date(u * 1000);", "}else{", "dt = me.clearTime(new Date);", "y = from(y, from(def.y, dt.getFullYear()));", "m = from(m, from(def.m - 1, dt.getMonth()));", "dayMatched = d !== undefined;", "d = from(d, from(def.d, dt.getDate()));", "if (!dayMatched) {", "dt.setDate(1);", "dt.setMonth(m);", "dt.setFullYear(y);", "daysInMonth = me.getDaysInMonth(dt);", "if (d > daysInMonth) {", "d = daysInMonth;", "}", "}", "h = from(h, from(def.h, dt.getHours()));", "i = from(i, from(def.i, dt.getMinutes()));", "s = from(s, from(def.s, dt.getSeconds()));", "ms = from(ms, from(def.ms, dt.getMilliseconds()));", "if(z >= 0 && y >= 0){", "v = me.add(new Date(y < 100 ? 100 : y, 0, 1, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);", "v = !strict? v : (strict === true && (z <= 364 || (me.isLeapYear(v) && z <= 365))? me.add(v, me.DAY, z) : null);", "}else if(strict === true && !me.isValid(y, m + 1, d, h, i, s, ms)){", "v = null;", "}else{", "if (W) {", "year = y || (new Date()).getFullYear(),", "jan4 = new Date(year, 0, 4, 0, 0, 0),", "week1monday = new Date(jan4.getTime() - ((jan4.getDay() - 1) * 86400000));", "v = Ext.Date.clearTime(new Date(week1monday.getTime() + ((W - 1) * 604800000)));", "} else {", "v = me.add(new Date(y < 100 ? 100 : y, m, d, h, i, s, ms), me.YEAR, y < 100 ? y - 100 : 0);", "}", "}", "}", "}", "if(v){", "if(zz != null){", "v = me.add(v, me.SECOND, -v.getTimezoneOffset() * 60 - zz);", "}else if(o){", "v = me.add(v, me.MINUTE, -v.getTimezoneOffset() + (sn == '+'? -1 : 1) * (hr * 60 + mn));", "}", "}", "return v;"].join("\n"); function h(m) { var l = Array.prototype.slice.call(arguments, 1); return m.replace(c, function (n, o) { return l[o] }) } Ext.apply(d, { now: Date.now || function () { return +new Date() }, toString: function (l) { var m = Ext.String.leftPad; return l.getFullYear() + "-" + m(l.getMonth() + 1, 2, "0") + "-" + m(l.getDate(), 2, "0") + "T" + m(l.getHours(), 2, "0") + ":" + m(l.getMinutes(), 2, "0") + ":" + m(l.getSeconds(), 2, "0") }, getElapsed: function (m, l) { return Math.abs(m - (l || d.now())) }, useStrict: false, formatCodeToRegex: function (m, l) { var n = d.parseCodes[m]; if (n) { n = typeof n == "function" ? n() : n; d.parseCodes[m] = n } return n ? Ext.applyIf({ c: n.c ? h(n.c, l || "{0}") : n.c }, n) : { g: 0, c: null, s: Ext.String.escapeRegex(m) } }, parseFunctions: { MS: function (m, l) { var n = (m || "").match(g); return n ? new Date(((n[1] || "") + n[2]) * 1) : null }, time: function (m, l) { var n = parseInt(m, 10); if (n || n === 0) { return new Date(n) } return null }, timestamp: function (m, l) { var n = parseInt(m, 10); if (n || n === 0) { return new Date(n * 1000) } return null } }, parseRegexes: [], formatFunctions: { MS: function () { return "\\/Date(" + this.getTime() + ")\\/" }, time: function () { return this.getTime().toString() }, timestamp: function () { return d.format(this, "U") } }, y2kYear: 50, MILLI: "ms", SECOND: "s", MINUTE: "mi", HOUR: "h", DAY: "d", MONTH: "mo", YEAR: "y", defaults: {}, dayNames: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], monthNames: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], monthNumbers: { January: 0, Jan: 0, February: 1, Feb: 1, March: 2, Mar: 2, April: 3, Apr: 3, May: 4, June: 5, Jun: 5, July: 6, Jul: 6, August: 7, Aug: 7, September: 8, Sep: 8, October: 9, Oct: 9, November: 10, Nov: 10, December: 11, Dec: 11 }, defaultFormat: "m/d/Y", getShortMonthName: function (l) { return Ext.Date.monthNames[l].substring(0, 3) }, getShortDayName: function (l) { return Ext.Date.dayNames[l].substring(0, 3) }, getMonthNumber: function (l) { return Ext.Date.monthNumbers[l.substring(0, 1).toUpperCase() + l.substring(1, 3).toLowerCase()] }, formatContainsHourInfo: function (l) { return a.test(l.replace(k, "")) }, formatContainsDateInfo: function (l) { return e.test(l.replace(k, "")) }, unescapeFormat: function (l) { return l.replace(j, "") }, formatCodes: { d: "Ext.String.leftPad(this.getDate(), 2, '0')", D: "Ext.Date.getShortDayName(this.getDay())", j: "this.getDate()", l: "Ext.Date.dayNames[this.getDay()]", N: "(this.getDay() ? this.getDay() : 7)", S: "Ext.Date.getSuffix(this)", w: "this.getDay()", z: "Ext.Date.getDayOfYear(this)", W: "Ext.String.leftPad(Ext.Date.getWeekOfYear(this), 2, '0')", F: "Ext.Date.monthNames[this.getMonth()]", m: "Ext.String.leftPad(this.getMonth() + 1, 2, '0')", M: "Ext.Date.getShortMonthName(this.getMonth())", n: "(this.getMonth() + 1)", t: "Ext.Date.getDaysInMonth(this)", L: "(Ext.Date.isLeapYear(this) ? 1 : 0)", o: "(this.getFullYear() + (Ext.Date.getWeekOfYear(this) == 1 && this.getMonth() > 0 ? +1 : (Ext.Date.getWeekOfYear(this) >= 52 && this.getMonth() < 11 ? -1 : 0)))", Y: "Ext.String.leftPad(this.getFullYear(), 4, '0')", y: "('' + this.getFullYear()).substring(2, 4)", a: "(this.getHours() < 12 ? 'am' : 'pm')", A: "(this.getHours() < 12 ? 'AM' : 'PM')", g: "((this.getHours() % 12) ? this.getHours() % 12 : 12)", G: "this.getHours()", h: "Ext.String.leftPad((this.getHours() % 12) ? this.getHours() % 12 : 12, 2, '0')", H: "Ext.String.leftPad(this.getHours(), 2, '0')", i: "Ext.String.leftPad(this.getMinutes(), 2, '0')", s: "Ext.String.leftPad(this.getSeconds(), 2, '0')", u: "Ext.String.leftPad(this.getMilliseconds(), 3, '0')", O: "Ext.Date.getGMTOffset(this)", P: "Ext.Date.getGMTOffset(this, true)", T: "Ext.Date.getTimezone(this)", Z: "(this.getTimezoneOffset() * -60)", c: function () { var q, o, n, m, p; for (q = "Y-m-dTH:i:sP", o = [], n = 0, m = q.length; n < m; ++n) { p = q.charAt(n); o.push(p == "T" ? "'T'" : d.getFormatCode(p)) } return o.join(" + ") }, U: "Math.round(this.getTime() / 1000)" }, isValid: function (u, l, t, q, o, p, n) { q = q || 0; o = o || 0; p = p || 0; n = n || 0; var r = d.add(new Date(u < 100 ? 100 : u, l - 1, t, q, o, p, n), d.YEAR, u < 100 ? u - 100 : 0); return u == r.getFullYear() && l == r.getMonth() + 1 && t == r.getDate() && q == r.getHours() && o == r.getMinutes() && p == r.getSeconds() && n == r.getMilliseconds() }, parse: function (m, o, l) { var n = d.parseFunctions; if (n[o] == null) { d.createParser(o) } return n[o].call(d, m, Ext.isDefined(l) ? l : d.useStrict) }, parseDate: function (m, n, l) { return d.parse(m, n, l) }, getFormatCode: function (m) { var l = d.formatCodes[m]; if (l) { l = typeof l == "function" ? l() : l; d.formatCodes[m] = l } return l || ("'" + Ext.String.escape(m) + "'") }, createFormat: function (p) { var o = [], l = false, n = "", m; for (m = 0; m < p.length; ++m) { n = p.charAt(m); if (!l && n == "\\") { l = true } else { if (l) { l = false; o.push("'" + Ext.String.escape(n) + "'") } else { o.push(d.getFormatCode(n)) } } } d.formatFunctions[p] = Ext.functionFactory("return " + o.join("+")) }, createParser: function (u) { var m = d.parseRegexes.length, v = 1, n = [], t = [], r = false, l = "", p = 0, q = u.length, s = [], o; for (; p < q; ++p) { l = u.charAt(p); if (!r && l == "\\") { r = true } else { if (r) { r = false; t.push(Ext.String.escape(l)) } else { o = d.formatCodeToRegex(l, v); v += o.g; t.push(o.s); if (o.g && o.c) { if (o.calcAtEnd) { s.push(o.c) } else { n.push(o.c) } } } } } n = n.concat(s); d.parseRegexes[m] = new RegExp("^" + t.join("") + "$", "i"); d.parseFunctions[u] = Ext.functionFactory("input", "strict", h(b, m, n.join(""))) }, parseCodes: { d: { g: 1, c: "d = parseInt(results[{0}], 10);\n", s: "(3[0-1]|[1-2][0-9]|0[1-9])" }, j: { g: 1, c: "d = parseInt(results[{0}], 10);\n", s: "(3[0-1]|[1-2][0-9]|[1-9])" }, D: function () { for (var l = [], m = 0; m < 7; l.push(d.getShortDayName(m)), ++m) {} return { g: 0, c: null, s: "(?:" + l.join("|") + ")" } }, l: function () { return { g: 0, c: null, s: "(?:" + d.dayNames.join("|") + ")" } }, N: { g: 0, c: null, s: "[1-7]" }, S: { g: 0, c: null, s: "(?:st|nd|rd|th)" }, w: { g: 0, c: null, s: "[0-6]" }, z: { g: 1, c: "z = parseInt(results[{0}], 10);\n", s: "(\\d{1,3})" }, W: { g: 1, c: "W = parseInt(results[{0}], 10);\n", s: "(\\d{2})" }, F: function () { return { g: 1, c: "m = parseInt(me.getMonthNumber(results[{0}]), 10);\n", s: "(" + d.monthNames.join("|") + ")" } }, M: function () { for (var l = [], m = 0; m < 12; l.push(d.getShortMonthName(m)), ++m) {} return Ext.applyIf({ s: "(" + l.join("|") + ")" }, d.formatCodeToRegex("F")) }, m: { g: 1, c: "m = parseInt(results[{0}], 10) - 1;\n", s: "(1[0-2]|0[1-9])" }, n: { g: 1, c: "m = parseInt(results[{0}], 10) - 1;\n", s: "(1[0-2]|[1-9])" }, t: { g: 0, c: null, s: "(?:\\d{2})" }, L: { g: 0, c: null, s: "(?:1|0)" }, o: { g: 1, c: "y = parseInt(results[{0}], 10);\n", s: "(\\d{4})" }, Y: { g: 1, c: "y = parseInt(results[{0}], 10);\n", s: "(\\d{4})" }, y: { g: 1, c: "var ty = parseInt(results[{0}], 10);\ny = ty > me.y2kYear ? 1900 + ty : 2000 + ty;\n", s: "(\\d{1,2})" }, a: { g: 1, c: "if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}", s: "(am|pm|AM|PM)", calcAtEnd: true }, A: { g: 1, c: "if (/(am)/i.test(results[{0}])) {\nif (!h || h == 12) { h = 0; }\n} else { if (!h || h < 12) { h = (h || 0) + 12; }}", s: "(AM|PM|am|pm)", calcAtEnd: true }, g: { g: 1, c: "h = parseInt(results[{0}], 10);\n", s: "(1[0-2]|[0-9])" }, G: { g: 1, c: "h = parseInt(results[{0}], 10);\n", s: "(2[0-3]|1[0-9]|[0-9])" }, h: { g: 1, c: "h = parseInt(results[{0}], 10);\n", s: "(1[0-2]|0[1-9])" }, H: { g: 1, c: "h = parseInt(results[{0}], 10);\n", s: "(2[0-3]|[0-1][0-9])" }, i: { g: 1, c: "i = parseInt(results[{0}], 10);\n", s: "([0-5][0-9])" }, s: { g: 1, c: "s = parseInt(results[{0}], 10);\n", s: "([0-5][0-9])" }, u: { g: 1, c: "ms = results[{0}]; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n", s: "(\\d+)" }, O: { g: 1, c: ["o = results[{0}];", "var sn = o.substring(0,1),", "hr = o.substring(1,3)*1 + Math.floor(o.substring(3,5) / 60),", "mn = o.substring(3,5) % 60;", "o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"), s: "([+-]\\d{4})" }, P: { g: 1, c: ["o = results[{0}];", "var sn = o.substring(0,1),", "hr = o.substring(1,3)*1 + Math.floor(o.substring(4,6) / 60),", "mn = o.substring(4,6) % 60;", "o = ((-12 <= (hr*60 + mn)/60) && ((hr*60 + mn)/60 <= 14))? (sn + Ext.String.leftPad(hr, 2, '0') + Ext.String.leftPad(mn, 2, '0')) : null;\n"].join("\n"), s: "([+-]\\d{2}:\\d{2})" }, T: { g: 0, c: null, s: "[A-Z]{1,5}" }, Z: { g: 1, c: "zz = results[{0}] * 1;\nzz = (-43200 <= zz && zz <= 50400)? zz : null;\n", s: "([+-]?\\d{1,5})" }, c: function () { var o = [], m = [d.formatCodeToRegex("Y", 1), d.formatCodeToRegex("m", 2), d.formatCodeToRegex("d", 3), d.formatCodeToRegex("H", 4), d.formatCodeToRegex("i", 5), d.formatCodeToRegex("s", 6), { c: "ms = results[7] || '0'; ms = parseInt(ms, 10)/Math.pow(10, ms.length - 3);\n" }, { c: ["if(results[8]) {", "if(results[8] == 'Z'){", "zz = 0;", "}else if (results[8].indexOf(':') > -1){", d.formatCodeToRegex("P", 8).c, "}else{", d.formatCodeToRegex("O", 8).c, "}", "}"].join("\n") } ], p, n; for (p = 0, n = m.length; p < n; ++p) { o.push(m[p].c) } return { g: 1, c: o.join(""), s: [m[0].s, "(?:", "-", m[1].s, "(?:", "-", m[2].s, "(?:", "(?:T| )?", m[3].s, ":", m[4].s, "(?::", m[5].s, ")?", "(?:(?:\\.|,)(\\d+))?", "(Z|(?:[-+]\\d{2}(?::)?\\d{2}))?", ")?", ")?", ")?"].join("") } }, U: { g: 1, c: "u = parseInt(results[{0}], 10);\n", s: "(-?\\d+)" } }, dateFormat: function (l, m) { return d.format(l, m) }, isEqual: function (m, l) { if (m && l) { return (m.getTime() === l.getTime()) } return !(m || l) }, format: function (m, n) { var l = d.formatFunctions; if (!Ext.isDate(m)) { return "" } if (l[n] == null) { d.createFormat(n) } return l[n].call(m) + "" }, getTimezone: function (l) { return l.toString().replace(/^.* (?:\((.*)\)|([A-Z]{1,5})(?:[\-+][0-9]{4})?(?: -?\d+)?)$/, "$1$2").replace(/[^A-Z]/g, "") }, getGMTOffset: function (l, m) { var n = l.getTimezoneOffset(); return (n > 0 ? "-" : "+") + Ext.String.leftPad(Math.floor(Math.abs(n) / 60), 2, "0") + (m ? ":" : "") + Ext.String.leftPad(Math.abs(n % 60), 2, "0") }, getDayOfYear: function (o) { var n = 0, q = Ext.Date.clone(o), l = o.getMonth(), p; for (p = 0, q.setDate(1), q.setMonth(0); p < l; q.setMonth(++p)) { n += d.getDaysInMonth(q) } return n + o.getDate() - 1 }, getWeekOfYear: (function () { var l = 86400000, m = 7 * l; return function (o) { var p = Date.UTC(o.getFullYear(), o.getMonth(), o.getDate() + 3) / l, n = Math.floor(p / 7), q = new Date(n * m).getUTCFullYear(); return n - Math.floor(Date.UTC(q, 0, 7) / m) + 1 } } ()), isLeapYear: function (l) { var m = l.getFullYear(); return !!((m & 3) == 0 && (m % 100 || (m % 400 == 0 && m))) }, getFirstDayOfMonth: function (m) { var l = (m.getDay() - (m.getDate() - 1)) % 7; return (l < 0) ? (l + 7) : l }, getLastDayOfMonth: function (l) { return d.getLastDateOfMonth(l).getDay() }, getFirstDateOfMonth: function (l) { return new Date(l.getFullYear(), l.getMonth(), 1) }, getLastDateOfMonth: function (l) { return new Date(l.getFullYear(), l.getMonth(), d.getDaysInMonth(l)) }, getDaysInMonth: (function () { var l = [31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31]; return function (o) { var n = o.getMonth(); return n == 1 && d.isLeapYear(o) ? 29 : l[n] } } ()), getSuffix: function (l) { switch (l.getDate()) { case 1: case 21: case 31: return "st"; case 2: case 22: return "nd"; case 3: case 23: return "rd"; default: return "th" } }, clone: function (l) { return new Date(l.getTime()) }, isDST: function (l) { return new Date(l.getFullYear(), 0, 1).getTimezoneOffset() != l.getTimezoneOffset() }, clearTime: function (l, p) { if (p) { return Ext.Date.clearTime(Ext.Date.clone(l)) } var n = l.getDate(), m, o; l.setHours(0); l.setMinutes(0); l.setSeconds(0); l.setMilliseconds(0); if (l.getDate() != n) { for (m = 1, o = d.add(l, Ext.Date.HOUR, m); o.getDate() != n; m++, o = d.add(l, Ext.Date.HOUR, m)) {} l.setDate(n); l.setHours(o.getHours()) } return l }, add: function (o, n, r) { var s = Ext.Date.clone(o), l = Ext.Date, m, q, p = 0; if (!n || r === 0) { return s } q = r - parseInt(r, 10); r = parseInt(r, 10); if (r) { switch (n.toLowerCase()) { case Ext.Date.MILLI: s.setTime(s.getTime() + r); break; case Ext.Date.SECOND: s.setTime(s.getTime() + r * 1000); break; case Ext.Date.MINUTE: s.setTime(s.getTime() + r * 60 * 1000); break; case Ext.Date.HOUR: s.setTime(s.getTime() + r * 60 * 60 * 1000); break; case Ext.Date.DAY: s.setDate(s.getDate() + r); break; case Ext.Date.MONTH: m = o.getDate(); if (m > 28) { m = Math.min(m, Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(o), Ext.Date.MONTH, r)).getDate()) } s.setDate(m); s.setMonth(o.getMonth() + r); break; case Ext.Date.YEAR: m = o.getDate(); if (m > 28) { m = Math.min(m, Ext.Date.getLastDateOfMonth(Ext.Date.add(Ext.Date.getFirstDateOfMonth(o), Ext.Date.YEAR, r)).getDate()) } s.setDate(m); s.setFullYear(o.getFullYear() + r); break } } if (q) { switch (n.toLowerCase()) { case Ext.Date.MILLI: p = 1; break; case Ext.Date.SECOND: p = 1000; break; case Ext.Date.MINUTE: p = 1000 * 60; break; case Ext.Date.HOUR: p = 1000 * 60 * 60; break; case Ext.Date.DAY: p = 1000 * 60 * 60 * 24; break; case Ext.Date.MONTH: m = d.getDaysInMonth(s); p = 1000 * 60 * 60 * 24 * m; break; case Ext.Date.YEAR: m = (d.isLeapYear(s) ? 366 : 365); p = 1000 * 60 * 60 * 24 * m; break } if (p) { s.setTime(s.getTime() + p * q) } } return s }, subtract: function (m, l, n) { return d.add(m, l, -n) }, between: function (m, o, l) { var n = m.getTime(); return o.getTime() <= n && n <= l.getTime() }, compat: function () { var m = window.Date, l, t = ["useStrict", "formatCodeToRegex", "parseFunctions", "parseRegexes", "formatFunctions", "y2kYear", "MILLI", "SECOND", "MINUTE", "HOUR", "DAY", "MONTH", "YEAR", "defaults", "dayNames", "monthNames", "monthNumbers", "getShortMonthName", "getShortDayName", "getMonthNumber", "formatCodes", "isValid", "parseDate", "getFormatCode", "createFormat", "createParser", "parseCodes"], q = ["dateFormat", "format", "getTimezone", "getGMTOffset", "getDayOfYear", "getWeekOfYear", "isLeapYear", "getFirstDayOfMonth", "getLastDayOfMonth", "getDaysInMonth", "getSuffix", "clone", "isDST", "clearTime", "add", "between"], r = t.length, n = q.length, o, u, v; for (v = 0; v < r; v++) { o = t[v]; m[o] = d[o] } for (l = 0; l < n; l++) { u = q[l]; m.prototype[u] = function () { var p = Array.prototype.slice.call(arguments); p.unshift(this); return d[u].apply(d, p) } } } }) } (); (function (a) { var d = [], b = function () {}, c = function (k, g, j, h) { var e = function () { var l = this.callParent(arguments); k.apply(this, arguments); return l }; e.$name = j; e.$owner = h; if (g) { e.$previous = g.$previous; g.$previous = e } return e }; Ext.apply(b, { $className: "Ext.Base", $isClass: true, create: function () { return Ext.create.apply(Ext, [this].concat(Array.prototype.slice.call(arguments, 0))) }, extend: function (k) { var e = k.prototype, n, h, j, l, g, m; h = this.prototype = Ext.Object.chain(e); h.self = this; this.superclass = h.superclass = e; if (!k.$isClass) { n = Ext.Base.prototype; for (j in n) { if (j in h) { h[j] = n[j] } } } m = e.$inheritableStatics; if (m) { for (j = 0, l = m.length; j < l; j++) { g = m[j]; if (!this.hasOwnProperty(g)) { this[g] = k[g] } } } if (k.$onExtended) { this.$onExtended = k.$onExtended.slice() } h.config = new h.configClass(); h.initConfigList = h.initConfigList.slice(); h.initConfigMap = Ext.clone(h.initConfigMap); h.configMap = Ext.Object.chain(h.configMap) }, $onExtended: [], triggerExtended: function () { var h = this.$onExtended, g = h.length, e, j; if (g > 0) { for (e = 0; e < g; e++) { j = h[e]; j.fn.apply(j.scope || this, arguments) } } }, onExtended: function (g, e) { this.$onExtended.push({ fn: g, scope: e }); return this }, addConfig: function (j, n) { var p = this.prototype, o = Ext.Class.configNameCache, k = p.configMap, l = p.initConfigList, h = p.initConfigMap, m = p.config, e, g, q; for (g in j) { if (j.hasOwnProperty(g)) { if (!k[g]) { k[g] = true } q = j[g]; e = o[g].initialized; if (!h[g] && q !== null && !p[e]) { h[g] = true; l.push(g) } } } if (n) { Ext.merge(m, j) } else { Ext.mergeIf(m, j) } p.configClass = Ext.Object.classify(m) }, addStatics: function (e) { var h, g; for (g in e) { if (e.hasOwnProperty(g)) { h = e[g]; if (typeof h == "function" && !h.$isClass && h !== Ext.emptyFn && h !== Ext.identityFn) { h.$owner = this; h.$name = g } this[g] = h } } return this }, addInheritableStatics: function (g) { var k, e, j = this.prototype, h, l; k = j.$inheritableStatics; e = j.$hasInheritableStatics; if (!k) { k = j.$inheritableStatics = []; e = j.$hasInheritableStatics = {} } for (h in g) { if (g.hasOwnProperty(h)) { l = g[h]; this[h] = l; if (!e[h]) { e[h] = true; k.push(h) } } } return this }, addMembers: function (g) { var j = this.prototype, e = Ext.enumerables, m = [], k, l, h, n; for (h in g) { m.push(h) } if (e) { m.push.apply(m, e) } for (k = 0, l = m.length; k < l; k++) { h = m[k]; if (g.hasOwnProperty(h)) { n = g[h]; if (typeof n == "function" && !n.$isClass && n !== Ext.emptyFn && n !== Ext.identityFn) { n.$owner = this; n.$name = h } j[h] = n } } return this }, addMember: function (e, g) { if (typeof g == "function" && !g.$isClass && g !== Ext.emptyFn && g !== Ext.identityFn) { g.$owner = this; g.$name = e } this.prototype[e] = g; return this }, implement: function () { this.addMembers.apply(this, arguments) }, borrow: function (k, h) { var o = this.prototype, n = k.prototype, j, l, g, m, e; h = Ext.Array.from(h); for (j = 0, l = h.length; j < l; j++) { g = h[j]; e = n[g]; if (typeof e == "function") { m = Ext.Function.clone(e); m.$owner = this; m.$name = g; o[g] = m } else { o[g] = e } } return this }, override: function (g) { var o = this, q = Ext.enumerables, m = o.prototype, j = Ext.Function.clone, e, l, h, p, n, k; if (arguments.length === 2) { e = g; g = {}; g[e] = arguments[1]; q = null } do { n = []; p = null; for (e in g) { if (e == "statics") { p = g[e] } else { if (e == "inheritableStatics") { o.addInheritableStatics(g[e]) } else { if (e == "config") { o.addConfig(g[e], true) } else { n.push(e) } } } } if (q) { n.push.apply(n, q) } for (l = n.length; l--; ) { e = n[l]; if (g.hasOwnProperty(e)) { h = g[e]; if (typeof h == "function" && !h.$className && h !== Ext.emptyFn && h !== Ext.identityFn) { if (typeof h.$owner != "undefined") { h = j(h) } h.$owner = o; h.$name = e; k = m[e]; if (k) { h.$previous = k } } m[e] = h } } m = o; g = p } while (g); return this }, callParent: function (e) { var g; return (g = this.callParent.caller) && (g.$previous || ((g = g.$owner ? g : g.caller) && g.$owner.superclass.self[g.$name])).apply(this, e || d) }, callSuper: function (e) { var g; return (g = this.callSuper.caller) && ((g = g.$owner ? g : g.caller) && g.$owner.superclass.self[g.$name]).apply(this, e || d) }, mixin: function (g, h) { var l = this, s = h.prototype, n = l.prototype, r, m, j, k, q, p, o, e; if (typeof s.onClassMixedIn != "undefined") { s.onClassMixedIn.call(h, l) } if (!n.hasOwnProperty("mixins")) { if ("mixins" in n) { n.mixins = Ext.Object.chain(n.mixins) } else { n.mixins = {} } } for (r in s) { p = s[r]; if (r === "mixins") { Ext.merge(n.mixins, p) } else { if (r === "xhooks") { for (o in p) { e = p[o]; e.$previous = Ext.emptyFn; if (n.hasOwnProperty(o)) { c(e, n[o], o, l) } else { n[o] = c(e, null, o, l) } } } else { if (!(r === "mixinId" || r === "config") && (n[r] === undefined)) { n[r] = p } } } } m = s.$inheritableStatics; if (m) { for (j = 0, k = m.length; j < k; j++) { q = m[j]; if (!l.hasOwnProperty(q)) { l[q] = h[q] } } } if ("config" in s) { l.addConfig(s.config, false) } n.mixins[g] = s; return l }, getName: function () { return Ext.getClassName(this) }, createAlias: a(function (g, e) { this.override(g, function () { return this[e].apply(this, arguments) }) }), addXtype: function (k) { var g = this.prototype, j = g.xtypesMap, h = g.xtypes, e = g.xtypesChain; if (!g.hasOwnProperty("xtypesMap")) { j = g.xtypesMap = Ext.merge({}, g.xtypesMap || {}); h = g.xtypes = g.xtypes ? [].concat(g.xtypes) : []; e = g.xtypesChain = g.xtypesChain ? [].concat(g.xtypesChain) : []; g.xtype = k } if (!j[k]) { j[k] = true; h.push(k); e.push(k); Ext.ClassManager.setAlias(this, "widget." + k) } return this } }); b.implement({ isInstance: true, $className: "Ext.Base", configClass: Ext.emptyFn, initConfigList: [], configMap: {}, initConfigMap: {}, statics: function () { var g = this.statics.caller, e = this.self; if (!g) { return e } return g.$owner }, callParent: function (g) { var h, e = (h = this.callParent.caller) && (h.$previous || ((h = h.$owner ? h : h.caller) && h.$owner.superclass[h.$name])); return e.apply(this, g || d) }, callSuper: function (g) { var h, e = (h = this.callSuper.caller) && ((h = h.$owner ? h : h.caller) && h.$owner.superclass[h.$name]); return e.apply(this, g || d) }, self: b, constructor: function () { return this }, initConfig: function (h) { var n = h, m = Ext.Class.configNameCache, k = new this.configClass(), q = this.initConfigList, j = this.configMap, p, l, o, g, e; this.initConfig = Ext.emptyFn; this.initialConfig = n || {}; this.config = h = (n) ? Ext.merge(k, h) : k; if (n) { q = q.slice(); for (g in n) { if (j[g]) { if (n[g] !== null) { q.push(g); this[m[g].initialized] = false } } } } for (l = 0, o = q.length; l < o; l++) { g = q[l]; p = m[g]; e = p.initialized; if (!this[e]) { this[e] = true; this[p.set].call(this, h[g]) } } return this }, hasConfig: function (e) { return Boolean(this.configMap[e]) }, setConfig: function (j, n) { if (!j) { return this } var h = Ext.Class.configNameCache, e = this.config, m = this.configMap, l = this.initialConfig, g, k; n = Boolean(n); for (g in j) { if (n && l.hasOwnProperty(g)) { continue } k = j[g]; e[g] = k; if (m[g]) { this[h[g].set](k) } } return this }, getConfig: function (g) { var e = Ext.Class.configNameCache; return this[e[g].get]() }, getInitialConfig: function (g) { var e = this.config; if (!g) { return e } else { return e[g] } }, onConfigUpdate: function (l, n, o) { var p = this.self, h, k, e, j, m, g; l = Ext.Array.from(l); o = o || this; for (h = 0, k = l.length; h < k; h++) { e = l[h]; j = "update" + Ext.String.capitalize(e); m = this[j] || Ext.emptyFn; g = function () { m.apply(this, arguments); o[n].apply(o, arguments) }; g.$name = j; g.$owner = p; this[j] = g } }, destroy: function () { this.destroy = Ext.emptyFn } }); b.prototype.callOverridden = b.prototype.callParent; Ext.Base = b } (Ext.Function.flexSetter)); (function () { var c, b = Ext.Base, g = [], e, d; for (e in b) { if (b.hasOwnProperty(e)) { g.push(e) } } d = g.length; function a(j) { function h() { return this.constructor.apply(this, arguments) || null } return h } Ext.Class = c = function (j, k, h) { if (typeof j != "function") { h = k; k = j; j = null } if (!k) { k = {} } j = c.create(j, k); c.process(j, k, h); return j }; Ext.apply(c, { onBeforeCreated: function (j, k, h) { j.addMembers(k); h.onCreated.call(j, j) }, create: function (h, l) { var j, k; if (!h) { h = a() } for (k = 0; k < d; k++) { j = g[k]; h[j] = b[j] } return h }, process: function (h, p, l) { var k = p.preprocessors || c.defaultPreprocessors, s = this.preprocessors, v = { onBeforeCreated: this.onBeforeCreated }, u = [], w, o, n, t, m, r, q; delete p.preprocessors; for (n = 0, t = k.length; n < t; n++) { w = k[n]; if (typeof w == "string") { w = s[w]; o = w.properties; if (o === true) { u.push(w.fn) } else { if (o) { for (m = 0, r = o.length; m < r; m++) { q = o[m]; if (p.hasOwnProperty(q)) { u.push(w.fn); break } } } } } else { u.push(w) } } v.onCreated = l ? l : Ext.emptyFn; v.preprocessors = u; this.doProcess(h, p, v) }, doProcess: function (j, n, h) { var m = this, o = h.preprocessors, k = o.shift(), l = m.doProcess; for (; k; k = o.shift()) { if (k.call(m, j, n, h, l) === false) { return } } h.onBeforeCreated.apply(m, arguments) }, preprocessors: {}, registerPreprocessor: function (j, m, k, h, l) { if (!h) { h = "last" } if (!k) { k = [j] } this.preprocessors[j] = { name: j, properties: k || false, fn: m }; this.setDefaultPreprocessorPosition(j, h, l); return this }, getPreprocessor: function (h) { return this.preprocessors[h] }, getPreprocessors: function () { return this.preprocessors }, defaultPreprocessors: [], getDefaultPreprocessors: function () { return this.defaultPreprocessors }, setDefaultPreprocessors: function (h) { this.defaultPreprocessors = Ext.Array.from(h); return this }, setDefaultPreprocessorPosition: function (k, m, l) { var h = this.defaultPreprocessors, j; if (typeof m == "string") { if (m === "first") { h.unshift(k); return this } else { if (m === "last") { h.push(k); return this } } m = (m === "after") ? 1 : -1 } j = Ext.Array.indexOf(h, l); if (j !== -1) { Ext.Array.splice(h, Math.max(0, j + m), 0, k) } return this }, configNameCache: {}, getConfigNameMap: function (k) { var j = this.configNameCache, l = j[k], h; if (!l) { h = k.charAt(0).toUpperCase() + k.substr(1); l = j[k] = { internal: k, initialized: "_is" + h + "Initialized", apply: "apply" + h, update: "update" + h, set: "set" + h, get: "get" + h, doSet: "doSet" + h, changeEvent: k.toLowerCase() + "change" } } return l } }); c.registerPreprocessor("extend", function (j, l, q) { var m = Ext.Base, n = m.prototype, o = l.extend, h, p, k; delete l.extend; if (o && o !== Object) { h = o } else { h = m } p = h.prototype; if (!h.$isClass) { for (k in n) { if (!p[k]) { p[k] = n[k] } } } j.extend(h); j.triggerExtended.apply(j, arguments); if (l.onClassExtended) { j.onExtended(l.onClassExtended, j); delete l.onClassExtended } }, true); c.registerPreprocessor("statics", function (h, j) { h.addStatics(j.statics); delete j.statics }); c.registerPreprocessor("inheritableStatics", function (h, j) { h.addInheritableStatics(j.inheritableStatics); delete j.inheritableStatics }); c.registerPreprocessor("config", function (h, l) { var k = l.config, j = h.prototype; delete l.config; Ext.Object.each(k, function (o, x) { var v = c.getConfigNameMap(o), r = v.internal, m = v.initialized, w = v.apply, p = v.update, u = v.set, n = v.get, z = (u in j) || l.hasOwnProperty(u), q = (w in j) || l.hasOwnProperty(w), s = (p in j) || l.hasOwnProperty(p), y, t; if (x === null || (!z && !q && !s)) { j[r] = x; j[m] = true } else { j[m] = false } if (!z) { l[u] = function (C) { var B = this[r], A = this[w], D = this[p]; if (!this[m]) { this[m] = true } if (A) { C = A.call(this, C, B) } if (typeof C != "undefined") { this[r] = C; if (D && C !== B) { D.call(this, C, B) } } return this } } if (!(n in j) || l.hasOwnProperty(n)) { t = l[n] || false; if (t) { y = function () { return t.apply(this, arguments) } } else { y = function () { return this[r] } } l[n] = function () { var A; if (!this[m]) { this[m] = true; this[u](this.config[o]) } A = this[n]; if ("$previous" in A) { A.$previous = y } else { this[n] = y } return y.apply(this, arguments) } } }); h.addConfig(k, true) }); c.registerPreprocessor("mixins", function (l, p, h) { var j = p.mixins, m, k, n, o; delete p.mixins; Ext.Function.interceptBefore(h, "onCreated", function () { if (j instanceof Array) { for (n = 0, o = j.length; n < o; n++) { k = j[n]; m = k.prototype.mixinId || k.$className; l.mixin(m, k) } } else { for (var q in j) { if (j.hasOwnProperty(q)) { l.mixin(q, j[q]) } } } }) }); Ext.extend = function (k, l, j) { if (arguments.length === 2 && Ext.isObject(l)) { j = l; l = k; k = null } var h; if (!l) { throw new Error("[Ext.extend] Attempting to extend from a class which has not been loaded on the page.") } j.extend = l; j.preprocessors = ["extend", "statics", "inheritableStatics", "mixins", "config"]; if (k) { h = new c(k, j); h.prototype.constructor = k } else { h = new c(j) } h.prototype.override = function (p) { for (var n in p) { if (p.hasOwnProperty(n)) { this[n] = p[n] } } }; return h } } ()); (function (c, e, h, d, g) { function a() { function j() { return this.constructor.apply(this, arguments) || null } return j } var b = Ext.ClassManager = { classes: {}, existCache: {}, namespaceRewrites: [{ from: "Ext.", to: Ext } ], maps: { alternateToName: {}, aliasToName: {}, nameToAliases: {}, nameToAlternates: {} }, enableNamespaceParseCache: true, namespaceParseCache: {}, instantiators: [], isCreated: function (n) { var m = this.existCache, l, o, k, j, p; if (this.classes[n] || m[n]) { return true } j = g; p = this.parseNamespace(n); for (l = 0, o = p.length; l < o; l++) { k = p[l]; if (typeof k != "string") { j = k } else { if (!j || !j[k]) { return false } j = j[k] } } m[n] = true; this.triggerCreated(n); return true }, createdListeners: [], nameCreatedListeners: {}, triggerCreated: function (s) { var u = this.createdListeners, m = this.nameCreatedListeners, n = this.maps.nameToAlternates[s], t = [s], p, r, o, q, l, k; for (p = 0, r = u.length; p < r; p++) { l = u[p]; l.fn.call(l.scope, s) } if (n) { t.push.apply(t, n) } for (p = 0, r = t.length; p < r; p++) { k = t[p]; u = m[k]; if (u) { for (o = 0, q = u.length; o < q; o++) { l = u[o]; l.fn.call(l.scope, k) } delete m[k] } } }, onCreated: function (n, m, l) { var k = this.createdListeners, j = this.nameCreatedListeners, o = { fn: n, scope: m }; if (l) { if (this.isCreated(l)) { n.call(m, l); return } if (!j[l]) { j[l] = [] } j[l].push(o) } else { k.push(o) } }, parseNamespace: function (l) { var j = this.namespaceParseCache, m, o, q, k, t, s, r, n, p; if (this.enableNamespaceParseCache) { if (j.hasOwnProperty(l)) { return j[l] } } m = []; o = this.namespaceRewrites; q = g; k = l; for (n = 0, p = o.length; n < p; n++) { t = o[n]; s = t.from; r = t.to; if (k === s || k.substring(0, s.length) === s) { k = k.substring(s.length); if (typeof r != "string") { q = r } else { m = m.concat(r.split(".")) } break } } m.push(q); m = m.concat(k.split(".")); if (this.enableNamespaceParseCache) { j[l] = m } return m }, setNamespace: function (m, p) { var k = g, q = this.parseNamespace(m), o = q.length - 1, j = q[o], n, l; for (n = 0; n < o; n++) { l = q[n]; if (typeof l != "string") { k = l } else { if (!k[l]) { k[l] = {} } k = k[l] } } k[j] = p; return k[j] }, createNamespaces: function () { var k = g, p, m, n, l, o, q; for (n = 0, o = arguments.length; n < o; n++) { p = this.parseNamespace(arguments[n]); for (l = 0, q = p.length; l < q; l++) { m = p[l]; if (typeof m != "string") { k = m } else { if (!k[m]) { k[m] = {} } k = k[m] } } } return k }, set: function (j, n) { var m = this, p = m.maps, o = p.nameToAlternates, l = m.getName(n), k; m.classes[j] = m.setNamespace(j, n); if (l && l !== j) { p.alternateToName[j] = l; k = o[l] || (o[l] = []); k.push(j) } return this }, get: function (l) { var n = this.classes, j, p, k, m, o; if (n[l]) { return n[l] } j = g; p = this.parseNamespace(l); for (m = 0, o = p.length; m < o; m++) { k = p[m]; if (typeof k != "string") { j = k } else { if (!j || !j[k]) { return null } j = j[k] } } return j }, setAlias: function (j, k) { var m = this.maps.aliasToName, n = this.maps.nameToAliases, l; if (typeof j == "string") { l = j } else { l = this.getName(j) } if (k && m[k] !== l) { m[k] = l } if (!n[l]) { n[l] = [] } if (k) { Ext.Array.include(n[l], k) } return this }, addNameAliasMappings: function (j) { var o = this.maps.aliasToName, p = this.maps.nameToAliases, m, n, l, k; for (m in j) { n = p[m] || (p[m] = []); for (k = 0; k < j[m].length; k++) { l = j[m][k]; if (!o[l]) { o[l] = m; n.push(l) } } } return this }, addNameAlternateMappings: function (m) { var j = this.maps.alternateToName, p = this.maps.nameToAlternates, l, n, o, k; for (l in m) { n = p[l] || (p[l] = []); for (k = 0; k < m[l].length; k++) { o = m[l][k]; if (!j[o]) { j[o] = l; n.push(o) } } } return this }, getByAlias: function (j) { return this.get(this.getNameByAlias(j)) }, getNameByAlias: function (j) { return this.maps.aliasToName[j] || "" }, getNameByAlternate: function (j) { return this.maps.alternateToName[j] || "" }, getAliasesByName: function (j) { return this.maps.nameToAliases[j] || [] }, getName: function (j) { return j && j.$className || "" }, getClass: function (j) { return j && j.self || null }, create: function (k, m, j) { var l = a(); if (typeof m == "function") { m = m(l) } m.$className = k; return new c(l, m, function () { var n = m.postprocessors || b.defaultPostprocessors, u = b.postprocessors, v = [], t, p, s, o, r, q, w; delete m.postprocessors; for (p = 0, s = n.length; p < s; p++) { t = n[p]; if (typeof t == "string") { t = u[t]; q = t.properties; if (q === true) { v.push(t.fn) } else { if (q) { for (o = 0, r = q.length; o < r; o++) { w = q[o]; if (m.hasOwnProperty(w)) { v.push(t.fn); break } } } } } else { v.push(t) } } m.postprocessors = v; m.createdFn = j; b.processCreate(k, this, m) }) }, processCreate: function (m, k, o) { var n = this, j = o.postprocessors.shift(), l = o.createdFn; if (!j) { if (m) { n.set(m, k) } if (l) { l.call(k, k) } if (m) { n.triggerCreated(m) } return } if (j.call(n, m, k, o, n.processCreate) !== false) { n.processCreate(m, k, o) } }, createOverride: function (m, q, k) { var p = this, o = q.override, l = q.requires, j = q.uses, n = function () { var r, s; if (l) { s = l; l = null; Ext.Loader.require(s, n) } else { r = p.get(o); delete q.override; delete q.requires; delete q.uses; Ext.override(r, q); p.triggerCreated(m); if (j) { Ext.Loader.addUsedClasses(j) } if (k) { k.call(r) } } }; p.existCache[m] = true; p.onCreated(n, p, o); return p }, instantiateByAlias: function () { var k = arguments[0], j = h.call(arguments), l = this.getNameByAlias(k); if (!l) { l = this.maps.aliasToName[k]; Ext.syncRequire(l) } j[0] = l; return this.instantiate.apply(this, j) }, instantiate: function () { var l = arguments[0], n = typeof l, k = h.call(arguments, 1), m = l, o, j; if (n != "function") { if (n != "string" && k.length === 0) { k = [l]; l = l.xclass } j = this.get(l) } else { j = l } if (!j) { o = this.getNameByAlias(l); if (o) { l = o; j = this.get(l) } } if (!j) { o = this.getNameByAlternate(l); if (o) { l = o; j = this.get(l) } } if (!j) { Ext.syncRequire(l); j = this.get(l) } return this.getInstantiator(k.length)(j, k) }, dynInstantiate: function (k, j) { j = d(j, true); j.unshift(k); return this.instantiate.apply(this, j) }, getInstantiator: function (m) { var l = this.instantiators, n, k, j; n = l[m]; if (!n) { k = m; j = []; for (k = 0; k < m; k++) { j.push("a[" + k + "]") } n = l[m] = new Function("c", "a", "return new c(" + j.join(",") + ")") } return n }, postprocessors: {}, defaultPostprocessors: [], registerPostprocessor: function (k, n, l, j, m) { if (!j) { j = "last" } if (!l) { l = [k] } this.postprocessors[k] = { name: k, properties: l || false, fn: n }; this.setDefaultPostprocessorPosition(k, j, m); return this }, setDefaultPostprocessors: function (j) { this.defaultPostprocessors = d(j); return this }, setDefaultPostprocessorPosition: function (k, n, m) { var l = this.defaultPostprocessors, j; if (typeof n == "string") { if (n === "first") { l.unshift(k); return this } else { if (n === "last") { l.push(k); return this } } n = (n === "after") ? 1 : -1 } j = Ext.Array.indexOf(l, m); if (j !== -1) { Ext.Array.splice(l, Math.max(0, j + n), 0, k) } return this }, getNamesByExpression: function (q) { var o = this.maps.nameToAliases, r = [], j, n, l, k, s, m, p; if (q.indexOf("*") !== -1) { q = q.replace(/\*/g, "(.*?)"); s = new RegExp("^" + q + "$"); for (j in o) { if (o.hasOwnProperty(j)) { l = o[j]; if (j.search(s) !== -1) { r.push(j) } else { for (m = 0, p = l.length; m < p; m++) { n = l[m]; if (n.search(s) !== -1) { r.push(j); break } } } } } } else { k = this.getNameByAlias(q); if (k) { r.push(k) } else { k = this.getNameByAlternate(q); if (k) { r.push(k) } else { r.push(q) } } } return r } }; b.registerPostprocessor("alias", function (l, k, o) { var j = o.alias, m, n; for (m = 0, n = j.length; m < n; m++) { e = j[m]; this.setAlias(k, e) } }, ["xtype", "alias"]); b.registerPostprocessor("singleton", function (k, j, m, l) { if (m.singleton) { l.call(this, k, new j(), m) } else { return true } return false }); b.registerPostprocessor("alternateClassName", function (k, j, o) { var m = o.alternateClassName, l, n, p; if (!(m instanceof Array)) { m = [m] } for (l = 0, n = m.length; l < n; l++) { p = m[l]; this.set(p, j) } }); Ext.apply(Ext, { create: e(b, "instantiate"), widget: function (l, k) { var p = l, m, n, j, o; if (typeof p != "string") { k = l; p = k.xtype } else { k = k || {} } if (k.isComponent) { return k } m = "widget." + p; n = b.getNameByAlias(m); if (!n) { o = true } j = b.get(n); if (o || !j) { return b.instantiateByAlias(m, k) } return new j(k) }, createByAlias: e(b, "instantiateByAlias"), define: function (k, l, j) { if (l.override) { return b.createOverride.apply(b, arguments) } return b.create.apply(b, arguments) }, undefine: function (q) { var l = b.classes, s = b.maps, t = s.aliasToName, u = s.nameToAliases, w = s.alternateToName, o = s.nameToAlternates, j = u[q], r = o[q], m, v, k, n; delete b.namespaceParseCache[q]; delete u[q]; delete o[q]; delete l[q]; if (j) { for (n = j.length; n--; ) { delete t[j[n]] } } if (r) { for (n = r.length; n--; ) { delete w[r[n]] } } m = b.parseNamespace(q); v = m.length - 1; k = m[0]; for (n = 1; n < v; n++) { k = k[m[n]]; if (!k) { return } } try { delete k[m[v]] } catch (p) { k[m[v]] = undefined } }, getClassName: e(b, "getName"), getDisplayName: function (j) { if (j) { if (j.displayName) { return j.displayName } if (j.$name && j.$class) { return Ext.getClassName(j.$class) + "#" + j.$name } if (j.$className) { return j.$className } } return "Anonymous" }, getClass: e(b, "getClass"), namespace: e(b, "createNamespaces") }); Ext.createWidget = Ext.widget; Ext.ns = Ext.namespace; c.registerPreprocessor("className", function (j, k) { if (k.$className) { j.$className = k.$className } }, true, "first"); c.registerPreprocessor("alias", function (u, o) { var s = u.prototype, l = d(o.xtype), j = d(o.alias), v = "widget.", t = v.length, p = Array.prototype.slice.call(s.xtypesChain || []), m = Ext.merge({}, s.xtypesMap || {}), n, r, q, k; for (n = 0, r = j.length; n < r; n++) { q = j[n]; if (q.substring(0, t) === v) { k = q.substring(t); Ext.Array.include(l, k) } } u.xtype = o.xtype = l[0]; o.xtypes = l; for (n = 0, r = l.length; n < r; n++) { k = l[n]; if (!m[k]) { m[k] = true; p.push(k) } } o.xtypesChain = p; o.xtypesMap = m; Ext.Function.interceptAfter(o, "onClassCreated", function () { var w = s.mixins, y, x; for (y in w) { if (w.hasOwnProperty(y)) { x = w[y]; l = x.xtypes; if (l) { for (n = 0, r = l.length; n < r; n++) { k = l[n]; if (!m[k]) { m[k] = true; p.push(k) } } } } } }); for (n = 0, r = l.length; n < r; n++) { k = l[n]; Ext.Array.include(j, v + k) } o.alias = j }, ["xtype", "alias"]) } (Ext.Class, Ext.Function.alias, Array.prototype.slice, Ext.Array.from, Ext.global)); if (Ext._alternatesMetadata) { Ext.ClassManager.addNameAlternateMappings(Ext._alternatesMetadata); Ext._alternatesMetadata = null } if (Ext._aliasMetadata) { Ext.ClassManager.addNameAliasMappings(Ext._aliasMetadata); Ext._aliasMetadata = null } Ext.Loader = new function () { var l = this, b = Ext.ClassManager, u = Ext.Class, e = Ext.Function.flexSetter, p = Ext.Function.alias, a = Ext.Function.pass, d = Ext.Function.defer, h = Ext.Array.erase, o = ["extend", "mixins", "requires"], w = {}, n = [], c = /\/\.\//g, g = /\./g, k = 0; Ext.apply(l, { isInHistory: w, history: n, config: { enabled: false, scriptChainDelay: false, disableCaching: true, disableCachingParam: "_dc", garbageCollect: false, paths: { Ext: "." }, preserveScripts: true, scriptCharset: undefined }, setConfig: function (z, A) { if (Ext.isObject(z) && arguments.length === 1) { Ext.merge(l.config, z); if ("paths" in z) { Ext.app.collectNamespaces(z.paths) } } else { l.config[z] = (Ext.isObject(A)) ? Ext.merge(l.config[z], A) : A; if (z === "paths") { Ext.app.collectNamespaces(A) } } return l }, getConfig: function (z) { if (z) { return l.config[z] } return l.config }, setPath: e(function (z, A) { l.config.paths[z] = A; Ext.app.namespaces[z] = true; k++; return l }), addClassPathMappings: function (A) { var z; if (k == 0) { l.config.paths = A } else { for (z in A) { l.config.paths[z] = A[z] } } k++; return l }, getPath: function (z) { var B = "", C = l.config.paths, A = l.getPrefix(z); if (A.length > 0) { if (A === z) { return C[A] } B = C[A]; z = z.substring(A.length + 1) } if (B.length > 0) { B += "/" } return B.replace(c, "/") + z.replace(g, "/") + ".js" }, getPrefix: function (A) { var C = l.config.paths, B, z = ""; if (C.hasOwnProperty(A)) { return A } for (B in C) { if (C.hasOwnProperty(B) && B + "." === A.substring(0, B.length + 1)) { if (B.length > z.length) { z = B } } } return z }, isAClassNameWithAKnownPrefix: function (z) { var A = l.getPrefix(z); return A !== "" && A !== z }, require: function (B, A, z, C) { if (A) { A.call(z) } }, syncRequire: function () {}, exclude: function (z) { return { require: function (C, B, A) { return l.require(C, B, A, z) }, syncRequire: function (C, B, A) { return l.syncRequire(C, B, A, z) } } }, onReady: function (C, B, D, z) { var A; if (D !== false && Ext.onDocumentReady) { A = C; C = function () { Ext.onDocumentReady(A, B, z) } } C.call(B) } }); var r = [], s = {}, v = {}, t = {}, q = {}, x = [], y = [], j = {}, m = function (z, A) { return A.priority - z.priority }; Ext.apply(l, { documentHead: typeof document != "undefined" && (document.head || document.getElementsByTagName("head")[0]), isLoading: false, queue: r, isClassFileLoaded: s, isFileLoaded: v, readyListeners: x, optionalRequires: y, requiresMap: j, numPendingFiles: 0, numLoadedFiles: 0, hasFileLoadError: false, classNameToFilePathMap: t, scriptsLoading: 0, syncModeEnabled: false, scriptElements: q, refreshQueue: function () { var D = r.length, A, C, z, B; if (!D && !l.scriptsLoading) { return l.triggerReady() } for (A = 0; A < D; A++) { C = r[A]; if (C) { B = C.requires; if (B.length > l.numLoadedFiles) { continue } for (z = 0; z < B.length; ) { if (b.isCreated(B[z])) { h(B, z, 1) } else { z++ } } if (C.requires.length === 0) { h(r, A, 1); C.callback.call(C.scope); l.refreshQueue(); break } } } return l }, injectScriptElement: function (z, G, D, I, B) { var H = document.createElement("script"), E = false, A = l.config, F = function () { if (!E) { E = true; H.onload = H.onreadystatechange = H.onerror = null; if (typeof A.scriptChainDelay == "number") { d(G, A.scriptChainDelay, I) } else { G.call(I) } l.cleanupScriptElement(H, A.preserveScripts === false, A.garbageCollect) } }, C = function (J) { d(D, 1, I); l.cleanupScriptElement(H, A.preserveScripts === false, A.garbageCollect) }; H.type = "text/javascript"; H.onerror = C; B = B || A.scriptCharset; if (B) { H.charset = B } if ("addEventListener" in H) { H.onload = F } else { if ("readyState" in H) { H.onreadystatechange = function () { if (this.readyState == "loaded" || this.readyState == "complete") { F() } } } else { H.onload = F } } H.src = z; (l.documentHead || document.getElementsByTagName("head")[0]).appendChild(H); return H }, removeScriptElement: function (z) { if (q[z]) { l.cleanupScriptElement(q[z], true, !!l.getConfig("garbageCollect")); delete q[z] } return l }, cleanupScriptElement: function (B, A, C) { var D; B.onload = B.onreadystatechange = B.onerror = null; if (A) { Ext.removeNode(B); if (C) { for (D in B) { try { if (D != "src") { B[D] = null } delete B[D] } catch (z) {} } } } return l }, loadScript: function (I) { var C = l.getConfig(), B = typeof I == "string", A = B ? I : I.url, E = !B && I.onError, F = !B && I.onLoad, H = !B && I.scope, G = function () { l.numPendingFiles--; l.scriptsLoading--; if (E) { E.call(H, "Failed loading '" + A + "', please verify that the file exists") } if (l.numPendingFiles + l.scriptsLoading === 0) { l.refreshQueue() } }, D = function () { l.numPendingFiles--; l.scriptsLoading--; if (F) { F.call(H) } if (l.numPendingFiles + l.scriptsLoading === 0) { l.refreshQueue() } }, z; l.isLoading = true; l.numPendingFiles++; l.scriptsLoading++; z = C.disableCaching ? (A + "?" + C.disableCachingParam + "=" + Ext.Date.now()) : A; q[A] = l.injectScriptElement(z, D, G) }, loadScriptFile: function (A, H, F, K, z) { if (v[A]) { return l } var C = l.getConfig(), L = A + (C.disableCaching ? ("?" + C.disableCachingParam + "=" + Ext.Date.now()) : ""), B = false, J, D, I, E = ""; K = K || l; l.isLoading = true; if (!z) { I = function () {}; q[A] = l.injectScriptElement(L, H, I, K) } else { if (typeof XMLHttpRequest != "undefined") { J = new XMLHttpRequest() } else { J = new ActiveXObject("Microsoft.XMLHTTP") } try { J.open("GET", L, false); J.send(null) } catch (G) { B = true } D = (J.status === 1223) ? 204 : (J.status === 0 && ((self.location || {}).protocol == "file:" || (self.location || {}).protocol == "ionp:")) ? 200 : J.status; B = B || (D === 0); if (B) {} else { if ((D >= 200 && D < 300) || (D === 304)) { if (!Ext.isIE) { E = "\n//@ sourceURL=" + A } Ext.globalEval(J.responseText + E); H.call(K) } else {} } J = null } }, syncRequire: function () { var z = l.syncModeEnabled; if (!z) { l.syncModeEnabled = true } l.require.apply(l, arguments); if (!z) { l.syncModeEnabled = false } l.refreshQueue() }, require: function (R, I, C, E) { var K = {}, B = {}, H = [], T = [], Q = [], A = [], G, S, M, L, z, F, P, O, N, J, D; if (E) { E = (typeof E === "string") ? [E] : E; for (O = 0, J = E.length; O < J; O++) { z = E[O]; if (typeof z == "string" && z.length > 0) { H = b.getNamesByExpression(z); for (N = 0, D = H.length; N < D; N++) { K[H[N]] = true } } } } R = (typeof R === "string") ? [R] : (R ? R : []); if (I) { if (I.length > 0) { G = function () { var V = [], U, W; for (U = 0, W = A.length; U < W; U++) { V.push(b.get(A[U])) } return I.apply(this, V) } } else { G = I } } else { G = Ext.emptyFn } C = C || Ext.global; for (O = 0, J = R.length; O < J; O++) { L = R[O]; if (typeof L == "string" && L.length > 0) { T = b.getNamesByExpression(L); D = T.length; for (N = 0; N < D; N++) { P = T[N]; if (K[P] !== true) { A.push(P); if (!b.isCreated(P) && !B[P]) { B[P] = true; Q.push(P) } } } } } if (Q.length > 0) { if (!l.config.enabled) { throw new Error("Ext.Loader is not enabled, so dependencies cannot be resolved dynamically. Missing required class" + ((Q.length > 1) ? "es" : "") + ": " + Q.join(", ")) } } else { G.call(C); return l } S = l.syncModeEnabled; if (!S) { r.push({ requires: Q.slice(), callback: G, scope: C }) } J = Q.length; for (O = 0; O < J; O++) { F = Q[O]; M = l.getPath(F); if (S && s.hasOwnProperty(F)) { if (!s[F]) { l.numPendingFiles--; l.removeScriptElement(M); delete s[F] } } if (!s.hasOwnProperty(F)) { s[F] = false; t[F] = M; l.numPendingFiles++; l.loadScriptFile(M, a(l.onFileLoaded, [F, M], l), a(l.onFileLoadError, [F, M], l), l, S) } } if (S) { G.call(C); if (J === 1) { return b.get(F) } } return l }, onFileLoaded: function (B, A) { var z = s[B]; l.numLoadedFiles++; s[B] = true; v[A] = true; if (!z) { l.numPendingFiles-- } if (l.numPendingFiles === 0) { l.refreshQueue() } }, onFileLoadError: function (B, A, z, C) { l.numPendingFiles--; l.hasFileLoadError = true }, addUsedClasses: function (B) { var z, A, C; if (B) { B = (typeof B == "string") ? [B] : B; for (A = 0, C = B.length; A < C; A++) { z = B[A]; if (typeof z == "string" && !Ext.Array.contains(y, z)) { y.push(z) } } } return l }, triggerReady: function () { var z, A = y; if (l.isLoading) { l.isLoading = false; if (A.length !== 0) { A = A.slice(); y.length = 0; l.require(A, l.triggerReady, l); return l } } Ext.Array.sort(x, m); while (x.length && !l.isLoading) { z = x.shift(); z.fn.call(z.scope) } return l }, onReady: function (C, B, D, z) { var A; if (D !== false && Ext.onDocumentReady) { A = C; C = function () { Ext.onDocumentReady(A, B, z) } } if (!l.isLoading) { C.call(B) } else { x.push({ fn: C, scope: B, priority: (z && z.priority) || 0 }) } }, historyPush: function (z) { if (z && s.hasOwnProperty(z) && !w[z]) { w[z] = true; n.push(z) } return l } }); Ext.disableCacheBuster = function (A, B) { var z = new Date(); z.setTime(z.getTime() + (A ? 10 * 365 : -1) * 24 * 60 * 60 * 1000); z = z.toGMTString(); document.cookie = "ext-cache=1; expires=" + z + "; path=" + (B || "/") }; Ext.require = p(l, "require"); Ext.syncRequire = p(l, "syncRequire"); Ext.exclude = p(l, "exclude"); Ext.onReady = function (B, A, z) { l.onReady(B, A, true, z) }; u.registerPreprocessor("loader", function (P, D, O, N) { var K = this, I = [], z, J = b.getName(P), C, B, H, G, M, F, A, L, E; for (C = 0, H = o.length; C < H; C++) { F = o[C]; if (D.hasOwnProperty(F)) { A = D[F]; if (typeof A == "string") { I.push(A) } else { if (A instanceof Array) { for (B = 0, G = A.length; B < G; B++) { M = A[B]; if (typeof M == "string") { I.push(M) } } } else { if (typeof A != "function") { for (B in A) { if (A.hasOwnProperty(B)) { M = A[B]; if (typeof M == "string") { I.push(M) } } } } } } } } if (I.length === 0) { return } l.require(I, function () { for (C = 0, H = o.length; C < H; C++) { F = o[C]; if (D.hasOwnProperty(F)) { A = D[F]; if (typeof A == "string") { D[F] = b.get(A) } else { if (A instanceof Array) { for (B = 0, G = A.length; B < G; B++) { M = A[B]; if (typeof M == "string") { D[F][B] = b.get(M) } } } else { if (typeof A != "function") { for (var Q in A) { if (A.hasOwnProperty(Q)) { M = A[Q]; if (typeof M == "string") { D[F][Q] = b.get(M) } } } } } } } } N.call(K, P, D, O) }); return false }, true, "after", "className"); b.registerPostprocessor("uses", function (B, A, C) { var z = C.uses; if (z) { l.addUsedClasses(z) } }); b.onCreated(l.historyPush) } (); if (Ext._classPathMetadata) { Ext.Loader.addClassPathMappings(Ext._classPathMetadata); Ext._classPathMetadata = null } (function () { var a = document.getElementsByTagName("script"), b = a[a.length - 1], d = b.src, c = d.substring(0, d.lastIndexOf("/") + 1), e = Ext.Loader; e.setConfig({ enabled: true, disableCaching: true, paths: { Ext: c + "src" } }) })(); Ext._endTime = new Date().getTime(); if (Ext._beforereadyhandler) { Ext._beforereadyhandler() } Ext.Error = Ext.extend(Error, { statics: { ignore: false, raise: function (a) { a = a || {}; if (Ext.isString(a)) { a = { msg: a } } var c = this.raise.caller, b; if (c) { if (c.$name) { a.sourceMethod = c.$name } if (c.$owner) { a.sourceClass = c.$owner.$className } } if (Ext.Error.handle(a) !== true) { b = Ext.Error.prototype.toString.call(a); Ext.log({ msg: b, level: "error", dump: a, stack: true }); throw new Ext.Error(a) } }, handle: function () { return Ext.Error.ignore } }, name: "Ext.Error", constructor: function (a) { if (Ext.isString(a)) { a = { msg: a } } var b = this; Ext.apply(b, a); b.message = b.message || b.msg }, toString: function () { var c = this, b = c.sourceClass ? c.sourceClass : "", a = c.sourceMethod ? "." + c.sourceMethod + "(): " : "", d = c.msg || "(No description provided)"; return b + a + d } }); Ext.deprecated = function (a) { return Ext.emptyFn }; Ext.JSON = (new(function () { var me = this, encodingFunction, decodingFunction, useNative = null, useHasOwn = !!{} .hasOwnProperty, isNative = function () { if (useNative === null) { useNative = Ext.USE_NATIVE_JSON && window.JSON && JSON.toString() == "[object JSON]" } return useNative }, pad = function (n) { return n < 10 ? "0" + n : n }, doDecode = function (json) { return eval("(" + json + ")") }, doEncode = function (o, newline) { if (o === null || o === undefined) { return "null" } else { if (Ext.isDate(o)) { return Ext.JSON.encodeDate(o) } else { if (Ext.isString(o)) { return Ext.JSON.encodeString(o) } else { if (typeof o == "number") { return isFinite(o) ? String(o) : "null" } else { if (Ext.isBoolean(o)) { return String(o) } else { if (o.toJSON) { return o.toJSON() } else { if (Ext.isArray(o)) { return encodeArray(o, newline) } else { if (Ext.isObject(o)) { return encodeObject(o, newline) } else { if (typeof o === "function") { return "null" } } } } } } } } } return "undefined" }, m = { "\b": "\\b", "\t": "\\t", "\n": "\\n", "\f": "\\f", "\r": "\\r", '"': '\\"', "\\": "\\\\", "\v": "\\u000b" }, charToReplace = /[\\\"\x00-\x1f\x7f-\uffff]/g, encodeString = function (s) { return '"' + s.replace(charToReplace, function (a) { var c = m[a]; return typeof c === "string" ? c : "\\u" + ("0000" + a.charCodeAt(0).toString(16)).slice(-4) }) + '"' }, encodeArray = function (o, newline) { var a = ["[", ""], len = o.length, i; for (i = 0; i < len; i += 1) { a.push(Ext.JSON.encodeValue(o[i]), ",") } a[a.length - 1] = "]"; return a.join("") }, encodeObject = function (o, newline) { var a = ["{", ""], i, val; for (i in o) { val = o[i]; if (!useHasOwn || o.hasOwnProperty(i)) { if (typeof val === "function" || val === undefined) { continue } a.push(Ext.JSON.encodeValue(i), ":", Ext.JSON.encodeValue(val), ",") } } a[a.length - 1] = "}"; return a.join("") }; me.encodeString = encodeString; me.encodeValue = doEncode; me.encodeDate = function (o) { return '"' + o.getFullYear() + "-" + pad(o.getMonth() + 1) + "-" + pad(o.getDate()) + "T" + pad(o.getHours()) + ":" + pad(o.getMinutes()) + ":" + pad(o.getSeconds()) + '"' }; me.encode = function (o) { if (!encodingFunction) { encodingFunction = isNative() ? JSON.stringify : me.encodeValue } return encodingFunction(o) }; me.decode = function (json, safe) { if (!decodingFunction) { decodingFunction = isNative() ? JSON.parse : doDecode } try { return decodingFunction(json) } catch (e) { if (safe === true) { return null } Ext.Error.raise({ sourceClass: "Ext.JSON", sourceMethod: "decode", msg: "You're trying to decode an invalid JSON String: " + json }) } } })()); Ext.encode = Ext.JSON.encode; Ext.decode = Ext.JSON.decode; Ext.apply(Ext, { userAgent: navigator.userAgent.toLowerCase(), cache: {}, idSeed: 1000, windowId: "ext-window", documentId: "ext-document", isReady: false, enableGarbageCollector: true, enableListenerCollection: true, rootHierarchyState: {}, addCacheEntry: function (g, c, e) { e = e || c.dom; var a = Ext.cache, b = g || (c && c.id) || e.id, d = a[b] || (a[b] = { data: {}, events: {}, dom: e, skipGarbageCollection: !!(e.getElementById || e.navigator) }); if (c) { c.$cache = d; d.el = c } return d }, updateCacheEntry: function (a, b) { a.dom = b; if (a.el) { a.el.dom = b } return a }, id: function (a, c) { var b = this, d = ""; a = Ext.getDom(a, true) || {}; if (a === document) { a.id = b.documentId } else { if (a === window) { a.id = b.windowId } } if (!a.id) { if (b.isSandboxed) { d = Ext.sandboxName.toLowerCase() + "-" } a.id = d + (c || "ext-gen") + (++Ext.idSeed) } return a.id }, escapeId: (function () { var c = /^[a-zA-Z_][a-zA-Z0-9_\-]*$/i, d = /([\W]{1})/g, b = /^(\d)/g, a = function (h, g) { return "\\" + g }, e = function (h, g) { return "\\00" + g.charCodeAt(0).toString(16) + " " }; return function (g) { return c.test(g) ? g : g.replace(d, a).replace(b, e) } } ()), getBody: (function () { var a; return function () { return a || (a = Ext.get(document.body)) } } ()), getHead: (function () { var a; return function () { return a || (a = Ext.get(document.getElementsByTagName("head")[0])) } } ()), getDoc: (function () { var a; return function () { return a || (a = Ext.get(document)) } } ()), getOrientation: function () { return window.innerHeight > window.innerWidth ? "portrait" : "landscape" }, destroy: function () { var c = arguments.length, b, a; for (b = 0; b < c; b++) { a = arguments[b]; if (a) { if (Ext.isArray(a)) { this.destroy.apply(this, a) } else { if (a.isStore) { a.destroyStore() } else { if (Ext.isFunction(a.destroy)) { a.destroy() } else { if (a.dom) { a.remove() } } } } } } }, callback: function (g, e, c, b) { var d, a; if (Ext.isFunction(g)) { d = g } else { if (e && Ext.isString(g)) { d = e[g] } } if (d) { c = c || []; e = e || window; if (b) { Ext.defer(d, b, e, c) } else { a = d.apply(e, c) } } return a }, resolveMethod: function (b, a) { if (Ext.isFunction(b)) { return b } return a[b] }, htmlEncode: function (a) { return Ext.String.htmlEncode(a) }, htmlDecode: function (a) { return Ext.String.htmlDecode(a) }, urlAppend: function (a, b) { return Ext.String.urlAppend(a, b) } }); Ext.ns = Ext.namespace; window.undefined = window.undefined; (function () { var q = function (e) { return e.test(Ext.userAgent) }, v = document.compatMode == "CSS1Compat", H = function (T, S) { var e; return (T && (e = S.exec(Ext.userAgent))) ? parseFloat(e[1]) : 0 }, r = document.documentMode, a = q(/opera/), x = a && q(/version\/10\.5/), M = q(/\bchrome\b/), B = q(/webkit/), c = !M && q(/safari/), K = c && q(/applewebkit\/4/), I = c && q(/version\/3/), F = c && q(/version\/4/), l = c && q(/version\/5\.0/), E = c && q(/version\/5/), k = !a && q(/msie/), L = k && ((q(/msie 7/) && r != 8 && r != 9 && r != 10) || r == 7), J = k && ((q(/msie 8/) && r != 7 && r != 9 && r != 10) || r == 8), G = k && ((q(/msie 9/) && r != 7 && r != 8 && r != 10) || r == 9), h = k && ((q(/msie 10/) && r != 7 && r != 8 && r != 9) || r == 10), O = k && q(/msie 6/), b = !B && q(/gecko/), R = b && q(/rv:1\.9/), Q = b && q(/rv:2\.0/), P = b && q(/rv:5\./), t = b && q(/rv:10\./), A = R && q(/rv:1\.9\.0/), y = R && q(/rv:1\.9\.1/), w = R && q(/rv:1\.9\.2/), g = q(/windows|win32/), D = q(/macintosh|mac os x/), z = q(/linux/), n = null, o = H(true, /\bchrome\/(\d+\.\d+)/), j = H(true, /\bfirefox\/(\d+\.\d+)/), p = H(k, /msie (\d+\.\d+)/), u = H(a, /version\/(\d+\.\d+)/), d = H(c, /version\/(\d+\.\d+)/), C = H(B, /webkit\/(\d+\.\d+)/), s = /^https/i.test(window.location.protocol), m; try { document.execCommand("BackgroundImageCache", false, true) } catch (N) {} m = function () {}; m.info = m.warn = m.error = Ext.emptyFn; Ext.setVersion("extjs", "4.2.1.883"); Ext.apply(Ext, { SSL_SECURE_URL: s && k ? "javascript:''" : "about:blank", plainTableCls: Ext.buildSettings.baseCSSPrefix + "table-plain", plainListCls: Ext.buildSettings.baseCSSPrefix + "list-plain", enableNestedListenerRemoval: false, USE_NATIVE_JSON: false, getDom: function (T, S) { if (!T || !document) { return null } if (T.dom) { return T.dom } else { if (typeof T == "string") { var U = Ext.getElementById(T); if (U && k && S) { if (T == U.getAttribute("id")) { return U } else { return null } } return U } else { return T } } }, removeNode: O || L || J ? (function () { var e; return function (U) { if (U && U.tagName.toUpperCase() != "BODY") { (Ext.enableNestedListenerRemoval) ? Ext.EventManager.purgeElement(U) : Ext.EventManager.removeAll(U); var S = Ext.cache, T = U.id; if (S[T]) { delete S[T].dom; delete S[T] } if (J && U.parentNode) { U.parentNode.removeChild(U) } e = e || document.createElement("div"); e.appendChild(U); e.innerHTML = "" } } } ()) : function (T) { if (T && T.parentNode && T.tagName.toUpperCase() != "BODY") { (Ext.enableNestedListenerRemoval) ? Ext.EventManager.purgeElement(T) : Ext.EventManager.removeAll(T); var e = Ext.cache, S = T.id; if (e[S]) { delete e[S].dom; delete e[S] } T.parentNode.removeChild(T) } }, isStrict: v, isIEQuirks: k && (!v && (O || L || J || G)), isOpera: a, isOpera10_5: x, isWebKit: B, isChrome: M, isSafari: c, isSafari3: I, isSafari4: F, isSafari5: E, isSafari5_0: l, isSafari2: K, isIE: k, isIE6: O, isIE7: L, isIE7m: O || L, isIE7p: k && !O, isIE8: J, isIE8m: O || L || J, isIE8p: k && !(O || L), isIE9: G, isIE9m: O || L || J || G, isIE9p: k && !(O || L || J), isIE10: h, isIE10m: O || L || J || G || h, isIE10p: k && !(O || L || J || G), isGecko: b, isGecko3: R, isGecko4: Q, isGecko5: P, isGecko10: t, isFF3_0: A, isFF3_5: y, isFF3_6: w, isFF4: 4 <= j && j < 5, isFF5: 5 <= j && j < 6, isFF10: 10 <= j && j < 11, isLinux: z, isWindows: g, isMac: D, chromeVersion: o, firefoxVersion: j, ieVersion: p, operaVersion: u, safariVersion: d, webKitVersion: C, isSecure: s, BLANK_IMAGE_URL: (O || L) ? "//www.sencha.com/s.gif" : "data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", value: function (T, e, S) { return Ext.isEmpty(T, S) ? e : T }, escapeRe: function (e) { return e.replace(/([-.*+?\^${}()|\[\]\/\\])/g, "\\$1") }, addBehaviors: function (V) { if (!Ext.isReady) { Ext.onReady(function () { Ext.addBehaviors(V) }) } else { var S = {}, U, e, T; for (e in V) { if ((U = e.split("@"))[1]) { T = U[0]; if (!S[T]) { S[T] = Ext.select(T) } S[T].on(U[1], V[e]) } } S = null } }, getScrollbarSize: function (S) { if (!Ext.isReady) { return {} } if (S || !n) { var e = document.body, T = document.createElement("div"); T.style.width = T.style.height = "100px"; T.style.overflow = "scroll"; T.style.position = "absolute"; e.appendChild(T); n = { width: T.offsetWidth - T.clientWidth, height: T.offsetHeight - T.clientHeight }; e.removeChild(T) } return n }, getScrollBarWidth: function (S) { var e = Ext.getScrollbarSize(S); return e.width + 2 }, copyTo: function (S, U, W, V) { if (typeof W == "string") { W = W.split(/[,;\s]/) } var X, T = W ? W.length : 0, e; for (X = 0; X < T; X++) { e = W[X]; if (V || U.hasOwnProperty(e)) { S[e] = U[e] } } return S }, destroyMembers: function (U) { for (var T = 1, S = arguments, e = S.length; T < e; T++) { Ext.destroy(U[S[T]]); delete U[S[T]] } }, log: m, partition: function (e, V) { var W = [[], []], S, U, T = e.length; for (S = 0; S < T; S++) { U = e[S]; W[(V && V(U, S, e)) || (!V && U) ? 0 : 1].push(U) } return W }, invoke: function (e, V) { var X = [], W = Array.prototype.slice.call(arguments, 2), S, U, T = e.length; for (S = 0; S < T; S++) { U = e[S]; if (U && typeof U[V] == "function") { X.push(U[V].apply(U, W)) } else { X.push(undefined) } } return X }, zip: function () { var Y = Ext.partition(arguments, function (Z) { return typeof Z != "function" }), V = Y[0], X = Y[1][0], e = Ext.max(Ext.pluck(V, "length")), U = [], W, T, S; for (W = 0; W < e; W++) { U[W] = []; if (X) { U[W] = X.apply(X, Ext.pluck(V, W)) } else { for (T = 0, S = V.length; T < S; T++) { U[W].push(V[T][W]) } } } return U }, toSentence: function (S, e) { var V = S.length, U, T; if (V <= 1) { return S[0] } else { U = S.slice(0, V - 1); T = S[V - 1]; return Ext.util.Format.format("{0} {1} {2}", U.join(", "), e || "and", T) } }, setGlyphFontFamily: function (e) { Ext._glyphFontFamily = e }, useShims: O }) } ()); Ext.application = function (a) { var c, d, b; if (typeof a === "string") { Ext.require(a, function () { c = Ext.ClassManager.get(a) }) } else { Ext.Loader.setPath(a.name, a.appFolder || "app"); if (d = a.paths) { for (b in d) { if (d.hasOwnProperty(b)) { Ext.Loader.setPath(b, d[b]) } } } a["paths processed"] = true; Ext.define(a.name + ".$application", Ext.apply({ extend: "Ext.app.Application" }, a), function () { c = this }) } Ext.onReady(function () { Ext.app.Application.instance = new c() }) }; (function () { Ext.ns("Ext.util"); var g = Ext.util.Format = {}, c = /<\/?[^>]+>/gi, j = /(?:)((\n|\r|.)*?)(?:<\/script>)/ig, e = /\r?\n/g, b = /^#+$/, h = /[\d,\.#]+/, k = /[^\d\.#]/g, a, d = {}; Ext.apply(g, { thousandSeparator: ",", decimalSeparator: ".", currencyPrecision: 2, currencySign: "$", currencyAtEnd: false, undef: function (l) { return l !== undefined ? l : "" }, defaultValue: function (m, l) { return m !== undefined && m !== "" ? m : l }, substr: "ab".substr(-1) != "b" ? function (m, o, l) { var n = String(m); return (o < 0) ? n.substr(Math.max(n.length + o, 0), l) : n.substr(o, l) } : function (m, n, l) { return String(m).substr(n, l) }, lowercase: function (l) { return String(l).toLowerCase() }, uppercase: function (l) { return String(l).toUpperCase() }, usMoney: function (l) { return g.currency(l, "$", 2) }, currency: function (n, p, m, l) { var r = "", q = ",0", o = 0; n = n - 0; if (n < 0) { n = -n; r = "-" } m = Ext.isDefined(m) ? m : g.currencyPrecision; q += (m > 0 ? "." : ""); for (; o < m; o++) { q += "0" } n = g.number(n, q); if ((l || g.currencyAtEnd) === true) { return Ext.String.format("{0}{1}{2}", r, n, p || g.currencySign) } else { return Ext.String.format("{0}{1}{2}", r, p || g.currencySign, n) } }, date: function (l, m) { if (!l) { return "" } if (!Ext.isDate(l)) { l = new Date(Date.parse(l)) } return Ext.Date.dateFormat(l, m || Ext.Date.defaultFormat) }, dateRenderer: function (l) { return function (m) { return g.date(m, l) } }, stripTags: function (l) { return !l ? l : String(l).replace(c, "") }, stripScripts: function (l) { return !l ? l : String(l).replace(j, "") }, fileSize: (function () { var l = 1024, m = 1048576, n = 1073741824; return function (p) { var o; if (p < l) { if (p === 1) { o = "1 byte" } else { o = p + " bytes" } } else { if (p < m) { o = (Math.round(((p * 10) / l)) / 10) + " KB" } else { if (p < n) { o = (Math.round(((p * 10) / m)) / 10) + " MB" } else { o = (Math.round(((p * 10) / n)) / 10) + " GB" } } } return o } })(), math: (function () { var l = {}; return function (n, m) { if (!l[m]) { l[m] = Ext.functionFactory("v", "return v " + m + ";") } return l[m](n) } } ()), round: function (n, m) { var l = Number(n); if (typeof m == "number") { m = Math.pow(10, m); l = Math.round(n * m) / m } return l }, number: function (t, o) { if (!o) { return t } var n = d[o]; if (!n) { var q = o, y = g.thousandSeparator, u = g.decimalSeparator, m, r, s, p = 0, w, x, l; if (o.substr(o.length - 2) == "/i") { if (!a) { a = new RegExp("[^\\d\\" + g.decimalSeparator + "]", "g") } o = o.substr(0, o.length - 2); m = o.indexOf(y) != -1; r = o.replace(a, "").split(u) } else { m = o.indexOf(",") != -1; r = o.replace(k, "").split(".") } s = o.replace(h, ""); if (r.length > 2) {} else { if (r.length === 2) { p = r[1].length; x = b.test(r[1]) } } l = ["var utilFormat=Ext.util.Format,extNumber=Ext.Number,neg,fnum,parts" + (m ? ",thousandSeparator,thousands=[],j,n,i" : "") + (s ? ',formatString="' + o + '",formatPattern=/[\\d,\\.#]+/' : "") + (x ? ",trailingZeroes=/\\.?0+$/;" : ";") + 'return function(v){if(typeof v!=="number"&&isNaN(v=extNumber.from(v,NaN)))return"";neg=v<0;', "fnum=Ext.Number.toFixed(Math.abs(v), " + p + ");"]; if (m) { if (p) { l[l.length] = 'parts=fnum.split(".");'; l[l.length] = "fnum=parts[0];" } l[l.length] = "if(v>=1000) {"; l[l.length] = "thousandSeparator=utilFormat.thousandSeparator;thousands.length=0;j=fnum.length;n=fnum.length%3||3;for(i=0;i") }, capitalize: Ext.String.capitalize, ellipsis: Ext.String.ellipsis, format: Ext.String.format, htmlDecode: Ext.String.htmlDecode, htmlEncode: Ext.String.htmlEncode, leftPad: Ext.String.leftPad, trim: Ext.String.trim, parseBox: function (m) { m = m || 0; if (typeof m === "number") { return { top: m, right: m, bottom: m, left: m } } var n = m.split(" "), l = n.length; if (l == 1) { n[1] = n[2] = n[3] = n[0] } else { if (l == 2) { n[2] = n[0]; n[3] = n[1] } else { if (l == 3) { n[3] = n[1] } } } return { top: parseInt(n[0], 10) || 0, right: parseInt(n[1], 10) || 0, bottom: parseInt(n[2], 10) || 0, left: parseInt(n[3], 10) || 0 } }, escapeRegex: function (l) { return l.replace(/([\-.*+?\^${}()|\[\]\/\\])/g, "\\$1") } }) } ()); (Ext.cmd.derive("Ext.util.TaskRunner", Ext.Base, { interval: 10, timerId: null, constructor: function (a) { var b = this; if (typeof a == "number") { b.interval = a } else { if (a) { Ext.apply(b, a) } } b.tasks = []; b.timerFn = Ext.Function.bind(b.onTick, b) }, newTask: function (b) { var a = new Ext.util.TaskRunner.Task(b); a.manager = this; return a }, start: function (a) { var c = this, b = Ext.Date.now(); if (!a.pending) { c.tasks.push(a); a.pending = true } a.stopped = false; a.taskStartTime = b; a.taskRunTime = a.fireOnStart !== false ? 0 : a.taskStartTime; a.taskRunCount = 0; if (!c.firing) { if (a.fireOnStart !== false) { c.startTimer(0, b) } else { c.startTimer(a.interval, b) } } return a }, stop: function (a) { if (!a.stopped) { a.stopped = true; if (a.onStop) { a.onStop.call(a.scope || a, a) } } return a }, stopAll: function () { Ext.each(this.tasks, this.stop, this) }, firing: false, nextExpires: 1e+99, onTick: function () { var m = this, e = m.tasks, a = Ext.Date.now(), n = 1e+99, k = e.length, c, o, h, b, d, g; m.timerId = null; m.firing = true; for (h = 0; h < k || h < (k = e.length); ++h) { b = e[h]; if (!(g = b.stopped)) { c = b.taskRunTime + b.interval; if (c <= a) { d = 1; try { d = b.run.apply(b.scope || b, b.args || [++b.taskRunCount]) } catch (j) { try { if (b.onError) { d = b.onError.call(b.scope || b, b, j) } } catch (l) {} } b.taskRunTime = a; if (d === false || b.taskRunCount === b.repeat) { m.stop(b); g = true } else { g = b.stopped; c = a + b.interval } } if (!g && b.duration && b.duration <= (a - b.taskStartTime)) { m.stop(b); g = true } } if (g) { b.pending = false; if (!o) { o = e.slice(0, h) } } else { if (o) { o.push(b) } if (n > c) { n = c } } } if (o) { m.tasks = o } m.firing = false; if (m.tasks.length) { m.startTimer(n - a, Ext.Date.now()) } if (m.fireIdleEvent !== false) { Ext.EventManager.idleEvent.fire() } }, startTimer: function (e, c) { var d = this, b = c + e, a = d.timerId; if (a && d.nextExpires - b > d.interval) { clearTimeout(a); a = null } if (!a) { if (e < d.interval) { e = d.interval } d.timerId = setTimeout(d.timerFn, e); d.nextExpires = b } } }, 1, 0, 0, 0, 0, 0, [Ext.util, "TaskRunner"], function () { var b = this, a = b.prototype; a.destroy = a.stopAll; Ext.util.TaskManager = Ext.TaskManager = new b(); b.Task = new Ext.Class({ isTask: true, stopped: true, fireOnStart: false, constructor: function (c) { Ext.apply(this, c) }, restart: function (c) { if (c !== undefined) { this.interval = c } this.manager.start(this) }, start: function (c) { if (this.stopped) { this.restart(c) } }, stop: function () { this.manager.stop(this) } }); a = b.Task.prototype; a.destroy = a.stop })); (Ext.cmd.derive("Ext.util.TaskManager", Ext.util.TaskRunner, { alternateClassName: ["Ext.TaskManager"], singleton: true }, 0, 0, 0, 0, 0, 0, [Ext.util, "TaskManager", Ext, "TaskManager"], 0)); (Ext.cmd.derive("Ext.perf.Accumulator", Ext.Base, (function () { var c = null, h = Ext.global.chrome, d, b = function () { b = function () { return new Date().getTime() }; var m, n; if (Ext.isChrome && h && h.Interval) { m = new h.Interval(); m.start(); b = function () { return m.microseconds() / 1000 } } else { if (window.ActiveXObject) { try { n = new ActiveXObject("SenchaToolbox.Toolbox"); Ext.senchaToolbox = n; b = function () { return n.milliseconds } } catch (o) {} } else { if (Date.now) { b = Date.now } } } Ext.perf.getTimestamp = Ext.perf.Accumulator.getTimestamp = b; return b() }; function j(n, m) { n.sum += m; n.min = Math.min(n.min, m); n.max = Math.max(n.max, m) } function e(p) { var n = p ? p : (b() - this.time), o = this, m = o.accum; ++m.count; if (!--m.depth) { j(m.total, n) } j(m.pure, n - o.childTime); c = o.parent; if (c) { ++c.accum.childCount; c.childTime += n } } function a() { return { min: Number.MAX_VALUE, max: 0, sum: 0 } } function k(n, m) { return function () { var p = n.enter(), o = m.apply(this, arguments); p.leave(); return o } } function l(m) { return Math.round(m * 100) / 100 } function g(o, n, m, q) { var p = { avg: 0, min: q.min, max: q.max, sum: 0 }; if (o) { m = m || 0; p.sum = q.sum - n * m; p.avg = p.sum / o } return p } return { constructor: function (m) { var n = this; n.count = n.childCount = n.depth = n.maxDepth = 0; n.pure = a(); n.total = a(); n.name = m }, statics: { getTimestamp: b }, format: function (m) { if (!d) { d = new Ext.XTemplate(["{name} - {count} call(s)", '', '', " ({childCount} children)", "", '', " ({depth} deep)", "", '', ", {type}: {[this.time(values.sum)]} msec (", "avg={[this.time(values.sum / parent.count)]}", ")", "", ""].join(""), { time: function (o) { return Math.round(o * 100) / 100 } }) } var n = this.getData(m); n.name = this.name; n.pure.type = "Pure"; n.total.type = "Total"; n.times = [n.pure, n.total]; return d.apply(n) }, getData: function (m) { var n = this; return { count: n.count, childCount: n.childCount, depth: n.maxDepth, pure: g(n.count, n.childCount, m, n.pure), total: g(n.count, n.childCount, m, n.total) } }, enter: function () { var m = this, n = { accum: m, leave: e, childTime: 0, parent: c }; ++m.depth; if (m.maxDepth < m.depth) { m.maxDepth = m.depth } c = n; n.time = b(); return n }, monitor: function (o, n, m) { var p = this.enter(); if (m) { o.apply(n, m) } else { o.call(n) } p.leave() }, report: function () { Ext.log(this.format()) }, tap: function (u, w) { var v = this, p = typeof w == "string" ? [w] : w, t, x, r, q, o, n, m, s; s = function () { if (typeof u == "string") { t = Ext.global; q = u.split("."); for (r = 0, o = q.length; r < o; ++r) { t = t[q[r]] } } else { t = u } for (r = 0, o = p.length; r < o; ++r) { n = p[r]; x = n.charAt(0) == "!"; if (x) { n = n.substring(1) } else { x = !(n in t.prototype) } m = x ? t : t.prototype; m[n] = k(v, m[n]) } }; Ext.ClassManager.onCreated(s, v, u); return v } } } ()), 1, 0, 0, 0, 0, 0, [Ext.perf, "Accumulator"], function () { Ext.perf.getTimestamp = this.getTimestamp })); (Ext.cmd.derive("Ext.perf.Monitor", Ext.Base, { singleton: true, alternateClassName: "Ext.Perf", constructor: function () { this.accumulators = []; this.accumulatorsByName = {} }, calibrate: function () { var b = new Ext.perf.Accumulator("$"), g = b.total, c = Ext.perf.Accumulator.getTimestamp, e = 0, h, a, d; d = c(); do { h = b.enter(); h.leave(); ++e } while (g.sum < 100); a = c(); return (a - d) / e }, get: function (b) { var c = this, a = c.accumulatorsByName[b]; if (!a) { c.accumulatorsByName[b] = a = new Ext.perf.Accumulator(b); c.accumulators.push(a) } return a }, enter: function (a) { return this.get(a).enter() }, monitor: function (a, c, b) { this.get(a).monitor(c, b) }, report: function () { var c = this, b = c.accumulators, a = c.calibrate(); b.sort(function (e, d) { return (e.name < d.name) ? -1 : ((d.name < e.name) ? 1 : 0) }); c.updateGC(); Ext.log("Calibration: " + Math.round(a * 100) / 100 + " msec/sample"); Ext.each(b, function (d) { Ext.log(d.format(a)) }) }, getData: function (c) { var b = {}, a = this.accumulators; Ext.each(a, function (d) { if (c || d.count) { b[d.name] = d.getData() } }); return b }, reset: function () { Ext.each(this.accumulators, function (a) { var b = a; b.count = b.childCount = b.depth = b.maxDepth = 0; b.pure = { min: Number.MAX_VALUE, max: 0, sum: 0 }; b.total = { min: Number.MAX_VALUE, max: 0, sum: 0 } }) }, updateGC: function () { var a = this.accumulatorsByName.GC, b = Ext.senchaToolbox, c; if (a) { a.count = b.garbageCollectionCounter || 0; if (a.count) { c = a.pure; a.total.sum = c.sum = b.garbageCollectionMilliseconds; c.min = c.max = c.sum / a.count; c = a.total; c.min = c.max = c.sum / a.count } } }, watchGC: function () { Ext.perf.getTimestamp(); var a = Ext.senchaToolbox; if (a) { this.get("GC"); a.watchGarbageCollector(false) } }, setup: function (c) { if (!c) { c = { render: { "Ext.AbstractComponent": "render" }, layout: { "Ext.layout.Context": "run" } } } this.currentConfig = c; var d, g, b, e, a; for (d in c) { if (c.hasOwnProperty(d)) { g = c[d]; b = Ext.Perf.get(d); for (e in g) { if (g.hasOwnProperty(e)) { a = g[e]; b.tap(e, a) } } } } this.watchGC() } }, 1, 0, 0, 0, 0, 0, [Ext.perf, "Monitor", Ext, "Perf"], 0)); Ext.is = { init: function (b) { var c = this.platforms, e = c.length, d, a; b = b || window.navigator; for (d = 0; d < e; d++) { a = c[d]; this[a.identity] = a.regex.test(b[a.property]) } this.Desktop = this.Mac || this.Windows || (this.Linux && !this.Android); this.Tablet = this.iPad; this.Phone = !this.Desktop && !this.Tablet; this.iOS = this.iPhone || this.iPad || this.iPod; this.Standalone = !!window.navigator.standalone }, platforms: [{ property: "platform", regex: /iPhone/i, identity: "iPhone" }, { property: "platform", regex: /iPod/i, identity: "iPod" }, { property: "userAgent", regex: /iPad/i, identity: "iPad" }, { property: "userAgent", regex: /Blackberry/i, identity: "Blackberry" }, { property: "userAgent", regex: /Android/i, identity: "Android" }, { property: "platform", regex: /Mac/i, identity: "Mac" }, { property: "platform", regex: /Win/i, identity: "Windows" }, { property: "platform", regex: /Linux/i, identity: "Linux" } ] }; Ext.is.init(); (function () { var a = function (g, e) { var d = g.ownerDocument.defaultView, h = (d ? d.getComputedStyle(g, null) : g.currentStyle) || g.style; return h[e] }, c = { "IE6-quirks": [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0], "IE6-strict": [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0], "IE7-quirks": [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0], "IE7-strict": [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0], "IE8-quirks": [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0], "IE8-strict": [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1], "IE9-quirks": [0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0], "IE9-strict": [0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1], "IE10-quirks": [1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1], "IE10-strict": [1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1] }; function b() { var d = Ext.isIE6 ? "IE6" : Ext.isIE7 ? "IE7" : Ext.isIE8 ? "IE8" : Ext.isIE9 ? "IE9" : Ext.isIE10 ? "IE10" : ""; return d ? d + (Ext.isStrict ? "-strict" : "-quirks") : "" } Ext.supports = { init: function () { var l = this, p = document, j = l.toRun || l.tests, h = j.length, d = h && Ext.isReady && p.createElement("div"), e = [], m = b(), k, g, o; if (d) { d.innerHTML = ['
', '
', "
", '
', '
', "
", '
', '
'].join(""); p.body.appendChild(d) } g = c[m]; while (h--) { k = j[h]; o = g && g[h]; if (o !== undefined) { l[k.identity] = o } else { if (d || k.early) { l[k.identity] = k.fn.call(l, p, d) } else { e.push(k) } } } if (d) { p.body.removeChild(d) } l.toRun = e }, PointerEvents: "pointerEvents" in document.documentElement.style, LocalStorage: (function () { try { return "localStorage" in window && window.localStorage !== null } catch (d) { return false } })(), CSS3BoxShadow: "boxShadow" in document.documentElement.style || "WebkitBoxShadow" in document.documentElement.style || "MozBoxShadow" in document.documentElement.style, ClassList: !!document.documentElement.classList, OrientationChange: ((typeof window.orientation != "undefined") && ("onorientationchange" in window)), DeviceMotion: ("ondevicemotion" in window), Touch: ("ontouchstart" in window) && (!Ext.is.Desktop), TimeoutActualLateness: (function () { setTimeout(function () { Ext.supports.TimeoutActualLateness = arguments.length !== 0 }, 0) } ()), tests: [{ identity: "Transitions", fn: function (k, m) { var j = ["webkit", "Moz", "o", "ms", "khtml"], l = "TransitionEnd", d = [j[0] + l, "transitionend", j[2] + l, j[3] + l, j[4] + l], h = j.length, g = 0, e = false; for (; g < h; g++) { if (a(m, j[g] + "TransitionProperty")) { Ext.supports.CSS3Prefix = j[g]; Ext.supports.CSS3TransitionEnd = d[g]; e = true; break } } return e } }, { identity: "RightMargin", fn: function (e, g) { var d = e.defaultView; return !(d && d.getComputedStyle(g.firstChild.firstChild, null).marginRight != "0px") } }, { identity: "DisplayChangeInputSelectionBug", early: true, fn: function () { var d = Ext.webKitVersion; return 0 < d && d < 533 } }, { identity: "DisplayChangeTextAreaSelectionBug", early: true, fn: function () { var d = Ext.webKitVersion; return 0 < d && d < 534.24 } }, { identity: "TransparentColor", fn: function (e, g, d) { d = e.defaultView; return !(d && d.getComputedStyle(g.lastChild, null).backgroundColor != "transparent") } }, { identity: "ComputedStyle", fn: function (e, g, d) { d = e.defaultView; return d && d.getComputedStyle } }, { identity: "Svg", fn: function (d) { return !!d.createElementNS && !!d.createElementNS("http://www.w3.org/2000/svg", "svg").createSVGRect } }, { identity: "Canvas", fn: function (d) { return !!d.createElement("canvas").getContext } }, { identity: "Vml", fn: function (e) { var g = e.createElement("div"); g.innerHTML = ""; return (g.childNodes.length == 2) } }, { identity: "Float", fn: function (d, e) { return !!e.lastChild.style.cssFloat } }, { identity: "AudioTag", fn: function (d) { return !!d.createElement("audio").canPlayType } }, { identity: "History", fn: function () { var d = window.history; return !!(d && d.pushState) } }, { identity: "CSS3DTransform", fn: function () { return (typeof WebKitCSSMatrix != "undefined" && new WebKitCSSMatrix().hasOwnProperty("m41")) } }, { identity: "CSS3LinearGradient", fn: function (k, d) { var m = "background-image:", l = "-webkit-gradient(linear, left top, right bottom, from(black), to(white))", j = "linear-gradient(left top, black, white)", h = "-moz-" + j, e = "-ms-" + j, g = "-o-" + j, n = [m + l, m + j, m + h, m + e, m + g]; d.style.cssText = n.join(";"); return (("" + d.style.backgroundImage).indexOf("gradient") !== -1) && !Ext.isIE9 } }, { identity: "CSS3BorderRadius", fn: function (h, j) { var e = ["borderRadius", "BorderRadius", "MozBorderRadius", "WebkitBorderRadius", "OBorderRadius", "KhtmlBorderRadius"], g = false, d; for (d = 0; d < e.length; d++) { if (document.body.style[e[d]] !== undefined) { return true } } return g } }, { identity: "GeoLocation", fn: function () { return (typeof navigator != "undefined" && "geolocation" in navigator) || (typeof google != "undefined" && typeof google.gears != "undefined") } }, { identity: "MouseEnterLeave", fn: function (d, e) { return ("onmouseenter" in e && "onmouseleave" in e) } }, { identity: "MouseWheel", fn: function (d, e) { return ("onmousewheel" in e) } }, { identity: "Opacity", fn: function (d, e) { if (Ext.isIE6 || Ext.isIE7 || Ext.isIE8) { return false } e.firstChild.style.cssText = "opacity:0.73"; return e.firstChild.style.opacity == "0.73" } }, { identity: "Placeholder", fn: function (d) { return "placeholder" in d.createElement("input") } }, { identity: "Direct2DBug", fn: function () { return Ext.isString(document.body.style.msTransformOrigin) && Ext.isIE10m } }, { identity: "BoundingClientRect", fn: function (d, e) { return Ext.isFunction(e.getBoundingClientRect) } }, { identity: "RotatedBoundingClientRect", fn: function () { var d = document.body, e = false, h = document.createElement("div"), g = h.style; if (h.getBoundingClientRect) { g.WebkitTransform = g.MozTransform = g.OTransform = g.transform = "rotate(90deg)"; g.width = "100px"; g.height = "30px"; d.appendChild(h); e = h.getBoundingClientRect().height !== 100; d.removeChild(h) } return e } }, { identity: "IncludePaddingInWidthCalculation", fn: function (d, e) { return e.childNodes[1].firstChild.offsetWidth == 210 } }, { identity: "IncludePaddingInHeightCalculation", fn: function (d, e) { return e.childNodes[1].firstChild.offsetHeight == 210 } }, { identity: "ArraySort", fn: function () { var d = [1, 2, 3, 4, 5].sort(function () { return 0 }); return d[0] === 1 && d[1] === 2 && d[2] === 3 && d[3] === 4 && d[4] === 5 } }, { identity: "Range", fn: function () { return !!document.createRange } }, { identity: "CreateContextualFragment", fn: function () { var d = Ext.supports.Range ? document.createRange() : false; return d && !!d.createContextualFragment } }, { identity: "WindowOnError", fn: function () { return Ext.isIE || Ext.isGecko || Ext.webKitVersion >= 534.16 } }, { identity: "TextAreaMaxLength", fn: function () { var d = document.createElement("textarea"); return ("maxlength" in d) } }, { identity: "GetPositionPercentage", fn: function (d, e) { return a(e.childNodes[2], "left") == "10%" } }, { identity: "PercentageHeightOverflowBug", fn: function (h) { var d = false, g, e; if (Ext.getScrollbarSize().height) { e = h.createElement("div"); g = e.style; g.height = "50px"; g.width = "50px"; g.overflow = "auto"; g.position = "absolute"; e.innerHTML = ['
', '
', "
"].join(""); h.body.appendChild(e); if (e.firstChild.offsetHeight === 50) { d = true } h.body.removeChild(e) } return d } }, { identity: "xOriginBug", fn: function (h, j) { j.innerHTML = '
'; var g = document.getElementById("b1").getBoundingClientRect(), e = document.getElementById("b2").getBoundingClientRect(), d = document.getElementById("b3").getBoundingClientRect(); return (e.left !== g.left && d.right !== g.right) } }, { identity: "ScrollWidthInlinePaddingBug", fn: function (h) { var d = false, g, e; e = h.createElement("div"); g = e.style; g.height = "50px"; g.width = "50px"; g.padding = "10px"; g.overflow = "hidden"; g.position = "absolute"; e.innerHTML = ''; h.body.appendChild(e); if (e.scrollWidth === 70) { d = true } h.body.removeChild(e); return d } } ] } } ()); Ext.supports.init(); Ext.util.DelayedTask = function (e, d, b, h) { var g = this, a, c = function () { clearInterval(g.id); g.id = null; e.apply(d, b || []); Ext.EventManager.idleEvent.fire() }; h = typeof h === "boolean" ? h : true; g.id = null; g.delay = function (k, m, l, j) { if (h) { g.cancel() } a = k || a, e = m || e; d = l || d; b = j || b; if (!g.id) { g.id = setInterval(c, a) } }; g.cancel = function () { if (g.id) { clearInterval(g.id); g.id = null } } }; (Ext.cmd.derive("Ext.util.Event", Ext.Base, function () { var d = Array.prototype.slice, a = Ext.Array.insert, b = Ext.Array.toArray, c = Ext.util.DelayedTask; return { isEvent: true, suspended: 0, noOptions: {}, constructor: function (g, e) { this.name = e; this.observable = g; this.listeners = [] }, addListener: function (p, r, t) { var n = this, o, j, q, e, s, m, h, l, k, g; r = r || n.observable; if (!n.isListening(p, r)) { j = n.createListener(p, r, t); if (n.firing) { n.listeners = n.listeners.slice(0) } o = n.listeners; l = h = o.length; q = t && t.priority; s = n._highestNegativePriorityIndex; m = (s !== undefined); if (q) { e = (q < 0); if (!e || m) { for (k = (e ? s : 0); k < h; k++) { g = o[k].o ? o[k].o.priority || 0 : 0; if (g < q) { l = k; break } } } else { n._highestNegativePriorityIndex = l } } else { if (m) { l = s } } if (!e && l <= s) { n._highestNegativePriorityIndex++ } if (l === h) { n.listeners[h] = j } else { a(n.listeners, l, [j]) } } }, createListener: function (h, g, l) { g = g || this.observable; var j = this, k = { fn: h, scope: g, ev: j }, e = h; if (l) { k.o = l; if (l.single) { e = j.createSingle(e, k, l, g) } if (l.target) { e = j.createTargeted(e, k, l, g) } if (l.delay) { e = j.createDelayed(e, k, l, g) } if (l.buffer) { e = j.createBuffered(e, k, l, g) } } k.fireFn = e; return k }, findListener: function (k, j) { var h = this.listeners, e = h.length, l, g; while (e--) { l = h[e]; if (l) { g = l.scope; if (l.fn == k && (g == (j || this.observable))) { return e } } } return -1 }, isListening: function (g, e) { return this.findListener(g, e) !== -1 }, removeListener: function (j, h) { var l = this, g, n, m, e; g = l.findListener(j, h); if (g != -1) { n = l.listeners[g]; m = l._highestNegativePriorityIndex; if (l.firing) { l.listeners = l.listeners.slice(0) } if (n.task) { n.task.cancel(); delete n.task } e = n.tasks && n.tasks.length; if (e) { while (e--) { n.tasks[e].cancel() } delete n.tasks } l.listeners.splice(g, 1); if (m) { if (g < m) { l._highestNegativePriorityIndex-- } else { if (g === m && g === l.listeners.length) { delete l._highestNegativePriorityIndex } } } return true } return false }, clearListeners: function () { var g = this.listeners, e = g.length; while (e--) { this.removeListener(g[e].fn, g[e].scope) } }, suspend: function () { this.suspended += 1 }, resume: function () { if (this.suspended) { this.suspended-- } }, fire: function () { var l = this, j = l.listeners, k = j.length, h, g, m, e; if (!l.suspended && k > 0) { l.firing = true; g = arguments.length ? d.call(arguments, 0) : []; e = g.length; for (h = 0; h < k; h++) { m = j[h]; if (m.o) { g[e] = m.o } if (m && m.fireFn.apply(m.scope || l.observable, g) === false) { return (l.firing = false) } } } l.firing = false; return true }, createTargeted: function (g, h, j, e) { return function () { if (j.target === arguments[0]) { g.apply(e, arguments) } } }, createBuffered: function (g, h, j, e) { h.task = new c(); return function () { h.task.delay(j.buffer, g, e, b(arguments)) } }, createDelayed: function (g, h, j, e) { return function () { var k = new c(); if (!h.tasks) { h.tasks = [] } h.tasks.push(k); k.delay(j.delay || 10, g, e, b(arguments)) } }, createSingle: function (g, h, j, e) { return function () { var k = h.ev; if (k.removeListener(h.fn, e) && k.observable) { k.observable.hasListeners[k.name]-- } return g.apply(e, arguments) } } } }, 1, 0, 0, 0, 0, 0, [Ext.util, "Event"], 0)); Ext.EventManager = new function () { var b = this, h = document, g = window, e = /\\/g, c = Ext.baseCSSPrefix, a = !Ext.isIE9 && "addEventListener" in h, j, d = function () { var p = h.body || h.getElementsByTagName("body")[0], l = [c + "body"], k = [], m = Ext.supports.CSS3LinearGradient, o = Ext.supports.CSS3BorderRadius, n; if (!p) { return false } n = p.parentNode; function q(r) { l.push(c + r) } if (Ext.isIE && Ext.isIE9m) { q("ie"); if (Ext.isIE6) { q("ie6") } else { q("ie7p"); if (Ext.isIE7) { q("ie7") } else { q("ie8p"); if (Ext.isIE8) { q("ie8") } else { q("ie9p"); if (Ext.isIE9) { q("ie9") } } } } if (Ext.isIE7m) { q("ie7m") } if (Ext.isIE8m) { q("ie8m") } if (Ext.isIE9m) { q("ie9m") } if (Ext.isIE7 || Ext.isIE8) { q("ie78") } } if (Ext.isIE10) { q("ie10") } if (Ext.isGecko) { q("gecko"); if (Ext.isGecko3) { q("gecko3") } if (Ext.isGecko4) { q("gecko4") } if (Ext.isGecko5) { q("gecko5") } } if (Ext.isOpera) { q("opera") } if (Ext.isWebKit) { q("webkit") } if (Ext.isSafari) { q("safari"); if (Ext.isSafari2) { q("safari2") } if (Ext.isSafari3) { q("safari3") } if (Ext.isSafari4) { q("safari4") } if (Ext.isSafari5) { q("safari5") } if (Ext.isSafari5_0) { q("safari5_0") } } if (Ext.isChrome) { q("chrome") } if (Ext.isMac) { q("mac") } if (Ext.isLinux) { q("linux") } if (!o) { q("nbr") } if (!m) { q("nlg") } if (n) { if (Ext.isStrict && (Ext.isIE6 || Ext.isIE7)) { Ext.isBorderBox = false } else { Ext.isBorderBox = true } if (!Ext.isBorderBox) { k.push(c + "content-box") } if (Ext.isStrict) { k.push(c + "strict") } else { k.push(c + "quirks") } Ext.fly(n, "_internal").addCls(k) } Ext.fly(p, "_internal").addCls(l); return true }; Ext.apply(b, { hasBoundOnReady: false, hasFiredReady: false, deferReadyEvent: 1, onReadyChain: [], readyEvent: (function () { j = new Ext.util.Event(); j.fire = function () { Ext._beforeReadyTime = Ext._beforeReadyTime || new Date().getTime(); j.self.prototype.fire.apply(j, arguments); Ext._afterReadytime = new Date().getTime() }; return j } ()), idleEvent: new Ext.util.Event(), isReadyPaused: function () { return (/[?&]ext-pauseReadyFire\b/i.test(location.search) && !Ext._continueFireReady) }, bindReadyEvent: function () { if (b.hasBoundOnReady) { return } if (h.readyState == "complete") { b.onReadyEvent({ type: h.readyState || "body" }) } else { h.addEventListener("DOMContentLoaded", b.onReadyEvent, false); g.addEventListener("load", b.onReadyEvent, false); b.hasBoundOnReady = true } }, onReadyEvent: function (k) { if (k && k.type) { b.onReadyChain.push(k.type) } if (b.hasBoundOnReady) { h.removeEventListener("DOMContentLoaded", b.onReadyEvent, false); g.removeEventListener("load", b.onReadyEvent, false) } if (!Ext.isReady) { b.fireDocReady() } }, fireDocReady: function () { if (!Ext.isReady) { Ext._readyTime = new Date().getTime(); Ext.isReady = true; Ext.supports.init(); b.onWindowUnload(); j.onReadyChain = b.onReadyChain; if (Ext.isNumber(b.deferReadyEvent)) { Ext.Function.defer(b.fireReadyEvent, b.deferReadyEvent); b.hasDocReadyTimer = true } else { b.fireReadyEvent() } } }, fireReadyEvent: function () { b.hasDocReadyTimer = false; b.isFiring = true; while (j.listeners.length && !b.isReadyPaused()) { j.fire() } b.isFiring = false; b.hasFiredReady = true; Ext.EventManager.idleEvent.fire() }, onDocumentReady: function (m, l, k) { k = k || {}; k.single = true; j.addListener(m, l, k); if (!(b.isFiring || b.hasDocReadyTimer)) { if (Ext.isReady) { b.fireReadyEvent() } else { b.bindReadyEvent() } } }, stoppedMouseDownEvent: new Ext.util.Event(), propRe: /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|freezeEvent)$/, getId: function (k) { var l; k = Ext.getDom(k); if (k === h || k === g) { l = k === h ? Ext.documentId : Ext.windowId } else { l = Ext.id(k) } if (!Ext.cache[l]) { Ext.addCacheEntry(l, null, k) } return l }, prepareListenerConfig: function (n, l, p) { var q = b.propRe, m, o, k; for (m in l) { if (l.hasOwnProperty(m)) { if (!q.test(m)) { o = l[m]; if (typeof o == "function") { k = [n, m, o, l.scope, l] } else { k = [n, m, o.fn, o.scope, o] } if (p) { b.removeListener.apply(b, k) } else { b.addListener.apply(b, k) } } } } }, mouseEnterLeaveRe: /mouseenter|mouseleave/, normalizeEvent: function (k, l) { if (b.mouseEnterLeaveRe.test(k) && !Ext.supports.MouseEnterLeave) { if (l) { l = Ext.Function.createInterceptor(l, b.contains) } k = k == "mouseenter" ? "mouseover" : "mouseout" } else { if (k == "mousewheel" && !Ext.supports.MouseWheel && !Ext.isOpera) { k = "DOMMouseScroll" } } return { eventName: k, fn: l } }, contains: function (l) { l = l.browserEvent || l; var k = l.currentTarget, m = b.getRelatedTarget(l); if (k && k.firstChild) { while (m) { if (m === k) { return false } m = m.parentNode; if (m && (m.nodeType != 1)) { m = null } } } return true }, addListener: function (o, q, t, v, w) { if (typeof q !== "string") { b.prepareListenerConfig(o, q); return } var n = o.dom || Ext.getDom(o), r, s, m, k, l, p, u; if (typeof t === "string") { t = Ext.resolveMethod(t, v || o) } w = w || {}; s = b.normalizeEvent(q, t); m = b.createListenerWrap(n, q, s.fn, v, w); k = b.getEventListenerCache(o.dom ? o : n, q); q = s.eventName; r = a || (Ext.isIE9 && !n.attachEvent); if (!r) { l = b.normalizeId(n); if (l) { p = Ext.cache[l][q]; if (p && p.firing) { k = b.cloneEventListenerCache(n, q) } } } u = !!w.capture; k.push({ fn: t, wrap: m, scope: v, capture: u }); if (!r) { if (k.length === 1) { l = b.normalizeId(n, true); t = Ext.Function.bind(b.handleSingleEvent, b, [l, q], true); Ext.cache[l][q] = { firing: false, fn: t }; n.attachEvent("on" + q, t) } } else { n.addEventListener(q, m, u) } if (n == h && q == "mousedown") { b.stoppedMouseDownEvent.addListener(m) } }, normalizeId: function (l, k) { var m; if (l === document) { m = Ext.documentId } else { if (l === window) { m = Ext.windowId } else { m = l.id } } if (!m && k) { m = b.getId(l) } return m }, handleSingleEvent: function (p, q, m) { var n = b.getEventListenerCache(q, m), l = Ext.cache[q][m], k, o; if (l.firing) { return } l.firing = true; for (o = 0, k = n.length; o < k; ++o) { n[o].wrap(p) } l.firing = false }, removeListener: function (t, v, w, y) { if (typeof v !== "string") { b.prepareListenerConfig(t, v, true); return } var r = Ext.getDom(t), m, n = t.dom ? t : Ext.get(r), k = b.getEventListenerCache(n, v), x = b.normalizeEvent(v).eventName, s = k.length, q, u, p, o, l; if (!r) { return } p = a || (Ext.isIE9 && !r.detachEvent); if (typeof w === "string") { w = Ext.resolveMethod(w, y || t) } while (s--) { o = k[s]; if (o && (!w || o.fn == w) && (!y || o.scope === y)) { l = o.wrap; if (l.task) { clearTimeout(l.task); delete l.task } q = l.tasks && l.tasks.length; if (q) { while (q--) { clearTimeout(l.tasks[q]) } delete l.tasks } if (!p) { m = b.normalizeId(r, true); u = Ext.cache[m][x]; if (u && u.firing) { k = b.cloneEventListenerCache(r, x) } if (k.length === 1) { w = u.fn; delete Ext.cache[m][x]; r.detachEvent("on" + x, w) } } else { r.removeEventListener(x, l, o.capture) } if (l && r == h && v == "mousedown") { b.stoppedMouseDownEvent.removeListener(l) } Ext.Array.erase(k, s, 1) } } }, removeAll: function (n) { var o = (typeof n === "string") ? n : n.id, l, m, k; if (o && (l = Ext.cache[o])) { m = l.events; for (k in m) { if (m.hasOwnProperty(k)) { b.removeListener(n, k) } } l.events = {} } }, purgeElement: function (n, l) { var p = Ext.getDom(n), m = 0, k, o; if (l) { b.removeListener(n, l) } else { b.removeAll(n) } if (p && p.childNodes) { o = p.childNodes; for (k = o.length; m < k; m++) { b.purgeElement(o[m], l) } } }, createListenerWrap: function (r, l, o, n, k) { k = k || {}; var p, q, m = function (t, s) { if (!q) { p = ["if(!" + Ext.name + ") {return;}"]; if (k.buffer || k.delay || k.freezeEvent) { if (k.freezeEvent) { p.push("e = X.EventObject.setEvent(e);") } p.push("e = new X.EventObjectImpl(e, " + (k.freezeEvent ? "true" : "false") + ");") } else { p.push("e = X.EventObject.setEvent(e);") } if (k.delegate) { p.push('var result, t = e.getTarget("' + (k.delegate + "").replace(e, "\\\\") + '", this);'); p.push("if(!t) {return;}") } else { p.push("var t = e.target, result;") } if (k.target) { p.push("if(e.target !== options.target) {return;}") } if (k.stopEvent) { p.push("e.stopEvent();") } else { if (k.preventDefault) { p.push("e.preventDefault();") } if (k.stopPropagation) { p.push("e.stopPropagation();") } } if (k.normalized === false) { p.push("e = e.browserEvent;") } if (k.buffer) { p.push("(wrap.task && clearTimeout(wrap.task));"); p.push("wrap.task = setTimeout(function() {") } if (k.delay) { p.push("wrap.tasks = wrap.tasks || [];"); p.push("wrap.tasks.push(setTimeout(function() {") } p.push("result = fn.call(scope || dom, e, t, options);"); if (k.single) { p.push("evtMgr.removeListener(dom, ename, fn, scope);") } if (l !== "mousemove" && l !== "unload") { p.push("if (evtMgr.idleEvent.listeners.length) {"); p.push("evtMgr.idleEvent.fire();"); p.push("}") } if (k.delay) { p.push("}, " + k.delay + "));") } if (k.buffer) { p.push("}, " + k.buffer + ");") } p.push("return result;"); q = Ext.cacheableFunctionFactory("e", "options", "fn", "scope", "ename", "dom", "wrap", "args", "X", "evtMgr", p.join("\n")) } return q.call(r, t, k, o, n, l, r, m, s, Ext, b) }; return m }, getEventCache: function (m) { var l, k, n; if (!m) { return [] } if (m.$cache) { l = m.$cache } else { if (typeof m === "string") { n = m } else { n = b.getId(m) } l = Ext.cache[n] } k = l.events || (l.events = {}); return k }, getEventListenerCache: function (m, k) { var l = b.getEventCache(m); return l[k] || (l[k] = []) }, cloneEventListenerCache: function (n, k) { var m = b.getEventCache(n), l; if (m[k]) { l = m[k].slice(0) } else { l = [] } m[k] = l; return l }, mouseLeaveRe: /(mouseout|mouseleave)/, mouseEnterRe: /(mouseover|mouseenter)/, stopEvent: function (k) { b.stopPropagation(k); b.preventDefault(k) }, stopPropagation: function (k) { k = k.browserEvent || k; if (k.stopPropagation) { k.stopPropagation() } else { k.cancelBubble = true } }, preventDefault: function (k) { k = k.browserEvent || k; if (k.preventDefault) { k.preventDefault() } else { k.returnValue = false; try { if (k.ctrlKey || k.keyCode > 111 && k.keyCode < 124) { k.keyCode = -1 } } catch (l) {} } }, getRelatedTarget: function (k) { k = k.browserEvent || k; var l = k.relatedTarget; if (!l) { if (b.mouseLeaveRe.test(k.type)) { l = k.toElement } else { if (b.mouseEnterRe.test(k.type)) { l = k.fromElement } } } return b.resolveTextNode(l) }, getPageX: function (k) { return b.getPageXY(k)[0] }, getPageY: function (k) { return b.getPageXY(k)[1] }, getPageXY: function (m) { m = m.browserEvent || m; var l = m.pageX, o = m.pageY, n = h.documentElement, k = h.body; if (!l && l !== 0) { l = m.clientX + (n && n.scrollLeft || k && k.scrollLeft || 0) - (n && n.clientLeft || k && k.clientLeft || 0); o = m.clientY + (n && n.scrollTop || k && k.scrollTop || 0) - (n && n.clientTop || k && k.clientTop || 0) } return [l, o] }, getTarget: function (k) { k = k.browserEvent || k; return b.resolveTextNode(k.target || k.srcElement) }, resolveTextNode: Ext.isGecko ? function (l) { if (l) { var k = HTMLElement.prototype.toString.call(l); if (k !== "[xpconnect wrapped native prototype]" && k !== "[object XULElement]") { return l.nodeType == 3 ? l.parentNode : l } } } : function (k) { return k && k.nodeType == 3 ? k.parentNode : k }, curWidth: 0, curHeight: 0, onWindowResize: function (n, m, l) { var k = b.resizeEvent; if (!k) { b.resizeEvent = k = new Ext.util.Event(); b.on(g, "resize", b.fireResize, null, { buffer: 100 }) } k.addListener(n, m, l) }, fireResize: function () { var k = Ext.Element.getViewWidth(), l = Ext.Element.getViewHeight(); if (b.curHeight != l || b.curWidth != k) { b.curHeight = l; b.curWidth = k; b.resizeEvent.fire(k, l) } }, removeResizeListener: function (m, l) { var k = b.resizeEvent; if (k) { k.removeListener(m, l) } }, onWindowUnload: function (n, m, l) { var k = b.unloadEvent; if (!k) { b.unloadEvent = k = new Ext.util.Event(); b.addListener(g, "unload", b.fireUnload) } if (n) { k.addListener(n, m, l) } }, fireUnload: function () { try { h = g = undefined; var p, l, n, m, k; b.unloadEvent.fire(); if (Ext.isGecko3) { p = Ext.ComponentQuery.query("gridview"); l = 0; n = p.length; for (; l < n; l++) { p[l].scrollToTop() } } k = Ext.cache; for (m in k) { if (k.hasOwnProperty(m)) { b.removeAll(m) } } } catch (o) {} }, removeUnloadListener: function (m, l) { var k = b.unloadEvent; if (k) { k.removeListener(m, l) } }, useKeyDown: Ext.isWebKit ? parseInt(navigator.userAgent.match(/AppleWebKit\/(\d+)/)[1], 10) >= 525 : !((Ext.isGecko && !Ext.isWindows) || Ext.isOpera), getKeyEvent: function () { return b.useKeyDown ? "keydown" : "keypress" } }); if (!a && document.attachEvent) { Ext.apply(b, { pollScroll: function () { var k = true; try { document.documentElement.doScroll("left") } catch (l) { k = false } if (k && document.body) { b.onReadyEvent({ type: "doScroll" }) } else { b.scrollTimeout = setTimeout(b.pollScroll, 20) } return k }, scrollTimeout: null, readyStatesRe: /complete/i, checkReadyState: function () { var k = document.readyState; if (b.readyStatesRe.test(k)) { b.onReadyEvent({ type: k }) } }, bindReadyEvent: function () { var k = true; if (b.hasBoundOnReady) { return } try { k = window.frameElement === undefined } catch (l) { k = false } if (!k || !h.documentElement.doScroll) { b.pollScroll = Ext.emptyFn } if (b.pollScroll() === true) { return } if (h.readyState == "complete") { b.onReadyEvent({ type: "already " + (h.readyState || "body") }) } else { h.attachEvent("onreadystatechange", b.checkReadyState); window.attachEvent("onload", b.onReadyEvent); b.hasBoundOnReady = true } }, onReadyEvent: function (k) { if (k && k.type) { b.onReadyChain.push(k.type) } if (b.hasBoundOnReady) { document.detachEvent("onreadystatechange", b.checkReadyState); window.detachEvent("onload", b.onReadyEvent) } if (Ext.isNumber(b.scrollTimeout)) { clearTimeout(b.scrollTimeout); delete b.scrollTimeout } if (!Ext.isReady) { b.fireDocReady() } }, onReadyChain: [] }) } Ext.onReady = function (m, l, k) { Ext.Loader.onReady(m, l, true, k) }; Ext.onDocumentReady = b.onDocumentReady; b.on = b.addListener; b.un = b.removeListener; Ext.onReady(d) } (); (Ext.cmd.derive("Ext.util.Observable", Ext.Base, function (a) { var d = [], e = Array.prototype, g = e.slice, c = Ext.util.Event, b = function (h) { if (h instanceof b) { return h } this.observable = h; if (arguments[1].isObservable) { this.managedListeners = true } this.args = g.call(arguments, 1) }; b.prototype.destroy = function () { this.observable[this.managedListeners ? "mun" : "un"].apply(this.observable, this.args) }; return { statics: { releaseCapture: function (h) { h.fireEventArgs = this.prototype.fireEventArgs }, capture: function (l, j, h) { var k = function (m, n) { return j.apply(h, [m].concat(n)) }; this.captureArgs(l, k, h) }, captureArgs: function (k, j, h) { k.fireEventArgs = Ext.Function.createInterceptor(k.fireEventArgs, j, h) }, observe: function (h, j) { if (h) { if (!h.isObservable) { Ext.applyIf(h, new this()); this.captureArgs(h.prototype, h.fireEventArgs, h) } if (Ext.isObject(j)) { h.on(j) } } return h }, prepareClass: function (k, j) { if (!k.HasListeners) { var l = function () {}, h = k.superclass.HasListeners || (j && j.HasListeners) || a.HasListeners; k.prototype.HasListeners = k.HasListeners = l; l.prototype = k.hasListeners = new h() } } }, isObservable: true, eventsSuspended: 0, constructor: function (h) { var j = this; Ext.apply(j, h); if (!j.hasListeners) { j.hasListeners = new j.HasListeners() } j.events = j.events || {}; if (j.listeners) { j.on(j.listeners); j.listeners = null } if (j.bubbleEvents) { j.enableBubble(j.bubbleEvents) } }, onClassExtended: function (h) { if (!h.HasListeners) { a.prepareClass(h) } }, eventOptionsRe: /^(?:scope|delay|buffer|single|stopEvent|preventDefault|stopPropagation|normalized|args|delegate|element|destroyable|vertical|horizontal|freezeEvent|priority)$/, addManagedListener: function (p, l, n, q, r, k) { var m = this, o = m.managedListeners = m.managedListeners || [], j, h; if (typeof l !== "string") { h = arguments.length > 4 ? r : l; r = l; for (l in r) { if (r.hasOwnProperty(l)) { j = r[l]; if (!m.eventOptionsRe.test(l)) { m.addManagedListener(p, l, j.fn || j, j.scope || r.scope || q, j.fn ? j : h, true) } } } if (r && r.destroyable) { return new b(m, p, r) } } else { if (typeof n === "string") { q = q || m; n = Ext.resolveMethod(n, q) } o.push({ item: p, ename: l, fn: n, scope: q, options: r }); p.on(l, n, q, r); if (!k && r && r.destroyable) { return new b(m, p, l, n, q) } } }, removeManagedListener: function (q, l, o, r) { var n = this, s, j, p, h, m, k; if (typeof l !== "string") { s = l; for (l in s) { if (s.hasOwnProperty(l)) { j = s[l]; if (!n.eventOptionsRe.test(l)) { n.removeManagedListener(q, l, j.fn || j, j.scope || s.scope || r) } } } } else { p = n.managedListeners ? n.managedListeners.slice() : []; if (typeof o === "string") { r = r || n; o = Ext.resolveMethod(o, r) } for (m = 0, h = p.length; m < h; m++) { n.removeManagedListenerItem(false, p[m], q, l, o, r) } } }, fireEvent: function (h) { return this.fireEventArgs(h, g.call(arguments, 1)) }, fireEventArgs: function (h, k) { h = h.toLowerCase(); var n = this, l = n.events, m = l && l[h], j = true; if (m && n.hasListeners[h]) { j = n.continueFireEvent(h, k || d, m.bubble) } return j }, continueFireEvent: function (k, m, j) { var o = this, h, n, l = true; do { if (o.eventsSuspended) { if ((h = o.eventQueue)) { h.push([k, m, j]) } return l } else { n = o.events[k]; if (n && n !== true) { if ((l = n.fire.apply(n, m)) === false) { break } } } } while (j && (o = o.getBubbleParent())); return l }, getBubbleParent: function () { var j = this, h = j.getBubbleTarget && j.getBubbleTarget(); if (h && h.isObservable) { return h } return null }, addListener: function (l, n, m, k) { var p = this, j, o, h = 0; if (typeof l !== "string") { k = l; for (l in k) { if (k.hasOwnProperty(l)) { j = k[l]; if (!p.eventOptionsRe.test(l)) { p.addListener(l, j.fn || j, j.scope || k.scope, j.fn ? j : k) } } } if (k && k.destroyable) { return new b(p, k) } } else { l = l.toLowerCase(); o = p.events[l]; if (o && o.isEvent) { h = o.listeners.length } else { p.events[l] = o = new c(p, l) } if (typeof n === "string") { m = m || p; n = Ext.resolveMethod(n, m) } o.addListener(n, m, k); if (o.listeners.length !== h) { p.hasListeners._incr_(l) } if (k && k.destroyable) { return new b(p, l, n, m, k) } } }, removeListener: function (k, m, l) { var o = this, j, n, h; if (typeof k !== "string") { h = k; for (k in h) { if (h.hasOwnProperty(k)) { j = h[k]; if (!o.eventOptionsRe.test(k)) { o.removeListener(k, j.fn || j, j.scope || h.scope) } } } } else { k = k.toLowerCase(); n = o.events[k]; if (n && n.isEvent) { if (typeof m === "string") { l = l || o; m = Ext.resolveMethod(m, l) } if (n.removeListener(m, l)) { o.hasListeners._decr_(k) } } } }, clearListeners: function () { var k = this.events, h = this.hasListeners, l, j; for (j in k) { if (k.hasOwnProperty(j)) { l = k[j]; if (l.isEvent) { delete h[j]; l.clearListeners() } } } this.clearManagedListeners() }, clearManagedListeners: function () { var j = this.managedListeners || [], k = 0, h = j.length; for (; k < h; k++) { this.removeManagedListenerItem(true, j[k]) } this.managedListeners = [] }, removeManagedListenerItem: function (j, h, n, k, m, l) { if (j || (h.item === n && h.ename === k && (!m || h.fn === m) && (!l || h.scope === l))) { h.item.un(h.ename, h.fn, h.scope); if (!j) { Ext.Array.remove(this.managedListeners, h) } } }, addEvents: function (n) { var m = this, l = m.events || (m.events = {}), h, j, k; if (typeof n == "string") { for (j = arguments, k = j.length; k--; ) { h = j[k]; if (!l[h]) { l[h] = true } } } else { Ext.applyIf(m.events, n) } }, hasListener: function (h) { return !!this.hasListeners[h.toLowerCase()] }, suspendEvents: function (h) { this.eventsSuspended += 1; if (h && !this.eventQueue) { this.eventQueue = [] } }, suspendEvent: function (j) { var h = arguments.length, k, l; for (k = 0; k < h; k++) { l = this.events[arguments[k]]; if (l && l.suspend) { l.suspend() } } }, resumeEvent: function () { var h = arguments.length, j, k; for (j = 0; j < h; j++) { k = this.events[arguments[j]]; if (k && k.resume) { k.resume() } } }, resumeEvents: function () { var h = this, l = h.eventQueue, k, j; if (h.eventsSuspended && !--h.eventsSuspended) { delete h.eventQueue; if (l) { k = l.length; for (j = 0; j < k; j++) { h.continueFireEvent.apply(h, l[j]) } } } }, relayEvents: function (j, l, o) { var n = this, h = l.length, k = 0, m, p = {}; for (; k < h; k++) { m = l[k]; p[m] = n.createRelayer(o ? o + m : m) } n.mon(j, p, null, null, undefined); return new b(n, j, p) }, createRelayer: function (h, j) { var k = this; return function () { return k.fireEventArgs.call(k, h, j ? g.apply(arguments, j) : arguments) } }, enableBubble: function (p) { if (p) { var n = this, o = (typeof p == "string") ? arguments : p, m = o.length, k = n.events, j, l, h; for (h = 0; h < m; ++h) { j = o[h].toLowerCase(); l = k[j]; if (!l || typeof l == "boolean") { k[j] = l = new c(n, j) } n.hasListeners._incr_(j); l.bubble = true } } } } }, 1, 0, 0, 0, 0, 0, [Ext.util, "Observable"], function () { var b = this, e = b.prototype, c = function () {}, g = function (h) { if (!h.HasListeners) { var j = h.prototype; b.prepareClass(h, this); h.onExtended(function (k) { b.prepareClass(k) }); if (j.onClassMixedIn) { Ext.override(h, { onClassMixedIn: function (k) { g.call(this, k); this.callParent(arguments) } }) } else { j.onClassMixedIn = function (k) { g.call(this, k) } } } }, a; c.prototype = { _decr_: function (h) { if (!--this[h]) { delete this[h] } }, _incr_: function (h) { if (this.hasOwnProperty(h)) { ++this[h] } else { this[h] = 1 } } }; e.HasListeners = b.HasListeners = c; b.createAlias({ on: "addListener", un: "removeListener", mon: "addManagedListener", mun: "removeManagedListener" }); b.observeClass = b.observe; Ext.globalEvents = a = new b({ events: { idle: Ext.EventManager.idleEvent, ready: Ext.EventManager.readyEvent } }); Ext.on = function () { return a.addListener.apply(a, arguments) }; Ext.un = function () { return a.removeListener.apply(a, arguments) }; function d(o) { var n = (this.methodEvents = this.methodEvents || {})[o], k, j, l, m = this, h; if (!n) { this.methodEvents[o] = n = {}; n.originalFn = this[o]; n.methodName = o; n.before = []; n.after = []; h = function (r, q, p) { if ((j = r.apply(q || m, p)) !== undefined) { if (typeof j == "object") { if (j.returnValue !== undefined) { k = j.returnValue } else { k = j } l = !!j.cancel } else { if (j === false) { l = true } else { k = j } } } }; this[o] = function () { var r = Array.prototype.slice.call(arguments, 0), q, s, p; k = j = undefined; l = false; for (s = 0, p = n.before.length; s < p; s++) { q = n.before[s]; h(q.fn, q.scope, r); if (l) { return k } } if ((j = n.originalFn.apply(m, r)) !== undefined) { k = j } for (s = 0, p = n.after.length; s < p; s++) { q = n.after[s]; h(q.fn, q.scope, r); if (l) { return k } } return k } } return n } Ext.apply(e, { onClassMixedIn: g, beforeMethod: function (k, j, h) { d.call(this, k).before.push({ fn: j, scope: h }) }, afterMethod: function (k, j, h) { d.call(this, k).after.push({ fn: j, scope: h }) }, removeMethodListener: function (n, l, k) { var m = this.getMethodEvent(n), j, h; for (j = 0, h = m.before.length; j < h; j++) { if (m.before[j].fn == l && m.before[j].scope == k) { Ext.Array.erase(m.before, j, 1); return } } for (j = 0, h = m.after.length; j < h; j++) { if (m.after[j].fn == l && m.after[j].scope == k) { Ext.Array.erase(m.after, j, 1); return } } }, toggleEventLogging: function (h) { Ext.util.Observable[h ? "capture" : "releaseCapture"](this, function (j) { if (Ext.isDefined(Ext.global.console)) { Ext.global.console.log(j, arguments) } }) } }) })); (Ext.cmd.derive("Ext.EventObjectImpl", Ext.Base, { BACKSPACE: 8, TAB: 9, NUM_CENTER: 12, ENTER: 13, RETURN: 13, SHIFT: 16, CTRL: 17, ALT: 18, PAUSE: 19, CAPS_LOCK: 20, ESC: 27, SPACE: 32, PAGE_UP: 33, PAGE_DOWN: 34, END: 35, HOME: 36, LEFT: 37, UP: 38, RIGHT: 39, DOWN: 40, PRINT_SCREEN: 44, INSERT: 45, DELETE: 46, ZERO: 48, ONE: 49, TWO: 50, THREE: 51, FOUR: 52, FIVE: 53, SIX: 54, SEVEN: 55, EIGHT: 56, NINE: 57, A: 65, B: 66, C: 67, D: 68, E: 69, F: 70, G: 71, H: 72, I: 73, J: 74, K: 75, L: 76, M: 77, N: 78, O: 79, P: 80, Q: 81, R: 82, S: 83, T: 84, U: 85, V: 86, W: 87, X: 88, Y: 89, Z: 90, CONTEXT_MENU: 93, NUM_ZERO: 96, NUM_ONE: 97, NUM_TWO: 98, NUM_THREE: 99, NUM_FOUR: 100, NUM_FIVE: 101, NUM_SIX: 102, NUM_SEVEN: 103, NUM_EIGHT: 104, NUM_NINE: 105, NUM_MULTIPLY: 106, NUM_PLUS: 107, NUM_MINUS: 109, NUM_PERIOD: 110, NUM_DIVISION: 111, F1: 112, F2: 113, F3: 114, F4: 115, F5: 116, F6: 117, F7: 118, F8: 119, F9: 120, F10: 121, F11: 122, F12: 123, WHEEL_SCALE: (function () { var a; if (Ext.isGecko) { a = 3 } else { if (Ext.isMac) { if (Ext.isSafari && Ext.webKitVersion >= 532) { a = 120 } else { a = 12 } a *= 3 } else { a = 120 } } return a } ()), clickRe: /(dbl)?click/, safariKeys: { 3: 13, 63234: 37, 63235: 39, 63232: 38, 63233: 40, 63276: 33, 63277: 34, 63272: 46, 63273: 36, 63275: 35 }, btnMap: Ext.isIE ? { 1: 0, 4: 1, 2: 2 } : { 0: 0, 1: 1, 2: 2 }, constructor: function (a, b) { if (a) { this.setEvent(a.browserEvent || a, b) } }, setEvent: function (d, e) { var c = this, b, a; if (d === c || (d && d.browserEvent)) { return d } c.browserEvent = d; if (d) { b = d.button ? c.btnMap[d.button] : (d.which ? d.which - 1 : -1); if (c.clickRe.test(d.type) && b == -1) { b = 0 } a = { type: d.type, button: b, shiftKey: d.shiftKey, ctrlKey: d.ctrlKey || d.metaKey || false, altKey: d.altKey, keyCode: d.keyCode, charCode: d.charCode, target: Ext.EventManager.getTarget(d), relatedTarget: Ext.EventManager.getRelatedTarget(d), currentTarget: d.currentTarget, xy: (e ? c.getXY() : null) } } else { a = { button: -1, shiftKey: false, ctrlKey: false, altKey: false, keyCode: 0, charCode: 0, target: null, xy: [0, 0] } } Ext.apply(c, a); return c }, stopEvent: function () { this.stopPropagation(); this.preventDefault() }, preventDefault: function () { if (this.browserEvent) { Ext.EventManager.preventDefault(this.browserEvent) } }, stopPropagation: function () { var a = this.browserEvent; if (a) { if (a.type == "mousedown") { Ext.EventManager.stoppedMouseDownEvent.fire(this) } Ext.EventManager.stopPropagation(a) } }, getCharCode: function () { return this.charCode || this.keyCode }, getKey: function () { return this.normalizeKey(this.keyCode || this.charCode) }, normalizeKey: function (a) { return Ext.isWebKit ? (this.safariKeys[a] || a) : a }, getPageX: function () { return this.getX() }, getPageY: function () { return this.getY() }, getX: function () { return this.getXY()[0] }, getY: function () { return this.getXY()[1] }, getXY: function () { if (!this.xy) { this.xy = Ext.EventManager.getPageXY(this.browserEvent) } return this.xy }, getTarget: function (b, c, a) { if (b) { return Ext.fly(this.target).findParent(b, c, a) } return a ? Ext.get(this.target) : this.target }, getRelatedTarget: function (b, c, a) { if (b && this.relatedTarget) { return Ext.fly(this.relatedTarget).findParent(b, c, a) } return a ? Ext.get(this.relatedTarget) : this.relatedTarget }, correctWheelDelta: function (c) { var b = this.WHEEL_SCALE, a = Math.round(c / b); if (!a && c) { a = (c < 0) ? -1 : 1 } return a }, getWheelDeltas: function () { var d = this, c = d.browserEvent, b = 0, a = 0; if (Ext.isDefined(c.wheelDeltaX)) { b = c.wheelDeltaX; a = c.wheelDeltaY } else { if (c.wheelDelta) { a = c.wheelDelta } else { if (c.detail) { a = -c.detail; if (a > 100) { a = 3 } else { if (a < -100) { a = -3 } } if (Ext.isDefined(c.axis) && c.axis === c.HORIZONTAL_AXIS) { b = a; a = 0 } } } } return { x: d.correctWheelDelta(b), y: d.correctWheelDelta(a) } }, getWheelDelta: function () { var a = this.getWheelDeltas(); return a.y }, within: function (d, e, b) { if (d) { var c = e ? this.getRelatedTarget() : this.getTarget(), a; if (c) { a = Ext.fly(d, "_internal").contains(c); if (!a && b) { a = c == Ext.getDom(d) } return a } } return false }, isNavKeyPress: function () { var b = this, a = this.normalizeKey(b.keyCode); return (a >= 33 && a <= 40) || a == b.RETURN || a == b.TAB || a == b.ESC }, isSpecialKey: function () { var a = this.normalizeKey(this.keyCode); return (this.type == "keypress" && this.ctrlKey) || this.isNavKeyPress() || (a == this.BACKSPACE) || (a >= 16 && a <= 20) || (a >= 44 && a <= 46) }, getPoint: function () { var a = this.getXY(); return new Ext.util.Point(a[0], a[1]) }, hasModifier: function () { return this.ctrlKey || this.altKey || this.shiftKey || this.metaKey }, injectEvent: (function () { var d, e = {}, c; if (!Ext.isIE9m && document.createEvent) { d = { createHtmlEvent: function (l, j, h, g) { var k = l.createEvent("HTMLEvents"); k.initEvent(j, h, g); return k }, createMouseEvent: function (v, t, n, m, p, l, j, k, g, s, r, o, q) { var h = v.createEvent("MouseEvents"), u = v.defaultView || window; if (h.initMouseEvent) { h.initMouseEvent(t, n, m, u, p, l, j, l, j, k, g, s, r, o, q) } else { h = v.createEvent("UIEvents"); h.initEvent(t, n, m); h.view = u; h.detail = p; h.screenX = l; h.screenY = j; h.clientX = l; h.clientY = j; h.ctrlKey = k; h.altKey = g; h.metaKey = r; h.shiftKey = s; h.button = o; h.relatedTarget = q } return h }, createUIEvent: function (n, l, j, h, k) { var m = n.createEvent("UIEvents"), g = n.defaultView || window; m.initUIEvent(l, j, h, g, k); return m }, fireEvent: function (j, g, h) { j.dispatchEvent(h) }, fixTarget: function (g) { if (g == window && !g.dispatchEvent) { return document } return g } } } else { if (document.createEventObject) { c = { 0: 1, 1: 4, 2: 2 }; d = { createHtmlEvent: function (l, j, h, g) { var k = l.createEventObject(); k.bubbles = h; k.cancelable = g; return k }, createMouseEvent: function (u, t, n, m, p, l, j, k, g, s, r, o, q) { var h = u.createEventObject(); h.bubbles = n; h.cancelable = m; h.detail = p; h.screenX = l; h.screenY = j; h.clientX = l; h.clientY = j; h.ctrlKey = k; h.altKey = g; h.shiftKey = s; h.metaKey = r; h.button = c[o] || o; h.relatedTarget = q; return h }, createUIEvent: function (m, k, h, g, j) { var l = m.createEventObject(); l.bubbles = h; l.cancelable = g; return l }, fireEvent: function (j, g, h) { j.fireEvent("on" + g, h) }, fixTarget: function (g) { if (g == document) { return document.documentElement } return g } } } } Ext.Object.each({ load: [false, false], unload: [false, false], select: [true, false], change: [true, false], submit: [true, true], reset: [true, false], resize: [true, false], scroll: [true, false] }, function (j, k) { var h = k[0], g = k[1]; e[j] = function (n, l) { var m = d.createHtmlEvent(j, h, g); d.fireEvent(n, j, m) } }); function b(j, h) { var g = (j != "mousemove"); return function (n, k) { var m = k.getXY(), l = d.createMouseEvent(n.ownerDocument, j, true, g, h, m[0], m[1], k.ctrlKey, k.altKey, k.shiftKey, k.metaKey, k.button, k.relatedTarget); d.fireEvent(n, j, l) } } Ext.each(["click", "dblclick", "mousedown", "mouseup", "mouseover", "mousemove", "mouseout"], function (g) { e[g] = b(g, 1) }); Ext.Object.each({ focusin: [true, false], focusout: [true, false], activate: [true, true], focus: [false, false], blur: [false, false] }, function (j, k) { var h = k[0], g = k[1]; e[j] = function (n, l) { var m = d.createUIEvent(n.ownerDocument, j, h, g, 1); d.fireEvent(n, j, m) } }); if (!d) { e = {}; d = { fixTarget: Ext.identityFn } } function a(h, g) {} return function (k) { var j = this, h = e[j.type] || a, g = k ? (k.dom || k) : j.getTarget(); g = d.fixTarget(g); h(g, j) } } ()) }, 1, 0, 0, 0, 0, 0, [Ext, "EventObjectImpl"], function () { Ext.EventObject = new Ext.EventObjectImpl() })); (Ext.cmd.derive("Ext.dom.AbstractQuery", Ext.Base, { select: function (k, b) { var h = [], d, g, e, c, a; b = b || document; if (typeof b == "string") { b = document.getElementById(b) } k = k.split(","); for (g = 0, c = k.length; g < c; g++) { if (typeof k[g] == "string") { if (typeof k[g][0] == "@") { d = b.getAttributeNode(k[g].substring(1)); h.push(d) } else { d = b.querySelectorAll(k[g]); for (e = 0, a = d.length; e < a; e++) { h.push(d[e]) } } } } return h }, selectNode: function (b, a) { return this.select(b, a)[0] }, is: function (a, b) { if (typeof a == "string") { a = document.getElementById(a) } return this.select(b).indexOf(a) !== -1 } }, 0, 0, 0, 0, 0, 0, [Ext.dom, "AbstractQuery"], 0)); (Ext.cmd.derive("Ext.dom.AbstractHelper", Ext.Base, { emptyTags: /^(?:br|frame|hr|img|input|link|meta|range|spacer|wbr|area|param|col)$/i, confRe: /^(?:tag|children|cn|html|tpl|tplData)$/i, endRe: /end/i, styleSepRe: /\s*(?::|;)\s*/, attributeTransform: { cls: "class", htmlFor: "for" }, closeTags: {}, decamelizeName: (function () { var c = /([a-z])([A-Z])/g, b = {}; function a(d, g, e) { return g + "-" + e.toLowerCase() } return function (d) { return b[d] || (b[d] = d.replace(c, a)) } } ()), generateMarkup: function (j, b) { var h = this, g = typeof j, e, a, k, d, c; if (g == "string" || g == "number") { b.push(j) } else { if (Ext.isArray(j)) { for (d = 0; d < j.length; d++) { if (j[d]) { h.generateMarkup(j[d], b) } } } else { k = j.tag || "div"; b.push("<", k); for (e in j) { if (j.hasOwnProperty(e)) { a = j[e]; if (!h.confRe.test(e)) { if (typeof a == "object") { b.push(" ", e, '="'); h.generateStyles(a, b).push('"') } else { b.push(" ", h.attributeTransform[e] || e, '="', a, '"') } } } } if (h.emptyTags.test(k)) { b.push("/>") } else { b.push(">"); if ((a = j.tpl)) { a.applyOut(j.tplData, b) } if ((a = j.html)) { b.push(a) } if ((a = j.cn || j.children)) { h.generateMarkup(a, b) } c = h.closeTags; b.push(c[k] || (c[k] = "")) } } } return b }, generateStyles: function (e, c) { var b = c || [], d; for (d in e) { if (e.hasOwnProperty(d)) { b.push(this.decamelizeName(d), ":", e[d], ";") } } return c || b.join("") }, markup: function (a) { if (typeof a == "string") { return a } var b = this.generateMarkup(a, []); return b.join("") }, applyStyles: function (c, d) { if (d) { var b = 0, a; c = Ext.fly(c, "_applyStyles"); if (typeof d == "function") { d = d.call() } if (typeof d == "string") { d = Ext.util.Format.trim(d).split(this.styleSepRe); for (a = d.length; b < a; ) { c.setStyle(d[b++], d[b++]) } } else { if (Ext.isObject(d)) { c.setStyle(d) } } } }, insertHtml: function (c, g, d) { var h = {}, a, b, j, e; c = c.toLowerCase(); h.beforebegin = ["BeforeBegin", "previousSibling"]; h.afterend = ["AfterEnd", "nextSibling"]; b = g.ownerDocument.createRange(); a = "setStart" + (this.endRe.test(c) ? "After" : "Before"); if (h[c]) { b[a](g); j = b.createContextualFragment(d); g.parentNode.insertBefore(j, c == "beforebegin" ? g : g.nextSibling); return g[(c == "beforebegin" ? "previous" : "next") + "Sibling"] } else { e = (c == "afterbegin" ? "first" : "last") + "Child"; if (g.firstChild) { b[a](g[e]); j = b.createContextualFragment(d); if (c == "afterbegin") { g.insertBefore(j, g.firstChild) } else { g.appendChild(j) } } else { g.innerHTML = d } return g[e] } throw 'Illegal insertion point -> "' + c + '"' }, insertBefore: function (a, c, b) { return this.doInsert(a, c, b, "beforebegin") }, insertAfter: function (a, c, b) { return this.doInsert(a, c, b, "afterend", "nextSibling") }, insertFirst: function (a, c, b) { return this.doInsert(a, c, b, "afterbegin", "firstChild") }, append: function (a, c, b) { return this.doInsert(a, c, b, "beforeend", "", true) }, overwrite: function (a, c, b) { a = Ext.getDom(a); a.innerHTML = this.markup(c); return b ? Ext.get(a.firstChild) : a.firstChild }, doInsert: function (d, g, e, h, c, a) { var b = this.insertHtml(h, Ext.getDom(d), this.markup(g)); return e ? Ext.get(b, true) : b } }, 0, 0, 0, 0, 0, 0, [Ext.dom, "AbstractHelper"], 0)); Ext.define("Ext.dom.AbstractElement_static", { override: "Ext.dom.AbstractElement", inheritableStatics: { unitRe: /\d+(px|em|%|en|ex|pt|in|cm|mm|pc)$/i, camelRe: /(-[a-z])/gi, msRe: /^-ms-/, cssRe: /([a-z0-9\-]+)\s*:\s*([^;\s]+(?:\s*[^;\s]+)*)?;?/gi, opacityRe: /alpha\(opacity=(.*)\)/i, propertyCache: {}, defaultUnit: "px", borders: { l: "border-left-width", r: "border-right-width", t: "border-top-width", b: "border-bottom-width" }, paddings: { l: "padding-left", r: "padding-right", t: "padding-top", b: "padding-bottom" }, margins: { l: "margin-left", r: "margin-right", t: "margin-top", b: "margin-bottom" }, addUnits: function (b, a) { if (typeof b == "number") { return b + (a || this.defaultUnit || "px") } if (b === "" || b == "auto" || b === undefined || b === null) { return b || "" } if (!this.unitRe.test(b)) { return b || "" } return b }, isAncestor: function (b, d) { var a = false; b = Ext.getDom(b); d = Ext.getDom(d); if (b && d) { if (b.contains) { return b.contains(d) } else { if (b.compareDocumentPosition) { return !!(b.compareDocumentPosition(d) & 16) } else { while ((d = d.parentNode)) { a = d == b || a } } } } return a }, parseBox: function (c) { c = c || 0; var a = typeof c, d, b; if (a === "number") { return { top: c, right: c, bottom: c, left: c } } else { if (a !== "string") { return c } } d = c.split(" "); b = d.length; if (b == 1) { d[1] = d[2] = d[3] = d[0] } else { if (b == 2) { d[2] = d[0]; d[3] = d[1] } else { if (b == 3) { d[3] = d[1] } } } return { top: parseFloat(d[0]) || 0, right: parseFloat(d[1]) || 0, bottom: parseFloat(d[2]) || 0, left: parseFloat(d[3]) || 0 } }, unitizeBox: function (g, e) { var d = this.addUnits, c = this.parseBox(g); return d(c.top, e) + " " + d(c.right, e) + " " + d(c.bottom, e) + " " + d(c.left, e) }, camelReplaceFn: function (b, c) { return c.charAt(1).toUpperCase() }, normalize: function (a) { if (a == "float") { a = Ext.supports.Float ? "cssFloat" : "styleFloat" } return this.propertyCache[a] || (this.propertyCache[a] = a.replace(this.msRe, "ms-").replace(this.camelRe, this.camelReplaceFn)) }, getDocumentHeight: function () { return Math.max(!Ext.isStrict ? document.body.scrollHeight : document.documentElement.scrollHeight, this.getViewportHeight()) }, getDocumentWidth: function () { return Math.max(!Ext.isStrict ? document.body.scrollWidth : document.documentElement.scrollWidth, this.getViewportWidth()) }, getViewportHeight: function () { return window.innerHeight }, getViewportWidth: function () { return window.innerWidth }, getViewSize: function () { return { width: window.innerWidth, height: window.innerHeight } }, getOrientation: function () { if (Ext.supports.OrientationChange) { return (window.orientation == 0) ? "portrait" : "landscape" } return (window.innerHeight > window.innerWidth) ? "portrait" : "landscape" }, fromPoint: function (a, b) { return Ext.get(document.elementFromPoint(a, b)) }, parseStyles: function (c) { var a = {}, b = this.cssRe, d; if (c) { b.lastIndex = 0; while ((d = b.exec(c))) { a[d[1]] = d[2] || "" } } return a } } }, function () { var c = document, b = null, a = c.compatMode == "CSS1Compat"; if (!("activeElement" in c) && c.addEventListener) { c.addEventListener("focus", function (e) { if (e && e.target) { b = (e.target == c) ? null : e.target } }, true) } function d(g, h, e) { return function () { g.selectionStart = h; g.selectionEnd = e } } this.addInheritableStatics({ getActiveElement: function () { var h; try { h = c.activeElement } catch (g) {} h = h || b; if (!h) { h = b = document.body } return h }, getRightMarginFixCleaner: function (l) { var h = Ext.supports, j = h.DisplayChangeInputSelectionBug, k = h.DisplayChangeTextAreaSelectionBug, m, e, n, g; if (j || k) { m = c.activeElement || b; e = m && m.tagName; if ((k && e == "TEXTAREA") || (j && e == "INPUT" && m.type == "text")) { if (Ext.dom.Element.isAncestor(l, m)) { n = m.selectionStart; g = m.selectionEnd; if (Ext.isNumber(n) && Ext.isNumber(g)) { return d(m, n, g) } } } } return Ext.emptyFn }, getViewWidth: function (e) { return e ? Ext.dom.Element.getDocumentWidth() : Ext.dom.Element.getViewportWidth() }, getViewHeight: function (e) { return e ? Ext.dom.Element.getDocumentHeight() : Ext.dom.Element.getViewportHeight() }, getDocumentHeight: function () { return Math.max(!a ? c.body.scrollHeight : c.documentElement.scrollHeight, Ext.dom.Element.getViewportHeight()) }, getDocumentWidth: function () { return Math.max(!a ? c.body.scrollWidth : c.documentElement.scrollWidth, Ext.dom.Element.getViewportWidth()) }, getViewportHeight: function () { return Ext.isIE9m ? (Ext.isStrict ? c.documentElement.clientHeight : c.body.clientHeight) : self.innerHeight }, getViewportWidth: function () { return (!Ext.isStrict && !Ext.isOpera) ? c.body.clientWidth : Ext.isIE9m ? c.documentElement.clientWidth : self.innerWidth }, serializeForm: function (j) { var k = j.elements || (document.forms[j] || Ext.getDom(j)).elements, u = false, t = encodeURIComponent, n = "", m = k.length, p, g, s, w, v, q, l, r, h; for (q = 0; q < m; q++) { p = k[q]; g = p.name; s = p.type; w = p.options; if (!p.disabled && g) { if (/select-(one|multiple)/i.test(s)) { r = w.length; for (l = 0; l < r; l++) { h = w[l]; if (h.selected) { v = h.hasAttribute ? h.hasAttribute("value") : h.getAttributeNode("value").specified; n += Ext.String.format("{0}={1}&", t(g), t(v ? h.value : h.text)) } } } else { if (!(/file|undefined|reset|button/i.test(s))) { if (!(/radio|checkbox/i.test(s) && !p.checked) && !(s == "submit" && u)) { n += t(g) + "=" + t(p.value) + "&"; u = /submit/i.test(s) } } } } } return n.substr(0, n.length - 1) } }) }); Ext.define("Ext.dom.AbstractElement_insertion", { override: "Ext.dom.AbstractElement", appendChild: function (d, c) { var g = this, j, b, h, a; if (d.nodeType || d.dom || typeof d == "string") { d = Ext.getDom(d); g.dom.appendChild(d); return !c ? Ext.get(d) : d } else { if (d.length) { j = Ext.fly(document.createDocumentFragment(), "_internal"); b = d.length; Ext.DomHelper.useDom = true; for (h = 0; h < b; h++) { j.appendChild(d[h], c) } Ext.DomHelper.useDom = a; g.dom.appendChild(j.dom); return c ? j.dom : j } else { return g.createChild(d, null, c) } } }, appendTo: function (a) { Ext.getDom(a).appendChild(this.dom); return this }, insertBefore: function (a) { a = Ext.getDom(a); a.parentNode.insertBefore(this.dom, a); return this }, insertAfter: function (a) { a = Ext.getDom(a); a.parentNode.insertBefore(this.dom, a.nextSibling); return this }, insertFirst: function (b, a) { b = b || {}; if (b.nodeType || b.dom || typeof b == "string") { b = Ext.getDom(b); this.dom.insertBefore(b, this.dom.firstChild); return !a ? Ext.get(b) : b } else { return this.createChild(b, this.dom.firstChild, a) } }, insertSibling: function (b, g, k) { var j = this, l = Ext.core.DomHelper, m = l.useDom, n = (g || "before").toLowerCase() == "after", d, a, c, h; if (Ext.isArray(b)) { a = Ext.fly(document.createDocumentFragment(), "_internal"); c = b.length; l.useDom = true; for (h = 0; h < c; h++) { d = a.appendChild(b[h], k) } l.useDom = m; j.dom.parentNode.insertBefore(a.dom, n ? j.dom.nextSibling : j.dom); return d } b = b || {}; if (b.nodeType || b.dom) { d = j.dom.parentNode.insertBefore(Ext.getDom(b), n ? j.dom.nextSibling : j.dom); if (!k) { d = Ext.get(d) } } else { if (n && !j.dom.nextSibling) { d = l.append(j.dom.parentNode, b, !k) } else { d = l[n ? "insertAfter" : "insertBefore"](j.dom, b, !k) } } return d }, replace: function (a) { a = Ext.get(a); this.insertBefore(a); a.remove(); return this }, replaceWith: function (a) { var b = this; if (a.nodeType || a.dom || typeof a == "string") { a = Ext.get(a); b.dom.parentNode.insertBefore(a.dom, b.dom) } else { a = Ext.core.DomHelper.insertBefore(b.dom, a) } delete Ext.cache[b.id]; Ext.removeNode(b.dom); b.id = Ext.id(b.dom = a); Ext.dom.AbstractElement.addToCache(b.isFlyweight ? new Ext.dom.AbstractElement(b.dom) : b); return b }, createChild: function (b, a, c) { b = b || { tag: "div" }; if (a) { return Ext.core.DomHelper.insertBefore(a, b, c !== true) } else { return Ext.core.DomHelper.append(this.dom, b, c !== true) } }, wrap: function (b, c, a) { var e = Ext.core.DomHelper.insertBefore(this.dom, b || { tag: "div" }, true), d = e; if (a) { d = Ext.DomQuery.selectNode(a, e.dom) } d.appendChild(this.dom); return c ? e.dom : e }, insertHtml: function (b, c, a) { var d = Ext.core.DomHelper.insertHtml(b, this.dom, c); return a ? Ext.get(d) : d } }); Ext.define("Ext.dom.AbstractElement_style", { override: "Ext.dom.AbstractElement" }, function () { var d = this, n = /\w/g, r = /\s+/, c = /^(?:transparent|(?:rgba[(](?:\s*\d+\s*[,]){3}\s*0\s*[)]))$/i, k = Ext.supports.ClassList, e = "padding", j = "margin", a = "border", s = "-left", b = "-right", p = "-top", l = "-bottom", q = "-width", m = { l: a + s + q, r: a + b + q, t: a + p + q, b: a + l + q }, g = { l: e + s, r: e + b, t: e + p, b: e + l }, o = { l: j + s, r: j + b, t: j + p, b: j + l }, h = new d.Fly(); Ext.override(d, { styleHooks: {}, addStyles: function (A, z) { var v = 0, y = (A || "").match(n), x, t = y.length, w, u = []; if (t == 1) { v = Math.abs(parseFloat(this.getStyle(z[y[0]])) || 0) } else { if (t) { for (x = 0; x < t; x++) { w = y[x]; u.push(z[w]) } u = this.getStyle(u); for (x = 0; x < t; x++) { w = y[x]; v += Math.abs(parseFloat(u[z[w]]) || 0) } } } return v }, addCls: (function () { var u = function (A) { var B = this, x = B.dom, v = B.trimRe, C = A, w, D, y, z, E; if (typeof(A) == "string") { A = A.replace(v, "").split(r) } if (x && A && !!(z = A.length)) { if (!x.className) { x.className = A.join(" ") } else { w = x.classList; if (w) { for (y = 0; y < z; ++y) { E = A[y]; if (E) { if (!w.contains(E)) { if (D) { D.push(E) } else { D = x.className.replace(v, ""); D = D ? [D, E] : [E] } } } } if (D) { x.className = D.join(" ") } } else { t(C) } } } return B }, t = function (w) { var x = this, y = x.dom, v; if (y && w && w.length) { v = Ext.Element.mergeClsList(y.className, w); if (v.changed) { y.className = v.join(" ") } } return x }; return k ? u : t })(), removeCls: function (v) { var w = this, y = w.dom, x, t, u; if (typeof(v) == "string") { v = v.replace(w.trimRe, "").split(r) } if (y && y.className && v && !!(t = v.length)) { x = y.classList; if (t === 1 && x) { if (v[0]) { x.remove(v[0]) } } else { u = Ext.Element.removeCls(y.className, v); if (u.changed) { y.className = u.join(" ") } } } return w }, radioCls: function (x) { var y = this.dom.parentNode.childNodes, u, w, t; x = Ext.isArray(x) ? x : [x]; for (w = 0, t = y.length; w < t; w++) { u = y[w]; if (u && u.nodeType == 1) { h.attach(u).removeCls(x) } } return this.addCls(x) }, toggleCls: (function () { var t = function (v) { var w = this, y = w.dom, x; if (y) { v = v.replace(w.trimRe, ""); if (v) { x = y.classList; if (x) { x.toggle(v) } else { u(v) } } } return w }, u = function (v) { return this.hasCls(v) ? this.removeCls(v) : this.addCls(v) }; return k ? t : u })(), hasCls: (function () { var t = function (w) { var y = this.dom, v = false, x; if (y && w) { x = y.classList; if (x) { v = x.contains(w) } else { v = u(w) } } return v }, u = function (v) { var w = this.dom; return w ? v && (" " + w.className + " ").indexOf(" " + v + " ") !== -1 : false }; return k ? t : u })(), replaceCls: function (u, t) { return this.removeCls(u).addCls(t) }, isStyle: function (t, u) { return this.getStyle(t) == u }, getStyle: function (F, A) { var B = this, w = B.dom, I = typeof F != "string", G = B.styleHooks, u = F, C = u, z = 1, y, H, E, D, v, t, x; if (I) { E = {}; u = C[0]; x = 0; if (!(z = C.length)) { return E } } if (!w || w.documentElement) { return E || "" } y = w.style; if (A) { t = y } else { t = w.ownerDocument.defaultView.getComputedStyle(w, null); if (!t) { A = true; t = y } } do { D = G[u]; if (!D) { G[u] = D = { name: d.normalize(u) } } if (D.get) { v = D.get(w, B, A, t) } else { H = D.name; v = t[H] } if (!I) { return v } E[u] = v; u = C[++x] } while (x < z); return E }, getStyles: function () { var u = Ext.Array.slice(arguments), t = u.length, v; if (t && typeof u[t - 1] == "boolean") { v = u.pop() } return this.getStyle(u, v) }, isTransparent: function (u) { var t = this.getStyle(u); return t ? c.test(t) : false }, setStyle: function (A, y) { var w = this, z = w.dom, t = w.styleHooks, v = z.style, u = A, x; if (typeof u == "string") { x = t[u]; if (!x) { t[u] = x = { name: d.normalize(u) } } y = (y == null) ? "" : y; if (x.set) { x.set(z, y, w) } else { v[x.name] = y } if (x.afterSet) { x.afterSet(z, y, w) } } else { for (u in A) { if (A.hasOwnProperty(u)) { x = t[u]; if (!x) { t[u] = x = { name: d.normalize(u) } } y = A[u]; y = (y == null) ? "" : y; if (x.set) { x.set(z, y, w) } else { v[x.name] = y } if (x.afterSet) { x.afterSet(z, y, w) } } } } return w }, getHeight: function (u) { var v = this.dom, t = u ? (v.clientHeight - this.getPadding("tb")) : v.offsetHeight; return t > 0 ? t : 0 }, getWidth: function (t) { var v = this.dom, u = t ? (v.clientWidth - this.getPadding("lr")) : v.offsetWidth; return u > 0 ? u : 0 }, setWidth: function (t) { var u = this; u.dom.style.width = d.addUnits(t); return u }, setHeight: function (t) { var u = this; u.dom.style.height = d.addUnits(t); return u }, getBorderWidth: function (t) { return this.addStyles(t, m) }, getPadding: function (t) { return this.addStyles(t, g) }, margins: o, applyStyles: function (v) { if (v) { var u, t, w = this.dom; if (typeof v == "function") { v = v.call() } if (typeof v == "string") { v = Ext.util.Format.trim(v).split(/\s*(?::|;)\s*/); for (u = 0, t = v.length; u < t; ) { w.style[d.normalize(v[u++])] = v[u++] } } else { if (typeof v == "object") { this.setStyle(v) } } } }, setSize: function (v, t) { var w = this, u = w.dom.style; if (Ext.isObject(v)) { t = v.height; v = v.width } u.width = d.addUnits(v); u.height = d.addUnits(t); return w }, getViewSize: function () { var t = document, u = this.dom; if (u == t || u == t.body) { return { width: d.getViewportWidth(), height: d.getViewportHeight() } } else { return { width: u.clientWidth, height: u.clientHeight } } }, getSize: function (u) { var t = this.dom; return { width: Math.max(0, u ? (t.clientWidth - this.getPadding("lr")) : t.offsetWidth), height: Math.max(0, u ? (t.clientHeight - this.getPadding("tb")) : t.offsetHeight) } }, repaint: function () { var t = this.dom; this.addCls(Ext.baseCSSPrefix + "repaint"); setTimeout(function () { h.attach(t).removeCls(Ext.baseCSSPrefix + "repaint") }, 1); return this }, getMargin: function (u) { var v = this, x = { t: "top", l: "left", r: "right", b: "bottom" }, t, y, w; if (!u) { w = []; for (t in v.margins) { if (v.margins.hasOwnProperty(t)) { w.push(v.margins[t]) } } y = v.getStyle(w); if (y && typeof y == "object") { for (t in v.margins) { if (v.margins.hasOwnProperty(t)) { y[x[t]] = parseFloat(y[v.margins[t]]) || 0 } } } return y } else { return v.addStyles(u, v.margins) } }, mask: function (u, y, C) { var z = this, v = z.dom, w = (z.$cache || z.getCache()).data, t = w.mask, D, B, A = "", x = Ext.baseCSSPrefix; z.addCls(x + "masked"); if (z.getStyle("position") == "static") { z.addCls(x + "masked-relative") } if (t) { t.remove() } if (y && typeof y == "string") { A = " " + y } else { A = " " + x + "mask-gray" } D = z.createChild({ cls: x + "mask" + ((C !== false) ? "" : (" " + x + "mask-gray")), html: u ? ('
' + u + "
") : "" }); B = z.getSize(); w.mask = D; if (v === document.body) { B.height = window.innerHeight; if (z.orientationHandler) { Ext.EventManager.unOrientationChange(z.orientationHandler, z) } z.orientationHandler = function () { B = z.getSize(); B.height = window.innerHeight; D.setSize(B) }; Ext.EventManager.onOrientationChange(z.orientationHandler, z) } D.setSize(B); if (Ext.is.iPad) { Ext.repaint() } }, unmask: function () { var u = this, w = (u.$cache || u.getCache()).data, t = w.mask, v = Ext.baseCSSPrefix; if (t) { t.remove(); delete w.mask } u.removeCls([v + "masked", v + "masked-relative"]); if (u.dom === document.body) { Ext.EventManager.unOrientationChange(u.orientationHandler, u); delete u.orientationHandler } } }); Ext.onReady(function () { var B = Ext.supports, t, z, x, u, A; function y(G, D, F, C) { var E = C[this.name] || ""; return c.test(E) ? "transparent" : E } function w(I, F, H, E) { var C = E.marginRight, D, G; if (C != "0px") { D = I.style; G = D.display; D.display = "inline-block"; C = (H ? E : I.ownerDocument.defaultView.getComputedStyle(I, null)).marginRight; D.display = G } return C } function v(J, G, I, F) { var C = F.marginRight, E, D, H; if (C != "0px") { E = J.style; D = d.getRightMarginFixCleaner(J); H = E.display; E.display = "inline-block"; C = (I ? F : J.ownerDocument.defaultView.getComputedStyle(J, "")).marginRight; E.display = H; D() } return C } t = d.prototype.styleHooks; if (B.init) { B.init() } if (!B.RightMargin) { t.marginRight = t["margin-right"] = { name: "marginRight", get: (B.DisplayChangeInputSelectionBug || B.DisplayChangeTextAreaSelectionBug) ? v : w } } if (!B.TransparentColor) { z = ["background-color", "border-color", "color", "outline-color"]; for (x = z.length; x--; ) { u = z[x]; A = d.normalize(u); t[u] = t[A] = { name: A, get: y } } } }) }); Ext.define("Ext.dom.AbstractElement_traversal", { override: "Ext.dom.AbstractElement", findParent: function (h, b, a) { var e = this.dom, c = document.documentElement, g = 0, d; b = b || 50; if (isNaN(b)) { d = Ext.getDom(b); b = Number.MAX_VALUE } while (e && e.nodeType == 1 && g < b && e != c && e != d) { if (Ext.DomQuery.is(e, h)) { return a ? Ext.get(e) : e } g++; e = e.parentNode } return null }, findParentNode: function (d, b, a) { var c = Ext.fly(this.dom.parentNode, "_internal"); return c ? c.findParent(d, b, a) : null }, up: function (c, a, b) { return this.findParentNode(c, a, !b) }, select: function (a, b) { return Ext.dom.Element.select(a, this.dom, b) }, query: function (a) { return Ext.DomQuery.select(a, this.dom) }, down: function (a, b) { var c = Ext.DomQuery.selectNode(a, this.dom); return b ? c : Ext.get(c) }, child: function (a, b) { var d, c = this, e; e = Ext.id(c.dom); e = Ext.escapeId(e); d = Ext.DomQuery.selectNode("#" + e + " > " + a, c.dom); return b ? d : Ext.get(d) }, parent: function (a, b) { return this.matchNode("parentNode", "parentNode", a, b) }, next: function (a, b) { return this.matchNode("nextSibling", "nextSibling", a, b) }, prev: function (a, b) { return this.matchNode("previousSibling", "previousSibling", a, b) }, first: function (a, b) { return this.matchNode("nextSibling", "firstChild", a, b) }, last: function (a, b) { return this.matchNode("previousSibling", "lastChild", a, b) }, matchNode: function (b, e, a, c) { if (!this.dom) { return null } var d = this.dom[e]; while (d) { if (d.nodeType == 1 && (!a || Ext.DomQuery.is(d, a))) { return !c ? Ext.get(d) : d } d = d[b] } return null }, isAncestor: function (a) { return this.self.isAncestor.call(this.self, this.dom, a) } }); (Ext.cmd.derive("Ext.dom.AbstractElement", Ext.Base, { trimRe: /^\s+|\s+$/g, whitespaceRe: /\s/, inheritableStatics: { trimRe: /^\s+|\s+$/g, whitespaceRe: /\s/, get: function (c) { var j = this, k = window.document, d = Ext.dom.Element, h, b, g, e, a; if (!c) { return null } if (c.isFly) { c = c.dom } if (typeof c == "string") { if (c == Ext.windowId) { return d.get(window) } else { if (c == Ext.documentId) { return d.get(k) } } h = Ext.cache[c]; if (h && h.skipGarbageCollection) { g = h.el; return g } if (!(e = k.getElementById(c))) { return null } if (h && h.el) { g = Ext.updateCacheEntry(h, e).el } else { g = new d(e, !!h) } return g } else { if (c.tagName) { if (!(a = c.id)) { a = Ext.id(c) } h = Ext.cache[a]; if (h && h.el) { g = Ext.updateCacheEntry(h, c).el } else { g = new d(c, !!h) } return g } else { if (c instanceof j) { if (c != j.docEl && c != j.winEl) { a = c.id; h = Ext.cache[a]; if (h) { Ext.updateCacheEntry(h, k.getElementById(a) || c.dom) } } return c } else { if (c.isComposite) { return c } else { if (Ext.isArray(c)) { return j.select(c) } else { if (c === k) { if (!j.docEl) { b = j.docEl = Ext.Object.chain(d.prototype); b.dom = k; b.el = b; b.id = Ext.id(k); j.addToCache(b) } return j.docEl } else { if (c === window) { if (!j.winEl) { j.winEl = Ext.Object.chain(d.prototype); j.winEl.dom = window; j.winEl.id = Ext.id(window); j.addToCache(j.winEl) } return j.winEl } } } } } } } return null }, addToCache: function (a, b) { if (a) { Ext.addCacheEntry(b, a) } return a }, addMethods: function () { this.override.apply(this, arguments) }, mergeClsList: function () { var m, k = {}, g, b, d, h, c, n = [], e = false, a = this.trimRe, l = this.whitespaceRe; for (g = 0, b = arguments.length; g < b; g++) { m = arguments[g]; if (Ext.isString(m)) { m = m.replace(a, "").split(l) } if (m) { for (d = 0, h = m.length; d < h; d++) { c = m[d]; if (!k[c]) { if (g) { e = true } k[c] = true } } } } for (c in k) { n.push(c) } n.changed = e; return n }, removeCls: function (a, b) { var h = {}, g, c, d, k = [], e = false, j = this.whitespaceRe; if (a) { if (Ext.isString(a)) { a = a.replace(this.trimRe, "").split(j) } for (g = 0, c = a.length; g < c; g++) { h[a[g]] = true } } if (b) { if (Ext.isString(b)) { b = b.split(j) } for (g = 0, c = b.length; g < c; g++) { d = b[g]; if (h[d]) { e = true; delete h[d] } } } for (d in h) { k.push(d) } k.changed = e; return k }, VISIBILITY: 1, DISPLAY: 2, OFFSETS: 3, ASCLASS: 4 }, constructor: function (a, b) { var c = this, d = typeof a == "string" ? document.getElementById(a) : a, e; c.el = c; if (!d) { return null } e = d.id; if (!b && e && Ext.cache[e]) { return Ext.cache[e].el } c.dom = d; c.id = e || Ext.id(d); c.self.addToCache(c) }, set: function (e, b) { var c = this.dom, a, d; for (a in e) { if (e.hasOwnProperty(a)) { d = e[a]; if (a == "style") { this.applyStyles(d) } else { if (a == "cls") { c.className = d } else { if (b !== false) { if (d === undefined) { c.removeAttribute(a) } else { c.setAttribute(a, d) } } else { c[a] = d } } } } } return this }, defaultUnit: "px", is: function (a) { return Ext.DomQuery.is(this.dom, a) }, getValue: function (a) { var b = this.dom.value; return a ? parseInt(b, 10) : b }, remove: function () { var a = this, b = a.dom; if (a.isAnimate) { a.stopAnimation() } if (b) { Ext.removeNode(b); delete a.dom } }, contains: function (a) { if (!a) { return false } var b = this, c = a.dom || a; return (c === b.dom) || Ext.dom.AbstractElement.isAncestor(b.dom, c) }, getAttribute: function (a, b) { var c = this.dom; return c.getAttributeNS(b, a) || c.getAttribute(b + ":" + a) || c.getAttribute(a) || c[a] }, update: function (a) { if (this.dom) { this.dom.innerHTML = a } return this }, setHTML: function (a) { if (this.dom) { this.dom.innerHTML = a } return this }, getHTML: function () { return this.dom ? this.dom.innerHTML : "" }, hide: function () { this.setVisible(false); return this }, show: function () { this.setVisible(true); return this }, setVisible: function (g, a) { var b = this, e = b.self, d = b.getVisibilityMode(), c = Ext.baseCSSPrefix; switch (d) { case e.VISIBILITY: b.removeCls([c + "hidden-display", c + "hidden-offsets"]); b[g ? "removeCls" : "addCls"](c + "hidden-visibility"); break; case e.DISPLAY: b.removeCls([c + "hidden-visibility", c + "hidden-offsets"]); b[g ? "removeCls" : "addCls"](c + "hidden-display"); break; case e.OFFSETS: b.removeCls([c + "hidden-visibility", c + "hidden-display"]); b[g ? "removeCls" : "addCls"](c + "hidden-offsets"); break } return b }, getVisibilityMode: function () { var b = (this.$cache || this.getCache()).data, a = b.visibilityMode; if (a === undefined) { b.visibilityMode = a = this.self.DISPLAY } return a }, setVisibilityMode: function (a) { (this.$cache || this.getCache()).data.visibilityMode = a; return this }, getCache: function () { var a = this, b = a.dom.id || Ext.id(a.dom); a.$cache = Ext.cache[b] || Ext.addCacheEntry(b, null, a.dom); return a.$cache } }, 1, 0, 0, 0, 0, 0, [Ext.dom, "AbstractElement"], function () { var a = this; Ext.getDetachedBody = function () { var b = a.detachedBodyEl; if (!b) { b = document.createElement("div"); a.detachedBodyEl = b = new a.Fly(b); b.isDetachedBody = true } return b }; Ext.getElementById = function (d) { var c = document.getElementById(d), b; if (!c && (b = a.detachedBodyEl)) { c = b.dom.querySelector("#" + Ext.escapeId(d)) } return c }; Ext.get = function (b) { return Ext.dom.Element.get(b) }; this.addStatics({ Fly: new Ext.Class({ extend: a, isFly: true, constructor: function (b) { this.dom = b; this.el = this }, attach: function (b) { this.dom = b; this.$cache = b.id ? Ext.cache[b.id] : null; return this } }), _flyweights: {}, fly: function (e, c) { var d = null, b = a._flyweights; c = c || "_global"; e = Ext.getDom(e); if (e) { d = b[c] || (b[c] = new a.Fly()); d.dom = e; d.$cache = e.id ? Ext.cache[e.id] : null } return d } }); Ext.fly = function () { return a.fly.apply(a, arguments) }; (function (b) { b.destroy = b.remove; if (document.querySelector) { b.getById = function (e, c) { var d = document.getElementById(e) || this.dom.querySelector("#" + Ext.escapeId(e)); return c ? d : (d ? Ext.get(d) : null) } } else { b.getById = function (e, c) { var d = document.getElementById(e); return c ? d : (d ? Ext.get(d) : null) } } } (this.prototype)) })); (Ext.cmd.derive("Ext.dom.Helper", Ext.dom.AbstractHelper, (function () { var b = "afterbegin", j = "afterend", a = "beforebegin", p = "beforeend", m = "", h = "
", c = m + "", o = "" + h, l = c + "", e = "" + o, q = document.createElement("div"), n = ["BeforeBegin", "previousSibling"], k = ["AfterEnd", "nextSibling"], d = { beforebegin: n, afterend: k }, g = { beforebegin: n, afterend: k, afterbegin: ["AfterBegin", "firstChild"], beforeend: ["BeforeEnd", "lastChild"] }; return { tableRe: /^(?:table|thead|tbody|tr|td)$/i, tableElRe: /td|tr|tbody|thead/i, useDom: false, createDom: function (r, x) { var s, A = document, v, y, t, z, w, u; if (Ext.isArray(r)) { s = A.createDocumentFragment(); for (w = 0, u = r.length; w < u; w++) { this.createDom(r[w], s) } } else { if (typeof r == "string") { s = A.createTextNode(r) } else { s = A.createElement(r.tag || "div"); v = !!s.setAttribute; for (y in r) { if (!this.confRe.test(y)) { t = r[y]; if (y == "cls") { s.className = t } else { if (v) { s.setAttribute(y, t) } else { s[y] = t } } } } Ext.DomHelper.applyStyles(s, r.style); if ((z = r.children || r.cn)) { this.createDom(z, s) } else { if (r.html) { s.innerHTML = r.html } } } } if (x) { x.appendChild(s) } return s }, ieTable: function (w, r, x, v) { q.innerHTML = [r, x, v].join(""); var s = -1, u = q, t; while (++s < w) { u = u.firstChild } t = u.nextSibling; if (t) { t = u; u = document.createDocumentFragment(); while (t) { nx = t.nextSibling; u.appendChild(t); t = nx } } return u }, insertIntoTable: function (A, t, s, u) { var r, x, w = t == a, z = t == b, v = t == p, y = t == j; if (A == "td" && (z || v) || !this.tableElRe.test(A) && (w || y)) { return null } x = w ? s : y ? s.nextSibling : z ? s.firstChild : null; if (w || y) { s = s.parentNode } if (A == "td" || (A == "tr" && (v || z))) { r = this.ieTable(4, l, u, e) } else { if (((A == "tbody" || A == "thead") && (v || z)) || (A == "tr" && (w || y))) { r = this.ieTable(3, c, u, o) } else { r = this.ieTable(2, m, u, h) } } s.insertBefore(r, x); return r }, createContextualFragment: function (s) { var r = document.createDocumentFragment(), t, u; q.innerHTML = s; u = q.childNodes; t = u.length; while (t--) { r.appendChild(u[0]) } return r }, applyStyles: function (r, s) { if (s) { if (typeof s == "function") { s = s.call() } if (typeof s == "string") { s = Ext.dom.Element.parseStyles(s) } if (typeof s == "object") { Ext.fly(r, "_applyStyles").setStyle(s) } } }, createHtml: function (r) { return this.markup(r) }, doInsert: function (u, w, v, x, t, r) { u = u.dom || Ext.getDom(u); var s; if (this.useDom) { s = this.createDom(w, null); if (r) { u.appendChild(s) } else { (t == "firstChild" ? u : u.parentNode).insertBefore(s, u[t] || u) } } else { s = this.insertHtml(x, u, this.markup(w)) } return v ? Ext.get(s, true) : s }, overwrite: function (t, s, u) { var r; t = Ext.getDom(t); s = this.markup(s); if (Ext.isIE && this.tableRe.test(t.tagName)) { while (t.firstChild) { t.removeChild(t.firstChild) } if (s) { r = this.insertHtml("afterbegin", t, s); return u ? Ext.get(r) : r } return null } t.innerHTML = s; return u ? Ext.get(t.firstChild) : t.firstChild }, insertHtml: function (t, w, u) { var y, s, v, r, x; t = t.toLowerCase(); if (w.insertAdjacentHTML) { if (Ext.isIE && this.tableRe.test(w.tagName) && (x = this.insertIntoTable(w.tagName.toLowerCase(), t, w, u))) { return x } if ((y = g[t])) { if (Ext.global.MSApp && Ext.global.MSApp.execUnsafeLocalFunction) { MSApp.execUnsafeLocalFunction(function () { w.insertAdjacentHTML(y[0], u) }) } else { w.insertAdjacentHTML(y[0], u) } return w[y[1]] } } else { if (w.nodeType === 3) { t = t === "afterbegin" ? "beforebegin" : t; t = t === "beforeend" ? "afterend" : t } s = Ext.supports.CreateContextualFragment ? w.ownerDocument.createRange() : undefined; r = "setStart" + (this.endRe.test(t) ? "After" : "Before"); if (d[t]) { if (s) { s[r](w); x = s.createContextualFragment(u) } else { x = this.createContextualFragment(u) } w.parentNode.insertBefore(x, t == a ? w : w.nextSibling); return w[(t == a ? "previous" : "next") + "Sibling"] } else { v = (t == b ? "first" : "last") + "Child"; if (w.firstChild) { if (s) { s[r](w[v]); x = s.createContextualFragment(u) } else { x = this.createContextualFragment(u) } if (t == b) { w.insertBefore(x, w.firstChild) } else { w.appendChild(x) } } else { w.innerHTML = u } return w[v] } } }, createTemplate: function (s) { var r = this.markup(s); return new Ext.Template(r) } } })(), 0, 0, 0, 0, 0, 0, [Ext.dom, "Helper"], function () { Ext.ns("Ext.core"); Ext.DomHelper = Ext.core.DomHelper = new this() })); (Ext.cmd.derive("Ext.Template", Ext.Base, { inheritableStatics: { from: function (b, a) { b = Ext.getDom(b); return new this(b.value || b.innerHTML, a || "") } }, constructor: function (d) { var g = this, b = arguments, a = [], c = 0, e = b.length, h; g.initialConfig = {}; if (e === 1 && Ext.isArray(d)) { b = d; e = b.length } if (e > 1) { for (; c < e; c++) { h = b[c]; if (typeof h == "object") { Ext.apply(g.initialConfig, h); Ext.apply(g, h) } else { a.push(h) } } } else { a.push(d) } g.html = a.join(""); if (g.compiled) { g.compile() } }, isTemplate: true, disableFormats: false, re: /\{([\w\-]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?\}/g, apply: function (a) { var h = this, d = h.disableFormats !== true, g = Ext.util.Format, c = h, b; if (h.compiled) { return h.compiled(a).join("") } function e(j, l, n, k) { if (n && d) { if (k) { k = [a[l]].concat(Ext.functionFactory("return [" + k + "];")()) } else { k = [a[l]] } if (n.substr(0, 5) == "this.") { return c[n.substr(5)].apply(c, k) } else { return g[n].apply(g, k) } } else { return a[l] !== undefined ? a[l] : "" } } b = h.html.replace(h.re, e); return b }, applyOut: function (a, b) { var c = this; if (c.compiled) { b.push.apply(b, c.compiled(a)) } else { b.push(c.apply(a)) } return b }, applyTemplate: function () { return this.apply.apply(this, arguments) }, set: function (a, c) { var b = this; b.html = a; b.compiled = null; return c ? b.compile() : b }, compileARe: /\\/g, compileBRe: /(\r\n|\n)/g, compileCRe: /'/g, compile: function () { var me = this, fm = Ext.util.Format, useFormat = me.disableFormats !== true, body, bodyReturn; function fn(m, name, format, args) { if (format && useFormat) { args = args ? "," + args : ""; if (format.substr(0, 5) != "this.") { format = "fm." + format + "(" } else { format = "this." + format.substr(5) + "(" } } else { args = ""; format = "(values['" + name + "'] == undefined ? '' : " } return "'," + format + "values['" + name + "']" + args + ") ,'" } bodyReturn = me.html.replace(me.compileARe, "\\\\").replace(me.compileBRe, "\\n").replace(me.compileCRe, "\\'").replace(me.re, fn); body = "this.compiled = function(values){ return ['" + bodyReturn + "'];};"; eval(body); return me }, insertFirst: function (b, a, c) { return this.doInsert("afterBegin", b, a, c) }, insertBefore: function (b, a, c) { return this.doInsert("beforeBegin", b, a, c) }, insertAfter: function (b, a, c) { return this.doInsert("afterEnd", b, a, c) }, append: function (b, a, c) { return this.doInsert("beforeEnd", b, a, c) }, doInsert: function (b, d, a, e) { var c = Ext.DomHelper.insertHtml(b, Ext.getDom(d), this.apply(a)); return e ? Ext.get(c) : c }, overwrite: function (c, a, d) { var b = Ext.DomHelper.overwrite(Ext.getDom(c), this.apply(a)); return d ? Ext.get(b) : b } }, 1, 0, 0, 0, 0, 0, [Ext, "Template"], 0)); (Ext.cmd.derive("Ext.XTemplateParser", Ext.Base, { constructor: function (a) { Ext.apply(this, a) }, doTpl: Ext.emptyFn, parse: function (n) { var w = this, q = n.length, p = { elseif: "elif" }, r = w.topRe, c = w.actionsRe, e, d, k, o, h, l, j, v, u, b, g, a; w.level = 0; w.stack = d = []; for (e = 0; e < q; e = b) { r.lastIndex = e; o = r.exec(n); if (!o) { w.doText(n.substring(e, q)); break } u = o.index; b = r.lastIndex; if (e < u) { w.doText(n.substring(e, u)) } if (o[1]) { b = n.indexOf("%}", u + 2); w.doEval(n.substring(u + 2, b)); b += 2 } else { if (o[2]) { b = n.indexOf("]}", u + 2); w.doExpr(n.substring(u + 2, b)); b += 2 } else { if (o[3]) { w.doTag(o[3]) } else { if (o[4]) { g = null; while ((v = c.exec(o[4])) !== null) { k = v[2] || v[3]; if (k) { k = Ext.String.htmlDecode(k); h = v[1]; h = p[h] || h; g = g || {}; l = g[h]; if (typeof l == "string") { g[h] = [l, k] } else { if (l) { g[h].push(k) } else { g[h] = k } } } } if (!g) { if (w.elseRe.test(o[4])) { w.doElse() } else { if (w.defaultRe.test(o[4])) { w.doDefault() } else { w.doTpl(); d.push({ type: "tpl" }) } } } else { if (g["if"]) { w.doIf(g["if"], g); d.push({ type: "if" }) } else { if (g["switch"]) { w.doSwitch(g["switch"], g); d.push({ type: "switch" }) } else { if (g["case"]) { w.doCase(g["case"], g) } else { if (g.elif) { w.doElseIf(g.elif, g) } else { if (g["for"]) { ++w.level; if (a = w.propRe.exec(o[4])) { g.propName = a[1] || a[2] } w.doFor(g["for"], g); d.push({ type: "for", actions: g }) } else { if (g.foreach) { ++w.level; if (a = w.propRe.exec(o[4])) { g.propName = a[1] || a[2] } w.doForEach(g.foreach, g); d.push({ type: "foreach", actions: g }) } else { if (g.exec) { w.doExec(g.exec, g); d.push({ type: "exec", actions: g }) } } } } } } } } } else { if (o[0].length === 5) { d.push({ type: "tpl" }) } else { j = d.pop(); w.doEnd(j.type, j.actions); if (j.type == "for" || j.type == "foreach") { --w.level } } } } } } } }, topRe: /(?:(\{\%)|(\{\[)|\{([^{}]+)\})|(?:]*)\>)|(?:<\/tpl>)/g, actionsRe: /\s*(elif|elseif|if|for|foreach|exec|switch|case|eval|between)\s*\=\s*(?:(?:"([^"]*)")|(?:'([^']*)'))\s*/g, propRe: /prop=(?:(?:"([^"]*)")|(?:'([^']*)'))/, defaultRe: /^\s*default\s*$/, elseRe: /^\s*else\s*$/ }, 1, 0, 0, 0, 0, 0, [Ext, "XTemplateParser"], 0)); (Ext.cmd.derive("Ext.XTemplateCompiler", Ext.XTemplateParser, { useEval: Ext.isGecko, useIndex: Ext.isIE8m, useFormat: true, propNameRe: /^[\w\d\$]*$/, compile: function (a) { var c = this, b = c.generate(a); return c.useEval ? c.evalTpl(b) : (new Function("Ext", b))(Ext) }, generate: function (a) { var d = this, b = "var fm=Ext.util.Format,ts=Object.prototype.toString;", c; d.maxLevel = 0; d.body = ["var c0=values, a0=" + d.createArrayTest(0) + ", p0=parent, n0=xcount, i0=xindex, k0, v;\n"]; if (d.definitions) { if (typeof d.definitions === "string") { d.definitions = [d.definitions, b] } else { d.definitions.push(b) } } else { d.definitions = [b] } d.switches = []; d.parse(a); d.definitions.push((d.useEval ? "$=" : "return") + " function (" + d.fnArgs + ") {", d.body.join(""), "}"); c = d.definitions.join("\n"); d.definitions.length = d.body.length = d.switches.length = 0; delete d.definitions; delete d.body; delete d.switches; return c }, doText: function (c) { var b = this, a = b.body; c = c.replace(b.aposRe, "\\'").replace(b.newLineRe, "\\n"); if (b.useIndex) { a.push("out[out.length]='", c, "'\n") } else { a.push("out.push('", c, "')\n") } }, doExpr: function (b) { var a = this.body; a.push("if ((v=" + b + ") != null) out"); if (this.useIndex) { a.push("[out.length]=v+''\n") } else { a.push(".push(v+'')\n") } }, doTag: function (a) { var b = this.parseTag(a); if (b) { this.doExpr(b) } else { this.doText("{" + a + "}") } }, doElse: function () { this.body.push("} else {\n") }, doEval: function (a) { this.body.push(a, "\n") }, doIf: function (b, c) { var a = this; if (b === ".") { a.body.push("if (values) {\n") } else { if (a.propNameRe.test(b)) { a.body.push("if (", a.parseTag(b), ") {\n") } else { a.body.push("if (", a.addFn(b), a.callFn, ") {\n") } } if (c.exec) { a.doExec(c.exec) } }, doElseIf: function (b, c) { var a = this; if (b === ".") { a.body.push("else if (values) {\n") } else { if (a.propNameRe.test(b)) { a.body.push("} else if (", a.parseTag(b), ") {\n") } else { a.body.push("} else if (", a.addFn(b), a.callFn, ") {\n") } } if (c.exec) { a.doExec(c.exec) } }, doSwitch: function (b) { var a = this; if (b === ".") { a.body.push("switch (values) {\n") } else { if (a.propNameRe.test(b)) { a.body.push("switch (", a.parseTag(b), ") {\n") } else { a.body.push("switch (", a.addFn(b), a.callFn, ") {\n") } } a.switches.push(0) }, doCase: function (e) { var d = this, c = Ext.isArray(e) ? e : [e], g = d.switches.length - 1, a, b; if (d.switches[g]) { d.body.push("break;\n") } else { d.switches[g]++ } for (b = 0, g = c.length; b < g; ++b) { a = d.intRe.exec(c[b]); c[b] = a ? a[1] : ("'" + c[b].replace(d.aposRe, "\\'") + "'") } d.body.push("case ", c.join(": case "), ":\n") }, doDefault: function () { var a = this, b = a.switches.length - 1; if (a.switches[b]) { a.body.push("break;\n") } else { a.switches[b]++ } a.body.push("default:\n") }, doEnd: function (b, d) { var c = this, a = c.level - 1; if (b == "for" || b == "foreach") { if (d.exec) { c.doExec(d.exec) } c.body.push("}\n"); c.body.push("parent=p", a, ";values=r", a + 1, ";xcount=n" + a + ";xindex=i", a, "+1;xkey=k", a, ";\n") } else { if (b == "if" || b == "switch") { c.body.push("}\n") } } }, doFor: function (e, h) { var d = this, c, b = d.level, a = b - 1, g; if (e === ".") { c = "values" } else { if (d.propNameRe.test(e)) { c = d.parseTag(e) } else { c = d.addFn(e) + d.callFn } } if (d.maxLevel < b) { d.maxLevel = b; d.body.push("var ") } if (e == ".") { g = "c" + b } else { g = "a" + a + "?c" + a + "[i" + a + "]:c" + a } d.body.push("i", b, "=0,n", b, "=0,c", b, "=", c, ",a", b, "=", d.createArrayTest(b), ",r", b, "=values,p", b, ",k", b, ";\n", "p", b, "=parent=", g, "\n", "if (c", b, "){if(a", b, "){n", b, "=c", b, ".length;}else if (c", b, ".isMixedCollection){c", b, "=c", b, ".items;n", b, "=c", b, ".length;}else if(c", b, ".isStore){c", b, "=c", b, ".data.items;n", b, "=c", b, ".length;}else{c", b, "=[c", b, "];n", b, "=1;}}\n", "for (xcount=n", b, ";i", b, "1){ out.push("', h.between, '"); } \n') } }, doForEach: function (e, h) { var d = this, c, b = d.level, a = b - 1, g; if (e === ".") { c = "values" } else { if (d.propNameRe.test(e)) { c = d.parseTag(e) } else { c = d.addFn(e) + d.callFn } } if (d.maxLevel < b) { d.maxLevel = b; d.body.push("var ") } if (e == ".") { g = "c" + b } else { g = "a" + a + "?c" + a + "[i" + a + "]:c" + a } d.body.push("i", b, "=-1,n", b, "=0,c", b, "=", c, ",a", b, "=", d.createArrayTest(b), ",r", b, "=values,p", b, ",k", b, ";\n", "p", b, "=parent=", g, "\n", "for(k", b, " in c", b, "){\n", "xindex=++i", b, "+1;\n", "xkey=k", b, ";\n", "values=c", b, "[k", b, "];"); if (h.propName) { d.body.push(".", h.propName) } if (h.between) { d.body.push('if(xindex>1){ out.push("', h.between, '"); } \n') } }, createArrayTest: ("isArray" in Array) ? function (a) { return "Array.isArray(c" + a + ")" } : function (a) { return "ts.call(c" + a + ')==="[object Array]"' }, doExec: function (c, d) { var b = this, a = "f" + b.definitions.length; b.definitions.push("function " + a + "(" + b.fnArgs + ") {", " try { with(values) {", " " + c, " }} catch(e) {", "}", "}"); b.body.push(a + b.callFn + "\n") }, addFn: function (a) { var c = this, b = "f" + c.definitions.length; if (a === ".") { c.definitions.push("function " + b + "(" + c.fnArgs + ") {", " return values", "}") } else { if (a === "..") { c.definitions.push("function " + b + "(" + c.fnArgs + ") {", " return parent", "}") } else { c.definitions.push("function " + b + "(" + c.fnArgs + ") {", " try { with(values) {", " return(" + a + ")", " }} catch(e) {", "}", "}") } } return b }, parseTag: function (b) { var h = this, a = h.tagRe.exec(b), e, j, d, g, c; if (!a) { return null } e = a[1]; j = a[2]; d = a[3]; g = a[4]; if (e == ".") { if (!h.validTypes) { h.definitions.push("var validTypes={string:1,number:1,boolean:1};"); h.validTypes = true } c = 'validTypes[typeof values] || ts.call(values) === "[object Date]" ? values : ""' } else { if (e == "#") { c = "xindex" } else { if (e == "$") { c = "xkey" } else { if (e.substr(0, 7) == "parent.") { c = e } else { if (isNaN(e) && e.indexOf("-") == -1 && e.indexOf(".") != -1) { c = "values." + e } else { c = "values['" + e + "']" } } } } } if (g) { c = "(" + c + g + ")" } if (j && h.useFormat) { d = d ? "," + d : ""; if (j.substr(0, 5) != "this.") { j = "fm." + j + "(" } else { j += "(" } } else { return c } return j + c + d + ")" }, evalTpl: function ($) { eval($); return $ }, newLineRe: /\r\n|\r|\n/g, aposRe: /[']/g, intRe: /^\s*(\d+)\s*$/, tagRe: /^([\w-\.\#\$]+)(?:\:([\w\.]*)(?:\((.*?)?\))?)?(\s?[\+\-\*\/]\s?[\d\.\+\-\*\/\(\)]+)?$/ }, 0, 0, 0, 0, 0, 0, [Ext, "XTemplateCompiler"], function () { var a = this.prototype; a.fnArgs = "out,values,parent,xindex,xcount,xkey"; a.callFn = ".call(this," + a.fnArgs + ")" })); (Ext.cmd.derive("Ext.XTemplate", Ext.Template, { emptyObj: {}, apply: function (a, b) { return this.applyOut(a, [], b).join("") }, applyOut: function (a, b, d) { var g = this, c; if (!g.fn) { c = new Ext.XTemplateCompiler({ useFormat: g.disableFormats !== true, definitions: g.definitions }); g.fn = c.compile(g.html) } try { g.fn(b, a, d || g.emptyObj, 1, 1) } catch (h) {} return b }, compile: function () { return this }, statics: { getTpl: function (b, d) { var c = b[d], a; if (c && !c.isTemplate) { c = Ext.ClassManager.dynInstantiate("Ext.XTemplate", c); if (b.hasOwnProperty(d)) { a = b } else { for (a = b.self.prototype; a && !a.hasOwnProperty(d); a = a.superclass) {} } a[d] = c; c.owner = a } return c || null } } }, 0, 0, 0, 0, 0, 0, [Ext, "XTemplate"], 0)); Ext.ns("Ext.core"); Ext.dom.Query = Ext.core.DomQuery = Ext.DomQuery = (function () { var DQ, doc = document, cache = {}, simpleCache = {}, valueCache = {}, useClassList = !!doc.documentElement.classList, useElementPointer = !!doc.documentElement.firstElementChild, useChildrenCollection = (function () { var d = doc.createElement("div"); d.innerHTML = "text"; return d.children && (d.children.length === 0) })(), nonSpace = /\S/, trimRe = /^\s+|\s+$/g, tplRe = /\{(\d+)\}/g, modeRe = /^(\s?[\/>+~]\s?|\s|$)/, tagTokenRe = /^(#)?([\w\-\*\|\\]+)/, nthRe = /(\d*)n\+?(\d*)/, nthRe2 = /\D/, startIdRe = /^\s*#/, isIE = window.ActiveXObject ? true : false, key = 30803, longHex = /\\([0-9a-fA-F]{6})/g, shortHex = /\\([0-9a-fA-F]{1,6})\s{0,1}/g, nonHex = /\\([^0-9a-fA-F]{1})/g, escapes = /\\/g, num, hasEscapes, supportsColonNsSeparator = (function () { var xmlDoc, xmlString = ''; if (window.DOMParser) { xmlDoc = (new DOMParser()).parseFromString(xmlString, "application/xml") } else { xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.loadXML(xmlString) } return !!xmlDoc.getElementsByTagName("a:b").length })(), longHexToChar = function ($0, $1) { return String.fromCharCode(parseInt($1, 16)) }, shortToLongHex = function ($0, $1) { while ($1.length < 6) { $1 = "0" + $1 } return "\\" + $1 }, charToLongHex = function ($0, $1) { num = $1.charCodeAt(0).toString(16); if (num.length === 1) { num = "0" + num } return "\\0000" + num }, unescapeCssSelector = function (selector) { return (hasEscapes) ? selector.replace(longHex, longHexToChar) : selector }, setupEscapes = function (path) { hasEscapes = (path.indexOf("\\") > -1); if (hasEscapes) { path = path.replace(shortHex, shortToLongHex).replace(nonHex, charToLongHex).replace(escapes, "\\\\") } return path }; eval("var batch = 30803, child, next, prev, byClassName;"); child = useChildrenCollection ? function child(parent, index) { return parent.children[index] } : function child(parent, index) { var i = 0, n = parent.firstChild; while (n) { if (n.nodeType == 1) { if (++i == index) { return n } } n = n.nextSibling } return null }; next = useElementPointer ? function (n) { return n.nextElementSibling } : function (n) { while ((n = n.nextSibling) && n.nodeType != 1) {} return n }; prev = useElementPointer ? function (n) { return n.previousElementSibling } : function (n) { while ((n = n.previousSibling) && n.nodeType != 1) {} return n }; function children(parent) { var n = parent.firstChild, nodeIndex = -1, nextNode; while (n) { nextNode = n.nextSibling; if (n.nodeType == 3 && !nonSpace.test(n.nodeValue)) { parent.removeChild(n) } else { n.nodeIndex = ++nodeIndex } n = nextNode } return this } byClassName = useClassList ? function (nodeSet, cls) { cls = unescapeCssSelector(cls); if (!cls) { return nodeSet } var result = [], ri = -1, i, ci, classList; for (i = 0; ci = nodeSet[i]; i++) { classList = ci.classList; if (classList) { if (classList.contains(cls)) { result[++ri] = ci } } else { if ((" " + ci.className + " ").indexOf(cls) !== -1) { result[++ri] = ci } } } return result } : function (nodeSet, cls) { cls = unescapeCssSelector(cls); if (!cls) { return nodeSet } var result = [], ri = -1, i, ci; for (i = 0; ci = nodeSet[i]; i++) { if ((" " + ci.className + " ").indexOf(cls) !== -1) { result[++ri] = ci } } return result }; function attrValue(n, attr) { if (!n.tagName && typeof n.length != "undefined") { n = n[0] } if (!n) { return null } if (attr == "for") { return n.htmlFor } if (attr == "class" || attr == "className") { return n.className } return n.getAttribute(attr) || n[attr] } function getNodes(ns, mode, tagName) { var result = [], ri = -1, cs, i, ni, j, ci, cn, utag, n, cj; if (!ns) { return result } tagName = tagName.replace("|", ":") || "*"; if (typeof ns.getElementsByTagName != "undefined") { ns = [ns] } if (!mode) { tagName = unescapeCssSelector(tagName); if (!supportsColonNsSeparator && DQ.isXml(ns[0]) && tagName.indexOf(":") !== -1) { for (i = 0; ni = ns[i]; i++) { cs = ni.getElementsByTagName(tagName.split(":").pop()); for (j = 0; ci = cs[j]; j++) { if (ci.tagName === tagName) { result[++ri] = ci } } } } else { for (i = 0; ni = ns[i]; i++) { cs = ni.getElementsByTagName(tagName); for (j = 0; ci = cs[j]; j++) { result[++ri] = ci } } } } else { if (mode == "/" || mode == ">") { utag = tagName.toUpperCase(); for (i = 0; ni = ns[i]; i++) { cn = ni.childNodes; for (j = 0; cj = cn[j]; j++) { if (cj.nodeName == utag || cj.nodeName == tagName || tagName == "*") { result[++ri] = cj } } } } else { if (mode == "+") { utag = tagName.toUpperCase(); for (i = 0; n = ns[i]; i++) { while ((n = n.nextSibling) && n.nodeType != 1) {} if (n && (n.nodeName == utag || n.nodeName == tagName || tagName == "*")) { result[++ri] = n } } } else { if (mode == "~") { utag = tagName.toUpperCase(); for (i = 0; n = ns[i]; i++) { while ((n = n.nextSibling)) { if (n.nodeName == utag || n.nodeName == tagName || tagName == "*") { result[++ri] = n } } } } } } } return result } function concat(a, b) { a.push.apply(a, b); return a } function byTag(cs, tagName) { if (cs.tagName || cs === doc) { cs = [cs] } if (!tagName) { return cs } var result = [], ri = -1, i, ci; tagName = tagName.toLowerCase(); for (i = 0; ci = cs[i]; i++) { if (ci.nodeType == 1 && ci.tagName.toLowerCase() == tagName) { result[++ri] = ci } } return result } function byId(cs, id) { id = unescapeCssSelector(id); if (cs.tagName || cs === doc) { cs = [cs] } if (!id) { return cs } var result = [], ri = -1, i, ci; for (i = 0; ci = cs[i]; i++) { if (ci && ci.id == id) { result[++ri] = ci; return result } } return result } function byAttribute(cs, attr, value, op, custom) { var result = [], ri = -1, useGetStyle = custom == "{", fn = DQ.operators[op], a, xml, hasXml, i, ci; value = unescapeCssSelector(value); for (i = 0; ci = cs[i]; i++) { if (ci.nodeType === 1) { if (!hasXml) { xml = DQ.isXml(ci); hasXml = true } if (!xml) { if (useGetStyle) { a = DQ.getStyle(ci, attr) } else { if (attr == "class" || attr == "className") { a = ci.className } else { if (attr == "for") { a = ci.htmlFor } else { if (attr == "href") { a = ci.getAttribute("href", 2) } else { a = ci.getAttribute(attr) } } } } } else { a = ci.getAttribute(attr) } if ((fn && fn(a, value)) || (!fn && a)) { result[++ri] = ci } } } return result } function byPseudo(cs, name, value) { value = unescapeCssSelector(value); return DQ.pseudos[name](cs, value) } function nodupIEXml(cs) { var d = ++key, r, i, len, c; cs[0].setAttribute("_nodup", d); r = [cs[0]]; for (i = 1, len = cs.length; i < len; i++) { c = cs[i]; if (!c.getAttribute("_nodup") != d) { c.setAttribute("_nodup", d); r[r.length] = c } } for (i = 0, len = cs.length; i < len; i++) { cs[i].removeAttribute("_nodup") } return r } function nodup(cs) { if (!cs) { return [] } var len = cs.length, c, i, r = cs, cj, ri = -1, d, j; if (!len || typeof cs.nodeType != "undefined" || len == 1) { return cs } if (isIE && typeof cs[0].selectSingleNode != "undefined") { return nodupIEXml(cs) } d = ++key; cs[0]._nodup = d; for (i = 1; c = cs[i]; i++) { if (c._nodup != d) { c._nodup = d } else { r = []; for (j = 0; j < i; j++) { r[++ri] = cs[j] } for (j = i + 1; cj = cs[j]; j++) { if (cj._nodup != d) { cj._nodup = d; r[++ri] = cj } } return r } } return r } function quickDiffIEXml(c1, c2) { var d = ++key, r = [], i, len; for (i = 0, len = c1.length; i < len; i++) { c1[i].setAttribute("_qdiff", d) } for (i = 0, len = c2.length; i < len; i++) { if (c2[i].getAttribute("_qdiff") != d) { r[r.length] = c2[i] } } for (i = 0, len = c1.length; i < len; i++) { c1[i].removeAttribute("_qdiff") } return r } function quickDiff(c1, c2) { var len1 = c1.length, d = ++key, r = [], i, len; if (!len1) { return c2 } if (isIE && typeof c1[0].selectSingleNode != "undefined") { return quickDiffIEXml(c1, c2) } for (i = 0; i < len1; i++) { c1[i]._qdiff = d } for (i = 0, len = c2.length; i < len; i++) { if (c2[i]._qdiff != d) { r[r.length] = c2[i] } } return r } function quickId(ns, mode, root, id) { if (ns == root) { id = unescapeCssSelector(id); var d = root.ownerDocument || root; return d.getElementById(id) } ns = getNodes(ns, mode, "*"); return byId(ns, id) } return DQ = { getStyle: function (el, name) { return Ext.fly(el, "_DomQuery").getStyle(name) }, compile: function (path, type) { type = type || "select"; var fn = ["var f = function(root) {\n var mode; ++batch; var n = root || document;\n"], lastPath, matchers = DQ.matchers, matchersLn = matchers.length, modeMatch, lmode = path.match(modeRe), tokenMatch, matched, j, t, m; path = setupEscapes(path); if (lmode && lmode[1]) { fn[fn.length] = 'mode="' + lmode[1].replace(trimRe, "") + '";'; path = path.replace(lmode[1], "") } while (path.substr(0, 1) == "/") { path = path.substr(1) } while (path && lastPath != path) { lastPath = path; tokenMatch = path.match(tagTokenRe); if (type == "select") { if (tokenMatch) { if (tokenMatch[1] == "#") { fn[fn.length] = 'n = quickId(n, mode, root, "' + tokenMatch[2] + '");' } else { fn[fn.length] = 'n = getNodes(n, mode, "' + tokenMatch[2] + '");' } path = path.replace(tokenMatch[0], "") } else { if (path.substr(0, 1) != "@") { fn[fn.length] = 'n = getNodes(n, mode, "*");' } } } else { if (tokenMatch) { if (tokenMatch[1] == "#") { fn[fn.length] = 'n = byId(n, "' + tokenMatch[2] + '");' } else { fn[fn.length] = 'n = byTag(n, "' + tokenMatch[2] + '");' } path = path.replace(tokenMatch[0], "") } } while (!(modeMatch = path.match(modeRe))) { matched = false; for (j = 0; j < matchersLn; j++) { t = matchers[j]; m = path.match(t.re); if (m) { fn[fn.length] = t.select.replace(tplRe, function (x, i) { return m[i] }); path = path.replace(m[0], ""); matched = true; break } } if (!matched) { Ext.Error.raise({ sourceClass: "Ext.DomQuery", sourceMethod: "compile", msg: 'Error parsing selector. Parsing failed at "' + path + '"' }) } } if (modeMatch[1]) { fn[fn.length] = 'mode="' + modeMatch[1].replace(trimRe, "") + '";'; path = path.replace(modeMatch[1], "") } } fn[fn.length] = "return nodup(n);\n}"; eval(fn.join("")); return f }, jsSelect: function (path, root, type) { root = root || doc; if (typeof root == "string") { root = doc.getElementById(root) } var paths = path.split(","), results = [], i, len, subPath, result; for (i = 0, len = paths.length; i < len; i++) { subPath = paths[i].replace(trimRe, ""); if (!cache[subPath]) { cache[subPath] = DQ.compile(subPath, type); if (!cache[subPath]) { Ext.Error.raise({ sourceClass: "Ext.DomQuery", sourceMethod: "jsSelect", msg: subPath + " is not a valid selector" }) } } else { setupEscapes(subPath) } result = cache[subPath](root); if (result && result !== doc) { results = results.concat(result) } } if (paths.length > 1) { return nodup(results) } return results }, isXml: function (el) { var docEl = (el ? el.ownerDocument || el : 0).documentElement; return docEl ? docEl.nodeName !== "HTML" : false }, select: doc.querySelectorAll ? function (path, root, type, single) { root = root || doc; if (!DQ.isXml(root)) { try { if (root.parentNode && (root.nodeType !== 9) && path.indexOf(",") === -1 && !startIdRe.test(path)) { path = "#" + Ext.escapeId(Ext.id(root)) + " " + path; root = root.parentNode } return single ? [root.querySelector(path)] : Ext.Array.toArray(root.querySelectorAll(path)) } catch (e) {} } return DQ.jsSelect.call(this, path, root, type) } : function (path, root, type) { return DQ.jsSelect.call(this, path, root, type) }, selectNode: function (path, root) { return Ext.DomQuery.select(path, root, null, true)[0] }, selectValue: function (path, root, defaultValue) { path = path.replace(trimRe, ""); if (!valueCache[path]) { valueCache[path] = DQ.compile(path, "select") } else { setupEscapes(path) } var n = valueCache[path](root), v; n = n[0] ? n[0] : n; if (typeof n.normalize == "function") { n.normalize() } v = (n && n.firstChild ? n.firstChild.nodeValue : null); return ((v === null || v === undefined || v === "") ? defaultValue : v) }, selectNumber: function (path, root, defaultValue) { var v = DQ.selectValue(path, root, defaultValue || 0); return parseFloat(v) }, is: function (el, ss) { if (typeof el == "string") { el = doc.getElementById(el) } var isArray = Ext.isArray(el), result = DQ.filter(isArray ? el : [el], ss); return isArray ? (result.length == el.length) : (result.length > 0) }, filter: function (els, ss, nonMatches) { ss = ss.replace(trimRe, ""); if (!simpleCache[ss]) { simpleCache[ss] = DQ.compile(ss, "simple") } else { setupEscapes(ss) } var result = simpleCache[ss](els); return nonMatches ? quickDiff(result, els) : result }, matchers: [{ re: /^\.([\w\-\\]+)/, select: useClassList ? 'n = byClassName(n, "{1}");' : 'n = byClassName(n, " {1} ");' }, { re: /^\:([\w\-]+)(?:\(((?:[^\s>\/]*|.*?))\))?/, select: 'n = byPseudo(n, "{1}", "{2}");' }, { re: /^(?:([\[\{])(?:@)?([\w\-]+)\s?(?:(=|.=)\s?['"]?(.*?)["']?)?[\]\}])/, select: 'n = byAttribute(n, "{2}", "{4}", "{3}", "{1}");' }, { re: /^#([\w\-\\]+)/, select: 'n = byId(n, "{1}");' }, { re: /^@([\w\-\.]+)/, select: 'return {firstChild:{nodeValue:attrValue(n, "{1}")}};' } ], operators: { "=": function (a, v) { return a == v }, "!=": function (a, v) { return a != v }, "^=": function (a, v) { return a && a.substr(0, v.length) == v }, "$=": function (a, v) { return a && a.substr(a.length - v.length) == v }, "*=": function (a, v) { return a && a.indexOf(v) !== -1 }, "%=": function (a, v) { return (a % v) === 0 }, "|=": function (a, v) { return a && (a == v || a.substr(0, v.length + 1) == v + "-") }, "~=": function (a, v) { return a && (" " + a + " ").indexOf(" " + v + " ") != -1 } }, pseudos: { "first-child": function (c) { var r = [], ri = -1, n, i, ci; for (i = 0; (ci = n = c[i]); i++) { while ((n = n.previousSibling) && n.nodeType != 1) {} if (!n) { r[++ri] = ci } } return r }, "last-child": function (c) { var r = [], ri = -1, n, i, ci; for (i = 0; (ci = n = c[i]); i++) { while ((n = n.nextSibling) && n.nodeType != 1) {} if (!n) { r[++ri] = ci } } return r }, "nth-child": function (c, a) { var r = [], ri = -1, m = nthRe.exec(a == "even" && "2n" || a == "odd" && "2n+1" || !nthRe2.test(a) && "n+" + a || a), f = (m[1] || 1) - 0, l = m[2] - 0, i, n, j, cn, pn; for (i = 0; n = c[i]; i++) { pn = n.parentNode; if (batch != pn._batch) { j = 0; for (cn = pn.firstChild; cn; cn = cn.nextSibling) { if (cn.nodeType == 1) { cn.nodeIndex = ++j } } pn._batch = batch } if (f == 1) { if (l === 0 || n.nodeIndex == l) { r[++ri] = n } } else { if ((n.nodeIndex + l) % f === 0) { r[++ri] = n } } } return r }, "only-child": function (c) { var r = [], ri = -1, i, ci; for (i = 0; ci = c[i]; i++) { if (!prev(ci) && !next(ci)) { r[++ri] = ci } } return r }, empty: function (c) { var r = [], ri = -1, i, ci, cns, j, cn, empty; for (i = 0; ci = c[i]; i++) { cns = ci.childNodes; j = 0; empty = true; while (cn = cns[j]) { ++j; if (cn.nodeType == 1 || cn.nodeType == 3) { empty = false; break } } if (empty) { r[++ri] = ci } } return r }, contains: function (c, v) { var r = [], ri = -1, i, ci; for (i = 0; ci = c[i]; i++) { if ((ci.textContent || ci.innerText || ci.text || "").indexOf(v) != -1) { r[++ri] = ci } } return r }, nodeValue: function (c, v) { var r = [], ri = -1, i, ci; for (i = 0; ci = c[i]; i++) { if (ci.firstChild && ci.firstChild.nodeValue == v) { r[++ri] = ci } } return r }, checked: function (c) { var r = [], ri = -1, i, ci; for (i = 0; ci = c[i]; i++) { if (ci.checked === true) { r[++ri] = ci } } return r }, not: function (c, ss) { return DQ.filter(c, ss, true) }, any: function (c, selectors) { var ss = selectors.split("|"), r = [], ri = -1, s, i, ci, j; for (i = 0; ci = c[i]; i++) { for (j = 0; s = ss[j]; j++) { if (DQ.is(ci, s)) { r[++ri] = ci; break } } } return r }, odd: function (c) { return this["nth-child"](c, "odd") }, even: function (c) { return this["nth-child"](c, "even") }, nth: function (c, a) { return c[a - 1] || [] }, first: function (c) { return c[0] || [] }, last: function (c) { return c[c.length - 1] || [] }, has: function (c, ss) { var s = DQ.select, r = [], ri = -1, i, ci; for (i = 0; ci = c[i]; i++) { if (s(ss, ci).length > 0) { r[++ri] = ci } } return r }, next: function (c, ss) { var is = DQ.is, r = [], ri = -1, i, ci, n; for (i = 0; ci = c[i]; i++) { n = next(ci); if (n && is(n, ss)) { r[++ri] = ci } } return r }, prev: function (c, ss) { var is = DQ.is, r = [], ri = -1, i, ci, n; for (i = 0; ci = c[i]; i++) { n = prev(ci); if (n && is(n, ss)) { r[++ri] = ci } } return r }, focusable: function (candidates) { var len = candidates.length, results = [], i = 0, c; for (; i < len; i++) { c = candidates[i]; if (Ext.fly(c, "_DomQuery").isFocusable()) { results.push(c) } } return results }, visible: function (candidates, deep) { var len = candidates.length, results = [], i = 0, c; for (; i < len; i++) { c = candidates[i]; if (Ext.fly(c, "_DomQuery").isVisible(deep)) { results.push(c) } } return results } } } } ()); Ext.query = Ext.DomQuery.select; Ext.define("Ext.dom.Element_anim", { override: "Ext.dom.Element", animate: function (b) { var d = this, c, e, a = d.dom.id || Ext.id(d.dom); if (!Ext.fx.Manager.hasFxBlock(a)) { if (b.listeners) { c = b.listeners; delete b.listeners } if (b.internalListeners) { b.listeners = b.internalListeners; delete b.internalListeners } e = new Ext.fx.Anim(d.anim(b)); if (c) { e.on(c) } Ext.fx.Manager.queueFx(e) } return d }, anim: function (a) { if (!Ext.isObject(a)) { return (a) ? {} : false } var b = this, c = a.duration || Ext.fx.Anim.prototype.duration, e = a.easing || "ease", d; if (a.stopAnimation) { b.stopAnimation() } Ext.applyIf(a, Ext.fx.Manager.getFxDefaults(b.id)); Ext.fx.Manager.setFxDefaults(b.id, { delay: 0 }); d = { target: b.dom, remove: a.remove, alternate: a.alternate || false, duration: c, easing: e, callback: a.callback, listeners: a.listeners, iterations: a.iterations || 1, scope: a.scope, block: a.block, concurrent: a.concurrent, delay: a.delay || 0, paused: true, keyframes: a.keyframes, from: a.from || {}, to: Ext.apply({}, a) }; Ext.apply(d.to, a.to); delete d.to.to; delete d.to.from; delete d.to.remove; delete d.to.alternate; delete d.to.keyframes; delete d.to.iterations; delete d.to.listeners; delete d.to.target; delete d.to.paused; delete d.to.callback; delete d.to.scope; delete d.to.duration; delete d.to.easing; delete d.to.concurrent; delete d.to.block; delete d.to.stopAnimation; delete d.to.delay; return d }, slideIn: function (d, c, e) { var h = this, b = h.dom, l = b.style, k, a, g, j; d = d || "t"; c = c || {}; k = function () { var q = this, p = c.listeners, o = Ext.fly(b, "_anim"), r, m, s, n; if (!e) { o.fixDisplay() } r = o.getBox(); if ((d == "t" || d == "b") && r.height === 0) { r.height = b.scrollHeight } else { if ((d == "l" || d == "r") && r.width === 0) { r.width = b.scrollWidth } } m = o.getStyles("width", "height", "left", "right", "top", "bottom", "position", "z-index", true); o.setSize(r.width, r.height); if (c.preserveScroll) { g = o.cacheScrollValues() } n = o.wrap({ id: Ext.id() + "-anim-wrap-for-" + o.dom.id, style: { visibility: e ? "visible" : "hidden" } }); j = n.dom.parentNode; n.setPositioning(o.getPositioning(true)); if (n.isStyle("position", "static")) { n.position("relative") } o.clearPositioning("auto"); n.clip(); if (g) { g() } o.setStyle({ visibility: "", position: "absolute" }); if (e) { n.setSize(r.width, r.height) } switch (d) { case "t": s = { from: { width: r.width + "px", height: "0px" }, to: { width: r.width + "px", height: r.height + "px" } }; l.bottom = "0px"; break; case "l": s = { from: { width: "0px", height: r.height + "px" }, to: { width: r.width + "px", height: r.height + "px" } }; h.anchorAnimX(d); break; case "r": s = { from: { x: r.x + r.width, width: "0px", height: r.height + "px" }, to: { x: r.x, width: r.width + "px", height: r.height + "px" } }; h.anchorAnimX(d); break; case "b": s = { from: { y: r.y + r.height, width: r.width + "px", height: "0px" }, to: { y: r.y, width: r.width + "px", height: r.height + "px" } }; break; case "tl": s = { from: { x: r.x, y: r.y, width: "0px", height: "0px" }, to: { width: r.width + "px", height: r.height + "px" } }; l.bottom = "0px"; h.anchorAnimX("l"); break; case "bl": s = { from: { y: r.y + r.height, width: "0px", height: "0px" }, to: { y: r.y, width: r.width + "px", height: r.height + "px" } }; h.anchorAnimX("l"); break; case "br": s = { from: { x: r.x + r.width, y: r.y + r.height, width: "0px", height: "0px" }, to: { x: r.x, y: r.y, width: r.width + "px", height: r.height + "px" } }; h.anchorAnimX("r"); break; case "tr": s = { from: { x: r.x + r.width, width: "0px", height: "0px" }, to: { x: r.x, width: r.width + "px", height: r.height + "px" } }; l.bottom = "0px"; h.anchorAnimX("r"); break } n.show(); a = Ext.apply({}, c); delete a.listeners; a = new Ext.fx.Anim(Ext.applyIf(a, { target: n, duration: 500, easing: "ease-out", from: e ? s.to : s.from, to: e ? s.from : s.to })); a.on("afteranimate", function () { var t = Ext.fly(b, "_anim"); t.setStyle(m); if (e) { if (c.useDisplay) { t.setDisplayed(false) } else { t.hide() } } if (n.dom) { if (n.dom.parentNode) { n.dom.parentNode.insertBefore(t.dom, n.dom) } else { j.appendChild(t.dom) } n.remove() } if (g) { g() } q.end() }); if (p) { a.on(p) } }; h.animate({ duration: c.duration ? Math.max(c.duration, 500) * 2 : 1000, listeners: { beforeanimate: k } }); return h }, slideOut: function (a, b) { return this.slideIn(a, b, true) }, puff: function (e) { var d = this, g = d.dom, b, c = d.getBox(), a = d.getStyles("width", "height", "left", "right", "top", "bottom", "position", "z-index", "font-size", "opacity", true); e = Ext.applyIf(e || {}, { easing: "ease-out", duration: 500, useDisplay: false }); b = function () { var h = Ext.fly(g, "_anim"); h.clearOpacity(); h.show(); this.to = { width: c.width * 2, height: c.height * 2, x: c.x - (c.width / 2), y: c.y - (c.height / 2), opacity: 0, fontSize: "200%" }; this.on("afteranimate", function () { var j = Ext.fly(g, "_anim"); if (j) { if (e.useDisplay) { j.setDisplayed(false) } else { j.hide() } j.setStyle(a); Ext.callback(e.callback, e.scope) } }) }; d.animate({ duration: e.duration, easing: e.easing, listeners: { beforeanimate: { fn: b } } }); return d }, switchOff: function (c) { var b = this, d = b.dom, a; c = Ext.applyIf(c || {}, { easing: "ease-in", duration: 500, remove: false, useDisplay: false }); a = function () { var k = Ext.fly(d, "_anim"), j = this, h = k.getSize(), l = k.getXY(), g, e; k.clearOpacity(); k.clip(); e = k.getPositioning(); g = new Ext.fx.Animator({ target: d, duration: c.duration, easing: c.easing, keyframes: { 33: { opacity: 0.3 }, 66: { height: 1, y: l[1] + h.height / 2 }, 100: { width: 1, x: l[0] + h.width / 2 } } }); g.on("afteranimate", function () { var m = Ext.fly(d, "_anim"); if (c.useDisplay) { m.setDisplayed(false) } else { m.hide() } m.clearOpacity(); m.setPositioning(e); m.setSize(h); j.end() }) }; b.animate({ duration: (Math.max(c.duration, 500) * 2), listeners: { beforeanimate: { fn: a } }, callback: c.callback, scope: c.scope }); return b }, frame: function (a, d, e) { var c = this, g = c.dom, b; a = a || "#C3DAF9"; d = d || 1; e = e || {}; b = function () { var l = Ext.fly(g, "_anim"), k = this, m, j, h; l.show(); m = l.getBox(); j = Ext.getBody().createChild({ id: l.dom.id + "-anim-proxy", style: { position: "absolute", "pointer-events": "none", "z-index": 35000, border: "0px solid " + a } }); h = new Ext.fx.Anim({ target: j, duration: e.duration || 1000, iterations: d, from: { top: m.y, left: m.x, borderWidth: 0, opacity: 1, height: m.height, width: m.width }, to: { top: m.y - 20, left: m.x - 20, borderWidth: 10, opacity: 0, height: m.height + 40, width: m.width + 40 } }); h.on("afteranimate", function () { j.remove(); k.end() }) }; c.animate({ duration: (Math.max(e.duration, 500) * 2) || 2000, listeners: { beforeanimate: { fn: b } }, callback: e.callback, scope: e.scope }); return c }, ghost: function (a, d) { var c = this, e = c.dom, b; a = a || "b"; b = function () { var k = Ext.fly(e, "_anim"), j = k.getWidth(), h = k.getHeight(), l = k.getXY(), g = k.getPositioning(), m = { opacity: 0 }; switch (a) { case "t": m.y = l[1] - h; break; case "l": m.x = l[0] - j; break; case "r": m.x = l[0] + j; break; case "b": m.y = l[1] + h; break; case "tl": m.x = l[0] - j; m.y = l[1] - h; break; case "bl": m.x = l[0] - j; m.y = l[1] + h; break; case "br": m.x = l[0] + j; m.y = l[1] + h; break; case "tr": m.x = l[0] + j; m.y = l[1] - h; break } this.to = m; this.on("afteranimate", function () { var n = Ext.fly(e, "_anim"); if (n) { n.hide(); n.clearOpacity(); n.setPositioning(g) } }) }; c.animate(Ext.applyIf(d || {}, { duration: 500, easing: "ease-out", listeners: { beforeanimate: b } })); return c }, highlight: function (d, b) { var j = this, e = j.dom, l = {}, h, m, g, c, a, k; if (e.tagName.match(j.tableTagRe)) { return j.select("div").highlight(d, b) } b = b || {}; c = b.listeners || {}; g = b.attr || "backgroundColor"; l[g] = d || "ffff9c"; if (!b.to) { m = {}; m[g] = b.endColor || j.getColor(g, "ffffff", "") } else { m = b.to } b.listeners = Ext.apply(Ext.apply({}, c), { beforeanimate: function () { h = e.style[g]; var n = Ext.fly(e, "_anim"); n.clearOpacity(); n.show(); a = c.beforeanimate; if (a) { k = a.fn || a; return k.apply(a.scope || c.scope || window, arguments) } }, afteranimate: function () { if (e) { e.style[g] = h } a = c.afteranimate; if (a) { k = a.fn || a; k.apply(a.scope || c.scope || window, arguments) } } }); j.animate(Ext.apply({}, b, { duration: 1000, easing: "ease-in", from: l, to: m })); return j }, pause: function (a) { var b = this; Ext.fx.Manager.setFxDefaults(b.id, { delay: a }); return b }, fadeIn: function (c) { var a = this, b = a.dom; a.animate(Ext.apply({}, c, { opacity: 1, internalListeners: { beforeanimate: function (e) { var d = Ext.fly(b, "_anim"); if (d.isStyle("display", "none")) { d.setDisplayed("") } else { d.show() } } } })); return this }, fadeOut: function (c) { var a = this, b = a.dom; c = Ext.apply({ opacity: 0, internalListeners: { afteranimate: function (e) { if (b && e.to.opacity === 0) { var d = Ext.fly(b, "_anim"); if (c.useDisplay) { d.setDisplayed(false) } else { d.hide() } } } } }, c); a.animate(c); return a }, scale: function (a, b, c) { this.animate(Ext.apply({}, c, { width: a, height: b })); return this }, shift: function (a) { this.animate(a); return this }, anchorAnimX: function (a) { var b = (a === "l") ? "right" : "left"; this.dom.style[b] = "0px" } }); Ext.define("Ext.dom.Element_dd", { override: "Ext.dom.Element", initDD: function (c, b, d) { var a = new Ext.dd.DD(Ext.id(this.dom), c, b); return Ext.apply(a, d) }, initDDProxy: function (c, b, d) { var a = new Ext.dd.DDProxy(Ext.id(this.dom), c, b); return Ext.apply(a, d) }, initDDTarget: function (c, b, d) { var a = new Ext.dd.DDTarget(Ext.id(this.dom), c, b); return Ext.apply(a, d) } }); Ext.define("Ext.dom.Element_fx", { override: "Ext.dom.Element" }, function () { var b = Ext.dom.Element, j = "visibility", g = "display", o = "none", e = "hidden", n = "visible", p = "offsets", k = "asclass", a = "nosize", c = "originalDisplay", d = "visibilityMode", h = "isVisible", m = Ext.baseCSSPrefix + "hide-offsets", l = function (r) { var s = (r.$cache || r.getCache()).data, t = s[c]; if (t === undefined) { s[c] = t = "" } return t }, q = function (s) { var t = (s.$cache || s.getCache()).data, r = t[d]; if (r === undefined) { t[d] = r = b.VISIBILITY } return r }; b.override({ originalDisplay: "", visibilityMode: 1, setVisible: function (v, r) { var t = this, u = t.dom, s = q(t); if (typeof r == "string") { switch (r) { case g: s = b.DISPLAY; break; case j: s = b.VISIBILITY; break; case p: s = b.OFFSETS; break; case a: case k: s = b.ASCLASS; break } t.setVisibilityMode(s); r = false } if (!r || !t.anim) { if (s == b.DISPLAY) { return t.setDisplayed(v) } else { if (s == b.OFFSETS) { t[v ? "removeCls" : "addCls"](m) } else { if (s == b.VISIBILITY) { t.fixDisplay(); u.style.visibility = v ? "" : e } else { if (s == b.ASCLASS) { t[v ? "removeCls" : "addCls"](t.visibilityCls || b.visibilityCls) } } } } } else { if (v) { t.setOpacity(0.01); t.setVisible(true) } if (!Ext.isObject(r)) { r = { duration: 350, easing: "ease-in" } } t.animate(Ext.applyIf({ callback: function () { if (!v) { Ext.fly(u, "_internal").setVisible(false).setOpacity(1) } }, to: { opacity: (v) ? 1 : 0 } }, r)) } (t.$cache || t.getCache()).data[h] = v; return t }, hasMetrics: function () { var r = q(this); return this.isVisible() || (r == b.OFFSETS) || (r == b.VISIBILITY) }, toggle: function (r) { var s = this; s.setVisible(!s.isVisible(), s.anim(r)); return s }, setDisplayed: function (r) { if (typeof r == "boolean") { r = r ? l(this) : o } this.setStyle(g, r); return this }, fixDisplay: function () { var r = this; if (r.isStyle(g, o)) { r.setStyle(j, e); r.setStyle(g, l(r)); if (r.isStyle(g, o)) { r.setStyle(g, "block") } } }, hide: function (r) { if (typeof r == "string") { this.setVisible(false, r); return this } this.setVisible(false, this.anim(r)); return this }, show: function (r) { if (typeof r == "string") { this.setVisible(true, r); return this } this.setVisible(true, this.anim(r)); return this } }) }); Ext.define("Ext.dom.Element_position", { override: "Ext.dom.Element" }, function () { var y, r = this, n = "left", k = "right", q = "top", h = "bottom", o = "position", j = "static", z = "relative", v = "z-index", u = "BODY", c = "padding", t = "border", s = "-left", m = "-right", a = "-top", l = "-bottom", g = "-width", e = { l: t + s + g, r: t + m + g, t: t + a + g, b: t + l + g }, d = { l: c + s, r: c + m, t: c + a, b: c + l }, w = [d.l, d.r, d.t, d.b], b = [e.l, e.r, e.t, e.b], x = Math.round, A = document, p = function (B) { if (!y) { y = new Ext.Element.Fly() } y.attach(B); return y }; r.override({ pxRe: /^\d+(?:\.\d*)?px$/i, inheritableStatics: { getX: function (B) { return r.getXY(B)[0] }, getXY: function (D) { var G = A.body, C = A.documentElement, B = 0, E = 0, H = [0, 0], F, J; D = Ext.getDom(D); if (D != A && D != G) { if (Ext.isIE) { try { F = D.getBoundingClientRect(); E = C.clientTop || G.clientTop; B = C.clientLeft || G.clientLeft } catch (I) { F = { left: 0, top: 0 } } } else { F = D.getBoundingClientRect() } J = p(A).getScroll(); H = [x(F.left + J.left - B), x(F.top + J.top - E)] } return H }, getY: function (B) { return r.getXY(B)[1] }, setX: function (C, B) { r.setXY(C, [B, false]) }, setXY: function (C, D) { (C = Ext.fly(C, "_setXY")).position(); var E = C.translatePoints(D), B = C.dom.style, F; B.right = "auto"; for (F in E) { if (!isNaN(E[F])) { B[F] = E[F] + "px" } } }, setY: function (B, C) { r.setXY(B, [false, C]) } }, center: function (B) { return this.alignTo(B || A, "c-c") }, clearPositioning: function (B) { B = B || ""; return this.setStyle({ left: B, right: B, top: B, bottom: B, "z-index": "", position: j }) }, getAnchorToXY: function (E, B, D, C) { return E.getAnchorXY(B, D, C) }, getBottom: function (B) { return (B ? this.getLocalY() : this.getY()) + this.getHeight() }, getBorderPadding: function () { var B = this.getStyle(w), C = this.getStyle(b); return { beforeX: (parseFloat(C[e.l]) || 0) + (parseFloat(B[d.l]) || 0), afterX: (parseFloat(C[e.r]) || 0) + (parseFloat(B[d.r]) || 0), beforeY: (parseFloat(C[e.t]) || 0) + (parseFloat(B[d.t]) || 0), afterY: (parseFloat(C[e.b]) || 0) + (parseFloat(B[d.b]) || 0) } }, getCenterXY: function () { return this.getAlignToXY(A, "c-c") }, getLeft: function (B) { return B ? this.getLocalX() : this.getX() }, getLocalX: function () { var D = this, C = D.dom.offsetParent, B = D.getStyle("left"); if (!B || B === "auto") { B = 0 } else { if (D.pxRe.test(B)) { B = parseFloat(B) } else { B = D.getX(); if (C) { B -= r.getX(C) } } } return B }, getLocalXY: function () { var E = this, D = E.dom.offsetParent, C = E.getStyle(["left", "top"]), B = C.left, F = C.top; if (!B || B === "auto") { B = 0 } else { if (E.pxRe.test(B)) { B = parseFloat(B) } else { B = E.getX(); if (D) { B -= r.getX(D) } } } if (!F || F === "auto") { F = 0 } else { if (E.pxRe.test(F)) { F = parseFloat(F) } else { F = E.getY(); if (D) { F -= r.getY(D) } } } return [B, F] }, getLocalY: function () { var C = this, B = C.dom.offsetParent, D = C.getStyle("top"); if (!D || D === "auto") { D = 0 } else { if (C.pxRe.test(D)) { D = parseFloat(D) } else { D = C.getY(); if (B) { D -= r.getY(B) } } } return D }, getPageBox: function (D) { var G = this, E = G.dom, I = E.nodeName == u, J = I ? Ext.Element.getViewWidth() : E.offsetWidth, F = I ? Ext.Element.getViewHeight() : E.offsetHeight, L = G.getXY(), K = L[1], B = L[0] + J, H = L[1] + F, C = L[0]; if (D) { return new Ext.util.Region(K, B, H, C) } else { return { left: C, top: K, width: J, height: F, right: B, bottom: H } } }, getPositioning: function (C) { var B = this.getStyle(["left", "top", "position", "z-index"]), D = this.dom; if (C) { if (B.left === "auto") { B.left = D.offsetLeft + "px" } if (B.top === "auto") { B.top = D.offsetTop + "px" } } return B }, getRight: function (B) { return (B ? this.getLocalX() : this.getX()) + this.getWidth() }, getTop: function (B) { return B ? this.getLocalY() : this.getY() }, getX: function () { return r.getX(this.dom) }, getXY: function () { return r.getXY(this.dom) }, getY: function () { return r.getY(this.dom) }, moveTo: function (B, D, C) { return this.setXY([B, D], C) }, position: function (F, E, B, D) { var C = this; if (!F && C.isStyle(o, j)) { C.setStyle(o, z) } else { if (F) { C.setStyle(o, F) } } if (E) { C.setStyle(v, E) } if (B || D) { C.setXY([B || false, D || false]) } }, setBottom: function (B) { this.dom.style[h] = this.addUnits(B); return this }, setBounds: function (C, F, E, B, D) { return this.setBox({ x: C, y: F, width: E, height: B }, D) }, setLeft: function (B) { this.dom.style[n] = this.addUnits(B); return this }, setLeftTop: function (E, D) { var C = this, B = C.dom.style; B.left = C.addUnits(E); B.top = C.addUnits(D); return C }, setLocalX: function (B) { var C = this.dom.style; C.right = "auto"; C.left = (B === null) ? "auto" : B + "px" }, setLocalXY: function (B, D) { var C = this.dom.style; C.right = "auto"; if (B && B.length) { D = B[1]; B = B[0] } if (B === null) { C.left = "auto" } else { if (B !== undefined) { C.left = B + "px" } } if (D === null) { C.top = "auto" } else { if (D !== undefined) { C.top = D + "px" } } }, setLocalY: function (B) { this.dom.style.top = (B === null) ? "auto" : B + "px" }, setLocation: function (B, D, C) { return this.setXY([B, D], C) }, setPositioning: function (B) { return this.setStyle(B) }, setRight: function (B) { this.dom.style[k] = this.addUnits(B); return this }, setTop: function (B) { this.dom.style[q] = this.addUnits(B); return this }, setX: function (B, C) { return this.setXY([B, this.getY()], C) }, setXY: function (D, B) { var C = this; if (!B || !C.anim) { r.setXY(C.dom, D) } else { if (!Ext.isObject(B)) { B = {} } C.animate(Ext.applyIf({ to: { x: D[0], y: D[1] } }, B)) } return this }, setY: function (C, B) { return this.setXY([this.getX(), C], B) } }); r.getTrueXY = r.getXY }); Ext.define("Ext.dom.Element_scroll", { override: "Ext.dom.Element", isScrollable: function () { var a = this.dom; return a.scrollHeight > a.clientHeight || a.scrollWidth > a.clientWidth }, getScroll: function () { var c = this, h = c.dom, g = document, a = g.body, b = g.documentElement, e, d; if (h === g || h === a) { e = b.scrollLeft || (a ? a.scrollLeft : 0); d = b.scrollTop || (a ? a.scrollTop : 0) } else { e = h.scrollLeft; d = h.scrollTop } return { left: e, top: d } }, getScrollLeft: function () { var b = this.dom, a = document; if (b === a || b === a.body) { return this.getScroll().left } else { return b.scrollLeft } }, getScrollTop: function () { var b = this.dom, a = document; if (b === a || b === a.body) { return this.getScroll().top } else { return b.scrollTop } }, setScrollLeft: function (a) { this.dom.scrollLeft = a; return this }, setScrollTop: function (a) { this.dom.scrollTop = a; return this }, scrollBy: function (b, a, c) { var d = this, e = d.dom; if (b.length) { c = a; a = b[1]; b = b[0] } else { if (typeof b != "number") { c = a; a = b.y; b = b.x } } if (b) { d.scrollTo("left", d.constrainScrollLeft(e.scrollLeft + b), c) } if (a) { d.scrollTo("top", d.constrainScrollTop(e.scrollTop + a), c) } return d }, scrollTo: function (c, e, a) { var g = /top/i.test(c), d = this, j = g ? "scrollTop" : "scrollLeft", h = d.dom, b; if (!a || !d.anim) { h[j] = e; h[j] = e } else { b = { to: {} }; b.to[j] = e; if (Ext.isObject(a)) { Ext.applyIf(b, a) } d.animate(b) } return d }, scrollIntoView: function (b, e, c, h) { var n = this, l = n.dom, j = n.getOffsetsTo(b = Ext.getDom(b) || Ext.getBody().dom), g = j[0] + b.scrollLeft, o = j[1] + b.scrollTop, a = o + l.offsetHeight, p = g + l.offsetWidth, s = b.clientHeight, r = parseInt(b.scrollTop, 10), d = parseInt(b.scrollLeft, 10), k = r + s, q = d + b.clientWidth, m; if (h) { if (c) { c = Ext.apply({ listeners: { afteranimate: function () { n.scrollChildFly.attach(l).highlight() } } }, c) } else { n.scrollChildFly.attach(l).highlight() } } if (l.offsetHeight > s || o < r) { m = o } else { if (a > k) { m = a - s } } if (m != null) { n.scrollChildFly.attach(b).scrollTo("top", m, c) } if (e !== false) { m = null; if (l.offsetWidth > b.clientWidth || g < d) { m = g } else { if (p > q) { m = p - b.clientWidth } } if (m != null) { n.scrollChildFly.attach(b).scrollTo("left", m, c) } } return n }, scrollChildIntoView: function (b, a) { this.scrollChildFly.attach(Ext.getDom(b)).scrollIntoView(this, a) }, scroll: function (k, a, c) { if (!this.isScrollable()) { return false } var j = this, e = j.dom, h = k === "r" || k === "l" ? "left" : "top", b = false, d, g; if (k === "r") { a = -a } if (h === "left") { d = e.scrollLeft; g = j.constrainScrollLeft(d + a) } else { d = e.scrollTop; g = j.constrainScrollTop(d + a) } if (g !== d) { this.scrollTo(h, g, c); b = true } return b }, constrainScrollLeft: function (a) { var b = this.dom; return Math.max(Math.min(a, b.scrollWidth - b.clientWidth), 0) }, constrainScrollTop: function (a) { var b = this.dom; return Math.max(Math.min(a, b.scrollHeight - b.clientHeight), 0) } }, function () { this.prototype.scrollChildFly = new this.Fly(); this.prototype.scrolltoFly = new this.Fly() }); Ext.define("Ext.dom.Element_style", { override: "Ext.dom.Element" }, function () { var s = this, o = document.defaultView, q = /table-row|table-.*-group/, a = "_internal", u = "hidden", r = "height", h = "width", e = "isClipped", l = "overflow", n = "overflow-x", m = "overflow-y", v = "originalClip", b = /#document|body/i, w, g, p, d, t, j, x; if (!o || !o.getComputedStyle) { s.prototype.getStyle = function (C, B) { var O = this, J = O.dom, M = typeof C != "string", k = O.styleHooks, z = C, A = z, I = 1, E = B, N, F, y, D, H, K, G; if (M) { y = {}; z = A[0]; G = 0; if (!(I = A.length)) { return y } } if (!J || J.documentElement) { return y || "" } F = J.style; if (B) { K = F } else { K = J.currentStyle; if (!K) { E = true; K = F } } do { D = k[z]; if (!D) { k[z] = D = { name: s.normalize(z) } } if (D.get) { H = D.get(J, O, E, K) } else { N = D.name; if (D.canThrow) { try { H = K[N] } catch (L) { H = "" } } else { H = K ? K[N] : "" } } if (!M) { return H } y[z] = H; z = A[++G] } while (G < I); return y } } s.override({ getHeight: function (A, y) { var z = this, B = z.isStyle("display", "none"), k, C; if (B) { return 0 } k = z.dom.offsetHeight; if (Ext.supports.Direct2DBug) { C = z.adjustDirect2DDimension(r); if (y) { k += C } else { if (C > 0 && C < 0.5) { k++ } } } if (A) { k -= z.getBorderWidth("tb") + z.getPadding("tb") } return (k < 0) ? 0 : k }, getWidth: function (k, C) { var A = this, D = A.dom, B = A.isStyle("display", "none"), z, y, E; if (B) { return 0 } if (C && Ext.supports.BoundingClientRect) { z = D.getBoundingClientRect(); y = (A.vertical && !Ext.isIE9 && !Ext.supports.RotatedBoundingClientRect) ? (z.bottom - z.top) : (z.right - z.left) } else { y = D.offsetWidth } if (Ext.supports.Direct2DBug && !A.vertical) { E = A.adjustDirect2DDimension(h); if (C) { y += E } else { if (E > 0 && E < 0.5) { y++ } } } if (k) { y -= A.getBorderWidth("lr") + A.getPadding("lr") } return (y < 0) ? 0 : y }, setWidth: function (y, k) { var z = this; y = z.adjustWidth(y); if (!k || !z.anim) { z.dom.style.width = z.addUnits(y) } else { if (!Ext.isObject(k)) { k = {} } z.animate(Ext.applyIf({ to: { width: y } }, k)) } return z }, setHeight: function (k, y) { var z = this; k = z.adjustHeight(k); if (!y || !z.anim) { z.dom.style.height = z.addUnits(k) } else { if (!Ext.isObject(y)) { y = {} } z.animate(Ext.applyIf({ to: { height: k } }, y)) } return z }, applyStyles: function (k) { Ext.DomHelper.applyStyles(this.dom, k); return this }, setSize: function (z, k, y) { var A = this; if (Ext.isObject(z)) { y = k; k = z.height; z = z.width } z = A.adjustWidth(z); k = A.adjustHeight(k); if (!y || !A.anim) { A.dom.style.width = A.addUnits(z); A.dom.style.height = A.addUnits(k) } else { if (y === true) { y = {} } A.animate(Ext.applyIf({ to: { width: z, height: k } }, y)) } return A }, getViewSize: function () { var z = this, A = z.dom, y = b.test(A.nodeName), k; if (y) { k = { width: s.getViewWidth(), height: s.getViewHeight() } } else { k = { width: A.clientWidth, height: A.clientHeight } } return k }, getSize: function (k) { return { width: this.getWidth(k), height: this.getHeight(k) } }, adjustWidth: function (k) { var y = this, z = (typeof k == "number"); if (z && y.autoBoxAdjust && !y.isBorderBox()) { k -= (y.getBorderWidth("lr") + y.getPadding("lr")) } return (z && k < 0) ? 0 : k }, adjustHeight: function (k) { var y = this, z = (typeof k == "number"); if (z && y.autoBoxAdjust && !y.isBorderBox()) { k -= (y.getBorderWidth("tb") + y.getPadding("tb")) } return (z && k < 0) ? 0 : k }, getColor: function (y, z, E) { var B = this.getStyle(y), A = E || E === "" ? E : "#", D, k, C = 0; if (!B || (/transparent|inherit/.test(B))) { return z } if (/^r/.test(B)) { B = B.slice(4, B.length - 1).split(","); k = B.length; for (; C < k; C++) { D = parseInt(B[C], 10); A += (D < 16 ? "0" : "") + D.toString(16) } } else { B = B.replace("#", ""); A += B.length == 3 ? B.replace(/^(\w)(\w)(\w)$/, "$1$1$2$2$3$3") : B } return (A.length > 5 ? A.toLowerCase() : z) }, setOpacity: function (y, k) { var z = this; if (!z.dom) { return z } if (!k || !z.anim) { z.setStyle("opacity", y) } else { if (typeof k != "object") { k = { duration: 350, easing: "ease-in" } } z.animate(Ext.applyIf({ to: { opacity: y } }, k)) } return z }, clearOpacity: function () { return this.setOpacity("") }, adjustDirect2DDimension: function (z) { var E = this, y = E.dom, C = E.getStyle("display"), B = y.style.display, F = y.style.position, D = z === h ? 0 : 1, k = y.currentStyle, A; if (C === "inline") { y.style.display = "inline-block" } y.style.position = C.match(q) ? "absolute" : "static"; A = (parseFloat(k[z]) || parseFloat(k.msTransformOrigin.split(" ")[D]) * 2) % 1; y.style.position = F; if (C === "inline") { y.style.display = B } return A }, clip: function () { var y = this, z = (y.$cache || y.getCache()).data, k; if (!z[e]) { z[e] = true; k = y.getStyle([l, n, m]); z[v] = { o: k[l], x: k[n], y: k[m] }; y.setStyle(l, u); y.setStyle(n, u); y.setStyle(m, u) } return y }, unclip: function () { var y = this, z = (y.$cache || y.getCache()).data, k; if (z[e]) { z[e] = false; k = z[v]; if (k.o) { y.setStyle(l, k.o) } if (k.x) { y.setStyle(n, k.x) } if (k.y) { y.setStyle(m, k.y) } } return y }, boxWrap: function (k) { k = k || Ext.baseCSSPrefix + "box"; var y = Ext.get(this.insertHtml("beforeBegin", "
" + Ext.String.format(s.boxMarkup, k) + "
")); Ext.DomQuery.selectNode("." + k + "-mc", y.dom).appendChild(this.dom); return y }, getComputedHeight: function () { var y = this, k = Math.max(y.dom.offsetHeight, y.dom.clientHeight); if (!k) { k = parseFloat(y.getStyle(r)) || 0; if (!y.isBorderBox()) { k += y.getFrameWidth("tb") } } return k }, getComputedWidth: function () { var y = this, k = Math.max(y.dom.offsetWidth, y.dom.clientWidth); if (!k) { k = parseFloat(y.getStyle(h)) || 0; if (!y.isBorderBox()) { k += y.getFrameWidth("lr") } } return k }, getFrameWidth: function (y, k) { return (k && this.isBorderBox()) ? 0 : (this.getPadding(y) + this.getBorderWidth(y)) }, addClsOnOver: function (z, C, y) { var A = this, B = A.dom, k = Ext.isFunction(C); A.hover(function () { if (k && C.call(y || A, A) === false) { return } Ext.fly(B, a).addCls(z) }, function () { Ext.fly(B, a).removeCls(z) }); return A }, addClsOnFocus: function (z, C, y) { var A = this, B = A.dom, k = Ext.isFunction(C); A.on("focus", function () { if (k && C.call(y || A, A) === false) { return false } Ext.fly(B, a).addCls(z) }); A.on("blur", function () { Ext.fly(B, a).removeCls(z) }); return A }, addClsOnClick: function (z, C, y) { var A = this, B = A.dom, k = Ext.isFunction(C); A.on("mousedown", function () { if (k && C.call(y || A, A) === false) { return false } Ext.fly(B, a).addCls(z); var E = Ext.getDoc(), D = function () { Ext.fly(B, a).removeCls(z); E.removeListener("mouseup", D) }; E.on("mouseup", D) }); return A }, getStyleSize: function () { var B = this, C = this.dom, y = b.test(C.nodeName), A, k, z; if (y) { return { width: s.getViewWidth(), height: s.getViewHeight() } } A = B.getStyle([r, h], true); if (A.width && A.width != "auto") { k = parseFloat(A.width); if (B.isBorderBox()) { k -= B.getFrameWidth("lr") } } if (A.height && A.height != "auto") { z = parseFloat(A.height); if (B.isBorderBox()) { z -= B.getFrameWidth("tb") } } return { width: k || B.getWidth(true), height: z || B.getHeight(true) } }, statics: { selectableCls: Ext.baseCSSPrefix + "selectable", unselectableCls: Ext.baseCSSPrefix + "unselectable" }, selectable: function () { var k = this; k.dom.unselectable = ""; k.removeCls(s.unselectableCls); k.addCls(s.selectableCls); return k }, unselectable: function () { var k = this; if (Ext.isOpera) { k.dom.unselectable = "on" } k.removeCls(s.selectableCls); k.addCls(s.unselectableCls); return k }, setVertical: function (B, y) { var A = this, z = s.prototype, k; A.vertical = true; if (y) { A.addCls(A.verticalCls = y) } A.setWidth = z.setHeight; A.setHeight = z.setWidth; if (!Ext.isIE9m) { A.getWidth = z.getHeight; A.getHeight = z.getWidth } A.styleHooks = (B === 270) ? s.prototype.verticalStyleHooks270 : s.prototype.verticalStyleHooks90 }, setHorizontal: function () { var y = this, k = y.verticalCls; delete y.vertical; if (k) { delete y.verticalCls; y.removeCls(k) } delete y.setWidth; delete y.setHeight; if (!Ext.isIE9m) { delete y.getWidth; delete y.getHeight } delete y.styleHooks } }); s.prototype.styleHooks = w = Ext.dom.AbstractElement.prototype.styleHooks; s.prototype.verticalStyleHooks90 = g = Ext.Object.chain(s.prototype.styleHooks); s.prototype.verticalStyleHooks270 = p = Ext.Object.chain(s.prototype.styleHooks); g.width = { name: "height" }; g.height = { name: "width" }; g["margin-top"] = { name: "marginLeft" }; g["margin-right"] = { name: "marginTop" }; g["margin-bottom"] = { name: "marginRight" }; g["margin-left"] = { name: "marginBottom" }; g["padding-top"] = { name: "paddingLeft" }; g["padding-right"] = { name: "paddingTop" }; g["padding-bottom"] = { name: "paddingRight" }; g["padding-left"] = { name: "paddingBottom" }; g["border-top"] = { name: "borderLeft" }; g["border-right"] = { name: "borderTop" }; g["border-bottom"] = { name: "borderRight" }; g["border-left"] = { name: "borderBottom" }; p.width = { name: "height" }; p.height = { name: "width" }; p["margin-top"] = { name: "marginRight" }; p["margin-right"] = { name: "marginBottom" }; p["margin-bottom"] = { name: "marginLeft" }; p["margin-left"] = { name: "marginTop" }; p["padding-top"] = { name: "paddingRight" }; p["padding-right"] = { name: "paddingBottom" }; p["padding-bottom"] = { name: "paddingLeft" }; p["padding-left"] = { name: "paddingTop" }; p["border-top"] = { name: "borderRight" }; p["border-right"] = { name: "borderBottom" }; p["border-bottom"] = { name: "borderLeft" }; p["border-left"] = { name: "borderTop" }; if (Ext.isIE7m) { w.fontSize = w["font-size"] = { name: "fontSize", canThrow: true }; w.fontStyle = w["font-style"] = { name: "fontStyle", canThrow: true }; w.fontFamily = w["font-family"] = { name: "fontFamily", canThrow: true } } if (Ext.isIEQuirks || Ext.isIE && Ext.ieVersion <= 8) { function c(A, y, z, k) { if (k[this.styleName] == "none") { return "0px" } return k[this.name] } d = ["Top", "Right", "Bottom", "Left"]; t = d.length; while (t--) { j = d[t]; x = "border" + j + "Width"; w["border-" + j.toLowerCase() + "-width"] = w[x] = { name: x, styleName: "border" + j + "Style", get: c } } } Ext.getDoc().on("selectstart", function (B, D) { var C = document.documentElement, A = s.selectableCls, z = s.unselectableCls, k = D && D.tagName; k = k && k.toLowerCase(); if (k === "input" || k === "textarea") { return } while (D && D.nodeType === 1 && D !== C) { var y = Ext.fly(D); if (y.hasCls(A)) { return } if (y.hasCls(z)) { B.stopEvent(); return } D = D.parentNode } }) }); Ext.onReady(function () { var c = /alpha\(opacity=(.*)\)/i, b = /^\s+|\s+$/g, a = Ext.dom.Element.prototype.styleHooks; a.opacity = { name: "opacity", afterSet: function (g, e, d) { if (d.isLayer) { d.onOpacitySet(e) } } }; if (!Ext.supports.Opacity && Ext.isIE) { Ext.apply(a.opacity, { get: function (h) { var g = h.style.filter, e, d; if (g.match) { e = g.match(c); if (e) { d = parseFloat(e[1]); if (!isNaN(d)) { return d ? d / 100 : 0 } } } return 1 }, set: function (h, e) { var d = h.style, g = d.filter.replace(c, "").replace(b, ""); d.zoom = 1; if (typeof(e) == "number" && e >= 0 && e < 1) { e *= 100; d.filter = g + (g.length ? " " : "") + "alpha(opacity=" + e + ")" } else { d.filter = g } } }) } }); (Ext.cmd.derive("Ext.util.Positionable", Ext.Base, { _positionTopLeft: ["position", "top", "left"], _alignRe: /^([a-z]+)-([a-z]+)(\?)?$/, afterSetPosition: Ext.emptyFn, adjustForConstraints: function (c, b) { var a = this.getConstrainVector(b, c); if (a) { c[0] += a[0]; c[1] += a[1] } return c }, alignTo: function (c, a, g, b) { var e = this, d = e.el; return e.setXY(e.getAlignToXY(c, a, g), d.anim && !!b ? d.anim(b) : false) }, anchorTo: function (h, e, b, a, k, l) { var g = this, j = !Ext.isEmpty(k), c = function () { g.alignTo(h, e, b, a); Ext.callback(l, g) }, d = g.getAnchor(); g.removeAnchor(); Ext.apply(d, { fn: c, scroll: j }); Ext.EventManager.onWindowResize(c, null); if (j) { Ext.EventManager.on(window, "scroll", c, null, { buffer: !isNaN(k) ? k : 50 }) } c(); return g }, calculateAnchorXY: function (g, j, h, d) { var k = this, c = k.el, l = document, e = c.dom == l.body || c.dom == l, m = Math.round, n, b, a; g = (g || "tl").toLowerCase(); d = d || {}; b = d.width || e ? Ext.Element.getViewWidth() : k.getWidth(); a = d.height || e ? Ext.Element.getViewHeight() : k.getHeight(); switch (g) { case "tl": n = [0, 0]; break; case "bl": n = [0, a]; break; case "tr": n = [b, 0]; break; case "c": n = [m(b * 0.5), m(a * 0.5)]; break; case "t": n = [m(b * 0.5), 0]; break; case "l": n = [0, m(a * 0.5)]; break; case "r": n = [b, m(a * 0.5)]; break; case "b": n = [m(b * 0.5), a]; break; case "tc": n = [m(b * 0.5), 0]; break; case "bc": n = [m(b * 0.5), a]; break; case "br": n = [b, a] } return [n[0] + j, n[1] + h] }, convertPositionSpec: Ext.identityFn, getAlignToXY: function (k, D, e) { var E = this, B = Ext.Element.getViewWidth() - 10, d = Ext.Element.getViewHeight() - 10, F = document, C = F.documentElement, p = F.body, A = (C.scrollLeft || p.scrollLeft || 0), w = (C.scrollTop || p.scrollTop || 0), a, h, t, g, u, v, r, s, z, q, o, b, c, j, m, n, l; k = Ext.get(k.el || k); if (!k || !k.dom) {} e = e || [0, 0]; D = (!D || D == "?" ? "tl-bl?" : (!(/-/).test(D) && D !== "" ? "tl-" + D : D || "tl-bl")).toLowerCase(); D = E.convertPositionSpec(D); a = D.match(E._alignRe); q = a[1]; o = a[2]; z = !!a[3]; h = E.getAnchorXY(q, true); t = E.getAnchorToXY(k, o, false); n = t[0] - h[0] + e[0]; l = t[1] - h[1] + e[1]; if (z) { g = E.getWidth(); u = E.getHeight(); v = k.getRegion(); b = q.charAt(0); c = q.charAt(q.length - 1); j = o.charAt(0); m = o.charAt(o.length - 1); r = ((b == "t" && j == "b") || (b == "b" && j == "t")); s = ((c == "r" && m == "l") || (c == "l" && m == "r")); if (n + g > B + A) { n = s ? v.left - g : B + A - g } if (n < A) { n = s ? v.right : A } if (l + u > d + w) { l = r ? v.top - u : d + w - u } if (l < w) { l = r ? v.bottom : w } } return [n, l] }, getAnchor: function () { var b = this.el, c = (b.$cache || b.getCache()).data, a; if (!b.dom) { return } a = c._anchor; if (!a) { a = c._anchor = {} } return a }, getAnchorXY: function (d, j, b) { var h = this, k = h.getXY(), a = h.el, m = document, c = a.dom == m.body || a.dom == m, l = a.getScroll(), g = c ? l.left : j ? 0 : k[0], e = c ? l.top : j ? 0 : k[1]; return h.calculateAnchorXY(d, g, e, b) }, getBox: function (d, j) { var e = this, n = j ? e.getLocalXY() : e.getXY(), k = n[0], g = n[1], l = e.getWidth(), b = e.getHeight(), c, a, m; if (d) { c = e.getBorderPadding(); a = c.beforeX; m = c.beforeY; k += a; g += m; l -= (a + c.afterX); b -= (m + c.afterY) } return { x: k, left: k, 0: k, y: g, top: g, 1: g, width: l, height: b, right: k + l, bottom: g + b } }, calculateConstrainedPosition: function (h, b, m, d) { var l = this, c, j = l.floatParent, e = j ? j.getTargetEl() : null, a, g, k, n = false; if (m && j) { a = e.getXY(); g = e.getBorderPadding(); a[0] += g.beforeX; a[1] += g.beforeY; if (b) { k = [b[0] + a[0], b[1] + a[1]] } } else { k = b } h = h || l.constrainTo || e || l.container || l.el.parent(); c = (l.constrainHeader ? l.header : l).getConstrainVector(h, k, d); if (c) { n = b || l.getPosition(m); n[0] += c[0]; n[1] += c[1] } return n }, getConstrainVector: function (e, c, a) { var j = this.getRegion(), b = [0, 0], g = (this.shadow && this.constrainShadow && !this.shadowDisabled) ? this.shadow.getShadowSize() : undefined, d = false, h = this.constraintInsets; if (!(e instanceof Ext.util.Region)) { e = Ext.get(e.el || e).getViewRegion() } if (h) { h = Ext.isObject(h) ? h : Ext.Element.parseBox(h); e.adjust(h.top, h.right, h.bottom, h.length) } if (c) { j.translateBy(c[0] - j.x, c[1] - j.y) } if (a) { j.right = j.left + a[0]; j.bottom = j.top + a[1] } if (g) { e.adjust(g[0], -g[1], -g[2], g[3]) } if (j.right > e.right) { d = true; b[0] = (e.right - j.right) } if (j.left + b[0] < e.left) { d = true; b[0] = (e.left - j.left) } if (j.bottom > e.bottom) { d = true; b[1] = (e.bottom - j.bottom) } if (j.top + b[1] < e.top) { d = true; b[1] = (e.top - j.top) } return d ? b : false }, getOffsetsTo: function (a) { var c = this.getXY(), b = Ext.fly(a.el || a, "_internal").getXY(); return [c[0] - b[0], c[1] - b[1]] }, getRegion: function () { var a = this.getBox(); return new Ext.util.Region(a.top, a.right, a.bottom, a.left) }, getViewRegion: function () { var g = this, c = g.el, a = c.dom.nodeName === "BODY", e, k, h, j, d, b, l; if (a) { k = c.getScroll(); d = k.left; j = k.top; b = Ext.dom.AbstractElement.getViewportWidth(); l = Ext.dom.AbstractElement.getViewportHeight() } else { e = g.getBorderPadding(); h = g.getXY(); d = h[0] + e.beforeX; j = h[1] + e.beforeY; b = g.getWidth(true); l = g.getHeight(true) } return new Ext.util.Region(j, d + b, j + l, d) }, move: function (k, b, c) { var g = this, n = g.getXY(), l = n[0], j = n[1], d = [l - b, j], m = [l + b, j], h = [l, j - b], a = [l, j + b], e = { l: d, left: d, r: m, right: m, t: h, top: h, up: h, b: a, bottom: a, down: a }; k = k.toLowerCase(); g.setXY([e[k][0], e[k][1]], c) }, removeAnchor: function () { var a = this.getAnchor(); if (a && a.fn) { Ext.EventManager.removeResizeListener(a.fn); if (a.scroll) { Ext.EventManager.un(window, "scroll", a.fn) } delete a.fn } return this }, setBox: function (e, a) { var g = this, b = g.el, k = e.x, j = e.y, n = [k, j], l = e.width, d = e.height, c = (g.constrain || g.constrainHeader), m = c && g.calculateConstrainedPosition(null, [k, j], false, [l, d]); if (m) { k = m[0]; j = m[1] } if (!a || !b.anim) { g.setSize(l, d); g.setXY([k, j]); g.afterSetPosition(k, j) } else { g.animate(Ext.applyIf({ to: { x: k, y: j, width: b.adjustWidth(l), height: b.adjustHeight(d) }, listeners: { afteranimate: Ext.Function.bind(g.afterSetPosition, g, [k, j]) } }, a)) } return g }, setRegion: function (b, a) { return this.setBox({ x: b.left, y: b.top, width: b.right - b.left, height: b.bottom - b.top }, a) }, translatePoints: function (a, c) { var b = this.translateXY(a, c); return { left: b.x, top: b.y } }, translateXY: function (h, e) { var d = this, b = d.el, j = b.getStyle(d._positionTopLeft), a = j.position == "relative", c = parseFloat(j.left), g = parseFloat(j.top), k = d.getXY(); if (Ext.isArray(h)) { e = h[1]; h = h[0] } if (isNaN(c)) { c = a ? 0 : b.dom.offsetLeft } if (isNaN(g)) { g = a ? 0 : b.dom.offsetTop } c = (typeof h == "number") ? h - k[0] + c : undefined; g = (typeof e == "number") ? e - k[1] + g : undefined; return { x: c, y: g } } }, 0, 0, 0, 0, 0, 0, [Ext.util, "Positionable"], 0)); (Ext.cmd.derive("Ext.dom.Element", Ext.dom.AbstractElement, function (a) { var b = "hidden", g = document, k = "visibility", c = "display", l = "none", e = Ext.baseCSSPrefix + "masked", m = Ext.baseCSSPrefix + "masked-relative", j = Ext.baseCSSPrefix + "mask-msg", n = /^body/i, h, d = Ext.isStrict ? { select: 1 } : { input: 1, select: 1, textarea: 1 }, o = function (u) { var t = [], p = -1, s, q; for (s = 0; q = u[s]; s++) { if (q.scrollTop > 0 || q.scrollLeft > 0) { t[++p] = q } } return t }; return { alternateClassName: ["Ext.Element", "Ext.core.Element"], tableTagRe: /^(?:tr|td|table|tbody)$/i, addUnits: function () { return a.addUnits.apply(a, arguments) }, focus: function (s, r) { var p = this; r = r || p.dom; try { if (Number(s)) { Ext.defer(p.focus, s, p, [null, r]) } else { r.focus() } } catch (q) {} return p }, blur: function () { var p = this, r = p.dom; if (r !== document.body) { try { r.blur() } catch (q) {} return p } else { return p.focus(undefined, r) } }, isBorderBox: function () { var p = Ext.isBorderBox; if (p && Ext.isIE7m) { p = !((this.dom.tagName || "").toLowerCase()in d) } return p }, hover: function (q, p, s, r) { var t = this; t.on("mouseenter", q, s || t.dom, r); t.on("mouseleave", p, s || t.dom, r); return t }, getAttributeNS: function (q, p) { return this.getAttribute(p, q) }, getAttribute: (Ext.isIE && !(Ext.isIE9p && g.documentMode >= 9)) ? function (p, r) { var s = this.dom, q; if (r) { q = typeof s[r + ":" + p]; if (q != "undefined" && q != "unknown") { return s[r + ":" + p] || null } return null } if (p === "for") { p = "htmlFor" } return s[p] || null } : function (p, q) { var r = this.dom; if (q) { return r.getAttributeNS(q, p) || r.getAttribute(q + ":" + p) } return r.getAttribute(p) || r[p] || null }, cacheScrollValues: function () { var t = this, s, r, q, u = [], p = function () { for (q = 0; q < s.length; q++) { r = s[q]; r.scrollLeft = u[q][0]; r.scrollTop = u[q][1] } }; if (!Ext.DomQuery.pseudos.isScrolled) { Ext.DomQuery.pseudos.isScrolled = o } s = t.query(":isScrolled"); for (q = 0; q < s.length; q++) { r = s[q]; u[q] = [r.scrollLeft, r.scrollTop] } return p }, autoBoxAdjust: true, isVisible: function (p) { var r = this, s = r.dom, q = s.ownerDocument.documentElement; if (!h) { h = new a.Fly() } while (s !== q) { if (!s || s.nodeType === 11 || (h.attach(s)).isStyle(k, b) || h.isStyle(c, l)) { return false } if (!p) { break } s = s.parentNode } return true }, isDisplayed: function () { return !this.isStyle(c, l) }, enableDisplayMode: function (q) { var p = this; p.setVisibilityMode(a.DISPLAY); if (!Ext.isEmpty(q)) { (p.$cache || p.getCache()).data.originalDisplay = q } return p }, mask: function (p, z, w) { var B = this, s = B.dom, t = s.style.setExpression, v = (B.$cache || B.getCache()).data, r = v.maskShimEl, y = v.maskEl, q = v.maskMsg, u, x; if (!(n.test(s.tagName) && B.getStyle("position") == "static")) { B.addCls(m) } if (y) { y.remove() } if (q) { q.remove() } if (r) { r.remove() } if (Ext.isIE6) { r = Ext.DomHelper.append(s, { tag: "iframe", cls: Ext.baseCSSPrefix + "shim " + Ext.baseCSSPrefix + "mask-shim" }, true); v.maskShimEl = r; r.setDisplayed(true) } Ext.DomHelper.append(s, [{ cls: Ext.baseCSSPrefix + "mask", style: "top:0;left:0;" }, { cls: z ? j + " " + z : j, cn: { tag: "div", cls: Ext.baseCSSPrefix + "mask-msg-inner", cn: { tag: "div", cls: Ext.baseCSSPrefix + "mask-msg-text", html: p || "" } } } ]); q = Ext.get(s.lastChild); y = Ext.get(q.dom.previousSibling); v.maskMsg = q; v.maskEl = y; B.addCls(e); y.setDisplayed(true); if (typeof p == "string") { q.setDisplayed(true); q.center(B) } else { q.setDisplayed(false) } if (!Ext.supports.IncludePaddingInWidthCalculation && t) { try { y.dom.style.setExpression("width", 'this.parentNode.clientWidth + "px"'); u = 'this.parentNode.clientWidth + "px"'; if (r) { r.dom.style.setExpression("width", u) } y.dom.style.setExpression("width", u) } catch (A) {} } if (!Ext.supports.IncludePaddingInHeightCalculation && t) { try { x = "this.parentNode." + (s == g.body ? "scrollHeight" : "offsetHeight") + ' + "px"'; if (r) { r.dom.style.setExpression("height", x) } y.dom.style.setExpression("height", x) } catch (A) {} } else { if (Ext.isIE9m && !(Ext.isIE7 && Ext.isStrict) && B.getStyle("height") == "auto") { if (r) { r.setSize(undefined, w || B.getHeight()) } y.setSize(undefined, w || B.getHeight()) } } return y }, unmask: function () { var t = this, u = (t.$cache || t.getCache()).data, s = u.maskEl, q = u.maskShimEl, p = u.maskMsg, r; if (s) { r = s.dom.style; if (r.clearExpression) { r.clearExpression("width"); r.clearExpression("height") } if (s) { s.remove(); delete u.maskEl } if (p) { p.remove(); delete u.maskMsg } t.removeCls([e, m]); if (q) { r = q.dom.style; if (r.clearExpression) { r.clearExpression("width"); r.clearExpression("height") } q.remove(); delete u.maskShimEl } } }, isMasked: function () { var r = this, t = (r.$cache || r.getCache()).data, q = t.maskEl, p = t.maskMsg, s = false; if (q && q.isVisible()) { if (p) { p.center(r) } s = true } return s }, createShim: function () { var p = g.createElement("iframe"), q; p.frameBorder = "0"; p.className = Ext.baseCSSPrefix + "shim"; p.src = Ext.SSL_SECURE_URL; q = Ext.get(this.dom.parentNode.insertBefore(p, this.dom)); q.autoBoxAdjust = false; return q }, addKeyListener: function (q, s, r) { var p; if (typeof q != "object" || Ext.isArray(q)) { p = { target: this, key: q, fn: s, scope: r } } else { p = { target: this, key: q.key, shift: q.shift, ctrl: q.ctrl, alt: q.alt, fn: s, scope: r } } return new Ext.util.KeyMap(p) }, addKeyMap: function (p) { return new Ext.util.KeyMap(Ext.apply({ target: this }, p)) }, on: function (p, s, r, q) { Ext.EventManager.on(this, p, s, r || this, q); return this }, un: function (p, r, q) { Ext.EventManager.un(this, p, r, q || this); return this }, removeAllListeners: function () { Ext.EventManager.removeAll(this); return this }, purgeAllListeners: function () { Ext.EventManager.purgeElement(this); return this }, select: function (p) { return a.select(p, false, this.dom) } } }, 0, 0, 0, 0, 0, [[Ext.util.Positionable.prototype.mixinId || Ext.util.Positionable.$className, Ext.util.Positionable]], [Ext.dom, "Element", Ext, "Element", Ext.core, "Element"], function () { var DOC = document, EC = Ext.cache, Element = this, AbstractElement = Ext.dom.AbstractElement, focusRe = /^a|button|embed|iframe|input|object|select|textarea$/i, nonSpaceRe = /\S/, scriptTagRe = /(?:]*)?>)((\n|\r|.)*?)(?:<\/script>)/ig, replaceScriptTagRe = /(?:)((\n|\r|.)*?)(?:<\/script>)/ig, srcRe = /\ssrc=([\'\"])(.*?)\1/i, typeRe = /\stype=([\'\"])(.*?)\1/i, useDocForId = !Ext.isIE8m, internalFly; Element.boxMarkup = '
'; function garbageCollect() { if (!Ext.enableGarbageCollector) { clearInterval(Element.collectorThreadId) } else { var eid, d, o, t; for (eid in EC) { if (!EC.hasOwnProperty(eid)) { continue } o = EC[eid]; if (o.skipGarbageCollection) { continue } d = o.dom; if (d && (!d.parentNode || (!d.offsetParent && !Ext.getElementById(eid)))) { if (Ext.enableListenerCollection) { Ext.EventManager.removeAll(d) } delete EC[eid] } } if (Ext.isIE) { t = {}; for (eid in EC) { if (!EC.hasOwnProperty(eid)) { continue } t[eid] = EC[eid] } EC = Ext.cache = t } } } Element.collectorThreadId = setInterval(garbageCollect, 30000); Element.addMethods({ monitorMouseLeave: function (delay, handler, scope) { var me = this, timer, listeners = { mouseleave: function (e) { timer = setTimeout(Ext.Function.bind(handler, scope || me, [e]), delay) }, mouseenter: function () { clearTimeout(timer) }, freezeEvent: true }; me.on(listeners); return listeners }, swallowEvent: function (eventName, preventDefault) { var me = this, e, eLen, fn = function (e) { e.stopPropagation(); if (preventDefault) { e.preventDefault() } }; if (Ext.isArray(eventName)) { eLen = eventName.length; for (e = 0; e < eLen; e++) { me.on(eventName[e], fn) } return me } me.on(eventName, fn); return me }, relayEvent: function (eventName, observable) { this.on(eventName, function (e) { observable.fireEvent(eventName, e) }) }, clean: function (forceReclean) { var me = this, dom = me.dom, data = (me.$cache || me.getCache()).data, n = dom.firstChild, ni = -1, nx; if (data.isCleaned && forceReclean !== true) { return me } while (n) { nx = n.nextSibling; if (n.nodeType == 3) { if (!(nonSpaceRe.test(n.nodeValue))) { dom.removeChild(n) } else { if (nx && nx.nodeType == 3) { n.appendData(Ext.String.trim(nx.data)); dom.removeChild(nx); nx = n.nextSibling; n.nodeIndex = ++ni } } } else { internalFly.attach(n).clean(); n.nodeIndex = ++ni } n = nx } data.isCleaned = true; return me }, load: function (options) { this.getLoader().load(options); return this }, getLoader: function () { var me = this, data = (me.$cache || me.getCache()).data, loader = data.loader; if (!loader) { data.loader = loader = new Ext.ElementLoader({ target: me }) } return loader }, syncContent: function (source) { source = Ext.getDom(source); var sourceNodes = source.childNodes, sourceLen = sourceNodes.length, dest = this.dom, destNodes = dest.childNodes, destLen = destNodes.length, i, destNode, sourceNode, nodeType, newAttrs, attLen, attName; if (Ext.isIE9m && dest.mergeAttributes) { dest.mergeAttributes(source, true); dest.src = source.src } else { newAttrs = source.attributes; attLen = newAttrs.length; for (i = 0; i < attLen; i++) { attName = newAttrs[i].name; if (attName !== "id") { dest.setAttribute(attName, newAttrs[i].value) } } } if (sourceLen !== destLen) { dest.innerHTML = source.innerHTML; return } for (i = 0; i < sourceLen; i++) { sourceNode = sourceNodes[i]; destNode = destNodes[i]; nodeType = sourceNode.nodeType; if (nodeType !== destNode.nodeType || (nodeType === 1 && sourceNode.tagName !== destNode.tagName)) { dest.innerHTML = source.innerHTML; return } if (nodeType === 3) { destNode.data = sourceNode.data } else { if (sourceNode.id && destNode.id !== sourceNode.id) { destNode.id = sourceNode.id } destNode.style.cssText = sourceNode.style.cssText; destNode.className = sourceNode.className; internalFly.attach(destNode).syncContent(sourceNode) } } }, update: function (html, loadScripts, callback) { var me = this, id, dom, interval; if (!me.dom) { return me } html = html || ""; dom = me.dom; if (loadScripts !== true) { dom.innerHTML = html; Ext.callback(callback, me); return me } id = Ext.id(); html += ''; interval = setInterval(function () { var hd, match, attrs, srcMatch, typeMatch, el, s; if (!(el = DOC.getElementById(id))) { return false } clearInterval(interval); Ext.removeNode(el); hd = Ext.getHead().dom; while ((match = scriptTagRe.exec(html))) { attrs = match[1]; srcMatch = attrs ? attrs.match(srcRe) : false; if (srcMatch && srcMatch[2]) { s = DOC.createElement("script"); s.src = srcMatch[2]; typeMatch = attrs.match(typeRe); if (typeMatch && typeMatch[2]) { s.type = typeMatch[2] } hd.appendChild(s) } else { if (match[2] && match[2].length > 0) { if (window.execScript) { window.execScript(match[2]) } else { window.eval(match[2]) } } } } Ext.callback(callback, me) }, 20); dom.innerHTML = html.replace(replaceScriptTagRe, ""); return me }, removeAllListeners: function () { this.removeAnchor(); Ext.EventManager.removeAll(this.dom); return this }, createProxy: function (config, renderTo, matchBox) { config = (typeof config == "object") ? config : { tag: "div", cls: config }; var me = this, proxy = renderTo ? Ext.DomHelper.append(renderTo, config, true) : Ext.DomHelper.insertBefore(me.dom, config, true); proxy.setVisibilityMode(Element.DISPLAY); proxy.hide(); if (matchBox && me.setBox && me.getBox) { proxy.setBox(me.getBox()) } return proxy }, needsTabIndex: function () { if (this.dom) { if ((this.dom.nodeName === "a") && (!this.dom.href)) { return true } return !focusRe.test(this.dom.nodeName) } }, isFocusable: function (asFocusEl) { var dom = this.dom, tabIndexAttr = dom.getAttributeNode("tabIndex"), tabIndex, nodeName = dom.nodeName, canFocus = false; if (tabIndexAttr && tabIndexAttr.specified) { tabIndex = tabIndexAttr.value } if (dom && !dom.disabled) { if (tabIndex == -1) { canFocus = Ext.FocusManager && Ext.FocusManager.enabled && asFocusEl } else { if (focusRe.test(nodeName)) { if ((nodeName !== "a") || dom.href) { canFocus = true } } else { canFocus = tabIndex != null && tabIndex >= 0 } } canFocus = canFocus && this.isVisible(true) } return canFocus } }); if (Ext.isIE) { Element.prototype.getById = function (id, asDom) { var dom = this.dom, cacheItem, el, ret; if (dom) { el = (useDocForId && DOC.getElementById(id)) || dom.all[id]; if (el) { if (asDom) { ret = el } else { cacheItem = EC[id]; if (cacheItem && cacheItem.el) { ret = Ext.updateCacheEntry(cacheItem, el).el } else { ret = new Element(el) } } return ret } } return asDom ? Ext.getDom(id) : Element.get(id) } } Element.createAlias({ addListener: "on", removeListener: "un", clearListeners: "removeAllListeners", focusable: "isFocusable" }); Element.Fly = AbstractElement.Fly = new Ext.Class({ extend: Element, isFly: true, constructor: function (dom) { this.dom = dom; this.el = this }, attach: AbstractElement.Fly.prototype.attach }); internalFly = new Element.Fly(); if (Ext.isIE) { Ext.getElementById = function (id) { var el = DOC.getElementById(id), detachedBodyEl; if (!el && (detachedBodyEl = AbstractElement.detachedBodyEl)) { el = detachedBodyEl.dom.all[id] } return el } } else { if (!DOC.querySelector) { Ext.getDetachedBody = Ext.getBody; Ext.getElementById = function (id) { return DOC.getElementById(id) } } } })); (Ext.cmd.derive("Ext.dom.CompositeElementLite", Ext.Base, { alternateClassName: "Ext.CompositeElementLite", statics: { importElementMethods: function () { var b, c = Ext.dom.Element.prototype, a = this.prototype; for (b in c) { if (typeof c[b] == "function") { (function (d) { a[d] = a[d] || function () { return this.invoke(d, arguments) } }).call(a, b) } } } }, constructor: function (b, a) { this.elements = []; this.add(b, a); this.el = new Ext.dom.AbstractElement.Fly() }, isComposite: true, getElement: function (a) { return this.el.attach(a) }, transformElement: function (a) { return Ext.getDom(a) }, getCount: function () { return this.elements.length }, add: function (c, a) { var e = this.elements, b, d; if (!c) { return this } if (typeof c == "string") { c = Ext.dom.Element.selectorFunction(c, a) } else { if (c.isComposite) { c = c.elements } else { if (!Ext.isIterable(c)) { c = [c] } } } for (b = 0, d = c.length; b < d; ++b) { e.push(this.transformElement(c[b])) } return this }, invoke: function (d, a) { var g = this.elements, e = g.length, c, b; d = Ext.dom.Element.prototype[d]; for (b = 0; b < e; b++) { c = g[b]; if (c) { d.apply(this.getElement(c), a) } } return this }, item: function (b) { var c = this.elements[b], a = null; if (c) { a = this.getElement(c) } return a }, slice: function () { return this.elements.slice.apply(this.elements, arguments) }, addListener: function (b, j, h, g) { var d = this.elements, a = d.length, c, k; for (c = 0; c < a; c++) { k = d[c]; if (k) { Ext.EventManager.on(k, b, j, h || k, g) } } return this }, each: function (g, d) { var h = this, c = h.elements, a = c.length, b, j; for (b = 0; b < a; b++) { j = c[b]; if (j) { j = this.getElement(j); if (g.call(d || j, j, h, b) === false) { break } } } return h }, fill: function (a) { var b = this; b.elements = []; b.add(a); return b }, insert: function (b, a) { Ext.Array.insert(this.elements, b, a) }, filter: function (b) { var h = this, c = h.elements, g = c.length, d = [], e = 0, j = typeof b == "function", k, a; for (; e < g; e++) { a = c[e]; k = false; if (a) { a = h.getElement(a); if (j) { k = b.call(a, a, h, e) !== false } else { k = a.is(b) } if (k) { d.push(h.transformElement(a)) } } } h.elements = d; return h }, indexOf: function (a) { return Ext.Array.indexOf(this.elements, this.transformElement(a)) }, replaceElement: function (e, c, a) { var b = !isNaN(e) ? e : this.indexOf(e), g; if (b > -1) { c = Ext.getDom(c); if (a) { g = this.elements[b]; g.parentNode.insertBefore(c, g); Ext.removeNode(g) } Ext.Array.splice(this.elements, b, 1, c) } return this }, clear: function (d) { var c = this, b = c.elements, a = b.length - 1; if (d) { for (; a >= 0; a--) { Ext.removeNode(b[a]) } } this.elements = [] }, addElements: function (d, b) { if (!d) { return this } if (typeof d == "string") { d = Ext.dom.Element.selectorFunction(d, b) } var c = this.elements, a = d.length, g; for (g = 0; g < a; g++) { c.push(Ext.get(d[g])) } return this }, first: function () { return this.item(0) }, last: function () { return this.item(this.getCount() - 1) }, contains: function (a) { return this.indexOf(a) != -1 }, removeElement: function (e, j) { e = [].concat(e); var d = this, g = d.elements, c = e.length, h, b, a; for (a = 0; a < c; a++) { h = e[a]; if ((b = (g[h] || g[h = d.indexOf(h)]))) { if (j) { if (b.dom) { b.remove() } else { Ext.removeNode(b) } } Ext.Array.erase(g, h, 1) } } return d } }, 1, 0, 0, 0, 0, 0, [Ext.dom, "CompositeElementLite", Ext, "CompositeElementLite"], function () { this.importElementMethods(); this.prototype.on = this.prototype.addListener; if (Ext.DomQuery) { Ext.dom.Element.selectorFunction = Ext.DomQuery.select } Ext.dom.Element.select = function (a, b) { var c; if (typeof a == "string") { c = Ext.dom.Element.selectorFunction(a, b) } else { if (a.length !== undefined) { c = a } else {} } return new Ext.CompositeElementLite(c) }; Ext.select = function () { return Ext.dom.Element.select.apply(Ext.dom.Element, arguments) } })); (Ext.cmd.derive("Ext.dom.CompositeElement", Ext.dom.CompositeElementLite, { alternateClassName: "Ext.CompositeElement", getElement: function (a) { return a }, transformElement: function (a) { return Ext.get(a) } }, 0, 0, 0, 0, 0, 0, [Ext.dom, "CompositeElement", Ext, "CompositeElement"], function () { Ext.dom.Element.select = function (a, d, b) { var c; if (typeof a == "string") { c = Ext.dom.Element.selectorFunction(a, b) } else { if (a.length !== undefined) { c = a } else {} } return (d === true) ? new Ext.CompositeElement(c) : new Ext.CompositeElementLite(c) } })); Ext.select = Ext.Element.select; (Ext.cmd.derive("Ext.util.HashMap", Ext.Base, { generation: 0, constructor: function (a) { a = a || {}; var c = this, b = a.keyFn; c.initialConfig = a; c.addEvents("add", "clear", "remove", "replace"); c.mixins.observable.constructor.call(c, a); c.clear(true); if (b) { c.getKey = b } }, getCount: function () { return this.length }, getData: function (a, b) { if (b === undefined) { b = a; a = this.getKey(b) } return [a, b] }, getKey: function (a) { return a.id }, add: function (a, c) { var b = this; if (arguments.length === 1) { c = a; a = b.getKey(c) } if (b.containsKey(a)) { return b.replace(a, c) } b.map[a] = c; ++b.length; b.generation++; if (b.hasListeners.add) { b.fireEvent("add", b, a, c) } return c }, replace: function (b, d) { var c = this, e = c.map, a; if (arguments.length === 1) { d = b; b = c.getKey(d) } if (!c.containsKey(b)) { c.add(b, d) } a = e[b]; e[b] = d; c.generation++; if (c.hasListeners.replace) { c.fireEvent("replace", c, b, d, a) } return d }, remove: function (b) { var a = this.findKey(b); if (a !== undefined) { return this.removeAtKey(a) } return false }, removeAtKey: function (a) { var b = this, c; if (b.containsKey(a)) { c = b.map[a]; delete b.map[a]; --b.length; b.generation++; if (b.hasListeners.remove) { b.fireEvent("remove", b, a, c) } return true } return false }, get: function (a) { var b = this.map; return b.hasOwnProperty(a) ? b[a] : undefined }, clear: function (a) { var b = this; if (a || b.generation) { b.map = {}; b.length = 0; b.generation = a ? 0 : b.generation + 1 } if (a !== true && b.hasListeners.clear) { b.fireEvent("clear", b) } return b }, containsKey: function (a) { var b = this.map; return b.hasOwnProperty(a) && b[a] !== undefined }, contains: function (a) { return this.containsKey(this.findKey(a)) }, getKeys: function () { return this.getArray(true) }, getValues: function () { return this.getArray(false) }, getArray: function (d) { var a = [], b, c = this.map; for (b in c) { if (c.hasOwnProperty(b)) { a.push(d ? b : c[b]) } } return a }, each: function (d, c) { var a = Ext.apply({}, this.map), b, e = this.length; c = c || this; for (b in a) { if (a.hasOwnProperty(b)) { if (d.call(c, b, a[b], e) === false) { break } } } return this }, clone: function () { var c = new this.self(this.initialConfig), b = this.map, a; c.suspendEvents(); for (a in b) { if (b.hasOwnProperty(a)) { c.add(a, b[a]) } } c.resumeEvents(); return c }, findKey: function (b) { var a, c = this.map; for (a in c) { if (c.hasOwnProperty(a) && c[a] === b) { return a } } return undefined } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.util, "HashMap"], 0)); (Ext.cmd.derive("Ext.AbstractManager", Ext.Base, { typeName: "type", constructor: function (a) { Ext.apply(this, a || {}); this.all = new Ext.util.HashMap(); this.types = {} }, get: function (a) { return this.all.get(a) }, register: function (a) { this.all.add(a) }, unregister: function (a) { this.all.remove(a) }, registerType: function (b, a) { this.types[b] = a; a[this.typeName] = b }, isRegistered: function (a) { return this.types[a] !== undefined }, create: function (a, d) { var b = a[this.typeName] || a.type || d, c = this.types[b]; return new c(a) }, onAvailable: function (g, c, b) { var a = this.all, d, e; if (a.containsKey(g)) { d = a.get(g); c.call(b || d, d) } else { e = function (k, h, j) { if (h == g) { c.call(b || j, j); a.un("add", e) } }; a.on("add", e) } }, each: function (b, a) { this.all.each(b, a || this) }, getCount: function () { return this.all.getCount() } }, 1, 0, 0, 0, 0, 0, [Ext, "AbstractManager"], 0)); (Ext.cmd.derive("Ext.ComponentManager", Ext.AbstractManager, { alternateClassName: "Ext.ComponentMgr", singleton: true, typeName: "xtype", create: function (a, b) { if (typeof a == "string") { return Ext.widget(a) } if (a.isComponent) { return a } return Ext.widget(a.xtype || b, a) }, registerType: function (b, a) { this.types[b] = a; a[this.typeName] = b; a.prototype[this.typeName] = b } }, 0, 0, 0, 0, 0, 0, [Ext, "ComponentManager", Ext, "ComponentMgr"], function () { Ext.getCmp = function (a) { return Ext.ComponentManager.get(a) } })); (Ext.cmd.derive("Ext.ComponentQuery", Ext.Base, { singleton: true }, 0, 0, 0, 0, 0, 0, [Ext, "ComponentQuery"], function () { var j = this, m = Ext.dom.Query.operators, p = /(\d*)n\+?(\d*)/, a = /\D/, n = ["var r = [],", "i = 0,", "it = items,", "l = it.length,", "c;", "for (; i < l; i++) {", "c = it[i];", "if (c.{0}) {", "r.push(c);", "}", "}", "return r;"].join(""), g = function (t, s) { return s.method.apply(this, [t].concat(s.args)) }, b = function (u, y) { var s = [], v = 0, x = u.length, w, t = y !== ">"; for (; v < x; v++) { w = u[v]; if (w.getRefItems) { s = s.concat(w.getRefItems(t)) } } return s }, h = function (t) { var s = [], u = 0, w = t.length, v; for (; u < w; u++) { v = t[u]; while (!!(v = v.getRefOwner())) { s.push(v) } } return s }, q = function (t, y, x) { if (y === "*") { return t.slice() } else { var s = [], u = 0, w = t.length, v; for (; u < w; u++) { v = t[u]; if (v.isXType(y, x)) { s.push(v) } } return s } }, l = function (t, w) { var s = [], u = 0, x = t.length, v; for (; u < x; u++) { v = t[u]; if (v.hasCls(w)) { s.push(v) } } return s }, r = function (A, B, v, u) { var E = [], z = 0, t = A.length, D, w, C, s, y, x; if (B.charAt(0) === "@") { D = true; B = B.substr(1) } if (B.charAt(0) === "?") { D = true; w = true; B = B.substr(1) } for (; z < t; z++) { C = A[z]; if (!D || C.hasOwnProperty(B)) { s = C[B]; if (w) { E.push(C) } else { if (v === "~=") { if (s) { if (!Ext.isArray(s)) { s = s.split(" ") } for (y = 0, x = s.length; y < x; y++) { if (m[v](Ext.coerce(s[y], u), u)) { E.push(C); break } } } } else { if (!u ? !!C[B] : m[v](Ext.coerce(s, u), u)) { E.push(C) } } } } } return E }, e = function (t, x) { var s = [], u = 0, w = t.length, v; for (; u < w; u++) { v = t[u]; if (v.getItemId() === x) { s.push(v) } } return s }, o = function (s, t, u) { return j.pseudos[t](s, u) }, k = /^(\s?([>\^])\s?|\s|$)/, d = /^(#)?([\w\-]+|\*)(?:\((true|false)\))?/, c = [{ re: /^\.([\w\-]+)(?:\((true|false)\))?/, method: q }, { re: /^(?:\[((?:@|\?)?[\w\-\$]*[^\^\$\*~%!])\s?(?:(=|.=)\s?['"]?(.*?)["']?)?\])/, method: r }, { re: /^#([\w\-]+)/, method: e }, { re: /^\:([\w\-]+)(?:\(((?:\{[^\}]+\})|(?:(?!\{)[^\s>\/]*?(?!\})))\))?/, method: o }, { re: /^(?:\{([^\}]+)\})/, method: n } ]; j.Query = Ext.extend(Object, { constructor: function (s) { s = s || {}; Ext.apply(this, s) }, execute: function (t) { var v = this.operations, w = 0, x = v.length, u, s; if (!t) { s = Ext.ComponentManager.all.getArray() } else { if (Ext.isIterable(t)) { s = t } else { if (t.isMixedCollection) { s = t.items } } } for (; w < x; w++) { u = v[w]; if (u.mode === "^") { s = h(s || [t]) } else { if (u.mode) { s = b(s || [t], u.mode) } else { s = g(s || b([t]), u) } } if (w === x - 1) { return s } } return [] }, is: function (u) { var t = this.operations, x = Ext.isArray(u) ? u : [u], s = x.length, y = t[t.length - 1], w, v; x = g(x, y); if (x.length === s) { if (t.length > 1) { for (v = 0, w = x.length; v < w; v++) { if (Ext.Array.indexOf(this.execute(), x[v]) === -1) { return false } } } return true } return false } }); Ext.apply(this, { cache: {}, pseudos: { not: function (y, s) { var z = Ext.ComponentQuery, w = 0, x = y.length, v = [], u = -1, t; for (; w < x; ++w) { t = y[w]; if (!z.is(t, s)) { v[++u] = t } } return v }, first: function (t) { var s = []; if (t.length > 0) { s.push(t[0]) } return s }, last: function (u) { var s = u.length, t = []; if (s > 0) { t.push(u[s - 1]) } return t }, focusable: function (t) { var s = t.length, v = [], u = 0, w; for (; u < s; u++) { w = t[u]; if (w.isFocusable()) { v.push(w) } } return v }, "nth-child": function (y, z) { var A = [], t = p.exec(z == "even" && "2n" || z == "odd" && "2n+1" || !a.test(z) && "n+" + z || z), x = (t[1] || 1) - 0, v = t[2] - 0, w, s, u; for (w = 0; s = y[w]; w++) { u = w + 1; if (x == 1) { if (v == 0 || u == v) { A.push(s) } } else { if ((u + v) % x == 0) { A.push(s) } } } return A } }, query: function (t, A) { var B = t.split(","), s = B.length, u = 0, v = [], C = [], z = {}, x, w, y; for (; u < s; u++) { t = Ext.String.trim(B[u]); x = this.cache[t] || (this.cache[t] = this.parse(t)); v = v.concat(x.execute(A)) } if (s > 1) { w = v.length; for (u = 0; u < w; u++) { y = v[u]; if (!z[y.id]) { C.push(y); z[y.id] = true } } v = C } return v }, is: function (t, s) { if (!s) { return true } var v = s.split(","), w = v.length, u = 0, x; for (; u < w; u++) { s = Ext.String.trim(v[u]); x = this.cache[s] || (this.cache[s] = this.parse(s)); if (x.is(t)) { return true } } return false }, parse: function (v) { var t = [], u = c.length, z, w, A, B, C, x, y, s; while (v && z !== v) { z = v; w = v.match(d); if (w) { A = w[1]; if (A === "#") { t.push({ method: e, args: [Ext.String.trim(w[2])] }) } else { if (A === ".") { t.push({ method: l, args: [Ext.String.trim(w[2])] }) } else { t.push({ method: q, args: [Ext.String.trim(w[2]), Boolean(w[3])] }) } } v = v.replace(w[0], "") } while (!(B = v.match(k))) { for (x = 0; v && x < u; x++) { y = c[x]; C = v.match(y.re); s = y.method; if (C) { t.push({ method: Ext.isString(y.method) ? Ext.functionFactory("items", Ext.String.format.apply(Ext.String, [s].concat(C.slice(1)))) : y.method, args: C.slice(1) }); v = v.replace(C[0], ""); break } if (x === (u - 1)) { Ext.Error.raise('Invalid ComponentQuery selector: "' + arguments[0] + '"') } } } if (B[1]) { t.push({ mode: B[2] || B[1] }); v = v.replace(B[0], "") } } return new j.Query({ operations: t }) } }) })); (Ext.cmd.derive("Ext.util.ProtoElement", Ext.Base, (function () { var b = Ext.String.splitWords, a = Ext.Array.toMap; return { isProtoEl: true, clsProp: "cls", styleProp: "style", removedProp: "removed", styleIsText: false, constructor: function (c) { var d = this; Ext.apply(d, c); d.classList = b(d.cls); d.classMap = a(d.classList); delete d.cls; if (Ext.isFunction(d.style)) { d.styleFn = d.style; delete d.style } else { if (typeof d.style == "string") { d.style = Ext.Element.parseStyles(d.style) } else { if (d.style) { d.style = Ext.apply({}, d.style) } } } }, flush: function () { this.flushClassList = []; this.removedClasses = {}; delete this.style; delete this.unselectableAttr }, addCls: function (n) { var l = this, m = (typeof n === "string") ? b(n) : n, e = m.length, j = l.classList, d = l.classMap, g = l.flushClassList, h = 0, k; for (; h < e; ++h) { k = m[h]; if (!d[k]) { d[k] = true; j.push(k); if (g) { g.push(k); delete l.removedClasses[k] } } } return l }, hasCls: function (c) { return c in this.classMap }, removeCls: function (o) { var n = this, l = n.classList, g = (n.classList = []), j = a(b(o)), e = l.length, d = n.classMap, k = n.removedClasses, h, m; for (h = 0; h < e; ++h) { m = l[h]; if (j[m]) { if (k) { if (d[m]) { k[m] = true; Ext.Array.remove(n.flushClassList, m) } } delete d[m] } else { g.push(m) } } return n }, setStyle: function (g, e) { var d = this, c = d.style || (d.style = {}); if (typeof g == "string") { if (arguments.length === 1) { d.setStyle(Ext.Element.parseStyles(g)) } else { c[g] = e } } else { Ext.apply(c, g) } return d }, unselectable: function () { this.addCls(Ext.dom.Element.unselectableCls); if (Ext.isOpera) { this.unselectableAttr = true } }, writeTo: function (h) { var e = this, g = e.flushClassList || e.classList, d = e.removedClasses, c; if (e.styleFn) { c = Ext.apply({}, e.styleFn()); Ext.apply(c, e.style) } else { c = e.style } h[e.clsProp] = g.join(" "); if (c) { h[e.styleProp] = e.styleIsText ? Ext.DomHelper.generateStyles(c) : c } if (d) { d = Ext.Object.getKeys(d); if (d.length) { h[e.removedProp] = d.join(" ") } } if (e.unselectableAttr) { h.unselectable = "on" } return h } } } ()), 1, 0, 0, 0, 0, 0, [Ext.util, "ProtoElement"], 0)); (Ext.cmd.derive("Ext.PluginManager", Ext.AbstractManager, { alternateClassName: "Ext.PluginMgr", singleton: true, typeName: "ptype", create: function (b, d, c) { var a; if (b.init) { a = b } else { if (c) { b = Ext.apply({}, b); b.cmp = c } else { c = b.cmp } if (b.xclass) { a = Ext.create(b) } else { a = Ext.ClassManager.getByAlias(("plugin." + (b.ptype || d))); if (typeof a === "function") { a = new a(b) } } } if (a && c && a.setCmp && !a.setCmpCalled) { a.setCmp(c); a.setCmpCalled = true } return a }, findByType: function (c, g) { var e = [], b = this.types, a, d; for (a in b) { if (!b.hasOwnProperty(a)) { continue } d = b[a]; if (d.type == c && (!g || (g === true && d.isDefault))) { e.push(d) } } return e } }, 0, 0, 0, 0, 0, 0, [Ext, "PluginManager", Ext, "PluginMgr"], function () { Ext.preg = function () { return Ext.PluginManager.registerType.apply(Ext.PluginManager, arguments) } })); (Ext.cmd.derive("Ext.util.Filter", Ext.Base, { id: null, anyMatch: false, exactMatch: false, caseSensitive: false, disabled: false, operator: null, statics: { createFilterFn: function (a) { return a && a.length ? function (e) { var d = true, g = a.length, b, c; for (b = 0; d && b < g; b++) { c = a[b]; if (!c.disabled) { d = d && c.filterFn.call(c.scope || c, e) } } return d } : function () { return true } } }, operatorFns: { "<": function (a) { return Ext.coerce(this.getRoot(a)[this.property], this.value) < this.value }, "<=": function (a) { return Ext.coerce(this.getRoot(a)[this.property], this.value) <= this.value }, "=": function (a) { return Ext.coerce(this.getRoot(a)[this.property], this.value) == this.value }, ">=": function (a) { return Ext.coerce(this.getRoot(a)[this.property], this.value) >= this.value }, ">": function (a) { return Ext.coerce(this.getRoot(a)[this.property], this.value) > this.value }, "!=": function (a) { return Ext.coerce(this.getRoot(a)[this.property], this.value) != this.value } }, constructor: function (a) { var b = this; b.initialConfig = a; Ext.apply(b, a); b.filter = b.filter || b.filterFn; if (b.filter === undefined) { b.setValue(a.value) } }, setValue: function (b) { var a = this; a.value = b; if (a.property === undefined || a.value === undefined) {} else { a.filter = a.createFilterFn() } a.filterFn = a.filter }, setFilterFn: function (a) { this.filterFn = this.filter = a }, createFilterFn: function () { var a = this, c = a.createValueMatcher(), b = a.property; if (a.operator) { return a.operatorFns[a.operator] } else { return function (d) { var e = a.getRoot(d)[b]; return c === null ? e === null : c.test(e) } } }, getRoot: function (b) { var a = this.root; return a === undefined ? b : b[a] }, createValueMatcher: function () { var d = this, e = d.value, g = d.anyMatch, c = d.exactMatch, a = d.caseSensitive, b = Ext.String.escapeRegex; if (e === null) { return e } if (!e.exec) { e = String(e); if (g === true) { e = b(e) } else { e = "^" + b(e); if (c === true) { e += "$" } } e = new RegExp(e, a ? "" : "i") } return e }, serialize: function () { var b = this, a = Ext.apply({}, b.initialConfig); a.value = b.value; return a } }, 1, 0, 0, 0, 0, 0, [Ext.util, "Filter"], function () { this.prototype.operatorFns["=="] = this.prototype.operatorFns["="] })); (Ext.cmd.derive("Ext.util.AbstractMixedCollection", Ext.Base, { isMixedCollection: true, generation: 0, indexGeneration: 0, constructor: function (b, a) { var c = this; if (arguments.length === 1 && Ext.isObject(b)) { c.initialConfig = b; Ext.apply(c, b) } else { c.allowFunctions = b === true; if (a) { c.getKey = a } c.initialConfig = { allowFunctions: c.allowFunctions, getKey: c.getKey } } c.items = []; c.map = {}; c.keys = []; c.indexMap = {}; c.length = 0; c.mixins.observable.constructor.call(c) }, allowFunctions: false, add: function (c, d) { var a = this.length, b; if (arguments.length === 1) { b = this.insert(a, c) } else { b = this.insert(a, c, d) } return b }, getKey: function (a) { return a.id }, replace: function (c, e) { var d = this, a, b; if (arguments.length == 1) { e = arguments[0]; c = d.getKey(e) } a = d.map[c]; if (typeof c == "undefined" || c === null || typeof a == "undefined") { return d.add(c, e) } d.generation++; b = d.indexOfKey(c); d.items[b] = e; d.map[c] = e; if (d.hasListeners.replace) { d.fireEvent("replace", c, a, e) } return e }, updateKey: function (g, h) { var d = this, e = d.map, c = d.indexMap, a = d.indexOfKey(g), b; if (a > -1) { b = e[g]; delete e[g]; delete c[g]; e[h] = b; c[h] = a; d.keys[a] = h; d.generation++ } }, addAll: function (c) { var b = this, a; if (arguments.length > 1 || Ext.isArray(c)) { b.insert(b.length, arguments.length > 1 ? arguments : c) } else { for (a in c) { if (c.hasOwnProperty(a)) { if (b.allowFunctions || typeof c[a] != "function") { b.add(a, c[a]) } } } } }, each: function (e, d) { var b = Ext.Array.push([], this.items), c = 0, a = b.length, g; for (; c < a; c++) { g = b[c]; if (e.call(d || g, g, c, a) === false) { break } } }, eachKey: function (e, d) { var g = this.keys, b = this.items, c = 0, a = g.length; for (; c < a; c++) { e.call(d || window, g[c], b[c], c, a) } }, findBy: function (e, d) { var g = this.keys, b = this.items, c = 0, a = b.length; for (; c < a; c++) { if (e.call(d || window, b[c], g[c])) { return b[c] } } return null }, find: function () { if (Ext.isDefined(Ext.global.console)) { Ext.global.console.warn("Ext.util.MixedCollection: find has been deprecated. Use findBy instead.") } return this.findBy.apply(this, arguments) }, insert: function (b, c, d) { var a; if (Ext.isIterable(c)) { a = this.doInsert(b, c, d) } else { if (arguments.length > 2) { a = this.doInsert(b, [c], [d]) } else { a = this.doInsert(b, [c]) } a = a[0] } return a }, doInsert: function (j, o, n) { var l = this, b, c, g, k = o.length, a = k, e = l.hasListeners.add, d, h = {}, m, q, p; if (n != null) { l.useLinearSearch = true } else { n = o; o = new Array(k); for (g = 0; g < k; g++) { o[g] = this.getKey(n[g]) } } l.suspendEvents(); for (g = 0; g < k; g++) { b = o[g]; c = l.indexOfKey(b); if (c !== -1) { if (c < j) { j-- } l.removeAt(c) } if (b != null) { if (h[b] != null) { m = true; a-- } h[b] = g } } l.resumeEvents(); if (m) { q = o; p = n; o = new Array(a); n = new Array(a); g = 0; for (b in h) { o[g] = q[h[b]]; n[g] = p[h[b]]; g++ } k = a } d = j === l.length && l.indexGeneration === l.generation; Ext.Array.insert(l.items, j, n); Ext.Array.insert(l.keys, j, o); l.length += k; l.generation++; if (d) { l.indexGeneration = l.generation } for (g = 0; g < k; g++, j++) { b = o[g]; if (b != null) { l.map[b] = n[g]; if (d) { l.indexMap[b] = j } } if (e) { l.fireEvent("add", j, n[g], b) } } return n }, remove: function (d) { var c = this, b, a; if (!c.useLinearSearch && (b = c.getKey(d))) { a = c.indexOfKey(b) } else { a = Ext.Array.indexOf(c.items, d) } return (a === -1) ? false : c.removeAt(a) }, removeAll: function (a) { var c = this, b; if (a || c.hasListeners.remove) { if (a) { for (b = a.length - 1; b >= 0; --b) { c.remove(a[b]) } } else { while (c.length) { c.removeAt(0) } } } else { c.length = c.items.length = c.keys.length = 0; c.map = {}; c.indexMap = {}; c.generation++; c.indexGeneration = c.generation } }, removeAt: function (a) { var c = this, d, b; if (a < c.length && a >= 0) { c.length--; d = c.items[a]; Ext.Array.erase(c.items, a, 1); b = c.keys[a]; if (typeof b != "undefined") { delete c.map[b] } Ext.Array.erase(c.keys, a, 1); if (c.hasListeners.remove) { c.fireEvent("remove", d, b) } c.generation++; return d } return false }, removeRange: function (h, a) { var j = this, b, k, g, e, c, d; if (h < j.length && h >= 0) { if (!a) { a = 1 } e = Math.min(h + a, j.length); a = e - h; d = e === j.length; c = d && j.indexGeneration === j.generation; for (g = h; g < e; g++) { k = j.keys[g]; if (k != null) { delete j.map[k]; if (c) { delete j.indexMap[k] } } } b = j.items[g - 1]; j.length -= a; j.generation++; if (c) { j.indexGeneration = j.generation } if (d) { j.items.length = j.keys.length = j.length } else { j.items.splice(h, a); j.keys.splice(h, a) } return b } return false }, removeAtKey: function (b) { var d = this, c = d.keys, a; if (b == null) { for (a = c.length - 1; a >= 0; a--) { if (c[a] == null) { d.removeAt(a) } } } else { return d.removeAt(d.indexOfKey(b)) } }, getCount: function () { return this.length }, indexOf: function (c) { var b = this, a; if (c != null) { if (!b.useLinearSearch && (a = b.getKey(c))) { return this.indexOfKey(a) } return Ext.Array.indexOf(b.items, c) } return -1 }, indexOfKey: function (a) { if (!this.map.hasOwnProperty(a)) { return -1 } if (this.indexGeneration !== this.generation) { this.rebuildIndexMap() } return this.indexMap[a] }, rebuildIndexMap: function () { var e = this, d = e.indexMap = {}, c = e.keys, a = c.length, b; for (b = 0; b < a; b++) { d[c[b]] = b } e.indexGeneration = e.generation }, get: function (b) { var d = this, a = d.map[b], c = a !== undefined ? a : (typeof b == "number") ? d.items[b] : undefined; return typeof c != "function" || d.allowFunctions ? c : null }, getAt: function (a) { return this.items[a] }, getByKey: function (a) { return this.map[a] }, contains: function (c) { var b = this, a; if (c != null) { if (!b.useLinearSearch && (a = b.getKey(c))) { return this.map[a] != null } return Ext.Array.indexOf(this.items, c) !== -1 } return false }, containsKey: function (a) { return this.map.hasOwnProperty(a) }, clear: function () { var a = this; if (a.generation) { a.length = 0; a.items = []; a.keys = []; a.map = {}; a.indexMap = {}; a.generation++; a.indexGeneration = a.generation } if (a.hasListeners.clear) { a.fireEvent("clear") } }, first: function () { return this.items[0] }, last: function () { return this.items[this.length - 1] }, sum: function (h, b, j, a) { var c = this.extractValues(h, b), g = c.length, e = 0, d; j = j || 0; a = (a || a === 0) ? a : g - 1; for (d = j; d <= a; d++) { e += c[d] } return e }, collect: function (k, e, h) { var l = this.extractValues(k, e), a = l.length, b = {}, c = [], j, g, d; for (d = 0; d < a; d++) { j = l[d]; g = String(j); if ((h || !Ext.isEmpty(j)) && !b[g]) { b[g] = true; c.push(j) } } return c }, extractValues: function (c, a) { var b = this.items; if (a) { b = Ext.Array.pluck(b, a) } return Ext.Array.pluck(b, c) }, hasRange: function (b, a) { return (a < this.length) }, getRange: function (j, b) { var h = this, d = h.items, c = [], a = d.length, g, e; if (a < 1) { return c } if (j > b) { e = true; g = j; j = b; b = g } if (j < 0) { j = 0 } if (b == null || b >= a) { b = a - 1 } c = d.slice(j, b + 1); if (e && c.length) { c.reverse() } return c }, filter: function (d, c, e, a) { var b = []; if (Ext.isString(d)) { b.push(new Ext.util.Filter({ property: d, value: c, anyMatch: e, caseSensitive: a })) } else { if (Ext.isArray(d) || d instanceof Ext.util.Filter) { b = b.concat(d) } } return this.filterBy(Ext.util.Filter.createFilterFn(b)) }, filterBy: function (e, d) { var j = this, a = new j.self(j.initialConfig), h = j.keys, b = j.items, g = b.length, c; a.getKey = j.getKey; for (c = 0; c < g; c++) { if (e.call(d || j, b[c], h[c])) { a.add(h[c], b[c]) } } return a }, findIndex: function (c, b, e, d, a) { if (Ext.isEmpty(b, false)) { return -1 } b = this.createValueMatcher(b, d, a); return this.findIndexBy(function (g) { return g && b.test(g[c]) }, null, e) }, findIndexBy: function (e, d, j) { var h = this, g = h.keys, b = h.items, c = j || 0, a = b.length; for (; c < a; c++) { if (e.call(d || h, b[c], g[c])) { return c } } return -1 }, createValueMatcher: function (c, e, a, b) { if (!c.exec) { var d = Ext.String.escapeRegex; c = String(c); if (e === true) { c = d(c) } else { c = "^" + d(c); if (b === true) { c += "$" } } c = new RegExp(c, a ? "" : "i") } return c }, clone: function () { var a = this, b = new this.self(a.initialConfig); b.add(a.keys, a.items); return b } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.util, "AbstractMixedCollection"], 0)); (Ext.cmd.derive("Ext.util.Sorter", Ext.Base, { direction: "ASC", constructor: function (a) { var b = this; Ext.apply(b, a); b.updateSortFunction() }, createSortFunction: function (b) { var c = this, d = c.direction || "ASC", a = d.toUpperCase() == "DESC" ? -1 : 1; return function (g, e) { return a * b.call(c, g, e) } }, defaultSorterFn: function (d, c) { var b = this, a = b.transform, g = b.getRoot(d)[b.property], e = b.getRoot(c)[b.property]; if (a) { g = a(g); e = a(e) } return g > e ? 1 : (g < e ? -1 : 0) }, getRoot: function (a) { return this.root === undefined ? a : a[this.root] }, setDirection: function (b) { var a = this; a.direction = b ? b.toUpperCase() : b; a.updateSortFunction() }, toggle: function () { var a = this; a.direction = Ext.String.toggle(a.direction, "ASC", "DESC"); a.updateSortFunction() }, updateSortFunction: function (a) { var b = this; a = a || b.sorterFn || b.defaultSorterFn; b.sort = b.createSortFunction(a) }, serialize: function () { return { root: this.root, property: this.property, direction: this.direction } } }, 1, 0, 0, 0, 0, 0, [Ext.util, "Sorter"], 0)); (Ext.cmd.derive("Ext.util.Sortable", Ext.Base, { isSortable: true, defaultSortDirection: "ASC", statics: { createComparator: function (a) { return a && a.length ? function (d, c) { var b = a[0].sort(d, c), g = a.length, e = 1; for (; e < g; e++) { b = b || a[e].sort.call(this, d, c) } return b } : function () { return 0 } } }, initSortable: function () { var a = this, b = a.sorters; a.sorters = new Ext.util.AbstractMixedCollection(false, function (c) { return c.id || c.property }); if (b) { a.sorters.addAll(a.decodeSorters(b)) } }, sort: function (g, e, b, d) { var c = this, h, a; if (Ext.isArray(g)) { d = b; b = e; a = g } else { if (Ext.isObject(g)) { d = b; b = e; a = [g] } else { if (Ext.isString(g)) { h = c.sorters.get(g); if (!h) { h = { property: g, direction: e }; a = [h] } else { if (e === undefined) { h.toggle() } else { h.setDirection(e) } } } } } if (a && a.length) { a = c.decodeSorters(a); if (Ext.isString(b)) { if (b === "prepend") { c.sorters.insert(0, a) } else { c.sorters.addAll(a) } } else { c.sorters.clear(); c.sorters.addAll(a) } } if (d !== false) { c.fireEvent("beforesort", c, a); c.onBeforeSort(a); g = c.sorters.items; if (g.length) { c.doSort(c.generateComparator()) } } return g }, generateComparator: function () { var a = this.sorters.getRange(); return a.length ? this.createComparator(a) : this.emptyComparator }, emptyComparator: function () { return 0 }, onBeforeSort: Ext.emptyFn, decodeSorters: function (g) { if (!Ext.isArray(g)) { if (g === undefined) { g = [] } else { g = [g] } } var d = g.length, h = Ext.util.Sorter, a = this.model ? this.model.prototype.fields : null, e, b, c; for (c = 0; c < d; c++) { b = g[c]; if (!(b instanceof h)) { if (Ext.isString(b)) { b = { property: b } } Ext.applyIf(b, { root: this.sortRoot, direction: "ASC" }); if (b.fn) { b.sorterFn = b.fn } if (typeof b == "function") { b = { sorterFn: b } } if (a && !b.transform) { e = a.get(b.property); b.transform = e && e.sortType !== Ext.identityFn ? e.sortType : undefined } g[c] = new Ext.util.Sorter(b) } } return g }, getSorters: function () { return this.sorters.items }, getFirstSorter: function () { var c = this.sorters.items, a = c.length, b = 0, d; for (; b < a; ++b) { d = c[b]; if (!d.isGrouper) { return d } } return null } }, 0, 0, 0, 0, 0, 0, [Ext.util, "Sortable"], function () { this.prototype.createComparator = this.createComparator })); (Ext.cmd.derive("Ext.util.MixedCollection", Ext.util.AbstractMixedCollection, { constructor: function () { var a = this; a.callParent(arguments); a.addEvents("sort"); a.mixins.sortable.initSortable.call(a) }, doSort: function (a) { this.sortBy(a) }, _sort: function (m, b, l) { var k = this, e, g, d = String(b).toUpperCase() == "DESC" ? -1 : 1, j = [], n = k.keys, h = k.items, a; l = l || function (o, c) { return o - c }; for (e = 0, g = h.length; e < g; e++) { j[j.length] = { key: n[e], value: h[e], index: e } } Ext.Array.sort(j, function (o, c) { return l(o[m], c[m]) * d || (o.index < c.index ? -1 : 1) }); for (e = 0, g = j.length; e < g; e++) { a = j[e]; h[e] = a.value; n[e] = a.key; k.indexMap[a.key] = e } k.generation++; k.indexGeneration = k.generation; k.fireEvent("sort", k) }, sortBy: function (b) { var j = this, a = j.items, h, g = j.keys, d, e = a.length, c; for (c = 0; c < e; c++) { a[c].$extCollectionIndex = c } Ext.Array.sort(a, function (l, k) { return b(l, k) || (l.$extCollectionIndex < k.$extCollectionIndex ? -1 : 1) }); for (c = 0; c < e; c++) { h = a[c]; d = j.getKey(h); g[c] = d; j.indexMap[d] = c; delete a.$extCollectionIndex } j.generation++; j.indexGeneration = j.generation; j.fireEvent("sort", j, a, g) }, findInsertionIndex: function (e, d) { var g = this, b = g.items, j = 0, a = b.length - 1, c, h; if (!d) { d = g.generateComparator() } while (j <= a) { c = (j + a) >> 1; h = d(e, b[c]); if (h >= 0) { j = c + 1 } else { if (h < 0) { a = c - 1 } } } return j }, reorder: function (d) { var h = this, b = h.items, c = 0, g = b.length, a = [], e = [], j; h.suspendEvents(); for (j in d) { a[d[j]] = b[j] } for (c = 0; c < g; c++) { if (d[c] == undefined) { e.push(b[c]) } } for (c = 0; c < g; c++) { if (a[c] == undefined) { a[c] = e.shift() } } h.clear(); h.addAll(a); h.resumeEvents(); h.fireEvent("sort", h) }, sortByKey: function (a, b) { this._sort("key", a, b || function (d, c) { var g = String(d).toUpperCase(), e = String(c).toUpperCase(); return g > e ? 1 : (g < e ? -1 : 0) }) } }, 1, 0, 0, 0, 0, [["sortable", Ext.util.Sortable]], [Ext.util, "MixedCollection"], 0)); (Ext.cmd.derive("Ext.fx.target.Target", Ext.Base, { isAnimTarget: true, constructor: function (a) { this.target = a; this.id = this.getId() }, getId: function () { return this.target.id } }, 1, 0, 0, 0, 0, 0, [Ext.fx.target, "Target"], 0)); (Ext.cmd.derive("Ext.fx.target.Element", Ext.fx.target.Target, { type: "element", getElVal: function (b, a, c) { if (c == undefined) { if (a === "x") { c = b.getX() } else { if (a === "y") { c = b.getY() } else { if (a === "scrollTop") { c = b.getScroll().top } else { if (a === "scrollLeft") { c = b.getScroll().left } else { if (a === "height") { c = b.getHeight() } else { if (a === "width") { c = b.getWidth() } else { c = b.getStyle(a) } } } } } } } return c }, getAttr: function (a, c) { var b = this.target; return [[b, this.getElVal(b, a, c)]] }, setAttr: function (k) { var e = this.target, h = k.length, l, g, b, d, c, a; for (d = 0; d < h; d++) { l = k[d].attrs; for (g in l) { if (l.hasOwnProperty(g)) { a = l[g].length; for (c = 0; c < a; c++) { b = l[g][c]; this.setElVal(b[0], g, b[1]) } } } } }, setElVal: function (b, a, c) { if (a === "x") { b.setX(c) } else { if (a === "y") { b.setY(c) } else { if (a === "scrollTop") { b.scrollTo("top", c) } else { if (a === "scrollLeft") { b.scrollTo("left", c) } else { if (a === "width") { b.setWidth(c) } else { if (a === "height") { b.setHeight(c) } else { b.setStyle(a, c) } } } } } } } }, 0, 0, 0, 0, 0, 0, [Ext.fx.target, "Element"], 0)); (Ext.cmd.derive("Ext.fx.target.ElementCSS", Ext.fx.target.Element, { setAttr: function (n, e) { var q = { attrs: [], duration: [], easing: [] }, m = n.length, g, p, k, l, c, b, h, d, a; for (h = 0; h < m; h++) { p = n[h]; c = p.duration; l = p.easing; p = p.attrs; for (k in p) { if (Ext.Array.indexOf(q.attrs, k) == -1) { q.attrs.push(k.replace(/[A-Z]/g, function (j) { return "-" + j.toLowerCase() })); q.duration.push(c + "ms"); q.easing.push(l) } } } g = q.attrs.join(","); c = q.duration.join(","); l = q.easing.join(", "); for (h = 0; h < m; h++) { p = n[h].attrs; for (k in p) { a = p[k].length; for (d = 0; d < a; d++) { b = p[k][d]; b[0].setStyle(Ext.supports.CSS3Prefix + "TransitionProperty", e ? "" : g); b[0].setStyle(Ext.supports.CSS3Prefix + "TransitionDuration", e ? "" : c); b[0].setStyle(Ext.supports.CSS3Prefix + "TransitionTimingFunction", e ? "" : l); b[0].setStyle(k, b[1]); if (e) { b = b[0].dom.offsetWidth } else { b[0].on(Ext.supports.CSS3TransitionEnd, function () { this.setStyle(Ext.supports.CSS3Prefix + "TransitionProperty", null); this.setStyle(Ext.supports.CSS3Prefix + "TransitionDuration", null); this.setStyle(Ext.supports.CSS3Prefix + "TransitionTimingFunction", null) }, b[0], { single: true }) } } } } } }, 0, 0, 0, 0, 0, 0, [Ext.fx.target, "ElementCSS"], 0)); (Ext.cmd.derive("Ext.fx.target.CompositeElement", Ext.fx.target.Element, { isComposite: true, constructor: function (a) { a.id = a.id || Ext.id(null, "ext-composite-"); this.callParent([a]) }, getAttr: function (a, j) { var b = [], h = this.target, g = h.elements, e = g.length, c, d; for (c = 0; c < e; c++) { d = g[c]; if (d) { d = h.getElement(d); b.push([d, this.getElVal(d, a, j)]) } } return b }, setAttr: function (n) { var l = this.target, m = n.length, b = l.elements, r = b.length, p, d, q, h, c, g, e, a; for (g = 0; g < m; g++) { q = n[g].attrs; for (h in q) { if (q.hasOwnProperty(h)) { a = q[h].length; for (e = 0; e < a; e++) { p = q[h][e][1]; for (d = 0; d < r; ++d) { el = b[d]; if (el) { el = l.getElement(el); this.setElVal(el, h, p) } } } } } } } }, 1, 0, 0, 0, 0, 0, [Ext.fx.target, "CompositeElement"], 0)); (Ext.cmd.derive("Ext.fx.target.CompositeElementCSS", Ext.fx.target.CompositeElement, { setAttr: function () { return Ext.fx.target.ElementCSS.prototype.setAttr.apply(this, arguments) } }, 0, 0, 0, 0, 0, 0, [Ext.fx.target, "CompositeElementCSS"], 0)); (Ext.cmd.derive("Ext.fx.target.Sprite", Ext.fx.target.Target, { type: "draw", getFromPrim: function (b, a) { var c; switch (a) { case "rotate": case "rotation": c = b.attr.rotation; return { x: c.x || 0, y: c.y || 0, degrees: c.degrees || 0 }; case "scale": case "scaling": c = b.attr.scaling; return { x: c.x || 1, y: c.y || 1, cx: c.cx || 0, cy: c.cy || 0 }; case "translate": case "translation": c = b.attr.translation; return { x: c.x || 0, y: c.y || 0 }; default: return b.attr[a] } }, getAttr: function (a, b) { return [[this.target, b != undefined ? b : this.getFromPrim(this.target, a)]] }, setAttr: function (m) { var g = m.length, k = [], b, e, p, r, q, o, n, d, c, l, h, a; for (d = 0; d < g; d++) { b = m[d].attrs; for (e in b) { p = b[e]; a = p.length; for (c = 0; c < a; c++) { q = p[c][0]; r = p[c][1]; if (e === "translate" || e === "translation") { n = { x: r.x, y: r.y } } else { if (e === "rotate" || e === "rotation") { l = r.x; if (isNaN(l)) { l = null } h = r.y; if (isNaN(h)) { h = null } n = { degrees: r.degrees, x: l, y: h } } else { if (e === "scale" || e === "scaling") { l = r.x; if (isNaN(l)) { l = null } h = r.y; if (isNaN(h)) { h = null } n = { x: l, y: h, cx: r.cx, cy: r.cy } } else { if (e === "width" || e === "height" || e === "x" || e === "y") { n = parseFloat(r) } else { n = r } } } } o = Ext.Array.indexOf(k, q); if (o == -1) { k.push([q, {} ]); o = k.length - 1 } k[o][1][e] = n } } } g = k.length; for (d = 0; d < g; d++) { k[d][0].setAttributes(k[d][1]) } this.target.redraw() } }, 0, 0, 0, 0, 0, 0, [Ext.fx.target, "Sprite"], 0)); (Ext.cmd.derive("Ext.fx.target.CompositeSprite", Ext.fx.target.Sprite, { getAttr: function (a, h) { var b = [], g = [].concat(this.target.items), e = g.length, d, c; for (d = 0; d < e; d++) { c = g[d]; b.push([c, h != undefined ? h : this.getFromPrim(c, a)]) } return b } }, 0, 0, 0, 0, 0, 0, [Ext.fx.target, "CompositeSprite"], 0)); (Ext.cmd.derive("Ext.fx.target.Component", Ext.fx.target.Target, { type: "component", getPropMethod: { top: function () { return this.getPosition(true)[1] }, left: function () { return this.getPosition(true)[0] }, x: function () { return this.getPosition()[0] }, y: function () { return this.getPosition()[1] }, height: function () { return this.getHeight() }, width: function () { return this.getWidth() }, opacity: function () { return this.el.getStyle("opacity") } }, setMethods: { top: "setPosition", left: "setPosition", x: "setPagePosition", y: "setPagePosition", height: "setSize", width: "setSize", opacity: "setOpacity" }, getAttr: function (a, b) { return [[this.target, b !== undefined ? b : this.getPropMethod[a].call(this.target)]] }, setAttr: function (s, g, b) { var q = this, p = s.length, v, n, c, k, e, m, d, r, u, l, a = {}, t; for (k = 0; k < p; k++) { v = s[k].attrs; for (n in v) { m = v[n].length; for (e = 0; e < m; e++) { c = v[n][e]; t = a[q.setMethods[n]] || (a[q.setMethods[n]] = {}); t.target = c[0]; t[n] = c[1] } } if (a.setPosition) { c = a.setPosition; d = (c.left === undefined) ? undefined : parseFloat(c.left); r = (c.top === undefined) ? undefined : parseFloat(c.top); c.target.setPosition(d, r) } if (a.setPagePosition) { c = a.setPagePosition; c.target.setPagePosition(c.x, c.y) } if (a.setSize) { c = a.setSize; u = (c.width === undefined) ? c.target.getWidth() : parseFloat(c.width); l = (c.height === undefined) ? c.target.getHeight() : parseFloat(c.height); c.target.el.setSize(u, l); if (b || q.dynamic) { Ext.globalEvents.on({ idle: Ext.Function.bind(c.target.setSize, c.target, [u, l]), single: true }) } } if (a.setOpacity) { c = a.setOpacity; c.target.el.setStyle("opacity", c.opacity) } } } }, 0, 0, 0, 0, 0, 0, [Ext.fx.target, "Component"], 0)); (Ext.cmd.derive("Ext.fx.Queue", Ext.Base, { constructor: function () { this.targets = new Ext.util.HashMap(); this.fxQueue = {} }, getFxDefaults: function (a) { var b = this.targets.get(a); if (b) { return b.fxDefaults } return {} }, setFxDefaults: function (a, c) { var b = this.targets.get(a); if (b) { b.fxDefaults = Ext.apply(b.fxDefaults || {}, c) } }, stopAnimation: function (b) { var d = this, a = d.getFxQueue(b), c = a.length; while (c) { a[c - 1].end(); c-- } }, getActiveAnimation: function (b) { var a = this.getFxQueue(b); return (a && !!a.length) ? a[0] : false }, hasFxBlock: function (b) { var a = this.getFxQueue(b); return a && a[0] && a[0].block }, getFxQueue: function (b) { if (!b) { return false } var c = this, a = c.fxQueue[b], d = c.targets.get(b); if (!d) { return false } if (!a) { c.fxQueue[b] = []; if (d.type != "element") { d.target.on("destroy", function () { c.fxQueue[b] = [] }) } } return c.fxQueue[b] }, queueFx: function (d) { var c = this, e = d.target, a, b; if (!e) { return } a = c.getFxQueue(e.getId()); b = a.length; if (b) { if (d.concurrent) { d.paused = false } else { a[b - 1].on("afteranimate", function () { d.paused = false }) } } else { d.paused = false } d.on("afteranimate", function () { Ext.Array.remove(a, d); if (a.length === 0) { c.targets.remove(d.target) } if (d.remove) { if (e.type == "element") { var g = Ext.get(e.id); if (g) { g.remove() } } } }, c, { single: true }); a.push(d) } }, 1, 0, 0, 0, 0, 0, [Ext.fx, "Queue"], 0)); (Ext.cmd.derive("Ext.fx.Manager", Ext.Base, { singleton: true, constructor: function () { var a = this; a.items = new Ext.util.MixedCollection(); a.mixins.queue.constructor.call(a); a.taskRunner = new Ext.util.TaskRunner() }, interval: 16, forceJS: true, createTarget: function (d) { var b = this, c = !b.forceJS && Ext.supports.Transitions, a; b.useCSS3 = c; if (d) { if (d.tagName || Ext.isString(d) || d.isFly) { d = Ext.get(d); a = new Ext.fx.target["Element" + (c ? "CSS" : "")](d) } else { if (d.dom) { a = new Ext.fx.target["Element" + (c ? "CSS" : "")](d) } else { if (d.isComposite) { a = new Ext.fx.target["CompositeElement" + (c ? "CSS" : "")](d) } else { if (d.isSprite) { a = new Ext.fx.target.Sprite(d) } else { if (d.isCompositeSprite) { a = new Ext.fx.target.CompositeSprite(d) } else { if (d.isComponent) { a = new Ext.fx.target.Component(d) } else { if (d.isAnimTarget) { return d } else { return null } } } } } } } b.targets.add(a); return a } else { return null } }, addAnim: function (d) { var c = this, b = c.items, a = c.task; b.add(d.id, d); if (!a && b.length) { a = c.task = { run: c.runner, interval: c.interval, scope: c }; c.taskRunner.start(a) } }, removeAnim: function (d) { var c = this, b = c.items, a = c.task; b.removeAtKey(d.id); if (a && !b.length) { c.taskRunner.stop(a); delete c.task } }, runner: function () { var d = this, b = d.items.getRange(), c = 0, a = b.length, e; d.targetArr = {}; d.timestamp = new Date(); for (; c < a; c++) { e = b[c]; if (e.isReady()) { d.startAnim(e) } } for (c = 0; c < a; c++) { e = b[c]; if (e.isRunning()) { d.runAnim(e) } } d.applyPendingAttrs() }, startAnim: function (a) { a.start(this.timestamp) }, runAnim: function (d) { if (!d) { return } var c = this, g = c.useCSS3 && d.target.type == "element", a = c.timestamp - d.startTime, b = (a >= d.duration), e, h; e = this.collectTargetData(d, a, g, b); if (g) { d.target.setAttr(e.anims[d.id].attributes, true); c.collectTargetData(d, d.duration, g, b); d.paused = true; e = d.target.target; if (d.target.isComposite) { e = d.target.target.last() } h = {}; h[Ext.supports.CSS3TransitionEnd] = d.lastFrame; h.scope = d; h.single = true; e.on(h) } }, collectTargetData: function (c, a, e, g) { var b = c.target.getId(), d = this.targetArr[b]; if (!d) { d = this.targetArr[b] = { id: b, el: c.target, anims: {} } } d.anims[c.id] = { id: c.id, anim: c, elapsed: a, isLastFrame: g, attributes: [{ duration: c.duration, easing: (e && c.reverse) ? c.easingFn.reverse().toCSS3() : c.easing, attrs: c.runAnim(a) } ] }; return d }, applyPendingAttrs: function () { var e = this.targetArr, g, c, b, d, a; for (c in e) { if (e.hasOwnProperty(c)) { g = e[c]; for (a in g.anims) { if (g.anims.hasOwnProperty(a)) { b = g.anims[a]; d = b.anim; if (b.attributes && d.isRunning()) { g.el.setAttr(b.attributes, false, b.isLastFrame); if (b.isLastFrame) { d.lastFrame() } } } } } } } }, 1, 0, 0, 0, 0, [["queue", Ext.fx.Queue]], [Ext.fx, "Manager"], 0)); (Ext.cmd.derive("Ext.fx.Animator", Ext.Base, { isAnimator: true, duration: 250, delay: 0, delayStart: 0, dynamic: false, easing: "ease", running: false, paused: false, damper: 1, iterations: 1, currentIteration: 0, keyframeStep: 0, animKeyFramesRE: /^(from|to|\d+%?)$/, constructor: function (a) { var b = this; a = Ext.apply(b, a || {}); b.config = a; b.id = Ext.id(null, "ext-animator-"); b.addEvents("beforeanimate", "keyframe", "afteranimate"); b.mixins.observable.constructor.call(b, a); b.timeline = []; b.createTimeline(b.keyframes); if (b.target) { b.applyAnimator(b.target); Ext.fx.Manager.addAnim(b) } }, sorter: function (d, c) { return d.pct - c.pct }, createTimeline: function (d) { var h = this, l = [], j = h.to || {}, b = h.duration, m, a, c, g, k, e; for (k in d) { if (d.hasOwnProperty(k) && h.animKeyFramesRE.test(k)) { e = { attrs: Ext.apply(d[k], j) }; if (k == "from") { k = 0 } else { if (k == "to") { k = 100 } } e.pct = parseInt(k, 10); l.push(e) } } Ext.Array.sort(l, h.sorter); g = l.length; for (c = 0; c < g; c++) { m = (l[c - 1]) ? b * (l[c - 1].pct / 100) : 0; a = b * (l[c].pct / 100); h.timeline.push({ duration: a - m, attrs: l[c].attrs }) } }, applyAnimator: function (d) { var h = this, j = [], l = h.timeline, g = l.length, b, e, a, k, c; if (h.fireEvent("beforeanimate", h) !== false) { for (c = 0; c < g; c++) { b = l[c]; k = b.attrs; e = k.easing || h.easing; a = k.damper || h.damper; delete k.easing; delete k.damper; b = new Ext.fx.Anim({ target: d, easing: e, damper: a, duration: b.duration, paused: true, to: k }); j.push(b) } h.animations = j; h.target = b.target; for (c = 0; c < g - 1; c++) { b = j[c]; b.nextAnim = j[c + 1]; b.on("afteranimate", function () { this.nextAnim.paused = false }); b.on("afteranimate", function () { this.fireEvent("keyframe", this, ++this.keyframeStep) }, h) } j[g - 1].on("afteranimate", function () { this.lastFrame() }, h) } }, start: function (d) { var e = this, c = e.delay, b = e.delayStart, a; if (c) { if (!b) { e.delayStart = d; return } else { a = d - b; if (a < c) { return } else { d = new Date(b.getTime() + c) } } } if (e.fireEvent("beforeanimate", e) !== false) { e.startTime = d; e.running = true; e.animations[e.keyframeStep].paused = false } }, lastFrame: function () { var c = this, a = c.iterations, b = c.currentIteration; b++; if (b < a) { c.startTime = new Date(); c.currentIteration = b; c.keyframeStep = 0; c.applyAnimator(c.target); c.animations[c.keyframeStep].paused = false } else { c.currentIteration = 0; c.end() } }, end: function () { var a = this; a.fireEvent("afteranimate", a, a.startTime, new Date() - a.startTime) }, isReady: function () { return this.paused === false && this.running === false && this.iterations > 0 }, isRunning: function () { return false } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.fx, "Animator"], 0)); (Ext.cmd.derive("Ext.fx.CubicBezier", Ext.Base, { singleton: true, cubicBezierAtTime: function (p, d, b, o, n, j) { var k = 3 * d, m = 3 * (o - d) - k, a = 1 - k - m, h = 3 * b, l = 3 * (n - b) - h, q = 1 - h - l; function g(r) { return ((a * r + m) * r + k) * r } function c(r, u) { var s = e(r, u); return ((q * s + l) * s + h) * s } function e(r, z) { var y, w, u, s, v, t; for (u = r, t = 0; t < 8; t++) { s = g(u) - r; if (Math.abs(s) < z) { return u } v = (3 * a * u + 2 * m) * u + k; if (Math.abs(v) < 0.000001) { break } u = u - s / v } y = 0; w = 1; u = r; if (u < y) { return y } if (u > w) { return w } while (y < w) { s = g(u); if (Math.abs(s - r) < z) { return u } if (r > s) { y = u } else { w = u } u = (w - y) / 2 + y } return u } return c(p, 1 / (200 * j)) }, cubicBezier: function (b, e, a, c) { var d = function (g) { return Ext.fx.CubicBezier.cubicBezierAtTime(g, b, e, a, c, 1) }; d.toCSS3 = function () { return "cubic-bezier(" + [b, e, a, c].join(",") + ")" }; d.reverse = function () { return Ext.fx.CubicBezier.cubicBezier(1 - a, 1 - c, 1 - b, 1 - e) }; return d } }, 0, 0, 0, 0, 0, 0, [Ext.fx, "CubicBezier"], 0)); Ext.require("Ext.fx.CubicBezier", function () { var e = Math, h = e.PI, d = e.pow, b = e.sin, g = e.sqrt, a = e.abs, c = 1.70158; Ext.define("Ext.fx.Easing", { singleton: true, linear: Ext.identityFn, ease: function (m) { var j = 0.07813 - m / 2, o = -0.25, p = g(0.0066 + j * j), s = p - j, l = d(a(s), 1 / 3) * (s < 0 ? -1 : 1), r = -p - j, k = d(a(r), 1 / 3) * (r < 0 ? -1 : 1), u = l + k + 0.25; return d(1 - u, 2) * 3 * u * 0.1 + (1 - u) * 3 * u * u + u * u * u }, easeIn: function (j) { return d(j, 1.7) }, easeOut: function (j) { return d(j, 0.48) }, easeInOut: function (s) { var m = 0.48 - s / 1.04, l = g(0.1734 + m * m), j = l - m, r = d(a(j), 1 / 3) * (j < 0 ? -1 : 1), p = -l - m, o = d(a(p), 1 / 3) * (p < 0 ? -1 : 1), k = r + o + 0.5; return (1 - k) * 3 * k * k + k * k * k }, backIn: function (j) { return j * j * ((c + 1) * j - c) }, backOut: function (j) { j = j - 1; return j * j * ((c + 1) * j + c) + 1 }, elasticIn: function (l) { if (l === 0 || l === 1) { return l } var k = 0.3, j = k / 4; return d(2, -10 * l) * b((l - j) * (2 * h) / k) + 1 }, elasticOut: function (j) { return 1 - Ext.fx.Easing.elasticIn(1 - j) }, bounceIn: function (j) { return 1 - Ext.fx.Easing.bounceOut(1 - j) }, bounceOut: function (o) { var k = 7.5625, m = 2.75, j; if (o < (1 / m)) { j = k * o * o } else { if (o < (2 / m)) { o -= (1.5 / m); j = k * o * o + 0.75 } else { if (o < (2.5 / m)) { o -= (2.25 / m); j = k * o * o + 0.9375 } else { o -= (2.625 / m); j = k * o * o + 0.984375 } } } return j } }, function () { var k = Ext.fx.Easing.self, j = k.prototype; k.implement({ "back-in": j.backIn, "back-out": j.backOut, "ease-in": j.easeIn, "ease-out": j.easeOut, "elastic-in": j.elasticIn, "elastic-out": j.elasticOut, "bounce-in": j.bounceIn, "bounce-out": j.bounceOut, "ease-in-out": j.easeInOut }) }) }); (Ext.cmd.derive("Ext.draw.Color", Ext.Base, { colorToHexRe: /(.*?)rgb\((\d+),\s*(\d+),\s*(\d+)\)/, rgbRe: /\s*rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)\s*/, hexRe: /\s*#([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)([0-9a-fA-F][0-9a-fA-F]?)\s*/, lightnessFactor: 0.2, constructor: function (d, c, a) { var b = this, e = Ext.Number.constrain; b.r = e(d, 0, 255); b.g = e(c, 0, 255); b.b = e(a, 0, 255) }, getRed: function () { return this.r }, getGreen: function () { return this.g }, getBlue: function () { return this.b }, getRGB: function () { var a = this; return [a.r, a.g, a.b] }, getHSL: function () { var k = this, a = k.r / 255, j = k.g / 255, m = k.b / 255, n = Math.max(a, j, m), d = Math.min(a, j, m), o = n - d, e, p = 0, c = 0.5 * (n + d); if (d != n) { p = (c < 0.5) ? o / (n + d) : o / (2 - n - d); if (a == n) { e = 60 * (j - m) / o } else { if (j == n) { e = 120 + 60 * (m - a) / o } else { e = 240 + 60 * (a - j) / o } } if (e < 0) { e += 360 } if (e >= 360) { e -= 360 } } return [e, p, c] }, getLighter: function (b) { var a = this.getHSL(); b = b || this.lightnessFactor; a[2] = Ext.Number.constrain(a[2] + b, 0, 1); return this.fromHSL(a[0], a[1], a[2]) }, getDarker: function (a) { a = a || this.lightnessFactor; return this.getLighter(-a) }, toString: function () { var h = this, c = Math.round, e = c(h.r).toString(16), d = c(h.g).toString(16), a = c(h.b).toString(16); e = (e.length == 1) ? "0" + e : e; d = (d.length == 1) ? "0" + d : d; a = (a.length == 1) ? "0" + a : a; return ["#", e, d, a].join("") }, toHex: function (b) { if (Ext.isArray(b)) { b = b[0] } if (!Ext.isString(b)) { return "" } if (b.substr(0, 1) === "#") { return b } var e = this.colorToHexRe.exec(b), g, d, a, c; if (Ext.isArray(e)) { g = parseInt(e[2], 10); d = parseInt(e[3], 10); a = parseInt(e[4], 10); c = a | (d << 8) | (g << 16); return e[1] + "#" + ("000000" + c.toString(16)).slice(-6) } else { return b } }, fromString: function (j) { var c, e, d, a, h = parseInt; if ((j.length == 4 || j.length == 7) && j.substr(0, 1) === "#") { c = j.match(this.hexRe); if (c) { e = h(c[1], 16) >> 0; d = h(c[2], 16) >> 0; a = h(c[3], 16) >> 0; if (j.length == 4) { e += (e * 16); d += (d * 16); a += (a * 16) } } } else { c = j.match(this.rgbRe); if (c) { e = c[1]; d = c[2]; a = c[3] } } return (typeof e == "undefined") ? undefined : new Ext.draw.Color(e, d, a) }, getGrayscale: function () { return this.r * 0.3 + this.g * 0.59 + this.b * 0.11 }, fromHSL: function (g, o, d) { var a, b, c, e, k = [], n = Math.abs, j = Math.floor; if (o == 0 || g == null) { k = [d, d, d] } else { g /= 60; a = o * (1 - n(2 * d - 1)); b = a * (1 - n(g - 2 * j(g / 2) - 1)); c = d - a / 2; switch (j(g)) { case 0: k = [a, b, 0]; break; case 1: k = [b, a, 0]; break; case 2: k = [0, a, b]; break; case 3: k = [0, b, a]; break; case 4: k = [b, 0, a]; break; case 5: k = [a, 0, b]; break } k = [k[0] + c, k[1] + c, k[2] + c] } return new Ext.draw.Color(k[0] * 255, k[1] * 255, k[2] * 255) } }, 3, 0, 0, 0, 0, 0, [Ext.draw, "Color"], function () { var a = this.prototype; this.addStatics({ fromHSL: function () { return a.fromHSL.apply(a, arguments) }, fromString: function () { return a.fromString.apply(a, arguments) }, toHex: function () { return a.toHex.apply(a, arguments) } }) })); (Ext.cmd.derive("Ext.draw.Draw", Ext.Base, { singleton: true, pathToStringRE: /,?([achlmqrstvxz]),?/gi, pathCommandRE: /([achlmqstvz])[\s,]*((-?\d*\.?\d*(?:e[-+]?\d+)?\s*,?\s*)+)/ig, pathValuesRE: /(-?\d*\.?\d*(?:e[-+]?\d+)?)\s*,?\s*/ig, stopsRE: /^(\d+%?)$/, radian: Math.PI / 180, availableAnimAttrs: { along: "along", blur: null, "clip-rect": "csv", cx: null, cy: null, fill: "color", "fill-opacity": null, "font-size": null, height: null, opacity: null, path: "path", r: null, rotation: "csv", rx: null, ry: null, scale: "csv", stroke: "color", "stroke-opacity": null, "stroke-width": null, translation: "csv", width: null, x: null, y: null }, is: function (b, a) { a = String(a).toLowerCase(); return (a == "object" && b === Object(b)) || (a == "undefined" && typeof b == a) || (a == "null" && b === null) || (a == "array" && Array.isArray && Array.isArray(b)) || (Object.prototype.toString.call(b).toLowerCase().slice(8, -1)) == a }, ellipsePath: function (b) { var a = b.attr; return Ext.String.format("M{0},{1}A{2},{3},0,1,1,{0},{4}A{2},{3},0,1,1,{0},{1}z", a.x, a.y - a.ry, a.rx, a.ry, a.y + a.ry) }, rectPath: function (b) { var a = b.attr; if (a.radius) { return Ext.String.format("M{0},{1}l{2},0a{3},{3},0,0,1,{3},{3}l0,{5}a{3},{3},0,0,1,{4},{3}l{6},0a{3},{3},0,0,1,{4},{4}l0,{7}a{3},{3},0,0,1,{3},{4}z", a.x + a.radius, a.y, a.width - a.radius * 2, a.radius, -a.radius, a.height - a.radius * 2, a.radius * 2 - a.width, a.radius * 2 - a.height) } else { return Ext.String.format("M{0},{1}L{2},{1},{2},{3},{0},{3}z", a.x, a.y, a.width + a.x, a.height + a.y) } }, path2string: function () { return this.join(",").replace(Ext.draw.Draw.pathToStringRE, "$1") }, pathToString: function (a) { return a.join(",").replace(Ext.draw.Draw.pathToStringRE, "$1") }, parsePathString: function (a) { if (!a) { return null } var d = { a: 7, c: 6, h: 1, l: 2, m: 2, q: 4, s: 4, t: 2, v: 1, z: 0 }, c = [], b = this; if (b.is(a, "array") && b.is(a[0], "array")) { c = b.pathClone(a) } if (!c.length) { String(a).replace(b.pathCommandRE, function (g, e, k) { var j = [], h = e.toLowerCase(); k.replace(b.pathValuesRE, function (m, l) { l && j.push(+l) }); if (h == "m" && j.length > 2) { c.push([e].concat(Ext.Array.splice(j, 0, 2))); h = "l"; e = (e == "m") ? "l" : "L" } while (j.length >= d[h]) { c.push([e].concat(Ext.Array.splice(j, 0, d[h]))); if (!d[h]) { break } } }) } c.toString = b.path2string; return c }, mapPath: function (l, g) { if (!g) { return l } var h, e, c, k, a, d, b; l = this.path2curve(l); for (c = 0, k = l.length; c < k; c++) { b = l[c]; for (a = 1, d = b.length; a < d - 1; a += 2) { h = g.x(b[a], b[a + 1]); e = g.y(b[a], b[a + 1]); b[a] = h; b[a + 1] = e } } return l }, pathClone: function (g) { var c = [], a, e, b, d; if (!this.is(g, "array") || !this.is(g && g[0], "array")) { g = this.parsePathString(g) } for (b = 0, d = g.length; b < d; b++) { c[b] = []; for (a = 0, e = g[b].length; a < e; a++) { c[b][a] = g[b][a] } } c.toString = this.path2string; return c }, pathToAbsolute: function (c) { if (!this.is(c, "array") || !this.is(c && c[0], "array")) { c = this.parsePathString(c) } var k = [], m = 0, l = 0, o = 0, n = 0, g = 0, h = c.length, b, d, e, a; if (h && c[0][0] == "M") { m = +c[0][1]; l = +c[0][2]; o = m; n = l; g++; k[0] = ["M", m, l] } for (; g < h; g++) { b = k[g] = []; d = c[g]; if (d[0] != d[0].toUpperCase()) { b[0] = d[0].toUpperCase(); switch (b[0]) { case "A": b[1] = d[1]; b[2] = d[2]; b[3] = d[3]; b[4] = d[4]; b[5] = d[5]; b[6] = + (d[6] + m); b[7] = + (d[7] + l); break; case "V": b[1] = +d[1] + l; break; case "H": b[1] = +d[1] + m; break; case "M": o = +d[1] + m; n = +d[2] + l; default: e = 1; a = d.length; for (; e < a; e++) { b[e] = +d[e] + ((e % 2) ? m : l) } } } else { e = 0; a = d.length; for (; e < a; e++) { k[g][e] = d[e] } } switch (b[0]) { case "Z": m = o; l = n; break; case "H": m = b[1]; break; case "V": l = b[1]; break; case "M": d = k[g]; a = d.length; o = d[a - 2]; n = d[a - 1]; default: d = k[g]; a = d.length; m = d[a - 2]; l = d[a - 1] } } k.toString = this.path2string; return k }, pathToRelative: function (d) { if (!this.is(d, "array") || !this.is(d && d[0], "array")) { d = this.parsePathString(d) } var n = [], p = 0, o = 0, t = 0, s = 0, c = 0, a, q, h, g, e, m, u, l, b; if (d[0][0] == "M") { p = d[0][1]; o = d[0][2]; t = p; s = o; c++; n.push(["M", p, o]) } for (h = c, u = d.length; h < u; h++) { a = n[h] = []; q = d[h]; if (q[0] != q[0].toLowerCase()) { a[0] = q[0].toLowerCase(); switch (a[0]) { case "a": a[1] = q[1]; a[2] = q[2]; a[3] = q[3]; a[4] = q[4]; a[5] = q[5]; a[6] = + (q[6] - p).toFixed(3); a[7] = + (q[7] - o).toFixed(3); break; case "v": a[1] = + (q[1] - o).toFixed(3); break; case "m": t = q[1]; s = q[2]; default: for (g = 1, l = q.length; g < l; g++) { a[g] = + (q[g] - ((g % 2) ? p : o)).toFixed(3) } } } else { a = n[h] = []; if (q[0] == "m") { t = q[1] + p; s = q[2] + o } for (e = 0, b = q.length; e < b; e++) { n[h][e] = q[e] } } m = n[h].length; switch (n[h][0]) { case "z": p = t; o = s; break; case "h": p += +n[h][m - 1]; break; case "v": o += +n[h][m - 1]; break; default: p += +n[h][m - 2]; o += +n[h][m - 1] } } n.toString = this.path2string; return n }, path2curve: function (k) { var d = this, h = d.pathToAbsolute(k), c = h.length, j = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, b, a, g, e; for (b = 0; b < c; b++) { h[b] = d.command2curve(h[b], j); if (h[b].length > 7) { h[b].shift(); e = h[b]; while (e.length) { Ext.Array.splice(h, b++, 0, ["C"].concat(Ext.Array.splice(e, 0, 6))) } Ext.Array.erase(h, b, 1); c = h.length; b-- } a = h[b]; g = a.length; j.x = a[g - 2]; j.y = a[g - 1]; j.bx = parseFloat(a[g - 4]) || j.x; j.by = parseFloat(a[g - 3]) || j.y } return h }, interpolatePaths: function (r, l) { var j = this, d = j.pathToAbsolute(r), m = j.pathToAbsolute(l), n = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, a = { x: 0, y: 0, bx: 0, by: 0, X: 0, Y: 0, qx: null, qy: null }, b = function (p, s) { if (p[s].length > 7) { p[s].shift(); var t = p[s]; while (t.length) { Ext.Array.splice(p, s++, 0, ["C"].concat(Ext.Array.splice(t, 0, 6))) } Ext.Array.erase(p, s, 1); o = Math.max(d.length, m.length || 0) } }, c = function (v, u, s, p, t) { if (v && u && v[t][0] == "M" && u[t][0] != "M") { Ext.Array.splice(u, t, 0, ["M", p.x, p.y]); s.bx = 0; s.by = 0; s.x = v[t][1]; s.y = v[t][2]; o = Math.max(d.length, m.length || 0) } }, h, o, g, q, e, k; for (h = 0, o = Math.max(d.length, m.length || 0); h < o; h++) { d[h] = j.command2curve(d[h], n); b(d, h); (m[h] = j.command2curve(m[h], a)); b(m, h); c(d, m, n, a, h); c(m, d, a, n, h); g = d[h]; q = m[h]; e = g.length; k = q.length; n.x = g[e - 2]; n.y = g[e - 1]; n.bx = parseFloat(g[e - 4]) || n.x; n.by = parseFloat(g[e - 3]) || n.y; a.bx = (parseFloat(q[k - 4]) || a.x); a.by = (parseFloat(q[k - 3]) || a.y); a.x = q[k - 2]; a.y = q[k - 1] } return [d, m] }, command2curve: function (c, b) { var a = this; if (!c) { return ["C", b.x, b.y, b.x, b.y, b.x, b.y] } if (c[0] != "T" && c[0] != "Q") { b.qx = b.qy = null } switch (c[0]) { case "M": b.X = c[1]; b.Y = c[2]; break; case "A": c = ["C"].concat(a.arc2curve.apply(a, [b.x, b.y].concat(c.slice(1)))); break; case "S": c = ["C", b.x + (b.x - (b.bx || b.x)), b.y + (b.y - (b.by || b.y))].concat(c.slice(1)); break; case "T": b.qx = b.x + (b.x - (b.qx || b.x)); b.qy = b.y + (b.y - (b.qy || b.y)); c = ["C"].concat(a.quadratic2curve(b.x, b.y, b.qx, b.qy, c[1], c[2])); break; case "Q": b.qx = c[1]; b.qy = c[2]; c = ["C"].concat(a.quadratic2curve(b.x, b.y, c[1], c[2], c[3], c[4])); break; case "L": c = ["C"].concat(b.x, b.y, c[1], c[2], c[1], c[2]); break; case "H": c = ["C"].concat(b.x, b.y, c[1], b.y, c[1], b.y); break; case "V": c = ["C"].concat(b.x, b.y, b.x, c[1], b.x, c[1]); break; case "Z": c = ["C"].concat(b.x, b.y, b.X, b.Y, b.X, b.Y); break } return c }, quadratic2curve: function (b, d, h, e, a, c) { var g = 1 / 3, j = 2 / 3; return [g * b + j * h, g * d + j * e, g * a + j * h, g * c + j * e, a, c] }, rotate: function (b, h, a) { var d = Math.cos(a), c = Math.sin(a), g = b * d - h * c, e = b * c + h * d; return { x: g, y: e } }, arc2curve: function (s, af, H, F, z, n, g, r, ae, A) { var v = this, d = Math.PI, w = v.radian, E = d * 120 / 180, b = w * (+z || 0), M = [], J = Math, T = J.cos, a = J.sin, V = J.sqrt, u = J.abs, o = J.asin, I, O, N, aa, c, R, U, C, B, m, l, q, j, ad, e, ac, P, S, Q, ab, Z, Y, W, L, X, K, D, G, p; if (!A) { I = v.rotate(s, af, -b); s = I.x; af = I.y; I = v.rotate(r, ae, -b); r = I.x; ae = I.y; O = (s - r) / 2; N = (af - ae) / 2; aa = (O * O) / (H * H) + (N * N) / (F * F); if (aa > 1) { aa = V(aa); H = aa * H; F = aa * F } c = H * H; R = F * F; U = (n == g ? -1 : 1) * V(u((c * R - c * N * N - R * O * O) / (c * N * N + R * O * O))); C = U * H * N / F + (s + r) / 2; B = U * -F * O / H + (af + ae) / 2; m = o(((af - B) / F).toFixed(7)); l = o(((ae - B) / F).toFixed(7)); m = s < C ? d - m : m; l = r < C ? d - l : l; if (m < 0) { m = d * 2 + m } if (l < 0) { l = d * 2 + l } if (g && m > l) { m = m - d * 2 } if (!g && l > m) { l = l - d * 2 } } else { m = A[0]; l = A[1]; C = A[2]; B = A[3] } q = l - m; if (u(q) > E) { D = l; G = r; p = ae; l = m + E * (g && l > m ? 1 : -1); r = C + H * T(l); ae = B + F * a(l); M = v.arc2curve(r, ae, H, F, z, 0, g, G, p, [l, D, C, B]) } q = l - m; j = T(m); ad = a(m); e = T(l); ac = a(l); P = J.tan(q / 4); S = 4 / 3 * H * P; Q = 4 / 3 * F * P; ab = [s, af]; Z = [s + S * ad, af - Q * j]; Y = [r + S * ac, ae - Q * e]; W = [r, ae]; Z[0] = 2 * ab[0] - Z[0]; Z[1] = 2 * ab[1] - Z[1]; if (A) { return [Z, Y, W].concat(M) } else { M = [Z, Y, W].concat(M).join().split(","); L = []; K = M.length; for (X = 0; X < K; X++) { L[X] = X % 2 ? v.rotate(M[X - 1], M[X], b).y : v.rotate(M[X], M[X + 1], b).x } return L } }, rotateAndTranslatePath: function (k) { var c = k.rotation.degrees, d = k.rotation.x, b = k.rotation.y, o = k.translation.x, l = k.translation.y, n, g, a, m, e, h = []; if (!c && !o && !l) { return this.pathToAbsolute(k.attr.path) } o = o || 0; l = l || 0; n = this.pathToAbsolute(k.attr.path); for (g = n.length; g--; ) { a = h[g] = n[g].slice(); if (a[0] == "A") { m = this.rotatePoint(a[6], a[7], c, d, b); a[6] = m.x + o; a[7] = m.y + l } else { e = 1; while (a[e + 1] != null) { m = this.rotatePoint(a[e], a[e + 1], c, d, b); a[e] = m.x + o; a[e + 1] = m.y + l; e += 2 } } } return h }, rotatePoint: function (b, h, e, a, g) { if (!e) { return { x: b, y: h } } a = a || 0; g = g || 0; b = b - a; h = h - g; e = e * this.radian; var d = Math.cos(e), c = Math.sin(e); return { x: b * d - h * c + a, y: b * c + h * d + g } }, pathDimensions: function (o) { if (!o || !(o + "")) { return { x: 0, y: 0, width: 0, height: 0 } } o = this.path2curve(o); var m = 0, l = 0, e = [], b = [], h = 0, k = o.length, c, a, n, g, d, j; for (; h < k; h++) { c = o[h]; if (c[0] == "M") { m = c[1]; l = c[2]; e.push(m); b.push(l) } else { j = this.curveDim(m, l, c[1], c[2], c[3], c[4], c[5], c[6]); e = e.concat(j.min.x, j.max.x); b = b.concat(j.min.y, j.max.y); m = c[5]; l = c[6] } } a = Math.min.apply(0, e); n = Math.min.apply(0, b); g = Math.max.apply(0, e); d = Math.max.apply(0, b); return { x: Math.round(a), y: Math.round(n), path: o, width: Math.round(g - a), height: Math.round(d - n) } }, intersectInside: function (b, c, a) { return (a[0] - c[0]) * (b[1] - c[1]) > (a[1] - c[1]) * (b[0] - c[0]) }, intersectIntersection: function (o, n, g, d) { var c = [], b = g[0] - d[0], a = g[1] - d[1], l = o[0] - n[0], j = o[1] - n[1], m = g[0] * d[1] - g[1] * d[0], k = o[0] * n[1] - o[1] * n[0], h = 1 / (b * j - a * l); c[0] = (m * l - k * b) * h; c[1] = (m * j - k * a) * h; return c }, intersect: function (o, c) { var n = this, k = 0, m = c.length, h = c[m - 1], p = o, g, q, l, a, b, d; for (; k < m; ++k) { g = c[k]; b = p; p = []; q = b[b.length - 1]; d = 0; a = b.length; for (; d < a; d++) { l = b[d]; if (n.intersectInside(l, h, g)) { if (!n.intersectInside(q, h, g)) { p.push(n.intersectIntersection(q, l, h, g)) } p.push(l) } else { if (n.intersectInside(q, h, g)) { p.push(n.intersectIntersection(q, l, h, g)) } } q = l } h = g } return p }, bezier: function (h, g, n, m, e) { if (e === 0) { return h } else { if (e === 1) { return m } } var k = 1 - e, j = k * k * k, l = e / k; return j * (h + l * (3 * g + l * (3 * n + m * l))) }, bezierDim: function (t, q, n, m) { var v = [], g, j, p, h, u, e, w, k, o, l; if (t + 3 * n == m + 3 * q) { g = t - q; g /= 2 * (t - q - q + n); if (g < 1 && g > 0) { v.push(g) } } else { j = t - 3 * q + 3 * n - m; p = 2 * (t - q - q + n); h = t - q; u = p * p - 4 * j * h; e = j + j; if (u === 0) { g = p / e; if (g < 1 && g > 0) { v.push(g) } } else { if (u > 0) { w = Math.sqrt(u); g = (w + p) / e; if (g < 1 && g > 0) { v.push(g) } g = (p - w) / e; if (g < 1 && g > 0) { v.push(g) } } } } k = Math.min(t, m); o = Math.max(t, m); for (l = 0; l < v.length; l++) { k = Math.min(k, this.bezier(t, q, n, m, v[l])); o = Math.max(o, this.bezier(t, q, n, m, v[l])) } return [k, o] }, curveDim: function (b, a, d, c, l, k, h, e) { var j = this.bezierDim(b, d, l, h), g = this.bezierDim(a, c, k, e); return { min: { x: j[0], y: g[0] }, max: { x: j[1], y: g[1] } } }, getAnchors: function (e, d, l, k, w, v, r) { r = r || 4; var j = Math, q = j.PI, s = q / 2, n = j.abs, a = j.sin, b = j.cos, g = j.atan, u, t, h, m, p, o, y, x, c; u = (l - e) / r; t = (w - l) / r; if ((k >= d && k >= v) || (k <= d && k <= v)) { h = m = s } else { h = g((l - e) / n(k - d)); if (d < k) { h = q - h } m = g((w - l) / n(k - v)); if (v < k) { m = q - m } } c = s - ((h + m) % (q * 2)) / 2; if (c > s) { c -= q } h += c; m += c; p = l - u * a(h); o = k + u * b(h); y = l + t * a(m); x = k + t * b(m); if ((k > d && o < d) || (k < d && o > d)) { p += n(d - o) * (p - l) / (o - k); o = d } if ((k > v && x < v) || (k < v && x > v)) { y -= n(v - x) * (y - l) / (x - k); x = v } return { x1: p, y1: o, x2: y, y2: x } }, smooth: function (a, p) { var o = this.path2curve(a), c = [o[0]], g = o[0][1], e = o[0][2], q, s, t = 1, h = o.length, d = 1, l = g, k = e, w, v, u, m, r, n, b; for (; t < h; t++) { w = o[t]; v = w.length; u = o[t - 1]; m = u.length; r = o[t + 1]; n = r && r.length; if (w[0] == "M") { l = w[1]; k = w[2]; q = t + 1; while (o[q][0] != "C") { q++ } c.push(["M", l, k]); d = c.length; g = l; e = k; continue } if (w[v - 2] == l && w[v - 1] == k && (!r || r[0] == "M")) { b = c[d].length; s = this.getAnchors(u[m - 2], u[m - 1], l, k, c[d][b - 2], c[d][b - 1], p); c[d][1] = s.x2; c[d][2] = s.y2 } else { if (!r || r[0] == "M") { s = { x1: w[v - 2], y1: w[v - 1] } } else { s = this.getAnchors(u[m - 2], u[m - 1], w[v - 2], w[v - 1], r[n - 2], r[n - 1], p) } } c.push(["C", g, e, s.x1, s.y1, w[v - 2], w[v - 1]]); g = s.x2; e = s.y2 } return c }, findDotAtSegment: function (b, a, d, c, k, j, h, g, l) { var e = 1 - l; return { x: Math.pow(e, 3) * b + Math.pow(e, 2) * 3 * l * d + e * 3 * l * l * k + Math.pow(l, 3) * h, y: Math.pow(e, 3) * a + Math.pow(e, 2) * 3 * l * c + e * 3 * l * l * j + Math.pow(l, 3) * g } }, snapEnds: function (o, c, k, u) { if (Ext.isDate(o)) { return this.snapEndsByDate(o, c, k) } var e = (c - o) / k, b = Math.floor(Math.log(e) / Math.LN10) + 1, n = Math.pow(10, b), d, q, r = Math.round((e % n) * Math.pow(10, 2 - b)), s = [[0, 15], [10, 1], [20, 4], [25, 2], [50, 9], [100, 15]], a = 0, l, j, p, h, t = 1000000000, g = s.length; q = Math.floor(o / n) * n; if (o == q && q > 0) { q = Math.floor((o - (n / 10)) / n) * n } if (u) { for (p = 0; p < g; p++) { l = s[p][0]; j = (l - r) < 0 ? 1000000 : (l - r) / s[p][1]; if (j < t) { h = l; t = j } } e = Math.floor(e * Math.pow(10, -b)) * Math.pow(10, b) + h * Math.pow(10, b - 2); if (o < 0 && c >= 0) { d = 0; while (d > o) { d -= e; a++ } o = +d.toFixed(10); d = 0; while (d < c) { d += e; a++ } c = +d.toFixed(10) } else { d = o = q; while (d < c) { d += e; a++ } } c = +d.toFixed(10) } else { o = q; a = k } return { from: o, to: c, power: b, step: e, steps: a } }, snapEndsByDate: function (l, m, b, n) { var e = false, h = [[Ext.Date.MILLI, [1, 2, 5, 10, 20, 50, 100, 200, 250, 500]], [Ext.Date.SECOND, [1, 2, 5, 10, 15, 30]], [Ext.Date.MINUTE, [1, 2, 5, 10, 15, 30]], [Ext.Date.HOUR, [1, 2, 3, 4, 6, 12]], [Ext.Date.DAY, [1, 2, 7, 14]], [Ext.Date.MONTH, [1, 2, 3, 6]]], g = h.length, k = false, c, d, a, o; for (o = 0; o < g; o++) { c = h[o]; if (!k) { for (d = 0; d < c[1].length; d++) { if (m < Ext.Date.add(l, c[0], c[1][d] * b)) { e = [c[0], c[1][d]]; k = true; break } } } } if (!e) { a = this.snapEnds(l.getFullYear(), m.getFullYear() + 1, b, n); e = [Date.YEAR, Math.round(a.step)] } return this.snapEndsByDateAndStep(l, m, e, n) }, snapEndsByDateAndStep: function (m, n, a, p) { var o = [m.getFullYear(), m.getMonth(), m.getDate(), m.getHours(), m.getMinutes(), m.getSeconds(), m.getMilliseconds()], l, c, q, b, j, e, k, d, h = a[0], g = a[1]; if (p) { c = m } else { switch (h) { case Ext.Date.MILLI: c = new Date(o[0], o[1], o[2], o[3], o[4], o[5], Math.floor(o[6] / g) * g); break; case Ext.Date.SECOND: c = new Date(o[0], o[1], o[2], o[3], o[4], Math.floor(o[5] / g) * g, 0); break; case Ext.Date.MINUTE: c = new Date(o[0], o[1], o[2], o[3], Math.floor(o[4] / g) * g, 0, 0); break; case Ext.Date.HOUR: c = new Date(o[0], o[1], o[2], Math.floor(o[3] / g) * g, 0, 0, 0); break; case Ext.Date.DAY: c = new Date(o[0], o[1], Math.floor((o[2] - 1) / g) * g + 1, 0, 0, 0, 0); break; case Ext.Date.MONTH: c = new Date(o[0], Math.floor(o[1] / g) * g, 1, 0, 0, 0, 0); break; default: c = new Date(Math.floor(o[0] / g) * g, 0, 1, 0, 0, 0, 0); break } } d = ((h === Ext.Date.MONTH) && (g == 1 / 2 || g == 1 / 3 || g == 1 / 4)); l = (d ? [] : 0); q = new Date(c); while (q < n) { if (d) { b = new Date(q); j = b.getFullYear(); e = b.getMonth(); k = b.getDate(); switch (g) { case 1 / 2: if (k >= 15) { k = 1; if (++e > 11) { j++ } } else { k = 15 } break; case 1 / 3: if (k >= 20) { k = 1; if (++e > 11) { j++ } } else { if (k >= 10) { k = 20 } else { k = 10 } } break; case 1 / 4: if (k >= 22) { k = 1; if (++e > 11) { j++ } } else { if (k >= 15) { k = 22 } else { if (k >= 8) { k = 15 } else { k = 8 } } } break } q.setYear(j); q.setMonth(e); q.setDate(k); l.push(new Date(q)) } else { q = Ext.Date.add(q, h, g); l++ } } if (p) { q = n } if (d) { return { from: +c, to: +q, steps: l } } else { return { from: +c, to: +q, step: (q - c) / l, steps: l } } }, sorter: function (d, c) { return d.offset - c.offset }, rad: function (a) { return a % 360 * Math.PI / 180 }, degrees: function (a) { return a * 180 / Math.PI % 360 }, withinBox: function (a, c, b) { b = b || {}; return (a >= b.x && a <= (b.x + b.width) && c >= b.y && c <= (b.y + b.height)) }, parseGradient: function (l) { var e = this, g = l.type || "linear", c = l.angle || 0, j = e.radian, m = l.stops, a = [], k, b, h, d; if (g == "linear") { b = [0, 0, Math.cos(c * j), Math.sin(c * j)]; h = 1 / (Math.max(Math.abs(b[2]), Math.abs(b[3])) || 1); b[2] *= h; b[3] *= h; if (b[2] < 0) { b[0] = -b[2]; b[2] = 0 } if (b[3] < 0) { b[1] = -b[3]; b[3] = 0 } } for (k in m) { if (m.hasOwnProperty(k) && e.stopsRE.test(k)) { d = { offset: parseInt(k, 10), color: Ext.draw.Color.toHex(m[k].color) || "#ffffff", opacity: m[k].opacity || 1 }; a.push(d) } } Ext.Array.sort(a, e.sorter); if (g == "linear") { return { id: l.id, type: g, vector: b, stops: a } } else { return { id: l.id, type: g, centerX: l.centerX, centerY: l.centerY, focalX: l.focalX, focalY: l.focalY, radius: l.radius, vector: b, stops: a } } } }, 0, 0, 0, 0, 0, 0, [Ext.draw, "Draw"], 0)); (Ext.cmd.derive("Ext.fx.PropertyHandler", Ext.Base, { statics: { defaultHandler: { pixelDefaultsRE: /width|height|top$|bottom$|left$|right$/i, unitRE: /^(-?\d*\.?\d*){1}(em|ex|px|in|cm|mm|pt|pc|%)*$/, scrollRE: /^scroll/i, computeDelta: function (k, c, a, g, j) { a = (typeof a == "number") ? a : 1; var h = this.unitRE, d = h.exec(k), b, e; if (d) { k = d[1]; e = d[2]; if (!this.scrollRE.test(j) && !e && this.pixelDefaultsRE.test(j)) { e = "px" } } k = +k || 0; d = h.exec(c); if (d) { c = d[1]; e = d[2] || e } c = +c || 0; b = (g != null) ? g : k; return { from: k, delta: (c - b) * a, units: e } }, get: function (o, b, a, n, k) { var m = o.length, d = [], e, h, l, c, g; for (e = 0; e < m; e++) { if (n) { h = n[e][1].from } if (Ext.isArray(o[e][1]) && Ext.isArray(b)) { l = []; c = 0; g = o[e][1].length; for (; c < g; c++) { l.push(this.computeDelta(o[e][1][c], b[c], a, h, k)) } d.push([o[e][0], l]) } else { d.push([o[e][0], this.computeDelta(o[e][1], b, a, h, k)]) } } return d }, set: function (l, g) { var h = l.length, c = [], d, a, k, e, b; for (d = 0; d < h; d++) { a = l[d][1]; if (Ext.isArray(a)) { k = []; b = 0; e = a.length; for (; b < e; b++) { k.push(a[b].from + a[b].delta * g + (a[b].units || 0)) } c.push([l[d][0], k]) } else { c.push([l[d][0], a.from + a.delta * g + (a.units || 0)]) } } return c } }, stringHandler: { computeDelta: function (e, b, d, c, a) { return { from: e, delta: b } }, get: function (o, b, a, n, k) { var m = o.length, d = [], e, h, l, c, g; for (e = 0; e < m; e++) { d.push([o[e][0], this.computeDelta(o[e][1], b, a, h, k)]) } return d }, set: function (l, g) { var h = l.length, c = [], d, a, k, e, b; for (d = 0; d < h; d++) { a = l[d][1]; c.push([l[d][0], a.delta]) } return c } }, color: { rgbRE: /^rgb\(([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\)$/i, hexRE: /^#?([0-9A-F]{2})([0-9A-F]{2})([0-9A-F]{2})$/i, hex3RE: /^#?([0-9A-F]{1})([0-9A-F]{1})([0-9A-F]{1})$/i, parseColor: function (e, a) { a = (typeof a == "number") ? a : 1; var g = false, c = [this.hexRE, this.rgbRE, this.hex3RE], d = c.length, j, b, k, h; for (h = 0; h < d; h++) { k = c[h]; b = (h % 2 === 0) ? 16 : 10; j = k.exec(e); if (j && j.length === 4) { if (h === 2) { j[1] += j[1]; j[2] += j[2]; j[3] += j[3] } g = { red: parseInt(j[1], b), green: parseInt(j[2], b), blue: parseInt(j[3], b) }; break } } return g || e }, computeDelta: function (h, a, e, c) { h = this.parseColor(h); a = this.parseColor(a, e); var g = c ? c : h, b = typeof g, d = typeof a; if (b == "string" || b == "undefined" || d == "string" || d == "undefined") { return a || g } return { from: h, delta: { red: Math.round((a.red - g.red) * e), green: Math.round((a.green - g.green) * e), blue: Math.round((a.blue - g.blue) * e) } } }, get: function (j, a, g, d) { var h = j.length, c = [], e, b; for (e = 0; e < h; e++) { if (d) { b = d[e][1].from } c.push([j[e][0], this.computeDelta(j[e][1], a, g, b)]) } return c }, set: function (k, e) { var g = k.length, c = [], d, b, a, h, j; for (d = 0; d < g; d++) { b = k[d][1]; if (b) { h = b.from; j = b.delta; b = (typeof b == "object" && "red" in b) ? "rgb(" + b.red + ", " + b.green + ", " + b.blue + ")" : b; b = (typeof b == "object" && b.length) ? b[0] : b; if (typeof b == "undefined") { return [] } a = typeof b == "string" ? b : "rgb(" + [(h.red + Math.round(j.red * e)) % 256, (h.green + Math.round(j.green * e)) % 256, (h.blue + Math.round(j.blue * e)) % 256].join(",") + ")"; c.push([k[d][0], a]) } } return c } }, object: { interpolate: function (d, b) { b = (typeof b == "number") ? b : 1; var a = {}, c; for (c in d) { a[c] = parseFloat(d[c]) * b } return a }, computeDelta: function (h, a, c, b) { h = this.interpolate(h); a = this.interpolate(a, c); var g = b ? b : h, e = {}, d; for (d in a) { e[d] = a[d] - g[d] } return { from: h, delta: e } }, get: function (j, a, g, d) { var h = j.length, c = [], e, b; for (e = 0; e < h; e++) { if (d) { b = d[e][1].from } c.push([j[e][0], this.computeDelta(j[e][1], a, g, b)]) } return c }, set: function (l, g) { var h = l.length, c = [], e = {}, d, j, k, b, a; for (d = 0; d < h; d++) { b = l[d][1]; j = b.from; k = b.delta; for (a in j) { e[a] = j[a] + k[a] * g } c.push([l[d][0], e]) } return c } }, path: { computeDelta: function (e, a, c, b) { c = (typeof c == "number") ? c : 1; var d; e = +e || 0; a = +a || 0; d = (b != null) ? b : e; return { from: e, delta: (a - d) * c } }, forcePath: function (a) { if (!Ext.isArray(a) && !Ext.isArray(a[0])) { a = Ext.draw.Draw.parsePathString(a) } return a }, get: function (b, l, a, q) { var c = this.forcePath(l), n = [], s = b.length, d, h, o, g, p, m, e, t, r; for (o = 0; o < s; o++) { r = this.forcePath(b[o][1]); g = Ext.draw.Draw.interpolatePaths(r, c); r = g[0]; c = g[1]; d = r.length; t = []; for (m = 0; m < d; m++) { g = [r[m][0]]; h = r[m].length; for (e = 1; e < h; e++) { p = q && q[0][1][m][e].from; g.push(this.computeDelta(r[m][e], c[m][e], a, p)) } t.push(g) } n.push([b[o][0], t]) } return n }, set: function (p, n) { var o = p.length, e = [], h, g, d, l, m, c, a, b; for (h = 0; h < o; h++) { c = p[h][1]; l = []; a = c.length; for (g = 0; g < a; g++) { m = [c[g][0]]; b = c[g].length; for (d = 1; d < b; d++) { m.push(c[g][d].from + c[g][d].delta * n) } l.push(m.join(",")) } e.push([p[h][0], l.join(",")]) } return e } } } }, 0, 0, 0, 0, 0, 0, [Ext.fx, "PropertyHandler"], function () { var b = ["outlineColor", "backgroundColor", "borderColor", "borderTopColor", "borderRightColor", "borderBottomColor", "borderLeftColor", "fill", "stroke"], c = b.length, a = 0, d; for (; a < c; a++) { d = b[a]; this[d] = this.color } b = ["cursor"]; c = b.length; a = 0; for (; a < c; a++) { d = b[a]; this[d] = this.stringHandler } })); (Ext.cmd.derive("Ext.fx.Anim", Ext.Base, { isAnimation: true, duration: 250, delay: 0, delayStart: 0, dynamic: false, easing: "ease", damper: 1, bezierRE: /^(?:cubic-)?bezier\(([^,]+),([^,]+),([^,]+),([^\)]+)\)/, reverse: false, running: false, paused: false, iterations: 1, alternate: false, currentIteration: 0, startTime: 0, frameCount: 0, constructor: function (a) { var b = this, c; a = a || {}; if (a.keyframes) { return new Ext.fx.Animator(a) } Ext.apply(b, a); if (b.from === undefined) { b.from = {} } b.propHandlers = {}; b.config = a; b.target = Ext.fx.Manager.createTarget(b.target); b.easingFn = Ext.fx.Easing[b.easing]; b.target.dynamic = b.dynamic; if (!b.easingFn) { b.easingFn = String(b.easing).match(b.bezierRE); if (b.easingFn && b.easingFn.length == 5) { c = b.easingFn; b.easingFn = Ext.fx.CubicBezier.cubicBezier(+c[1], +c[2], +c[3], +c[4]) } } b.id = Ext.id(null, "ext-anim-"); b.addEvents("beforeanimate", "afteranimate", "lastframe"); b.mixins.observable.constructor.call(b); Ext.fx.Manager.addAnim(b) }, setAttr: function (a, b) { return Ext.fx.Manager.items.get(this.id).setAttr(this.target, a, b) }, initAttrs: function () { var e = this, h = e.from, j = e.to, g = e.initialFrom || {}, c = {}, a, b, k, d; for (d in j) { if (j.hasOwnProperty(d)) { a = e.target.getAttr(d, h[d]); b = j[d]; if (!Ext.fx.PropertyHandler[d]) { if (Ext.isObject(b)) { k = e.propHandlers[d] = Ext.fx.PropertyHandler.object } else { k = e.propHandlers[d] = Ext.fx.PropertyHandler.defaultHandler } } else { k = e.propHandlers[d] = Ext.fx.PropertyHandler[d] } c[d] = k.get(a, b, e.damper, g[d], d) } } e.currentAttrs = c }, start: function (d) { var e = this, c = e.delay, b = e.delayStart, a; if (c) { if (!b) { e.delayStart = d; return } else { a = d - b; if (a < c) { return } else { d = new Date(b.getTime() + c) } } } if (e.fireEvent("beforeanimate", e) !== false) { e.startTime = d; if (!e.paused && !e.currentAttrs) { e.initAttrs() } e.running = true; e.frameCount = 0 } }, runAnim: function (m) { var j = this, l = j.currentAttrs, d = j.duration, c = j.easingFn, b = j.propHandlers, g = {}, h, k, e, a; if (m >= d) { m = d; a = true } if (j.reverse) { m = d - m } for (e in l) { if (l.hasOwnProperty(e)) { k = l[e]; h = a ? 1 : c(m / d); g[e] = b[e].set(k, h) } } j.frameCount++; return g }, lastFrame: function () { var c = this, a = c.iterations, b = c.currentIteration; b++; if (b < a) { if (c.alternate) { c.reverse = !c.reverse } c.startTime = new Date(); c.currentIteration = b; c.paused = false } else { c.currentIteration = 0; c.end(); c.fireEvent("lastframe", c, c.startTime) } }, endWasCalled: 0, end: function () { if (this.endWasCalled++) { return } var a = this; a.startTime = 0; a.paused = false; a.running = false; Ext.fx.Manager.removeAnim(a); a.fireEvent("afteranimate", a, a.startTime); Ext.callback(a.callback, a.scope, [a, a.startTime]) }, isReady: function () { return this.paused === false && this.running === false && this.iterations > 0 }, isRunning: function () { return this.paused === false && this.running === true && this.isAnimator !== true } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.fx, "Anim"], 0)); Ext.enableFx = true; (Ext.cmd.derive("Ext.util.Animate", Ext.Base, { isAnimate: true, animate: function (a) { var b = this; if (Ext.fx.Manager.hasFxBlock(b.id)) { return b } Ext.fx.Manager.queueFx(new Ext.fx.Anim(b.anim(a))); return this }, anim: function (a) { if (!Ext.isObject(a)) { return (a) ? {} : false } var b = this; if (a.stopAnimation) { b.stopAnimation() } Ext.applyIf(a, Ext.fx.Manager.getFxDefaults(b.id)); return Ext.apply({ target: b, paused: true }, a) }, stopFx: Ext.Function.alias(Ext.util.Animate, "stopAnimation"), stopAnimation: function () { Ext.fx.Manager.stopAnimation(this.id); return this }, syncFx: function () { Ext.fx.Manager.setFxDefaults(this.id, { concurrent: true }); return this }, sequenceFx: function () { Ext.fx.Manager.setFxDefaults(this.id, { concurrent: false }); return this }, hasActiveFx: Ext.Function.alias(Ext.util.Animate, "getActiveAnimation"), getActiveAnimation: function () { return Ext.fx.Manager.getActiveAnimation(this.id) } }, 0, 0, 0, 0, 0, 0, [Ext.util, "Animate"], function () { Ext.applyIf(Ext.Element.prototype, this.prototype); Ext.CompositeElementLite.importElementMethods() })); (Ext.cmd.derive("Ext.util.ElementContainer", Ext.Base, { childEls: [], constructor: function () { var b = this, a; if (b.hasOwnProperty("childEls")) { a = b.childEls; delete b.childEls; b.addChildEls.apply(b, a) } }, destroy: function () { var e = this, d = e.getChildEls(), g, a, c, b; for (c = d.length; c--; ) { a = d[c]; if (typeof a != "string") { a = a.name } g = e[a]; if (g) { e[a] = null; g.remove() } } }, addChildEls: function () { var b = this, a = arguments; if (b.hasOwnProperty("childEls")) { b.childEls.push.apply(b.childEls, a) } else { b.childEls = b.getChildEls().concat(Array.prototype.slice.call(a)) } b.prune(b.childEls, false) }, applyChildEls: function (b, a) { var e = this, g = e.getChildEls(), j, k, d, c, h; j = (a || e.id) + "-"; for (d = g.length; d--; ) { k = g[d]; if (typeof k == "string") { h = b.getById(j + k) } else { if ((c = k.select)) { h = Ext.select(c, true, b.dom) } else { if ((c = k.selectNode)) { h = Ext.get(Ext.DomQuery.selectNode(c, b.dom)) } else { h = b.getById(k.id || (j + k.itemId)) } } k = k.name } e[k] = h } }, getChildEls: function () { var b = this, a; if (b.hasOwnProperty("childEls")) { return b.childEls } a = b.self; return a.$childEls || b.getClassChildEls(a) }, getClassChildEls: function (o) { var k = this, p = o.$childEls, m, d, b, j, n, h, a, c, e, g, l; if (!p) { g = o.superclass; if (g) { g = g.self; c = [g.$childEls || k.getClassChildEls(g)]; l = g.prototype.mixins || {} } else { c = []; l = {} } e = o.prototype; h = e.mixins; for (a in h) { if (h.hasOwnProperty(a) && !l.hasOwnProperty(a)) { n = h[a].self; c.push(n.$childEls || k.getClassChildEls(n)) } } c.push(e.hasOwnProperty("childEls") && e.childEls); for (d = 0, b = c.length; d < b; ++d) { m = c[d]; if (m && m.length) { if (!p) { p = m } else { if (!j) { j = true; p = p.slice(0) } p.push.apply(p, m) } } } o.$childEls = p = (p ? k.prune(p, !j) : []) } return p }, prune: function (c, e) { var b = c.length, d = {}, a; while (b--) { a = c[b]; if (typeof a != "string") { a = a.name } if (!d[a]) { d[a] = 1 } else { if (e) { e = false; c = c.slice(0) } Ext.Array.erase(c, b, 1) } } return c }, removeChildEls: function (g) { var e = this, a = e.getChildEls(), d = (e.childEls = []), h, b, c; for (b = 0, h = a.length; b < h; ++b) { c = a[b]; if (!g(c)) { d.push(c) } } } }, 1, 0, 0, 0, 0, 0, [Ext.util, "ElementContainer"], 0)); (Ext.cmd.derive("Ext.util.Renderable", Ext.Base, { frameCls: Ext.baseCSSPrefix + "frame", frameIdRegex: /[\-]frame\d+[TMB][LCR]$/, frameElNames: ["TL", "TC", "TR", "ML", "MC", "MR", "BL", "BC", "BR"], frameTpl: ["{%this.renderDockedItems(out,values,0);%}", '', '
{parent.baseCls}-{parent.ui}-{.}-tl{frameElCls}" role="presentation">', '
{parent.baseCls}-{parent.ui}-{.}-tr{frameElCls}" role="presentation">', '
{parent.baseCls}-{parent.ui}-{.}-tc{frameElCls}" role="presentation">
', '
', '
', "
", '
{parent.baseCls}-{parent.ui}-{.}-ml{frameElCls}" role="presentation">', '
{parent.baseCls}-{parent.ui}-{.}-mr{frameElCls}" role="presentation">', '
{parent.baseCls}-{parent.ui}-{.}-mc{frameElCls}" role="presentation">', "{%this.applyRenderTpl(out, values)%}", "
", '
', '
', '', '
{parent.baseCls}-{parent.ui}-{.}-bl{frameElCls}" role="presentation">', '
{parent.baseCls}-{parent.ui}-{.}-br{frameElCls}" role="presentation">', '
{parent.baseCls}-{parent.ui}-{.}-bc{frameElCls}" role="presentation">
', '
', '
', "
", "{%this.renderDockedItems(out,values,1);%}"], frameTableTpl: ["{%this.renderDockedItems(out,values,0);%}", '', '', "", '', '', '', "", "", "", '', '", '', "", '', "", '', '', '', "", "", "
{parent.baseCls}-{parent.ui}-{.}-tl{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tc{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-tr{frameElCls}" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-ml{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-mc{frameElCls}" role="presentation">', "{%this.applyRenderTpl(out, values)%}", " {parent.baseCls}-{parent.ui}-{.}-mr{frameElCls}" role="presentation">
{parent.baseCls}-{parent.ui}-{.}-bl{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-bc{frameElCls}" role="presentation"> {parent.baseCls}-{parent.ui}-{.}-br{frameElCls}" role="presentation">
", "{%this.renderDockedItems(out,values,1);%}"], afterRender: function () { var d = this, e = {}, j = d.protoEl, h = d.el, c, g, a, b; d.finishRenderChildren(); if (d.contentEl) { g = Ext.baseCSSPrefix; a = g + "hide-"; b = Ext.get(d.contentEl); b.removeCls([g + "hidden", a + "display", a + "offsets", a + "nosize"]); d.getContentTarget().appendChild(b.dom) } j.writeTo(e); c = e.removed; if (c) { h.removeCls(c) } c = e.cls; if (c.length) { h.addCls(c) } c = e.style; if (e.style) { h.setStyle(c) } d.protoEl = null; if (!d.ownerCt) { d.updateLayout() } }, afterFirstLayout: function (b, j) { var d = this, h = d.x, e = d.y, c, a, g, k; if (!d.ownerLayout) { c = Ext.isDefined(h); a = Ext.isDefined(e) } if (d.floating && (!c || !a)) { if (d.floatParent) { g = d.floatParent.getTargetEl().getViewRegion(); k = d.el.getAlignToXY(d.floatParent.getTargetEl(), "c-c"); g.x = k[0] - g.x; g.y = k[1] - g.y } else { k = d.el.getAlignToXY(d.container, "c-c"); g = d.container.translateXY(k[0], k[1]) } h = c ? h : g.x; e = a ? e : g.y; c = a = true } if (c || a) { d.setPosition(h, e) } d.onBoxReady(b, j) }, applyRenderSelectors: function () { var d = this, b = d.renderSelectors, c = d.el, e = c.dom, a; d.applyChildEls(c); if (b) { for (a in b) { if (b.hasOwnProperty(a) && b[a]) { d[a] = Ext.get(Ext.DomQuery.selectNode(b[a], e)) } } } }, beforeRender: function () { var c = this, e = c.getTargetEl(), d = c.getOverflowEl(), b = c.getComponentLayout(), a = c.getOverflowStyle(); c.frame = c.frame || c.alwaysFramed; if (!b.initialized) { b.initLayout() } if (d) { d.setStyle(a); c.overflowStyleSet = true } c.setUI(c.ui); if (c.disabled) { c.disable(true) } }, doApplyRenderTpl: function (c, a) { var d = a.$comp, b; if (!d.rendered) { b = d.initRenderTpl(); b.applyOut(a.renderData, c) } }, doAutoRender: function () { var a = this; if (!a.rendered) { if (a.floating) { a.render(document.body) } else { a.render(Ext.isBoolean(a.autoRender) ? Ext.getBody() : a.autoRender) } } }, doRenderContent: function (a, c) { var b = c.$comp; if (b.html) { Ext.DomHelper.generateMarkup(b.html, a); delete b.html } if (b.tpl) { if (!b.tpl.isTemplate) { b.tpl = new Ext.XTemplate(b.tpl) } if (b.data) { b.tpl.applyOut(b.data, a); delete b.data } } }, doRenderFramingDockedItems: function (a, c, d) { var b = c.$comp; if (!b.rendered && b.doRenderDockedItems) { c.renderData.$skipDockedItems = true; b.doRenderDockedItems.call(this, a, c, d) } }, finishRender: function (a) { var d = this, b, e, c; if (!d.el || d.$pid) { if (d.container) { c = d.container.getById(d.id, true) } else { c = Ext.getDom(d.id) } if (!d.el) { d.wrapPrimaryEl(c) } else { delete d.$pid; if (!d.el.dom) { d.wrapPrimaryEl(d.el) } c.parentNode.insertBefore(d.el.dom, c); Ext.removeNode(c) } } else { if (!d.rendering) { b = d.initRenderTpl(); if (b) { e = d.initRenderData(); b.insertFirst(d.getTargetEl(), e) } } } if (!d.container) { d.container = Ext.get(d.el.dom.parentNode) } if (d.ctCls) { d.container.addCls(d.ctCls) } d.onRender(d.container, a); if (!d.overflowStyleSet) { d.getOverflowEl().setStyle(d.getOverflowStyle()) } d.el.setVisibilityMode(Ext.Element[d.hideMode.toUpperCase()]); if (d.overCls) { d.el.hover(d.addOverCls, d.removeOverCls, d) } if (d.hasListeners.render) { d.fireEvent("render", d) } d.afterRender(); if (d.hasListeners.afterrender) { d.fireEvent("afterrender", d) } d.initEvents(); if (d.hidden) { d.el.hide() } }, finishRenderChildren: function () { var a = this.getComponentLayout(); a.finishRender() }, getElConfig: function () { var j = this, l = j.autoEl, g = j.getFrameInfo(), b = { tag: "div", tpl: g ? j.initFramingTpl(g.table) : j.initRenderTpl() }, a = j.protoEl, c, e, h, m, d, k; j.initStyles(a); a.writeTo(b); a.flush(); if (Ext.isString(l)) { b.tag = l } else { Ext.apply(b, l) } b.id = j.id; if (b.tpl) { if (g) { e = j.frameElNames; h = e.length; b.tplData = k = j.getFrameRenderData(); k.renderData = j.initRenderData(); d = k.fgid; for (c = 0; c < h; c++) { m = e[c]; j.addChildEls({ name: "frame" + m, id: d + m }) } j.addChildEls({ name: "frameBody", id: d + "MC" }) } else { b.tplData = j.initRenderData() } } return b }, initFramingTpl: function (b) { var a = this.getFrameTpl(b); if (a && !a.applyRenderTpl) { this.setupFramingTpl(a) } return a }, setupFramingTpl: function (a) { a.applyRenderTpl = this.doApplyRenderTpl; a.renderDockedItems = this.doRenderFramingDockedItems }, getInsertPosition: function (a) { if (a !== undefined) { if (Ext.isNumber(a)) { a = this.container.dom.childNodes[a] } else { a = Ext.getDom(a) } } return a }, getRenderTree: function () { var a = this; if (!a.hasListeners.beforerender || a.fireEvent("beforerender", a) !== false) { a.beforeRender(); a.rendering = true; if (a.el) { return { tag: "div", id: (a.$pid = Ext.id()) } } return a.getElConfig() } return null }, initContainer: function (a) { var b = this; if (!a && b.el) { a = b.el.dom.parentNode; b.allowDomMove = false } b.container = a.dom ? a : Ext.get(a); return b.container }, initRenderData: function () { var a = this; return Ext.apply({ $comp: a, id: a.id, ui: a.ui, uiCls: a.uiCls, baseCls: a.baseCls, componentCls: a.componentCls, frame: a.frame, childElCls: "" }, a.renderData) }, initRenderTpl: function () { var a = this.getTpl("renderTpl"); if (a && !a.renderContent) { this.setupRenderTpl(a) } return a }, onRender: function (d, e) { var g = this, j = g.x, h = g.y, c = null, a, k, b = g.el; g.applyRenderSelectors(); g.rendering = null; g.rendered = true; if (j != null) { c = { x: j } } if (h != null) { (c = c || {}).y = h } if (!g.getFrameInfo() && Ext.isBorderBox) { a = g.width; k = g.height; if (typeof a === "number") { c = c || {}; c.width = a } if (typeof k === "number") { c = c || {}; c.height = k } } g.lastBox = b.lastBox = c }, render: function (c, b) { var e = this, d = e.el && (e.el = Ext.get(e.el)), h, a, g; Ext.suspendLayouts(); c = e.initContainer(c); g = e.getInsertPosition(b); if (!d) { a = e.getRenderTree(); if (e.ownerLayout && e.ownerLayout.transformItemRenderTree) { a = e.ownerLayout.transformItemRenderTree(a) } if (a) { if (g) { d = Ext.DomHelper.insertBefore(g, a) } else { d = Ext.DomHelper.append(c, a) } e.wrapPrimaryEl(d) } } else { if (!e.hasListeners.beforerender || e.fireEvent("beforerender", e) !== false) { e.beforeRender(); e.initStyles(d); if (e.allowDomMove !== false) { if (g) { c.dom.insertBefore(d.dom, g) } else { c.dom.appendChild(d.dom) } } } else { h = true } } if (d && !h) { e.finishRender(b) } Ext.resumeLayouts(!e.hidden && !c.isDetachedBody) }, ensureAttachedToBody: function (c) { var b = this, a; while (b.ownerCt) { b = b.ownerCt } if (b.container.isDetachedBody) { b.container = a = Ext.getBody(); a.appendChild(b.el.dom); if (c) { b.updateLayout() } if (typeof b.x == "number" || typeof b.y == "number") { b.setPosition(b.x, b.y) } } }, setupRenderTpl: function (a) { a.renderBody = a.renderContent = this.doRenderContent }, wrapPrimaryEl: function (a) { this.el = Ext.get(a, true) }, initFrame: function () { if (Ext.supports.CSS3BorderRadius || !this.frame) { return } var h = this, e = h.getFrameInfo(), a, c, d = h.frameElNames, g = d.length, b, j, k; if (e) { a = h.getFrameTpl(e.table); j = h.getFrameRenderData(); c = j.fgid; a.insertFirst(h.el, j); h.frameBody = h.el.down("." + h.frameCls + "-mc"); h.removeChildEls(function (l) { return l.id && h.frameIdRegex.test(l.id) }); for (b = 0; b < g; b++) { k = d[b]; h["frame" + k] = h.el.getById(c + k) } } }, getFrameRenderData: function () { var c = this, b = c.frameSize, a = (c.frameGenId || 0) + 1; c.frameGenId = a; return { $comp: c, fgid: c.id + "-frame" + a, ui: c.ui, uiCls: c.uiCls, frameCls: c.frameCls, baseCls: c.baseCls, top: !!b.top, left: !!b.left, right: !!b.right, bottom: !!b.bottom, frameElCls: "" } }, updateFrame: function () { if (Ext.supports.CSS3BorderRadius || !this.frame) { return } var e = this, h = e.frameSize && e.frameSize.table, g = e.frameTL, d = e.frameBL, c = e.frameML, a = e.frameMC, b; e.initFrame(); if (a) { if (e.frame) { b = e.frameMC.dom.className; a.insertAfter(e.frameMC); e.frameMC.remove(); e.frameBody = e.frameMC = a; a.dom.className = b; if (h) { e.el.query("> table")[1].remove() } else { if (g) { g.remove() } if (d) { d.remove() } if (c) { c.remove() } } } } else { if (e.frame) { e.applyRenderSelectors() } } }, getFrameInfo: function () { if (Ext.supports.CSS3BorderRadius || !this.frame) { return false } var x = this, p = x.frameInfoCache, e = x.getFramingInfoCls() + "-frameInfo", y = p[e], q = Math.max, o, l, t, n, z, g, k, b, c, m, h, s, u, j, a, d, w, r, v; if (y == null) { o = Ext.fly(x.getStyleProxy(e), "frame-style-el"); t = o.getStyle("font-family"); if (t) { t = t.split("-"); d = parseInt(t[1], 10); w = parseInt(t[2], 10); r = parseInt(t[3], 10); v = parseInt(t[4], 10); b = parseInt(t[5], 10); c = parseInt(t[6], 10); m = parseInt(t[7], 10); h = parseInt(t[8], 10); s = parseInt(t[9], 10); u = parseInt(t[10], 10); j = parseInt(t[11], 10); a = parseInt(t[12], 10); n = q(b, q(d, w)); z = q(c, q(w, r)); g = q(m, q(v, r)); k = q(h, q(d, v)); y = { table: t[0].charAt(0) === "t", vertical: t[0].charAt(1) === "v", top: n, right: z, bottom: g, left: k, width: k + z, height: n + g, maxWidth: q(n, z, g, k), border: { top: b, right: c, bottom: m, left: h, width: h + c, height: b + m }, padding: { top: s, right: u, bottom: j, left: a, width: a + u, height: s + j }, radius: { tl: d, tr: w, br: r, bl: v } } } else { y = false } p[e] = y } x.frame = !!y; x.frameSize = y; return y }, getFramingInfoCls: function () { return this.baseCls + "-" + this.ui }, getStyleProxy: function (b) { var a = this.styleProxyEl || (Ext.AbstractComponent.prototype.styleProxyEl = Ext.getBody().createChild({ style: { position: "absolute", top: "-10000px" } }, null, true)); a.className = b; return a }, getFrameTpl: function (a) { return this.getTpl(a ? "frameTableTpl" : "frameTpl") }, frameInfoCache: {} }, 0, 0, 0, 0, 0, 0, [Ext.util, "Renderable"], 0)); (Ext.cmd.derive("Ext.state.Provider", Ext.Base, { prefix: "ext-", constructor: function (a) { a = a || {}; var b = this; Ext.apply(b, a); b.addEvents("statechange"); b.state = {}; b.mixins.observable.constructor.call(b) }, get: function (b, a) { return typeof this.state[b] == "undefined" ? a : this.state[b] }, clear: function (a) { var b = this; delete b.state[a]; b.fireEvent("statechange", b, a, null) }, set: function (a, c) { var b = this; b.state[a] = c; b.fireEvent("statechange", b, a, c) }, decodeValue: function (g) { var c = this, l = /^(a|n|d|b|s|o|e)\:(.*)$/, b = l.exec(unescape(g)), h, d, a, k, e, j; if (!b || !b[1]) { return } d = b[1]; g = b[2]; switch (d) { case "e": return null; case "n": return parseFloat(g); case "d": return new Date(Date.parse(g)); case "b": return (g == "1"); case "a": h = []; if (g != "") { k = g.split("^"); e = k.length; for (j = 0; j < e; j++) { g = k[j]; h.push(c.decodeValue(g)) } } return h; case "o": h = {}; if (g != "") { k = g.split("^"); e = k.length; for (j = 0; j < e; j++) { g = k[j]; a = g.split("="); h[a[0]] = c.decodeValue(a[1]) } } return h; default: return g } }, encodeValue: function (e) { var g = "", d = 0, b, a, c; if (e == null) { return "e:1" } else { if (typeof e == "number") { b = "n:" + e } else { if (typeof e == "boolean") { b = "b:" + (e ? "1" : "0") } else { if (Ext.isDate(e)) { b = "d:" + e.toGMTString() } else { if (Ext.isArray(e)) { for (a = e.length; d < a; d++) { g += this.encodeValue(e[d]); if (d != a - 1) { g += "^" } } b = "a:" + g } else { if (typeof e == "object") { for (c in e) { if (typeof e[c] != "function" && e[c] !== undefined) { g += c + "=" + this.encodeValue(e[c]) + "^" } } b = "o:" + g.substring(0, g.length - 1) } else { b = "s:" + e } } } } } } return escape(b) } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.state, "Provider"], 0)); (Ext.cmd.derive("Ext.state.Manager", Ext.Base, { singleton: true, constructor: function () { this.provider = new Ext.state.Provider() }, setProvider: function (a) { this.provider = a }, get: function (b, a) { return this.provider.get(b, a) }, set: function (a, b) { this.provider.set(a, b) }, clear: function (a) { this.provider.clear(a) }, getProvider: function () { return this.provider } }, 1, 0, 0, 0, 0, 0, [Ext.state, "Manager"], 0)); (Ext.cmd.derive("Ext.state.Stateful", Ext.Base, { stateful: false, saveDelay: 100, constructor: function (a) { var b = this; a = a || {}; if (a.stateful !== undefined) { b.stateful = a.stateful } if (a.saveDelay !== undefined) { b.saveDelay = a.saveDelay } b.stateId = b.stateId || a.stateId; if (!b.stateEvents) { b.stateEvents = [] } if (a.stateEvents) { b.stateEvents.concat(a.stateEvents) } this.addEvents("beforestaterestore", "staterestore", "beforestatesave", "statesave"); b.mixins.observable.constructor.call(b); if (b.stateful !== false) { b.addStateEvents(b.stateEvents); b.initState() } }, addStateEvents: function (c) { var e = this, b, d, a; if (e.stateful && e.getStateId()) { if (typeof c == "string") { c = Array.prototype.slice.call(arguments, 0) } a = e.stateEventsByName || (e.stateEventsByName = {}); for (b = c.length; b--; ) { d = c[b]; if (!a[d]) { a[d] = 1; e.on(d, e.onStateChange, e) } } } }, onStateChange: function () { var c = this, a = c.saveDelay, d, b; if (!c.stateful) { return } if (a) { if (!c.stateTask) { d = Ext.state.Stateful; b = d.runner || (d.runner = new Ext.util.TaskRunner()); c.stateTask = b.newTask({ run: c.saveState, scope: c, interval: a, repeat: 1 }) } c.stateTask.start() } else { c.saveState() } }, saveState: function () { var b = this, d = b.stateful && b.getStateId(), a = b.hasListeners, c; if (d) { c = b.getState() || {}; if (!a.beforestatesave || b.fireEvent("beforestatesave", b, c) !== false) { Ext.state.Manager.set(d, c); if (a.statesave) { b.fireEvent("statesave", b, c) } } } }, getState: function () { return null }, applyState: function (a) { if (a) { Ext.apply(this, a) } }, getStateId: function () { var a = this; return a.stateId || (a.autoGenId ? null : a.id) }, initState: function () { var b = this, d = b.stateful && b.getStateId(), a = b.hasListeners, c; if (d) { c = Ext.state.Manager.get(d); if (c) { c = Ext.apply({}, c); if (!a.beforestaterestore || b.fireEvent("beforestaterestore", b, c) !== false) { b.applyState(c); if (a.staterestore) { b.fireEvent("staterestore", b, c) } } } } }, savePropToState: function (g, e, d) { var b = this, c = b[g], a = b.initialConfig; if (b.hasOwnProperty(g)) { if (!a || a[g] !== c) { if (e) { e[d || g] = c } return true } } return false }, savePropsToState: function (e, c) { var b = this, a, d; if (typeof e == "string") { b.savePropToState(e, c) } else { for (a = 0, d = e.length; a < d; ++a) { b.savePropToState(e[a], c) } } return c }, destroy: function () { var b = this, a = b.stateTask; if (a) { a.destroy(); b.stateTask = null } b.clearListeners() } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.state, "Stateful"], 0)); (Ext.cmd.derive("Ext.AbstractComponent", Ext.Base, { statics: { AUTO_ID: 1000, pendingLayouts: null, layoutSuspendCount: 0, cancelLayout: function (a, c) { var b = this.runningLayoutContext || this.pendingLayouts; if (b) { b.cancelComponent(a, false, c) } }, flushLayouts: function () { var b = this, a = b.pendingLayouts; if (a && a.invalidQueue.length) { b.pendingLayouts = null; b.runningLayoutContext = a; Ext.override(a, { runComplete: function () { b.runningLayoutContext = null; var c = this.callParent(); if (Ext.globalEvents.hasListeners.afterlayout) { Ext.globalEvents.fireEvent("afterlayout") } return c } }); a.run() } }, resumeLayouts: function (a) { if (this.layoutSuspendCount && !--this.layoutSuspendCount) { if (a) { this.flushLayouts() } if (Ext.globalEvents.hasListeners.resumelayouts) { Ext.globalEvents.fireEvent("resumelayouts") } } }, suspendLayouts: function () { ++this.layoutSuspendCount }, updateLayout: function (b, e) { var c = this, a = c.runningLayoutContext, d; if (a) { a.queueInvalidate(b) } else { d = c.pendingLayouts || (c.pendingLayouts = new Ext.layout.Context()); d.queueInvalidate(b); if (!e && !c.layoutSuspendCount && !b.isLayoutSuspended()) { c.flushLayouts() } } } }, isComponent: true, getAutoId: function () { this.autoGenId = true; return ++Ext.AbstractComponent.AUTO_ID }, deferLayouts: false, autoGenId: false, renderTpl: "{%this.renderContent(out,values)%}", frameSize: null, tplWriteMode: "overwrite", baseCls: Ext.baseCSSPrefix + "component", disabledCls: Ext.baseCSSPrefix + "item-disabled", ui: "default", uiCls: [], hidden: false, disabled: false, draggable: false, floating: false, hideMode: "display", autoShow: false, autoRender: false, allowDomMove: true, rendered: false, componentLayoutCounter: 0, shrinkWrap: 2, weight: 0, maskOnDisable: true, _isLayoutRoot: false, contentPaddingProperty: "padding", horizontalPosProp: "left", borderBoxCls: Ext.baseCSSPrefix + "border-box", constructor: function (c) { var e = this, d, a, b; if (c) { Ext.apply(e, c); b = e.xhooks; if (b) { delete e.xhooks; Ext.override(e, b) } } else { c = {} } e.initialConfig = c; e.mixins.elementCt.constructor.call(e); e.addEvents("beforeactivate", "activate", "beforedeactivate", "deactivate", "added", "disable", "enable", "beforeshow", "show", "beforehide", "hide", "removed", "beforerender", "render", "afterrender", "boxready", "beforedestroy", "destroy", "resize", "move", "focus", "blur"); e.getId(); e.setupProtoEl(); if (e.cls) { e.initialCls = e.cls; e.protoEl.addCls(e.cls) } if (e.style) { e.initialStyle = e.style; e.protoEl.setStyle(e.style) } e.renderData = e.renderData || {}; e.renderSelectors = e.renderSelectors || {}; if (e.plugins) { e.plugins = e.constructPlugins() } if (!e.hasListeners) { e.hasListeners = new e.HasListeners() } e.initComponent(); Ext.ComponentManager.register(e); e.mixins.observable.constructor.call(e); e.mixins.state.constructor.call(e, c); this.addStateEvents("resize"); if (e.plugins) { for (d = 0, a = e.plugins.length; d < a; d++) { e.plugins[d] = e.initPlugin(e.plugins[d]) } } e.loader = e.getLoader(); if (e.renderTo) { e.render(e.renderTo) } if (e.autoShow && !e.isContained) { e.show() } }, initComponent: function () { this.plugins = this.constructPlugins(); this.setSize(this.width, this.height) }, getState: function () { var b = this, c = null, a = b.getSizeModel(); if (a.width.configured) { c = b.addPropertyToState(c, "width") } if (a.height.configured) { c = b.addPropertyToState(c, "height") } return c }, addPropertyToState: function (e, d, c) { var b = this, a = arguments.length; if (a == 3 || b.hasOwnProperty(d)) { if (a < 3) { c = b[d] } if (c !== b.initialConfig[d]) { (e || (e = {}))[d] = c } } return e }, show: Ext.emptyFn, animate: function (c) { var u = this, g, m, l, a, d, b, t, q, n, e, r, o, j, p, s, k; c = c || {}; d = c.to || {}; if (Ext.fx.Manager.hasFxBlock(u.id)) { return u } g = Ext.isDefined(d.width); if (g) { a = Ext.Number.constrain(d.width, u.minWidth, u.maxWidth) } m = Ext.isDefined(d.height); if (m) { l = Ext.Number.constrain(d.height, u.minHeight, u.maxHeight) } if (!c.dynamic && (g || m)) { q = (c.from ? c.from.width : undefined) || u.getWidth(); n = q; e = (c.from ? c.from.height : undefined) || u.getHeight(); r = e; o = false; if (m && l > e) { r = l; o = true } if (g && a > q) { n = a; o = true } if (m || g) { k = u.el.getStyle("overtflow"); if (k !== "hidden") { u.el.setStyle("overflow", "hidden") } } if (o) { b = !Ext.isNumber(u.width); t = !Ext.isNumber(u.height); u.setSize(n, r); u.el.setSize(q, e); if (b) { delete u.width } if (t) { delete u.height } } if (g) { d.width = a } if (m) { d.height = l } } j = u.constrain; p = u.constrainHeader; if (j || p) { u.constrain = u.constrainHeader = false; s = c.callback; c.callback = function () { u.constrain = j; u.constrainHeader = p; if (s) { s.call(c.scope || u, arguments) } if (k !== "hidden") { u.el.setStyle("overflow", k) } } } return u.mixins.animate.animate.apply(u, arguments) }, setHiddenState: function (a) { var b = this.getHierarchyState(); this.hidden = a; if (a) { b.hidden = true } else { delete b.hidden } }, onHide: function () { if (this.ownerLayout) { this.updateLayout({ isRoot: false }) } }, onShow: function () { this.updateLayout({ isRoot: false }) }, constructPlugin: function (b) { var a = this; if (typeof b == "string") { b = Ext.PluginManager.create({}, b, a) } else { b = Ext.PluginManager.create(b, null, a) } return b }, constructPlugins: function () { var e = this, c = e.plugins, b, d, a; if (c) { b = []; if (!Ext.isArray(c)) { c = [c] } for (d = 0, a = c.length; d < a; d++) { b[d] = e.constructPlugin(c[d]) } } e.pluginsInitialized = true; return b }, initPlugin: function (a) { a.init(this); return a }, addPlugin: function (b) { var a = this; b = a.constructPlugin(b); if (a.plugins) { a.plugins.push(b) } else { a.plugins = [b] } if (a.pluginsInitialized) { a.initPlugin(b) } return b }, removePlugin: function (a) { Ext.Array.remove(this.plugins, a); a.destroy() }, findPlugin: function (d) { var b, a = this.plugins, c = a && a.length; for (b = 0; b < c; b++) { if (a[b].ptype === d) { return a[b] } } }, getPlugin: function (b) { var c, a = this.plugins, d = a && a.length; for (c = 0; c < d; c++) { if (a[c].pluginId === b) { return a[c] } } }, beforeLayout: Ext.emptyFn, updateAria: Ext.emptyFn, registerFloatingItem: function (b) { var a = this; if (!a.floatingDescendants) { a.floatingDescendants = new Ext.ZIndexManager(a) } a.floatingDescendants.register(b) }, unregisterFloatingItem: function (b) { var a = this; if (a.floatingDescendants) { a.floatingDescendants.unregister(b) } }, layoutSuspendCount: 0, suspendLayouts: function () { var a = this; if (!a.rendered) { return } if (++a.layoutSuspendCount == 1) { a.suspendLayout = true } }, resumeLayouts: function (b) { var a = this; if (!a.rendered) { return } if (!--a.layoutSuspendCount) { a.suspendLayout = false; if (b && !a.isLayoutSuspended()) { a.updateLayout(b) } } }, setupProtoEl: function () { var a = this.initCls(); this.protoEl = new Ext.util.ProtoElement({ cls: a.join(" ") }) }, initCls: function () { var b = this, a = [b.baseCls, b.getComponentLayout().targetCls]; if (Ext.isDefined(b.cmpCls)) { if (Ext.isDefined(Ext.global.console)) { Ext.global.console.warn("Ext.Component: cmpCls has been deprecated. Please use componentCls.") } b.componentCls = b.cmpCls; delete b.cmpCls } if (b.componentCls) { a.push(b.componentCls) } else { b.componentCls = b.baseCls } return a }, setUI: function (c) { var b = this, e = b.uiCls, d = b.activeUI, a; if (c === d) { return } if (d) { a = b.removeClsWithUI(e, true); if (a.length) { b.removeCls(a) } b.removeUIFromElement() } else { b.uiCls = [] } b.ui = c; b.activeUI = c; b.addUIToElement(); a = b.addClsWithUI(e, true); if (a.length) { b.addCls(a) } if (b.rendered) { b.updateLayout() } }, addClsWithUI: function (c, j) { var h = this, g = [], e = 0, d = h.uiCls = Ext.Array.clone(h.uiCls), b = h.activeUI, a, k; if (typeof c === "string") { c = (c.indexOf(" ") < 0) ? [c] : Ext.String.splitWords(c) } a = c.length; for (; e < a; e++) { k = c[e]; if (k && !h.hasUICls(k)) { d.push(k); if (b) { g = g.concat(h.addUIClsToElement(k)) } } } if (j !== true && b) { h.addCls(g) } return g }, removeClsWithUI: function (d, l) { var k = this, j = [], g = 0, a = Ext.Array, h = a.remove, e = k.uiCls = a.clone(k.uiCls), c = k.activeUI, b, m; if (typeof d === "string") { d = (d.indexOf(" ") < 0) ? [d] : Ext.String.splitWords(d) } b = d.length; for (g = 0; g < b; g++) { m = d[g]; if (m && k.hasUICls(m)) { h(e, m); if (c) { j = j.concat(k.removeUIClsFromElement(m)) } } } if (l !== true && c) { k.removeCls(j) } return j }, hasUICls: function (a) { var b = this, c = b.uiCls || []; return Ext.Array.contains(c, a) }, frameElementsArray: ["tl", "tc", "tr", "ml", "mc", "mr", "bl", "bc", "br"], addUIClsToElement: function (j) { var h = this, b = h.baseCls + "-" + h.ui + "-" + j, k = [Ext.baseCSSPrefix + j, h.baseCls + "-" + j, b], g, e, d, a, c; if (h.rendered && h.frame && !Ext.supports.CSS3BorderRadius) { g = h.frameElementsArray; e = g.length; for (d = 0; d < e; d++) { c = g[d]; a = h["frame" + c.toUpperCase()]; if (a) { a.addCls(b + "-" + c) } } } return k }, removeUIClsFromElement: function (j) { var h = this, b = h.baseCls + "-" + h.ui + "-" + j, k = [Ext.baseCSSPrefix + j, h.baseCls + "-" + j, b], g, e, d, a, c; if (h.rendered && h.frame && !Ext.supports.CSS3BorderRadius) { g = h.frameElementsArray; e = g.length; for (d = 0; d < e; d++) { c = g[d]; a = h["frame" + c.toUpperCase()]; if (a) { a.removeCls(b + "-" + c) } } } return k }, addUIToElement: function () { var g = this, b = g.baseCls + "-" + g.ui, a, e, c, d, h; g.addCls(b); if (g.rendered && g.frame && !Ext.supports.CSS3BorderRadius) { a = g.frameElementsArray; e = a.length; for (c = 0; c < e; c++) { h = a[c]; d = g["frame" + h.toUpperCase()]; if (d) { d.addCls(b + "-" + h) } } } }, removeUIFromElement: function () { var g = this, b = g.baseCls + "-" + g.ui, a, e, c, d, h; g.removeCls(b); if (g.rendered && g.frame && !Ext.supports.CSS3BorderRadius) { a = g.frameElementsArray; e = a.length; for (c = 0; c < e; c++) { h = a[c]; d = g["frame" + h.toUpperCase()]; if (d) { d.removeCls(b + "-" + h) } } } }, getTpl: function (a) { return Ext.XTemplate.getTpl(this, a) }, initStyles: function (l) { var g = this, c = Ext.Element, d = g.margin, e = g.border, m = g.cls, a = g.style, j = g.x, h = g.y, b, k; g.initPadding(l); if (d != null) { l.setStyle("margin", this.unitizeBox((d === true) ? 5 : d)) } if (e != null) { g.setBorder(e, l) } if (m && m != g.initialCls) { l.addCls(m); g.cls = g.initialCls = null } if (a && a != g.initialStyle) { l.setStyle(a); g.style = g.initialStyle = null } if (j != null) { l.setStyle(g.horizontalPosProp, (typeof j == "number") ? (j + "px") : j) } if (h != null) { l.setStyle("top", (typeof h == "number") ? (h + "px") : h) } if (Ext.isBorderBox && (!g.ownerCt || g.floating)) { l.addCls(g.borderBoxCls) } if (!g.getFrameInfo()) { b = g.width; k = g.height; if (b != null) { if (typeof b === "number") { if (Ext.isBorderBox) { l.setStyle("width", b + "px") } } else { l.setStyle("width", b) } } if (k != null) { if (typeof k === "number") { if (Ext.isBorderBox) { l.setStyle("height", k + "px") } } else { l.setStyle("height", k) } } } }, initPadding: function (c) { var a = this, b = a.padding; if (b != null) { if (a.layout && a.layout.managePadding && a.contentPaddingProperty === "padding") { c.setStyle("padding", 0) } else { c.setStyle("padding", this.unitizeBox((b === true) ? 5 : b)) } } }, parseBox: function (a) { return Ext.dom.Element.parseBox(a) }, unitizeBox: function (a) { return Ext.dom.Element.unitizeBox(a) }, setMargin: function (c, b) { var a = this; if (a.rendered) { if (!c && c !== 0) { c = "" } else { if (c === true) { c = 5 } c = this.unitizeBox(c) } a.getTargetEl().setStyle("margin", c); if (!b) { a.updateLayout() } } else { a.margin = c } }, initEvents: function () { var e = this, h = e.afterRenderEvents, b, d, g, c, a; if (h) { for (g in h) { d = e[g]; if (d && d.on) { b = h[g]; for (c = 0, a = b.length; c < a; ++c) { e.mon(d, b[c]) } } } } e.addFocusListener() }, addFocusListener: function () { var c = this, b = c.getFocusEl(), a; if (b) { if (b.isComponent) { return b.addFocusListener() } a = b.needsTabIndex(); if (!c.focusListenerAdded && (!a || Ext.FocusManager.enabled)) { if (a) { b.dom.tabIndex = -1 } b.on({ focus: c.onFocus, blur: c.onBlur, scope: c }); c.focusListenerAdded = true } } }, getFocusEl: Ext.emptyFn, isFocusable: function () { var b = this, a; if ((b.focusable !== false) && (a = b.getFocusEl()) && b.rendered && !b.destroying && !b.isDestroyed && !b.disabled && b.isVisible(true)) { return a.isFocusable(true) } }, beforeFocus: Ext.emptyFn, onFocus: function (d) { var c = this, b = c.focusCls, a = c.getFocusEl(); if (!c.disabled) { c.beforeFocus(d); if (b && a) { a.addCls(c.addClsWithUI(b, true)) } if (!c.hasFocus) { c.hasFocus = true; c.fireEvent("focus", c, d) } } }, beforeBlur: Ext.emptyFn, onBlur: function (d) { var c = this, b = c.focusCls, a = c.getFocusEl(); if (c.destroying) { return } c.beforeBlur(d); if (b && a) { a.removeCls(c.removeClsWithUI(b, true)) } if (c.validateOnBlur) { c.validate() } c.hasFocus = false; c.fireEvent("blur", c, d); c.postBlur(d) }, postBlur: Ext.emptyFn, is: function (a) { return Ext.ComponentQuery.is(this, a) }, up: function (d, e) { var c = this.getRefOwner(), b = typeof e === "string", h = typeof e === "number", a = e && e.isComponent, g = 0; if (d) { for (; c; c = c.getRefOwner()) { g++; if (d.isComponent) { if (c === d) { return c } } else { if (Ext.ComponentQuery.is(c, d)) { return c } } if (b && c.is(e)) { return } if (h && g === e) { return } if (a && c === e) { return } } } return c }, nextSibling: function (b) { var g = this.ownerCt, d, e, a, h; if (g) { d = g.items; a = d.indexOf(this) + 1; if (a) { if (b) { for (e = d.getCount(); a < e; a++) { if ((h = d.getAt(a)).is(b)) { return h } } } else { if (a < d.getCount()) { return d.getAt(a) } } } } return null }, previousSibling: function (b) { var e = this.ownerCt, d, a, g; if (e) { d = e.items; a = d.indexOf(this); if (a != -1) { if (b) { for (--a; a >= 0; a--) { if ((g = d.getAt(a)).is(b)) { return g } } } else { if (a) { return d.getAt(--a) } } } } return null }, previousNode: function (b, d) { var j = this, h = j.ownerCt, a, g, e, c; if (d && j.is(b)) { return j } if (h) { for (g = h.items.items, e = Ext.Array.indexOf(g, j) - 1; e > -1; e--) { c = g[e]; if (c.query) { a = c.query(b); a = a[a.length - 1]; if (a) { return a } } if (c.is(b)) { return c } } return h.previousNode(b, true) } return null }, nextNode: function (d, j) { var b = this, c = b.ownerCt, k, e, h, g, a; if (j && b.is(d)) { return b } if (c) { for (e = c.items.items, g = Ext.Array.indexOf(e, b) + 1, h = e.length; g < h; g++) { a = e[g]; if (a.is(d)) { return a } if (a.down) { k = a.down(d); if (k) { return k } } } return c.nextNode(d) } return null }, getId: function () { return this.id || (this.id = "ext-comp-" + (this.getAutoId())) }, getItemId: function () { return this.itemId || this.id }, getEl: function () { return this.el }, getTargetEl: function () { return this.frameBody || this.el }, getOverflowEl: function () { return this.getTargetEl() }, getOverflowStyle: function () { var e = this, b = null, d, c, a; if (typeof e.autoScroll === "boolean") { b = { overflow: a = e.autoScroll ? "auto" : "" }; e.scrollFlags = { overflowX: a, overflowY: a, x: true, y: true, both: true } } else { d = e.overflowX; c = e.overflowY; if (d !== undefined || c !== undefined) { b = { overflowX: d = d || "", overflowY: c = c || "" }; e.scrollFlags = { overflowX: d, overflowY: c, x: d = (d === "auto" || d === "scroll"), y: c = (c === "auto" || c === "scroll"), both: d && c } } else { e.scrollFlags = { overflowX: "", overflowY: "", x: false, y: false, both: false } } } if (b && Ext.isIE7m) { b.position = "relative" } return b }, isXType: function (b, a) { if (a) { return this.xtype === b } else { return this.xtypesMap[b] } }, getXTypes: function () { var c = this.self, d, b, a; if (!c.xtypes) { d = []; b = this; while (b) { a = b.xtypes; if (a !== undefined) { d.unshift.apply(d, a) } b = b.superclass } c.xtypeChain = d; c.xtypes = d.join("/") } return c.xtypes }, update: function (b, c, a) { var e = this, g = (e.tpl && !Ext.isString(b)), d; if (g) { e.data = b } else { e.html = Ext.isObject(b) ? Ext.DomHelper.markup(b) : b } if (e.rendered) { d = e.isContainer ? e.layout.getRenderTarget() : e.getTargetEl(); if (g) { e.tpl[e.tplWriteMode](d, b || {}) } else { d.update(e.html, c, a) } e.updateLayout() } }, setVisible: function (a) { return this[a ? "show" : "hide"]() }, isVisible: function (a) { var b = this, c; if (b.hidden || !b.rendered || b.isDestroyed) { c = true } else { if (a) { c = b.isHierarchicallyHidden() } } return !c }, isHierarchicallyHidden: function () { var d = this, c = false, b, a; for (; (b = d.ownerCt || d.floatParent); d = b) { a = b.getHierarchyState(); if (a.hidden) { c = true; break } if (d.getHierarchyState().collapseImmune) { if (b.collapsed && !d.collapseImmune) { c = true; break } } else { c = !!a.collapsed; break } } return c }, onBoxReady: function (b, a) { var c = this; if (c.disableOnBoxReady) { c.onDisable() } else { if (c.enableOnBoxReady) { c.onEnable() } } if (c.resizable) { c.initResizable(c.resizable) } if (c.draggable) { c.initDraggable() } if (c.hasListeners.boxready) { c.fireEvent("boxready", c, b, a) } }, enable: function (a) { var b = this; delete b.disableOnBoxReady; b.removeCls(b.disabledCls); if (b.rendered) { b.onEnable() } else { b.enableOnBoxReady = true } b.disabled = false; delete b.resetDisable; if (a !== true) { b.fireEvent("enable", b) } return b }, disable: function (a) { var b = this; delete b.enableOnBoxReady; b.addCls(b.disabledCls); if (b.rendered) { b.onDisable() } else { b.disableOnBoxReady = true } b.disabled = true; if (a !== true) { delete b.resetDisable; b.fireEvent("disable", b) } return b }, onEnable: function () { if (this.maskOnDisable) { this.el.dom.disabled = false; this.unmask() } }, onDisable: function () { var c = this, b = c.focusCls, a = c.getFocusEl(); if (b && a) { a.removeCls(c.removeClsWithUI(b, true)) } if (c.maskOnDisable) { c.el.dom.disabled = true; c.mask() } }, mask: function () { var b = this.lastBox, c = this.getMaskTarget(), a = []; if (b) { a[2] = b.height } c.mask.apply(c, a) }, unmask: function () { this.getMaskTarget().unmask() }, getMaskTarget: function () { return this.el }, isDisabled: function () { return this.disabled }, setDisabled: function (a) { return this[a ? "disable" : "enable"]() }, isHidden: function () { return this.hidden }, addCls: function (a) { var c = this, b = c.rendered ? c.el : c.protoEl; b.addCls.apply(b, arguments); return c }, addClass: function () { return this.addCls.apply(this, arguments) }, hasCls: function (a) { var c = this, b = c.rendered ? c.el : c.protoEl; return b.hasCls.apply(b, arguments) }, removeCls: function (a) { var c = this, b = c.rendered ? c.el : c.protoEl; b.removeCls.apply(b, arguments); return c }, addOverCls: function () { var a = this; if (!a.disabled) { a.el.addCls(a.overCls) } }, removeOverCls: function () { this.el.removeCls(this.overCls) }, addListener: function (b, g, e, a) { var h = this, d, c; if (Ext.isString(b) && (Ext.isObject(g) || a && a.element)) { if (a.element) { d = g; g = {}; g[b] = d; b = a.element; if (e) { g.scope = e } for (c in a) { if (a.hasOwnProperty(c)) { if (h.eventOptionsRe.test(c)) { g[c] = a[c] } } } } if (h[b] && h[b].on) { h.mon(h[b], g) } else { h.afterRenderEvents = h.afterRenderEvents || {}; if (!h.afterRenderEvents[b]) { h.afterRenderEvents[b] = [] } h.afterRenderEvents[b].push(g) } return } return h.mixins.observable.addListener.apply(h, arguments) }, removeManagedListenerItem: function (b, a, j, d, g, e) { var h = this, c = a.options ? a.options.element : null; if (c) { c = h[c]; if (c && c.un) { if (b || (a.item === j && a.ename === d && (!g || a.fn === g) && (!e || a.scope === e))) { c.un(a.ename, a.fn, a.scope); if (!b) { Ext.Array.remove(h.managedListeners, a) } } } } else { return h.mixins.observable.removeManagedListenerItem.apply(h, arguments) } }, getBubbleTarget: function () { return this.ownerCt }, isFloating: function () { return this.floating }, isDraggable: function () { return !!this.draggable }, isDroppable: function () { return !!this.droppable }, onAdded: function (a, c) { var b = this; b.ownerCt = a; if (b.hierarchyState) { b.hierarchyState.invalid = true; delete b.hierarchyState } if (b.hasListeners.added) { b.fireEvent("added", b, a, c) } }, onRemoved: function (b) { var a = this; if (a.hasListeners.removed) { a.fireEvent("removed", a, a.ownerCt) } delete a.ownerCt; delete a.ownerLayout }, beforeDestroy: Ext.emptyFn, onResize: function (c, a, b, e) { var d = this; if (d.floating && d.constrain) { d.doConstrain() } if (d.hasListeners.resize) { d.fireEvent("resize", d, c, a, b, e) } }, setSize: function (b, a) { var c = this; if (b && typeof b == "object") { a = b.height; b = b.width } if (typeof b == "number") { c.width = Ext.Number.constrain(b, c.minWidth, c.maxWidth) } else { if (b === null) { delete c.width } } if (typeof a == "number") { c.height = Ext.Number.constrain(a, c.minHeight, c.maxHeight) } else { if (a === null) { delete c.height } } if (c.rendered && c.isVisible()) { c.updateLayout({ isRoot: false }) } return c }, isLayoutRoot: function () { var a = this, b = a.ownerLayout; if (!b || a._isLayoutRoot || a.floating) { return true } return b.isItemLayoutRoot(a) }, isLayoutSuspended: function () { var a = this, b; while (a) { if (a.layoutSuspendCount || a.suspendLayout) { return true } b = a.ownerLayout; if (!b) { break } a = b.owner } return false }, updateLayout: function (c) { var d = this, e, b = d.lastBox, a = c && c.isRoot; if (b) { b.invalid = true } if (!d.rendered || d.layoutSuspendCount || d.suspendLayout) { return } if (d.hidden) { Ext.AbstractComponent.cancelLayout(d) } else { if (typeof a != "boolean") { a = d.isLayoutRoot() } } if (a || !d.ownerLayout || !d.ownerLayout.onContentChange(d)) { if (!d.isLayoutSuspended()) { e = (c && c.hasOwnProperty("defer")) ? c.defer : d.deferLayouts; Ext.AbstractComponent.updateLayout(d, e) } } }, getSizeModel: function (k) { var o = this, a = Ext.layout.SizeModel, d = o.componentLayout.ownerContext, b = o.width, q = o.height, r, c, g, e, h, p, m, n, l, j; if (d) { j = d.widthModel; h = d.heightModel } if (!j || !h) { g = ((r = typeof b) == "number"); e = ((c = typeof q) == "number"); l = o.floating || !(p = o.ownerLayout); if (l) { m = Ext.layout.Layout.prototype.autoSizePolicy; n = o.floating ? 3 : o.shrinkWrap; if (g) { j = a.configured } if (e) { h = a.configured } } else { m = p.getItemSizePolicy(o, k); n = p.isItemShrinkWrap(o) } if (d) { d.ownerSizePolicy = m } n = (n === true) ? 3 : (n || 0); if (l && n) { if (b && r == "string") { n &= 2 } if (q && c == "string") { n &= 1 } } if (n !== 3) { if (!k) { k = o.ownerCt && o.ownerCt.getSizeModel() } if (k) { n |= (k.width.shrinkWrap ? 1 : 0) | (k.height.shrinkWrap ? 2 : 0) } } if (!j) { if (!m.setsWidth) { if (g) { j = a.configured } else { j = (n & 1) ? a.shrinkWrap : a.natural } } else { if (m.readsWidth) { if (g) { j = a.calculatedFromConfigured } else { j = (n & 1) ? a.calculatedFromShrinkWrap : a.calculatedFromNatural } } else { j = a.calculated } } } if (!h) { if (!m.setsHeight) { if (e) { h = a.configured } else { h = (n & 2) ? a.shrinkWrap : a.natural } } else { if (m.readsHeight) { if (e) { h = a.calculatedFromConfigured } else { h = (n & 2) ? a.calculatedFromShrinkWrap : a.calculatedFromNatural } } else { h = a.calculated } } } } return j.pairsByHeightOrdinal[h.ordinal] }, isDescendant: function (a) { if (a.isContainer) { for (var b = this.ownerCt; b; b = b.ownerCt) { if (b === a) { return true } } } return false }, doComponentLayout: function () { this.updateLayout(); return this }, forceComponentLayout: function () { this.updateLayout() }, setComponentLayout: function (b) { var a = this.componentLayout; if (a && a.isLayout && a != b) { a.setOwner(null) } this.componentLayout = b; b.setOwner(this) }, getComponentLayout: function () { var a = this; if (!a.componentLayout || !a.componentLayout.isLayout) { a.setComponentLayout(Ext.layout.Layout.create(a.componentLayout, "autocomponent")) } return a.componentLayout }, afterComponentLayout: function (c, a, b, e) { var d = this; if (++d.componentLayoutCounter === 1) { d.afterFirstLayout(c, a) } if (c !== b || a !== e) { d.onResize(c, a, b, e) } }, beforeComponentLayout: function (b, a) { return true }, setPosition: function (a, e, b) { var c = this, d = c.beforeSetPosition.apply(c, arguments); if (d && c.rendered) { a = d.x; e = d.y; if (b) { if (a !== c.getLocalX() || e !== c.getLocalY()) { c.stopAnimation(); c.animate(Ext.apply({ duration: 1000, listeners: { afteranimate: Ext.Function.bind(c.afterSetPosition, c, [a, e]) }, to: { x: a, y: e } }, b)) } } else { c.setLocalXY(a, e); c.afterSetPosition(a, e) } } return c }, beforeSetPosition: function (a, e, b) { var d, c; if (a) { if (Ext.isNumber(c = a[0])) { b = e; e = a[1]; a = c } else { if ((c = a.x) !== undefined) { b = e; e = a.y; a = c } } } if (this.constrain || this.constrainHeader) { d = this.calculateConstrainedPosition(null, [a, e], true); if (d) { a = d[0]; e = d[1] } } d = { x: this.x = a, y: this.y = e, anim: b, hasX: a !== undefined, hasY: e !== undefined }; return (d.hasX || d.hasY) ? d : null }, afterSetPosition: function (a, c) { var b = this; b.onPosition(a, c); if (b.hasListeners.move) { b.fireEvent("move", b, a, c) } }, onPosition: Ext.emptyFn, setWidth: function (a) { return this.setSize(a) }, setHeight: function (a) { return this.setSize(undefined, a) }, getSize: function () { return this.el.getSize() }, getWidth: function () { return this.el.getWidth() }, getHeight: function () { return this.el.getHeight() }, getLoader: function () { var c = this, b = c.autoLoad ? (Ext.isObject(c.autoLoad) ? c.autoLoad : { url: c.autoLoad }) : null, a = c.loader || b; if (a) { if (!a.isLoader) { c.loader = new Ext.ComponentLoader(Ext.apply({ target: c, autoLoad: b }, a)) } else { a.setTarget(c) } return c.loader } return null }, setDocked: function (b, c) { var a = this; a.dock = b; if (c && a.ownerCt && a.rendered) { a.ownerCt.updateLayout() } return a }, setBorder: function (b, d) { var c = this, a = !!d; if (c.rendered || a) { if (!a) { d = c.el } if (!b) { b = 0 } else { if (b === true) { b = "1px" } else { b = this.unitizeBox(b) } } d.setStyle("border-width", b); if (!a) { c.updateLayout() } } c.border = b }, onDestroy: function () { var a = this; if (a.monitorResize && Ext.EventManager.resizeEvent) { Ext.EventManager.resizeEvent.removeListener(a.setSize, a) } Ext.destroy(a.componentLayout, a.loadMask, a.floatingDescendants) }, destroy: function () { var d = this, b = d.renderSelectors, a, c; if (!d.isDestroyed) { if (!d.hasListeners.beforedestroy || d.fireEvent("beforedestroy", d) !== false) { d.destroying = true; d.beforeDestroy(); if (d.floating) { delete d.floatParent; if (d.zIndexManager) { d.zIndexManager.unregister(d) } } else { if (d.ownerCt && d.ownerCt.remove) { d.ownerCt.remove(d, false) } } d.stopAnimation(); d.onDestroy(); Ext.destroy(d.plugins); if (d.hasListeners.destroy) { d.fireEvent("destroy", d) } Ext.ComponentManager.unregister(d); d.mixins.state.destroy.call(d); d.clearListeners(); if (d.rendered) { if (!d.preserveElOnDestroy) { d.el.remove() } d.mixins.elementCt.destroy.call(d); if (b) { for (a in b) { if (b.hasOwnProperty(a)) { c = d[a]; if (c) { delete d[a]; c.remove() } } } } delete d.el; delete d.frameBody; delete d.rendered } d.destroying = false; d.isDestroyed = true } } }, isDescendantOf: function (a) { return !!this.findParentBy(function (b) { return b === a }) }, getHierarchyState: function (a) { var e = this, j = (a && e.hierarchyStateInner) || e.hierarchyState, c = e.ownerCt, b, d, g, h; if (!j || j.invalid) { b = e.getRefOwner(); if (c) { h = e.ownerLayout === c.layout } e.hierarchyState = j = Ext.Object.chain(b ? b.getHierarchyState(h) : Ext.rootHierarchyState); e.initHierarchyState(j); if ((d = e.componentLayout).initHierarchyState) { d.initHierarchyState(j) } if (e.isContainer) { e.hierarchyStateInner = g = Ext.Object.chain(j); d = e.layout; if (d && d.initHierarchyState) { d.initHierarchyState(g, j) } if (a) { j = g } } } return j }, initHierarchyState: function (b) { var a = this; if (a.collapsed) { b.collapsed = true } if (a.hidden) { b.hidden = true } if (a.collapseImmune) { b.collapseImmune = true } }, getAnchorToXY: function (d, a, c, b) { return d.getAnchorXY(a, c, b) }, getBorderPadding: function () { return this.el.getBorderPadding() }, getLocalX: function () { return this.el.getLocalX() }, getLocalXY: function () { return this.el.getLocalXY() }, getLocalY: function () { return this.el.getLocalY() }, getX: function () { return this.el.getX() }, getXY: function () { return this.el.getXY() }, getY: function () { return this.el.getY() }, setLocalX: function (a) { this.el.setLocalX(a) }, setLocalXY: function (a, b) { this.el.setLocalXY(a, b) }, setLocalY: function (a) { this.el.setLocalY(a) }, setX: function (a, b) { this.el.setX(a, b) }, setXY: function (b, a) { this.el.setXY(b, a) }, setY: function (b, a) { this.el.setY(b, a) } }, 1, 0, 0, 0, 0, [["positionable", Ext.util.Positionable], ["observable", Ext.util.Observable], ["animate", Ext.util.Animate], ["elementCt", Ext.util.ElementContainer], ["renderable", Ext.util.Renderable], ["state", Ext.state.Stateful]], [Ext, "AbstractComponent"], function () { var a = this; a.createAlias({ on: "addListener", prev: "previousSibling", next: "nextSibling" }); Ext.resumeLayouts = function (b) { a.resumeLayouts(b) }; Ext.suspendLayouts = function () { a.suspendLayouts() }; Ext.batchLayouts = function (c, b) { a.suspendLayouts(); c.call(b); a.resumeLayouts(true) } })); (Ext.cmd.derive("Ext.AbstractPlugin", Ext.Base, { disabled: false, isPlugin: true, constructor: function (a) { this.pluginConfig = a; Ext.apply(this, a) }, clonePlugin: function (a) { return new this.self(Ext.apply({}, a, this.pluginConfig)) }, setCmp: function (a) { this.cmp = a }, getCmp: function () { return this.cmp }, init: Ext.emptyFn, destroy: Ext.emptyFn, enable: function () { this.disabled = false }, disable: function () { this.disabled = true }, onClassExtended: function (b, d, a) { var c = d.alias; if (c && !d.ptype) { if (Ext.isArray(c)) { c = c[0] } b.prototype.ptype = c.split("plugin.")[1] } } }, 1, 0, 0, 0, 0, 0, [Ext, "AbstractPlugin"], 0)); (Ext.cmd.derive("Ext.Action", Ext.Base, { constructor: function (a) { this.initialConfig = a; this.itemId = a.itemId = (a.itemId || a.id || Ext.id()); this.items = [] }, isAction: true, setText: function (a) { this.initialConfig.text = a; this.callEach("setText", [a]) }, getText: function () { return this.initialConfig.text }, setIconCls: function (a) { this.initialConfig.iconCls = a; this.callEach("setIconCls", [a]) }, getIconCls: function () { return this.initialConfig.iconCls }, setDisabled: function (a) { this.initialConfig.disabled = a; this.callEach("setDisabled", [a]) }, enable: function () { this.setDisabled(false) }, disable: function () { this.setDisabled(true) }, isDisabled: function () { return this.initialConfig.disabled }, setHidden: function (a) { this.initialConfig.hidden = a; this.callEach("setVisible", [!a]) }, show: function () { this.setHidden(false) }, hide: function () { this.setHidden(true) }, isHidden: function () { return this.initialConfig.hidden }, setHandler: function (b, a) { this.initialConfig.handler = b; this.initialConfig.scope = a; this.callEach("setHandler", [b, a]) }, each: function (b, a) { Ext.each(this.items, b, a) }, callEach: function (g, c) { var b = this.items, d = 0, a = b.length, e; Ext.suspendLayouts(); for (; d < a; d++) { e = b[d]; e[g].apply(e, c) } Ext.resumeLayouts(true) }, addComponent: function (a) { this.items.push(a); a.on("destroy", this.removeComponent, this) }, removeComponent: function (a) { Ext.Array.remove(this.items, a) }, execute: function () { this.initialConfig.handler.apply(this.initialConfig.scope || Ext.global, arguments) } }, 1, 0, 0, 0, 0, 0, [Ext, "Action"], 0)); (Ext.cmd.derive("Ext.data.flash.BinaryXhr", Ext.Base, { statics: { flashPluginActivated: function () { Ext.data.flash.BinaryXhr.flashPluginActive = true; Ext.data.flash.BinaryXhr.flashPlugin = document.getElementById("ext-flash-polyfill"); Ext.globalEvents.fireEvent("flashready") }, flashPluginActive: false, flashPluginInjected: false, connectionIndex: 1, liveConnections: {}, flashPlugin: null, onFlashStateChange: function (d, c, b) { var a; a = this.liveConnections[Number(d)]; if (a) { a.onFlashStateChange(c, b) } }, registerConnection: function (b) { var a = this.connectionIndex; this.conectionIndex = this.connectionIndex + 1; this.liveConnections[a] = b; return a }, injectFlashPlugin: function () { var g, b, c, a, e = this, d, h; a = document.createElement("img"); a.setAttribute("src", window.location.protocol + "//www.adobe.com/images/shared/download_buttons/get_flash_player.gif"); a.setAttribute("alt", "Get Adobe Flash player"); c = document.createElement("a"); c.setAttribute("href", "http://www.adobe.com/go/getflashplayer"); c.appendChild(a); b = document.createElement("p"); b.innerHTML = "To view this page ensure that Adobe Flash Player version 11.1.0 or greater is installed."; g = document.createElement("div"); g.setAttribute("id", "ext-flash-polyfill"); g.appendChild(b); g.appendChild(a); Ext.getBody().dom.appendChild(g); d = [Ext.Loader.getPath("Ext.data.Connection"), "../../../plugins/flash/swfobject.js"].join("/"); h = "/plugins/flash/FlashPlugin.swf"; if (Ext.flashPluginPath) { h = Ext.flashPluginPath } Ext.Loader.loadScript({ url: d, onLoad: function () { var k = "11.4.0"; var m = "playerProductInstall.swf"; var j = {}; var n = {}; n.quality = "high"; n.bgcolor = "#ffffff"; n.allowscriptaccess = "sameDomain"; n.allowfullscreen = "true"; var l = {}; l.id = "ext-flash-polyfill"; l.name = "polyfill"; l.align = "middle"; swfobject.embedSWF(h, "ext-flash-polyfill", "0", "0", k, m, j, n, l) }, onError: function () {}, scope: e }); Ext.globalEvents.addEvents("flashready"); Ext.data.flash.BinaryXhr.flashPluginInjected = true } }, readyState: 0, status: 0, statusText: "", responseBytes: null, javascriptId: null, constructor: function (a) { if (!Ext.data.flash.BinaryXhr.flashPluginInjected) { Ext.data.flash.BinaryXhr.injectFlashPlugin() } var b = this; Ext.apply(b, a); b.requestHeaders = {} }, abort: function () { var a = this; if (a.readyState == 4) { return } a.aborted = true; if (!Ext.data.flash.BinaryXhr.flashPluginActive) { Ext.globalEvents.removeListener("flashready", a.onFlashReady, a); return } Ext.data.flash.BinaryXhr.flashPlugin.abortRequest(a.javascriptId); delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId] }, getAllResponseHeaders: function () { var a = []; Ext.Object.each(this.responseHeaders, function (b, c) { a.push(b + ": " + c) }); return a.join("\r\n") }, getResponseHeader: function (b) { var a = this.responseHeaders; return (a && a[b]) || null }, open: function (g, c, d, a, b) { var e = this; e.method = g; e.url = c; e.async = d !== false; e.user = a; e.password = b }, overrideMimeType: function (a) { this.mimeType = a }, send: function (a) { var b = this; b.body = a; if (!Ext.data.flash.BinaryXhr.flashPluginActive) { Ext.globalEvents.addListener("flashready", b.onFlashReady, b) } else { this.onFlashReady() } }, onFlashReady: function () { var c = this, b, a; c.javascriptId = Ext.data.flash.BinaryXhr.registerConnection(c); b = { method: c.method, url: c.url, user: c.user, password: c.password, mimeType: c.mimeType, requestHeaders: c.requestHeaders, body: c.body, javascriptId: c.javascriptId }; a = Ext.data.flash.BinaryXhr.flashPlugin.postBinary(b) }, setReadyState: function (b) { var a = this; if (a.readyState != b) { a.readyState = b; a.onreadystatechange() } }, setRequestHeader: function (b, a) { this.requestHeaders[b] = a }, onreadystatechange: Ext.emptyFn, parseData: function (b) { var a = this; this.status = b.status || 0; a.responseHeaders = {}; if (a.mimeType) { a.responseHeaders["content-type"] = a.mimeType } if (b.reason == "complete") { this.responseBytes = b.data; a.responseHeaders["content-length"] = b.data.length } else { if (b.reason == "error" || b.reason == "securityError") { this.statusText = b.text; a.responseHeaders["content-length"] = 0 } } }, onFlashStateChange: function (c, b) { var a = this; if (c == 4) { a.parseData(b); delete Ext.data.flash.BinaryXhr.liveConnections[a.javascriptId] } a.setReadyState(c) } }, 1, 0, 0, 0, 0, 0, [Ext.data.flash, "BinaryXhr"], 0)); (Ext.cmd.derive("Ext.data.Connection", Ext.Base, { statics: { requestId: 0 }, url: null, async: true, method: null, username: "", password: "", disableCaching: true, withCredentials: false, binary: false, cors: false, isXdr: false, defaultXdrContentType: "text/plain", disableCachingParam: "_dc", timeout: 30000, useDefaultHeader: true, defaultPostHeader: "application/x-www-form-urlencoded; charset=UTF-8", useDefaultXhrHeader: true, defaultXhrHeader: "XMLHttpRequest", constructor: function (a) { a = a || {}; Ext.apply(this, a); this.requests = {}; this.mixins.observable.constructor.call(this) }, request: function (l) { l = l || {}; var g = this, k = l.scope || window, e = l.username || g.username, h = l.password || g.password || "", b, c, d, a, j; if (g.fireEvent("beforerequest", g, l) !== false) { c = g.setOptions(l, k); if (g.isFormUpload(l)) { g.upload(l.form, c.url, c.data, l); return null } if (l.autoAbort || g.autoAbort) { g.abort() } b = l.async !== false ? (l.async || g.async) : false; j = g.openRequest(l, c, b, e, h); if (!g.isXdr) { a = g.setupHeaders(j, l, c.data, c.params) } d = { id: ++Ext.data.Connection.requestId, xhr: j, headers: a, options: l, async: b, binary: l.binary || g.binary, timeout: setTimeout(function () { d.timedout = true; g.abort(d) }, l.timeout || g.timeout) }; g.requests[d.id] = d; g.latestId = d.id; if (b) { if (!g.isXdr) { j.onreadystatechange = Ext.Function.bind(g.onStateChange, g, [d]) } } if (g.isXdr) { g.processXdrRequest(d, j) } j.send(c.data); if (!b) { return g.onComplete(d) } return d } else { Ext.callback(l.callback, l.scope, [l, undefined, undefined]); return null } }, processXdrRequest: function (b, c) { var a = this; delete b.headers; b.contentType = b.options.contentType || a.defaultXdrContentType; c.onload = Ext.Function.bind(a.onStateChange, a, [b, true]); c.onerror = c.ontimeout = Ext.Function.bind(a.onStateChange, a, [b, false]) }, processXdrResponse: function (a, b) { a.getAllResponseHeaders = function () { return [] }; a.getResponseHeader = function () { return "" }; a.contentType = b.contentType || this.defaultXdrContentType }, upload: function (b, g, t, e) { b = Ext.getDom(b); e = e || {}; var o = Ext.id(), m = document.createElement("iframe"), c = [], d = "multipart/form-data", s = { target: b.target, method: b.method, encoding: b.encoding, enctype: b.enctype, action: b.action }, a = function (h, v) { j = document.createElement("input"); Ext.fly(j).set({ type: "hidden", value: v, name: h }); b.appendChild(j); c.push(j) }, j, l, q, u, p, k, n, r; Ext.fly(m).set({ id: o, name: o, cls: Ext.baseCSSPrefix + "hide-display", src: Ext.SSL_SECURE_URL }); document.body.appendChild(m); if (document.frames) { document.frames[o].name = o } Ext.fly(b).set({ target: o, method: "POST", enctype: d, encoding: d, action: g || s.action }); if (t) { l = Ext.Object.fromQueryString(t) || {}; for (u in l) { if (l.hasOwnProperty(u)) { q = l[u]; if (Ext.isArray(q)) { p = q.length; for (k = 0; k < p; k++) { a(u, q[k]) } } else { a(u, q) } } } } Ext.fly(m).on("load", Ext.Function.bind(this.onUploadComplete, this, [m, e]), null, { single: !Ext.isOpera }); b.submit(); Ext.fly(b).set(s); n = c.length; for (r = 0; r < n; r++) { Ext.removeNode(c[r]) } }, onUploadComplete: function (a, l) { var g = this, b = { responseText: "", responseXML: null }, j, k, h, c; try { h = a.contentWindow.document || a.contentDocument || window.frames[a.id].document; if (h) { if (Ext.isOpera && h.location == "about:blank") { return } if (h.body) { if ((c = h.body.firstChild) && /pre/i.test(c.tagName)) { b.responseText = c.textContent } else { if ((c = h.getElementsByTagName("textarea")[0])) { b.responseText = c.value } else { b.responseText = h.body.textContent || h.body.innerText } } } b.responseXML = h.XMLDocument || h; j = l.success; k = true } } catch (d) { b.responseText = '{success:false,message:"' + Ext.String.trim(d.message || d.description) + '"}'; j = l.failure; k = false } g.fireEvent("requestcomplete", g, b, l); Ext.callback(j, l.scope, [b, l]); Ext.callback(l.callback, l.scope, [l, k, b]); setTimeout(function () { Ext.removeNode(a) }, 100) }, isFormUpload: function (a) { var b = this.getForm(a); if (b) { return (a.isUpload || (/multipart\/form-data/i).test(b.getAttribute("enctype"))) } return false }, getForm: function (a) { return Ext.getDom(a.form) || null }, setOptions: function (m, l) { var j = this, e = m.params || {}, h = j.extraParams, d = m.urlParams, c = m.url || j.url, k = m.jsonData, b, a, g; if (Ext.isFunction(e)) { e = e.call(l, m) } if (Ext.isFunction(c)) { c = c.call(l, m) } c = this.setupUrl(m, c); g = m.rawData || m.binaryData || m.xmlData || k || null; if (k && !Ext.isPrimitive(k)) { g = Ext.encode(g) } if (m.binaryData) { if (j.nativeBinaryPostSupport()) { g = (new Uint8Array(m.binaryData)); if ((Ext.isChrome && Ext.chromeVersion < 22) || Ext.isSafari || Ext.isGecko) { g = g.buffer } } } if (Ext.isObject(e)) { e = Ext.Object.toQueryString(e) } if (Ext.isObject(h)) { h = Ext.Object.toQueryString(h) } e = e + ((h) ? ((e) ? "&" : "") + h : ""); d = Ext.isObject(d) ? Ext.Object.toQueryString(d) : d; e = this.setupParams(m, e); b = (m.method || j.method || ((e || g) ? "POST" : "GET")).toUpperCase(); this.setupMethod(m, b); a = m.disableCaching !== false ? (m.disableCaching || j.disableCaching) : false; if (b === "GET" && a) { c = Ext.urlAppend(c, (m.disableCachingParam || j.disableCachingParam) + "=" + (new Date().getTime())) } if ((b == "GET" || g) && e) { c = Ext.urlAppend(c, e); e = null } if (d) { c = Ext.urlAppend(c, d) } return { url: c, method: b, data: g || e || null } }, setupUrl: function (b, a) { var c = this.getForm(b); if (c) { a = a || c.action } return a }, setupParams: function (a, d) { var c = this.getForm(a), b; if (c && !this.isFormUpload(a)) { b = Ext.Element.serializeForm(c); d = d ? (d + "&" + b) : b } return d }, setupMethod: function (a, b) { if (this.isFormUpload(a)) { return "POST" } return b }, setupHeaders: function (n, o, d, c) { var j = this, b = Ext.apply({}, o.headers || {}, j.defaultHeaders || {}), m = j.defaultPostHeader, k = o.jsonData, a = o.xmlData, l, g; if (!b["Content-Type"] && (d || c)) { if (d) { if (o.rawData) { m = "text/plain" } else { if (a && Ext.isDefined(a)) { m = "text/xml" } else { if (k && Ext.isDefined(k)) { m = "application/json" } } } } b["Content-Type"] = m } if (j.useDefaultXhrHeader && !b["X-Requested-With"]) { b["X-Requested-With"] = j.defaultXhrHeader } try { for (l in b) { if (b.hasOwnProperty(l)) { g = b[l]; n.setRequestHeader(l, g) } } } catch (h) { j.fireEvent("exception", l, g) } return b }, newRequest: function (a) { var b = this, c; if (a.binaryData) { if (b.nativeBinaryPostSupport()) { c = this.getXhrInstance() } else { c = new Ext.data.flash.BinaryXhr() } } else { if ((a.cors || b.cors) && Ext.isIE && Ext.ieVersion <= 9) { c = b.getXdrInstance(); b.isXdr = true } else { c = b.getXhrInstance() } } return c }, openRequest: function (c, a, d, h, b) { var e = this, g = e.newRequest(c); if (h) { g.open(a.method, a.url, d, h, b) } else { if (e.isXdr) { g.open(a.method, a.url) } else { g.open(a.method, a.url, d) } } if (c.binary || e.binary) { if (window.Uint8Array) { g.responseType = "arraybuffer" } else { if (g.overrideMimeType) { g.overrideMimeType("text/plain; charset=x-user-defined") } } } if (c.withCredentials || e.withCredentials) { g.withCredentials = true } return g }, getXdrInstance: function () { var a; if (Ext.ieVersion >= 8) { a = new XDomainRequest() } else { Ext.Error.raise({ msg: "Your browser does not support CORS" }) } return a }, getXhrInstance: (function () { var b = [function () { return new XMLHttpRequest() }, function () { return new ActiveXObject("MSXML2.XMLHTTP.3.0") }, function () { return new ActiveXObject("MSXML2.XMLHTTP") }, function () { return new ActiveXObject("Microsoft.XMLHTTP") } ], c = 0, a = b.length, g; for (; c < a; ++c) { try { g = b[c]; g(); break } catch (d) {} } return g } ()), isLoading: function (a) { if (!a) { a = this.getLatest() } if (!(a && a.xhr)) { return false } var b = a.xhr.readyState; return ((a.xhr instanceof Ext.data.flash.BinaryXhr) && b != 4) || !(b === 0 || b == 4) }, abort: function (b) { var a = this, d; if (!b) { b = a.getLatest() } if (b && a.isLoading(b)) { d = b.xhr; try { d.onreadystatechange = null } catch (c) { d.onreadystatechange = Ext.emptyFn } d.abort(); a.clearTimeout(b); if (!b.timedout) { b.aborted = true } a.onComplete(b); a.cleanup(b) } }, abortAll: function () { var b = this.requests, a; for (a in b) { if (b.hasOwnProperty(a)) { this.abort(b[a]) } } }, getLatest: function () { var b = this.latestId, a; if (b) { a = this.requests[b] } return a || null }, onStateChange: function (c, a) { var b = this; if ((c.xhr && c.xhr.readyState == 4) || b.isXdr) { b.clearTimeout(c); b.onComplete(c, a); b.cleanup(c); Ext.EventManager.idleEvent.fire() } }, clearTimeout: function (a) { clearTimeout(a.timeout); delete a.timeout }, cleanup: function (a) { a.xhr = null; delete a.xhr }, onComplete: function (h, d) { var g = this, c = h.options, a, k, b; try { a = g.parseStatus(h.xhr.status) } catch (j) { a = { success: false, isException: false } } k = g.isXdr ? d : a.success; if (k) { b = g.createResponse(h); g.fireEvent("requestcomplete", g, b, c); Ext.callback(c.success, c.scope, [b, c]) } else { if (a.isException || h.aborted || h.timedout) { b = g.createException(h) } else { b = g.createResponse(h) } g.fireEvent("requestexception", g, b, c); Ext.callback(c.failure, c.scope, [b, c]) } Ext.callback(c.callback, c.scope, [c, k, b]); delete g.requests[h.id]; return b }, parseStatus: function (a) { a = a == 1223 ? 204 : a; var c = (a >= 200 && a < 300) || a == 304, b = false; if (!c) { switch (a) { case 12002: case 12029: case 12030: case 12031: case 12152: case 13030: b = true; break } } return { success: c, isException: b } }, createResponse: function (e) { var j = this, l = e.xhr, c = j.isXdr, b = {}, m = c ? [] : l.getAllResponseHeaders().replace(/\r\n/g, "\n").split("\n"), h = m.length, n, g, k, d, a; while (h--) { n = m[h]; g = n.indexOf(":"); if (g >= 0) { k = n.substr(0, g).toLowerCase(); if (n.charAt(g + 1) == " ") { ++g } b[k] = n.substr(g + 1) } } e.xhr = null; delete e.xhr; d = { request: e, requestId: e.id, status: l.status, statusText: l.statusText, getResponseHeader: function (o) { return b[o.toLowerCase()] }, getAllResponseHeaders: function () { return b } }; if (c) { j.processXdrResponse(d, l) } if (e.binary) { d.responseBytes = j.getByteArray(l) } else { d.responseText = l.responseText; d.responseXML = l.responseXML } l = null; return d }, createException: function (a) { return { request: a, requestId: a.id, status: a.aborted ? -1 : 0, statusText: a.aborted ? "transaction aborted" : "communication failure", aborted: a.aborted, timedout: a.timedout } }, getByteArray: function (k) { var c = k.response, j = k.responseBody, b, g, a, d; if (k instanceof Ext.data.flash.BinaryXhr) { b = k.responseBytes } else { if (window.Uint8Array) { b = c ? new Uint8Array(c) : [] } else { if (Ext.isIE9p) { try { b = new VBArray(j).toArray() } catch (h) { b = [] } } else { if (Ext.isIE) { if (!this.self.vbScriptInjected) { this.injectVBScript() } getIEByteArray(k.responseBody, b = []) } else { b = []; g = k.responseText; a = g.length; for (d = 0; d < a; d++) { b.push(g.charCodeAt(d) & 255) } } } } } return b }, injectVBScript: function () { var a = document.createElement("script"); a.type = "text/vbscript"; a.text = ["Function getIEByteArray(byteArray, out)", "Dim len, i", "len = LenB(byteArray)", "For i = 1 to len", "out.push(AscB(MidB(byteArray, i, 1)))", "Next", "End Function"].join("\n"); Ext.getHead().dom.appendChild(a); this.self.vbScriptInjected = true }, nativeBinaryPostSupport: function () { return Ext.isChrome || (Ext.isSafari && Ext.isDefined(window.Uint8Array)) || (Ext.isGecko && Ext.isDefined(window.Uint8Array)) } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.data, "Connection"], 0)); (Ext.cmd.derive("Ext.Ajax", Ext.data.Connection, { singleton: true, autoAbort: false }, 0, 0, 0, 0, 0, 0, [Ext, "Ajax"], 0)); (Ext.cmd.derive("Ext.util.Floating", Ext.Base, { focusOnToFront: true, shadow: "sides", constrain: false, constructor: function (b) { var a = this; a.fixed = a.fixed && !(Ext.isIE6 || Ext.isIEQuirks); a.el = new Ext.dom.Layer(Ext.apply({ preventSync: true, hideMode: a.hideMode, hidden: a.hidden, shadow: (typeof a.shadow != "undefined") ? a.shadow : "sides", shadowOffset: a.shadowOffset, constrain: false, fixed: a.fixed, shim: (a.shim === false) ? false : undefined }, a.floating), b); if (a.modal && !(Ext.FocusManager && Ext.FocusManager.enabled)) { a.mon(a.el, { keydown: a.onKeyDown, scope: a }) } a.mon(a.el, { mousedown: a.onMouseDown, scope: a }); a.floating = true; a.registerWithOwnerCt(); a.initHierarchyEvents() }, initHierarchyEvents: function () { var b = this, a = this.syncHidden; if (!b.hasHierarchyEventListeners) { b.mon(b.hierarchyEventSource, { hide: a, collapse: a, show: a, expand: a, added: a, scope: b }); b.hasHierarchyEventListeners = true } }, registerWithOwnerCt: function () { var c = this, b = c.ownerCt, a = c.zIndexParent; if (a) { a.unregisterFloatingItem(c) } a = c.zIndexParent = c.up("[floating]"); c.setFloatParent(b || a); delete c.ownerCt; if (a) { a.registerFloatingItem(c) } else { Ext.WindowManager.register(c) } }, onKeyDown: function (d) { var c = this, a, h, g, b; if (d.getKey() == Ext.EventObject.TAB) { a = d.shiftKey; h = c.el.query(":focusable"); g = h[0]; b = h[h.length - 1]; if (g && b && d.target === (a ? g : b)) { d.stopEvent(); (a ? b : g).focus(false, true) } } }, onMouseDown: function (b) { var a = this.focusTask; if (this.floating && (!a || !a.id)) { this.toFront(!!b.getTarget(":focusable")) } }, setFloatParent: function (b) { var a = this; a.floatParent = b; if ((a.constrain || a.constrainHeader) && !a.constrainTo) { a.constrainTo = b ? b.getTargetEl() : a.container } }, syncShadow: function () { if (this.floating) { this.el.sync(true) } }, onBeforeFloatLayout: function () { this.el.preventSync = true }, onAfterFloatLayout: function () { delete this.el.preventSync; this.syncShadow() }, syncHidden: function () { var c = this, d = c.hidden || !c.rendered, a = c.hierarchicallyHidden = c.isHierarchicallyHidden(), b = c.pendingShow; if (d !== a) { if (a) { c.hide(); c.pendingShow = true } else { if (b) { delete c.pendingShow; if (b.length) { c.show.apply(c, b) } else { c.show() } } } } }, setZIndex: function (a) { var b = this; b.el.setZIndex(a); a += 10; if (b.floatingDescendants) { a = Math.floor(b.floatingDescendants.setBase(a) / 100) * 100 + 10000 } return a }, doConstrain: function (a) { var b = this, c = b.calculateConstrainedPosition(a, null, true); if (c) { b.setPosition(c) } }, toFront: function (c) { var b = this, a = b.zIndexParent, d = b.preventFocusOnActivate; if (a && b.bringParentToFront !== false) { a.toFront(true) } if (!Ext.isDefined(c)) { c = !b.focusOnToFront } if (c) { b.preventFocusOnActivate = true } if (b.zIndexManager.bringToFront(b, c)) { if (!c) { b.focus(false, true) } } b.preventFocusOnActivate = d; return b }, setActive: function (b, c) { var a = this; if (b) { if (a.el.shadow && !a.maximized) { a.el.enableShadow(true) } if (!a.preventFocusOnActivate) { a.focus(false, true) } a.fireEvent("activate", a) } else { if (a.isWindow && (c && c.isWindow) && a.hideShadowOnDeactivate) { a.el.disableShadow() } a.fireEvent("deactivate", a) } }, toBack: function () { this.zIndexManager.sendToBack(this); return this }, center: function () { var a = this, b; if (a.isVisible()) { b = a.getAlignToXY(a.container, "c-c"); a.setPagePosition(b) } else { a.needsCenter = true } return a }, onFloatShow: function () { if (this.needsCenter) { this.center() } delete this.needsCenter }, fitContainer: function (c) { var g = this, e = g.floatParent, b = e ? e.getTargetEl() : g.container, a = b.getViewSize(false), d = e || (b.dom !== document.body) ? [0, 0] : b.getXY(); a.x = d[0]; a.y = d[1]; g.setBox(a, c) } }, 1, 0, 0, 0, 0, 0, [Ext.util, "Floating"], 0)); (Ext.cmd.derive("Ext.Component", Ext.AbstractComponent, { statics: { DIRECTION_TOP: "top", DIRECTION_RIGHT: "right", DIRECTION_BOTTOM: "bottom", DIRECTION_LEFT: "left", VERTICAL_DIRECTION_Re: /^(?:top|bottom)$/, INVALID_ID_CHARS_Re: /[\.,\s]/g }, resizeHandles: "all", floating: false, defaultAlign: "tl-bl?", toFrontOnShow: true, hideMode: "display", offsetsCls: Ext.baseCSSPrefix + "hide-offsets", bubbleEvents: [], defaultComponentLayoutType: "autocomponent", constructor: function (a) { var b = this; a = a || {}; if (a.initialConfig) { if (a.isAction) { b.baseAction = a } a = a.initialConfig } else { if (a.tagName || a.dom || Ext.isString(a)) { a = { applyTo: a, id: a.id || a } } } b.callParent([a]); if (b.baseAction) { b.baseAction.addComponent(b) } }, initComponent: function () { var a = this; a.callParent(); if (a.listeners) { a.on(a.listeners); a.listeners = null } a.enableBubble(a.bubbleEvents) }, afterRender: function () { var a = this; a.callParent(); if (!(a.x && a.y) && (a.pageX || a.pageY)) { a.setPagePosition(a.pageX, a.pageY) } }, setAutoScroll: function (a) { var b = this; b.autoScroll = !!a; if (b.rendered) { b.getOverflowEl().setStyle(b.getOverflowStyle()) } b.updateLayout(); return b }, setOverflowXY: function (b, a) { var c = this, d = arguments.length; if (d) { c.overflowX = b || ""; if (d > 1) { c.overflowY = a || "" } } if (c.rendered) { c.getOverflowEl().setStyle(c.getOverflowStyle()) } c.updateLayout(); return c }, beforeRender: function () { var b = this, c = b.floating, a; if (c) { b.addCls(Ext.baseCSSPrefix + "layer"); a = c.cls; if (a) { b.addCls(a) } } return b.callParent() }, beforeLayout: function () { this.callParent(arguments); if (this.floating) { this.onBeforeFloatLayout() } }, afterComponentLayout: function () { this.callParent(arguments); if (this.floating) { this.onAfterFloatLayout() } }, makeFloating: function (a) { this.mixins.floating.constructor.call(this, a) }, wrapPrimaryEl: function (a) { if (this.floating) { this.makeFloating(a) } else { this.callParent(arguments) } }, initResizable: function (a) { var b = this; a = Ext.apply({ target: b, dynamic: false, constrainTo: b.constrainTo || (b.floatParent ? b.floatParent.getTargetEl() : null), handles: b.resizeHandles }, a); a.target = b; b.resizer = new Ext.resizer.Resizer(a) }, getDragEl: function () { return this.el }, initDraggable: function () { var c = this, a = (c.resizer && c.resizer.el !== c.el) ? c.resizerComponent = new Ext.Component({ el: c.resizer.el, rendered: true, container: c.container }) : c, b = Ext.applyIf({ el: a.getDragEl(), constrainTo: (c.constrain || c.draggable.constrain) ? (c.constrainTo || (c.floatParent ? c.floatParent.getTargetEl() : c.container)) : undefined }, c.draggable); if (c.constrain || c.constrainDelegate) { b.constrain = c.constrain; b.constrainDelegate = c.constrainDelegate } c.dd = new Ext.util.ComponentDragger(a, b) }, scrollBy: function (b, a, c) { var d; if ((d = this.getTargetEl()) && d.dom) { d.scrollBy.apply(d, arguments) } }, setLoading: function (c, d) { var b = this, a = { target: b }; if (b.rendered) { Ext.destroy(b.loadMask); b.loadMask = null; if (c !== false && !b.collapsed) { if (Ext.isObject(c)) { Ext.apply(a, c) } else { if (Ext.isString(c)) { a.msg = c } } if (d) { Ext.applyIf(a, { useTargetEl: true }) } b.loadMask = new Ext.LoadMask(a); b.loadMask.show() } } return b.loadMask }, beforeSetPosition: function () { var b = this, c = b.callParent(arguments), a; if (c) { a = b.adjustPosition(c.x, c.y); c.x = a.x; c.y = a.y } return c || null }, afterSetPosition: function (b, a) { this.onPosition(b, a); this.fireEvent("move", this, b, a) }, showAt: function (a, d, b) { var c = this; if (!c.rendered && (c.autoRender || c.floating)) { c.x = a; c.y = d; return c.show() } if (c.floating) { c.setPosition(a, d, b) } else { c.setPagePosition(a, d, b) } c.show() }, showBy: function (b, d, c) { var a = this; if (a.floating && b) { a.show(); if (a.rendered && !a.hidden) { a.alignTo(b, d || a.defaultAlign, c) } } return a }, setPagePosition: function (a, g, b) { var c = this, d, e; if (Ext.isArray(a)) { g = a[1]; a = a[0] } c.pageX = a; c.pageY = g; if (c.floating) { if (c.isContainedFloater()) { e = c.floatParent.getTargetEl().getViewRegion(); if (Ext.isNumber(a) && Ext.isNumber(e.left)) { a -= e.left } if (Ext.isNumber(g) && Ext.isNumber(e.top)) { g -= e.top } } else { d = c.el.translateXY(a, g); a = d.x; g = d.y } c.setPosition(a, g, b) } else { d = c.el.translateXY(a, g); c.setPosition(d.x, d.y, b) } return c }, isContainedFloater: function () { return (this.floating && this.floatParent) }, updateBox: function (a) { this.setSize(a.width, a.height); this.setPagePosition(a.x, a.y); return this }, getOuterSize: function () { var a = this.el; return { width: a.getWidth() + a.getMargin("lr"), height: a.getHeight() + a.getMargin("tb") } }, adjustPosition: function (a, d) { var b = this, c; if (b.isContainedFloater()) { c = b.floatParent.getTargetEl().getViewRegion(); a += c.left; d += c.top } return { x: a, y: d } }, getPosition: function (a) { var b = this, d, c = b.isContainedFloater(), e; if ((a === true) && !c) { return [b.getLocalX(), b.getLocalY()] } d = b.getXY(); if ((a === true) && c) { e = b.floatParent.getTargetEl().getViewRegion(); d[0] -= e.left; d[1] -= e.top } return d }, getId: function () { var a = this, b; if (!a.id) { b = a.getXType(); if (b) { b = b.replace(Ext.Component.INVALID_ID_CHARS_Re, "-") } else { b = Ext.name.toLowerCase() + "-comp" } a.id = b + "-" + a.getAutoId() } return a.id }, show: function (d, a, b) { var c = this, e = c.rendered; if (c.hierarchicallyHidden || (c.floating && !e && c.isHierarchicallyHidden())) { if (!e) { c.initHierarchyEvents() } if (arguments.length > 1) { arguments[0] = null; c.pendingShow = arguments } else { c.pendingShow = true } } else { if (e && c.isVisible()) { if (c.toFrontOnShow && c.floating) { c.toFront() } } else { if (c.fireEvent("beforeshow", c) !== false) { c.hidden = false; delete this.getHierarchyState().hidden; Ext.suspendLayouts(); if (!e && (c.autoRender || c.floating)) { c.doAutoRender(); e = c.rendered } if (e) { c.beforeShow(); Ext.resumeLayouts(); c.onShow.apply(c, arguments); c.afterShow.apply(c, arguments) } else { Ext.resumeLayouts(true) } } else { c.onShowVeto() } } } return c }, onShowVeto: Ext.emptyFn, beforeShow: Ext.emptyFn, onShow: function () { var a = this; a.el.show(); a.callParent(arguments); if (a.floating) { if (a.maximized) { a.fitContainer() } else { if (a.constrain) { a.doConstrain() } } } }, getAnimateTarget: function (a) { a = a || this.animateTarget; if (a) { a = a.isComponent ? a.getEl() : Ext.get(a) } return a || null }, afterShow: function (h, b, e) { var g = this, j = g.el, a, c, d; h = g.getAnimateTarget(h); if (!g.ghost) { h = null } if (h) { c = { x: j.getX(), y: j.getY(), width: j.dom.offsetWidth, height: j.dom.offsetHeight }; a = { x: h.getX(), y: h.getY(), width: h.dom.offsetWidth, height: h.dom.offsetHeight }; j.addCls(g.offsetsCls); d = g.ghost(); d.el.stopAnimation(); d.setX(-10000); g.ghostBox = c; d.el.animate({ from: a, to: c, listeners: { afteranimate: function () { delete d.componentLayout.lastComponentSize; g.unghost(); delete g.ghostBox; j.removeCls(g.offsetsCls); g.onShowComplete(b, e) } } }) } else { g.onShowComplete(b, e) } g.fireHierarchyEvent("show") }, onShowComplete: function (a, b) { var c = this; if (c.floating) { c.toFront(); c.onFloatShow() } Ext.callback(a, b || c); c.fireEvent("show", c); delete c.hiddenByLayout }, hide: function (e, b, c) { var d = this, a; if (d.pendingShow) { delete d.pendingShow } if (!(d.rendered && !d.isVisible())) { a = (d.fireEvent("beforehide", d) !== false); if (d.hierarchicallyHidden || a) { d.hidden = true; d.getHierarchyState().hidden = true; if (d.rendered) { d.onHide.apply(d, arguments) } } } return d }, onHide: function (h, a, e) { var g = this, c, d, b; h = g.getAnimateTarget(h); if (!g.ghost) { h = null } if (h) { b = { x: h.getX(), y: h.getY(), width: h.dom.offsetWidth, height: h.dom.offsetHeight }; c = g.ghost(); c.el.stopAnimation(); d = g.getSize(); c.el.animate({ to: b, listeners: { afteranimate: function () { delete c.componentLayout.lastComponentSize; c.el.hide(); c.el.setSize(d); g.afterHide(a, e) } } }) } g.el.hide(); if (!h) { g.afterHide(a, e) } }, afterHide: function (a, b) { var c = this, d = Ext.Element.getActiveElement(); c.hiddenByLayout = null; Ext.AbstractComponent.prototype.onHide.call(c); if (d === c.el || c.el.contains(d)) { Ext.fly(d).blur() } Ext.callback(a, b || c); c.fireEvent("hide", c); c.fireHierarchyEvent("hide") }, onDestroy: function () { var a = this; if (a.rendered) { Ext.destroy(a.dd, a.resizer, a.proxy, a.proxyWrap, a.resizerComponent) } delete a.focusTask; a.callParent() }, deleteMembers: function () { var b = arguments, a = b.length, c = 0; for (; c < a; ++c) { delete this[b[c]] } }, focus: function (g, c, j, d) { var e = this, a, h, b; if (c) { if (!e.focusTask) { Ext.Component.prototype.focusTask = new Ext.util.DelayedTask(e.focus) } e.focusTask.delay(Ext.isNumber(c) ? c : 10, null, e, [g, false, j, d]); return e } if (e.focusTask) { e.focusTask.cancel() } if (e.rendered && !e.isDestroyed && e.isVisible(true) && (a = e.getFocusEl())) { if (a.isComponent) { return a.focus(g, c) } if ((h = a.dom)) { if (a.needsTabIndex()) { h.tabIndex = -1 } if (e.floating) { b = e.container.dom.scrollTop } a.focus(); if (g === true) { h.select() } Ext.callback(j, d) } if (e.floating) { e.toFront(true); if (b !== undefined) { e.container.dom.scrollTop = b } } } return e }, cancelFocus: function () { var a = this.focusTask; if (a) { a.cancel() } }, blur: function () { var a; if (this.rendered && (a = this.getFocusEl())) { a.blur() } return this }, getEl: function () { return this.el }, getResizeEl: function () { return this.el }, getPositionEl: function () { return this.el }, getActionEl: function () { return this.el }, getVisibilityEl: function () { return this.el }, getRefOwner: function () { return this.ownerCt || this.floatParent }, getBubbleTarget: function () { return this.getRefOwner() }, getContentTarget: function () { return this.el }, cloneConfig: function (c) { c = c || {}; var d = c.id || Ext.id(), a = Ext.applyIf(c, this.initialConfig), b; a.id = d; b = Ext.getClass(this); return new b(a) }, getXType: function () { return this.self.xtype }, findParentBy: function (a) { var b; for (b = this.getBubbleTarget(); b && !a(b, this); b = b.getBubbleTarget()) {} return b || null }, findParentByType: function (a) { return Ext.isFunction(a) ? this.findParentBy(function (b) { return b.constructor === a }) : this.up(a) }, bubble: function (c, b, a) { var d = this; while (d) { if (c.apply(b || d, a || [d]) === false) { break } d = d.getBubbleTarget() } return this }, getProxy: function () { var a = this, b; if (!a.proxy) { b = Ext.getBody(); a.proxy = a.el.createProxy(Ext.baseCSSPrefix + "proxy-el", b, true) } return a.proxy }, fireHierarchyEvent: function (a) { this.hierarchyEventSource.fireEvent(a, this) }, onAdded: function () { this.callParent(arguments); if (this.hierarchyEventSource.hasListeners.added) { this.fireHierarchyEvent("added") } } }, 1, ["component", "box"], ["component", "box"], { component: true, box: true }, ["widget.box", "widget.component"], [["floating", Ext.util.Floating]], [Ext, "Component"], function () { this.hierarchyEventSource = this.prototype.hierarchyEventSource = new Ext.util.Observable({ events: { hide: true, show: true, collapse: true, expand: true, added: true } }) })); Ext.define("Ext.layout.container.border.Region", { override: "Ext.Component", initBorderRegion: function () { var a = this; if (!a._borderRegionInited) { a._borderRegionInited = true; a.addStateEvents(["changeregion", "changeweight"]); Ext.override(a, { getState: function () { var b = a.callParent(); b = a.addPropertyToState(b, "region"); b = a.addPropertyToState(b, "weight"); return b } }) } }, getOwningBorderContainer: function () { var a = this.getOwningBorderLayout(); return a && a.owner }, getOwningBorderLayout: function () { var a = this.ownerLayout; return (a && a.isBorderLayout) ? a : null }, setBorderRegion: function (l) { var k = this, c, d = k.region; if (l !== d) { c = k.getOwningBorderLayout(); if (c) { var g = c.regionFlags[l], m = k.placeholder, a = k.splitter, b = c.owner, o = c.regionMeta, e = k.collapsed || k.floated, n, j, h; if (k.fireEventArgs("beforechangeregion", [k, l]) === false) { return d } Ext.suspendLayouts(); k.region = l; Ext.apply(k, g); if (k.updateCollapseTool) { k.updateCollapseTool() } if (a) { Ext.apply(a, g); a.updateOrientation(); j = b.items; h = j.indexOf(k); if (h >= 0) { n = o[l].splitterDelta; if (j.getAt(h + n) !== a) { j.remove(a); h = j.indexOf(k); if (n > 0) { ++h } j.insert(h, a) } } } if (m) { if (e) { k.expand(false) } b.remove(m); k.placeholder = null; if (e) { k.collapse(null, false) } } b.updateLayout(); Ext.resumeLayouts(true); k.fireEventArgs("changeregion", [k, d]) } else { k.region = l } } return d }, setRegionWeight: function (d) { var c = this, b = c.getOwningBorderContainer(), e = c.placeholder, a = c.weight; if (d !== a) { if (c.fireEventArgs("beforechangeweight", [c, d]) !== false) { c.weight = d; if (e) { e.weight = d } if (b) { b.updateLayout() } c.fireEventArgs("changeweight", [c, a]) } } return a } }); (Ext.cmd.derive("Ext.ElementLoader", Ext.Base, { statics: { Renderer: { Html: function (a, b, c) { a.getTarget().update(b.responseText, c.scripts === true); return true } } }, url: null, params: null, baseParams: null, autoLoad: false, target: null, loadMask: false, ajaxOptions: null, scripts: false, isLoader: true, constructor: function (b) { var c = this, a; b = b || {}; Ext.apply(c, b); c.setTarget(c.target); c.addEvents("beforeload", "exception", "load"); c.mixins.observable.constructor.call(c); if (c.autoLoad) { a = c.autoLoad; if (a === true) { a = {} } c.load(a) } }, setTarget: function (b) { var a = this; b = Ext.get(b); if (a.target && a.target != b) { a.abort() } a.target = b }, getTarget: function () { return this.target || null }, abort: function () { var a = this.active; if (a !== undefined) { Ext.Ajax.abort(a.request); if (a.mask) { this.removeMask() } delete this.active } }, removeMask: function () { this.target.unmask() }, addMask: function (a) { this.target.mask(a === true ? null : a) }, load: function (c) { c = Ext.apply({}, c); var e = this, a = Ext.isDefined(c.loadMask) ? c.loadMask : e.loadMask, g = Ext.apply({}, c.params), b = Ext.apply({}, c.ajaxOptions), h = c.callback || e.callback, d = c.scope || e.scope || e; Ext.applyIf(b, e.ajaxOptions); Ext.applyIf(c, b); Ext.applyIf(g, e.params); Ext.apply(g, e.baseParams); Ext.applyIf(c, { url: e.url }); Ext.apply(c, { scope: e, params: g, callback: e.onComplete }); if (e.fireEvent("beforeload", e, c) === false) { return } if (a) { e.addMask(a) } e.active = { options: c, mask: a, scope: d, callback: h, success: c.success || e.success, failure: c.failure || e.failure, renderer: c.renderer || e.renderer, scripts: Ext.isDefined(c.scripts) ? c.scripts : e.scripts }; e.active.request = Ext.Ajax.request(c); e.setOptions(e.active, c) }, setOptions: Ext.emptyFn, onComplete: function (b, g, a) { var d = this, e = d.active, c; if (e) { c = e.scope; if (g) { g = d.getRenderer(e.renderer).call(d, d, a, e) !== false } if (g) { Ext.callback(e.success, c, [d, a, b]); d.fireEvent("load", d, a, b) } else { Ext.callback(e.failure, c, [d, a, b]); d.fireEvent("exception", d, a, b) } Ext.callback(e.callback, c, [d, g, a, b]); if (e.mask) { d.removeMask() } } delete d.active }, getRenderer: function (a) { if (Ext.isFunction(a)) { return a } return this.statics().Renderer.Html }, startAutoRefresh: function (a, b) { var c = this; c.stopAutoRefresh(); c.autoRefresh = setInterval(function () { c.load(b) }, a) }, stopAutoRefresh: function () { clearInterval(this.autoRefresh); delete this.autoRefresh }, isAutoRefreshing: function () { return Ext.isDefined(this.autoRefresh) }, destroy: function () { var a = this; a.stopAutoRefresh(); delete a.target; a.abort(); a.clearListeners() } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext, "ElementLoader"], 0)); (Ext.cmd.derive("Ext.ComponentLoader", Ext.ElementLoader, { statics: { Renderer: { Data: function (a, b, d) { var g = true; try { a.getTarget().update(Ext.decode(b.responseText)) } catch (c) { g = false } return g }, Component: function (a, c, h) { var j = true, g = a.getTarget(), b = []; try { b = Ext.decode(c.responseText) } catch (d) { j = false } if (j) { g.suspendLayouts(); if (h.removeAll) { g.removeAll() } g.add(b); g.resumeLayouts(true) } return j } } }, target: null, loadMask: false, renderer: "html", setTarget: function (b) { var a = this; if (Ext.isString(b)) { b = Ext.getCmp(b) } if (a.target && a.target != b) { a.abort() } a.target = b }, removeMask: function () { this.target.setLoading(false) }, addMask: function (a) { this.target.setLoading(a) }, setOptions: function (b, a) { b.removeAll = Ext.isDefined(a.removeAll) ? a.removeAll : this.removeAll }, getRenderer: function (b) { if (Ext.isFunction(b)) { return b } var a = this.statics().Renderer; switch (b) { case "component": return a.Component; case "data": return a.Data; default: return Ext.ElementLoader.Renderer.Html } } }, 0, 0, 0, 0, 0, 0, [Ext, "ComponentLoader"], 0)); (Ext.cmd.derive("Ext.layout.SizeModel", Ext.Base, { constructor: function (c) { var e = this, d = e.self, a = d.sizeModelsArray, b; Ext.apply(e, c); e[b = e.name] = true; e.fixed = !(e.auto = e.natural || e.shrinkWrap); a[e.ordinal = a.length] = d[b] = d.sizeModels[b] = e }, statics: { sizeModelsArray: [], sizeModels: {} }, calculated: false, configured: false, constrainedMax: false, constrainedMin: false, natural: false, shrinkWrap: false, calculatedFromConfigured: false, calculatedFromNatural: false, calculatedFromShrinkWrap: false, names: null }, 1, 0, 0, 0, 0, 0, [Ext.layout, "SizeModel"], function () { var e = this, a = e.sizeModelsArray, c, b, h, g, d; new e({ name: "calculated" }); new e({ name: "configured", names: { width: "width", height: "height" } }); new e({ name: "natural" }); new e({ name: "shrinkWrap" }); new e({ name: "calculatedFromConfigured", configured: true, names: { width: "width", height: "height" } }); new e({ name: "calculatedFromNatural", natural: true }); new e({ name: "calculatedFromShrinkWrap", shrinkWrap: true }); new e({ name: "constrainedMax", configured: true, constrained: true, names: { width: "maxWidth", height: "maxHeight" } }); new e({ name: "constrainedMin", configured: true, constrained: true, names: { width: "minWidth", height: "minHeight" } }); new e({ name: "constrainedDock", configured: true, constrained: true, constrainedByMin: true, names: { width: "dockConstrainedWidth", height: "dockConstrainedHeight" } }); for (c = 0, h = a.length; c < h; ++c) { d = a[c]; d.pairsByHeightOrdinal = g = []; for (b = 0; b < h; ++b) { g.push({ width: d, height: a[b] }) } } })); (Ext.cmd.derive("Ext.layout.Layout", Ext.Base, { isLayout: true, initialized: false, running: false, autoSizePolicy: { readsWidth: 1, readsHeight: 1, setsWidth: 0, setsHeight: 0 }, statics: { layoutsByType: {}, create: function (g, e) { var l = Ext.ClassManager, c = this.layoutsByType, d, h, b, a, j, k; if (!g || typeof g === "string") { j = g || e; b = {} } else { if (g.isLayout) { return g } else { b = g; j = g.type || e } } if (!(a = c[j])) { d = "layout." + j; h = l.getNameByAlias(d); if (!h) { k = true } a = l.get(h); if (k || !a) { return l.instantiateByAlias(d, b || {}) } c[j] = a } return new a(b) } }, constructor: function (a) { var b = this; b.id = Ext.id(null, b.type + "-"); Ext.apply(b, a); b.layoutCount = 0 }, beginLayout: Ext.emptyFn, beginLayoutCycle: function (c) { var b = this, a = b.context, d; if (b.lastWidthModel != c.widthModel) { if (b.lastWidthModel) { d = true } b.lastWidthModel = c.widthModel } if (b.lastHeightModel != c.heightModel) { if (b.lastWidthModel) { d = true } b.lastHeightModel = c.heightModel } if (d) { (a = c.context).clearTriggers(b, false); a.clearTriggers(b, true); b.triggerCount = 0 } }, finishedLayout: function (a) { this.lastWidthModel = a.widthModel; this.lastHeightModel = a.heightModel; this.ownerContext = null }, redoLayout: Ext.emptyFn, undoLayout: Ext.emptyFn, getAnimatePolicy: function () { return this.animatePolicy }, getItemSizePolicy: function (a) { return this.autoSizePolicy }, isItemBoxParent: function (a) { return false }, isItemLayoutRoot: function (d) { var c = d.getSizeModel(), b = c.width, a = c.height; if (!d.componentLayout.lastComponentSize && (b.calculated || a.calculated)) { return false } return !b.shrinkWrap && !a.shrinkWrap }, isItemShrinkWrap: function (a) { return a.shrinkWrap }, isRunning: function () { return !!this.ownerContext }, getItemsRenderTree: function (d, b) { var h = d.length, e, g, c, a; if (h) { a = []; for (e = 0; e < h; ++e) { g = d[e]; if (!g.rendered) { if (b && (b[g.id] !== undefined)) { c = b[g.id] } else { this.configureItem(g); c = g.getRenderTree(); if (b) { b[g.id] = c } } if (c) { a.push(c) } } } } return a }, finishRender: Ext.emptyFn, finishRenderItems: function (e, a) { var d = a.length, b, c; for (b = 0; b < d; b++) { c = a[b]; if (c.rendering) { c.finishRender(b); this.afterRenderItem(c) } } }, renderChildren: function () { var b = this, a = b.getLayoutItems(), c = b.getRenderTarget(); b.renderItems(a, c) }, renderItems: function (a, g) { var e = this, d = a.length, b = 0, c; if (d) { Ext.suspendLayouts(); for (; b < d; b++) { c = a[b]; if (c && !c.rendered) { e.renderItem(c, g, b) } else { if (!e.isValidParent(c, g, b)) { e.moveItem(c, g, b) } else { e.configureItem(c) } } } Ext.resumeLayouts(true) } }, isValidParent: function (g, h, b) { var c = g.el ? g.el.dom : Ext.getDom(g), e = (h && h.dom) || h, a = c.parentNode, d; if (a) { d = a.className; if (d && d.indexOf(Ext.baseCSSPrefix + "resizable-wrap") !== -1) { c = c.parentNode } } if (c && e) { if (typeof b == "number") { b = this.getPositionOffset(b); return c === e.childNodes[b] } return c.parentNode === e } return false }, getPositionOffset: function (a) { return a }, configureItem: function (a) { a.ownerLayout = this }, renderItem: function (c, d, a) { var b = this; if (!c.rendered) { b.configureItem(c); c.render(d, a); b.afterRenderItem(c) } }, moveItem: function (b, c, a) { c = c.dom || c; if (typeof a == "number") { a = c.childNodes[a] } c.insertBefore(b.el.dom, a || null); b.container = Ext.get(c); this.configureItem(b) }, onContentChange: function () { this.owner.updateLayout(); return true }, initLayout: function () { this.initialized = true }, setOwner: function (a) { this.owner = a }, getLayoutItems: function () { return [] }, onAdd: function (a) { a.ownerLayout = this }, afterRenderItem: Ext.emptyFn, onRemove: Ext.emptyFn, onDestroy: Ext.emptyFn, afterRemove: function (e) { var d = this, c = e.el, b = d.owner, a; if (e.rendered) { a = [].concat(d.itemCls || []); if (b.itemCls) { a = Ext.Array.push(a, b.itemCls) } if (a.length) { c.removeCls(a) } } delete e.ownerLayout }, destroy: function () { var a = this, b; if (a.targetCls) { b = a.getTarget(); if (b) { b.removeCls(a.targetCls) } } a.onDestroy() }, sortWeightedItems: function (a, d) { for (var b = 0, c = a.length; b < c; ++b) { a[b].$i = b } Ext.Array.sort(a, function (g, e) { var h = e.weight - g.weight; if (!h) { h = g.$i - e.$i; if (g[d]) { h = -h } } return h }); for (b = 0; b < c; ++b) { delete a[b].$i } } }, 1, 0, 0, 0, 0, 0, [Ext.layout, "Layout"], function () { var a = this; a.prototype.sizeModels = a.sizeModels = Ext.layout.SizeModel.sizeModels })); (Ext.cmd.derive("Ext.layout.container.Container", Ext.layout.Layout, { alternateClassName: "Ext.layout.ContainerLayout", type: "container", beginCollapse: Ext.emptyFn, beginExpand: Ext.emptyFn, animatePolicy: null, childEls: ["overflowPadderEl"], renderTpl: ["{%this.renderBody(out,values)%}"], usesContainerHeight: true, usesContainerWidth: true, usesHeight: true, usesWidth: true, constructor: function () { this.callParent(arguments); this.mixins.elementCt.constructor.call(this) }, destroy: function () { this.callParent(); this.mixins.elementCt.destroy.call(this) }, beginLayout: function (a) { this.callParent(arguments); a.targetContext = a.paddingContext = a.getEl("getTarget", this); this.cacheChildItems(a) }, beginLayoutCycle: function (c, a) { var b = this; b.callParent(arguments); if (a) { if (b.usesContainerHeight) { ++c.consumersContainerHeight } if (b.usesContainerWidth) { ++c.consumersContainerWidth } } }, cacheChildItems: function (e) { var c = e.context, g = [], a = this.getVisibleItems(), d = a.length, b; e.childItems = g; e.visibleItems = a; for (b = 0; b < d; ++b) { g.push(c.getCmp(a[b])) } }, cacheElements: function () { var a = this.owner; this.applyChildEls(a.el, a.id) }, configureItem: function (c) { var b = this, d = b.itemCls, a = b.owner.itemCls, e; c.ownerLayout = b; if (d) { e = typeof d === "string" ? [d] : d } if (a) { e = Ext.Array.push(e || [], a) } if (e) { c.addCls(e) } }, doRenderBody: function (a, b) { this.renderItems(a, b); this.renderContent(a, b) }, doRenderContainer: function (b, e) { var c = e.$comp.layout, a = c.getRenderTpl(), d = c.getRenderData(); a.applyOut(d, b) }, doRenderItems: function (b, d) { var c = d.$layout, a = c.getRenderTree(); if (a) { Ext.DomHelper.generateMarkup(a, b) } }, finishRender: function () { var b = this, c, a; b.callParent(); b.cacheElements(); c = b.getRenderTarget(); a = b.getLayoutItems(); b.finishRenderItems(c, a) }, notifyOwner: function () { this.owner.afterLayout(this) }, getContainerSize: function (b, g) { var c = b.targetContext, e = c.getFrameInfo(), k = b.paddingContext.getPaddingInfo(), j = 0, l = 0, d, h, a, m; if (!b.widthModel.shrinkWrap) { ++l; a = g ? c.getDomProp("width") : c.getProp("width"); d = (typeof a == "number"); if (d) { ++j; a -= e.width + k.width; if (a < 0) { a = 0 } } } if (!b.heightModel.shrinkWrap) { ++l; m = g ? c.getDomProp("height") : c.getProp("height"); h = (typeof m == "number"); if (h) { ++j; m -= e.height + k.height; if (m < 0) { m = 0 } } } return { width: a, height: m, needed: l, got: j, gotAll: j == l, gotWidth: d, gotHeight: h } }, getPositionOffset: function (a) { if (!this.createsInnerCt) { var b = this.owner.itemNodeOffset; if (b) { a += b } } return a }, getLayoutItems: function () { var a = this.owner, b = a && a.items; return (b && b.items) || [] }, getRenderData: function () { var a = this.owner; return { $comp: a, $layout: this, ownerId: a.id } }, getRenderedItems: function () { var e = this, h = e.getRenderTarget(), a = e.getLayoutItems(), d = a.length, g = [], b, c; for (b = 0; b < d; b++) { c = a[b]; if (c.rendered && e.isValidParent(c, h, b)) { g.push(c) } } return g }, getRenderTarget: function () { return this.owner.getTargetEl() }, getElementTarget: function () { return this.getRenderTarget() }, getRenderTpl: function () { var a = this, b = Ext.XTemplate.getTpl(this, "renderTpl"); if (!b.renderContent) { a.owner.setupRenderTpl(b) } return b }, getRenderTree: function () { var a, c = this.owner.items, d, b = {}; do { d = c.generation; a = this.getItemsRenderTree(this.getLayoutItems(), b) } while (c.generation !== d); return a }, renderChildren: function () { var b = this, c = b.owner.items, e = b.getRenderTarget(), d, a; do { d = c.generation; a = b.getLayoutItems(); b.renderItems(a, e) } while (c.generation !== d) }, getScrollbarsNeeded: function (c, j, b, h) { var a = Ext.getScrollbarSize(), e = typeof c == "number", k = typeof j == "number", g = 0, d = 0; if (!a.width) { return 0 } if (k && j < h) { d = 2; c -= a.width } if (e && c < b) { g = 1; if (!d && k) { j -= a.height; if (j < h) { d = 2 } } } return d + g }, getTarget: function () { return this.owner.getTargetEl() }, getVisibleItems: function () { var g = this.getRenderTarget(), b = this.getLayoutItems(), e = b.length, a = [], c, d; for (c = 0; c < e; c++) { d = b[c]; if (d.rendered && this.isValidParent(d, g, c) && d.hidden !== true) { a.push(d) } } return a }, setupRenderTpl: function (b) { var a = this; b.renderBody = a.doRenderBody; b.renderContainer = a.doRenderContainer; b.renderItems = a.doRenderItems }, getContentTarget: function () { return this.owner.getDefaultContentTarget() } }, 1, 0, 0, 0, ["layout.container"], [["elementCt", Ext.util.ElementContainer]], [Ext.layout.container, "Container", Ext.layout, "ContainerLayout"], 0)); (Ext.cmd.derive("Ext.layout.container.Auto", Ext.layout.container.Container, { type: "autocontainer", childEls: ["outerCt", "innerCt", "clearEl"], reserveScrollbar: false, managePadding: true, manageOverflow: false, lastOverflowAdjust: { width: 0, height: 0 }, renderTpl: ["{% if (!(Ext.isIEQuirks || Ext.isIE7m)) { %}", '', '
', "{%this.renderBody(out,values)%}", "
", "
", "{% } else if (values.shrinkWrapWidth) { %}", '', "", '", "", "
', "{%this.renderBody(out,values)%}", '
', "
", "{% } else { %}", '
', '
', "{%this.renderBody(out,values)%}", '
', "
", "
", "{% values.$layout.isShrinkWrapTpl = false %}", "{% } %}"], tableTpl: ['', "", '", "", "
', "
"], isShrinkWrapTpl: true, beginLayout: function (e) { var d = this, a, b, c, g; d.callParent(arguments); d.initContextItems(e); if (!d.isShrinkWrapTpl) { if (e.widthModel.shrinkWrap) { g = true } if (Ext.isStrict && Ext.isIE7) { c = d.getOverflowXStyle(e); if ((c === "auto" || c === "scroll") && e.paddingContext.getPaddingInfo().right) { g = true } } if (g) { d.insertTableCt(e) } } if (!d.isShrinkWrapTpl && Ext.isIE7 && Ext.isStrict && !d.clearElHasPadding) { a = e.paddingContext.getPaddingInfo().bottom; b = d.getOverflowYStyle(e); if (a && (b === "auto" || b === "scroll")) { d.clearEl.setStyle("height", a); d.clearElHasPadding = true } } }, beforeLayoutCycle: function (c) { var a = this.owner, d = a.hierarchyState, b = a.hierarchyStateInner; if (!d || d.invalid) { d = a.getHierarchyState(); b = a.hierarchyStateInner } if (c.widthModel.shrinkWrap && this.isShrinkWrapTpl) { b.inShrinkWrapTable = true } else { delete b.inShrinkWrapTable } }, beginLayoutCycle: function (h) { var m = this, c = m.outerCt, l = m.lastOuterCtWidth || "", k = m.lastOuterCtHeight || "", n = m.lastOuterCtTableLayout || "", b = h.state, o, g, j, p, d, a, e; m.callParent(arguments); j = p = d = ""; if (!h.widthModel.shrinkWrap && m.isShrinkWrapTpl) { if (Ext.isIE7m && Ext.isStrict) { g = m.getOverflowYStyle(h); if (g === "auto" || g === "scroll") { a = true } } if (!a) { j = "100%" } e = m.owner.hierarchyStateInner; o = m.getOverflowXStyle(h); d = (e.inShrinkWrapTable || o === "auto" || o === "scroll") ? "" : "fixed" } if (!h.heightModel.shrinkWrap && !Ext.supports.PercentageHeightOverflowBug) { p = "100%" } if ((j !== l) || m.hasOuterCtPxWidth) { c.setStyle("width", j); m.lastOuterCtWidth = j; m.hasOuterCtPxWidth = false } if (d !== n) { c.setStyle("table-layout", d); m.lastOuterCtTableLayout = d } if ((p !== k) || m.hasOuterCtPxHeight) { c.setStyle("height", p); m.lastOuterCtHeight = p; m.hasOuterCtPxHeight = false } if (m.hasInnerCtPxHeight) { m.innerCt.setStyle("height", ""); m.hasInnerCtPxHeight = false } b.overflowAdjust = b.overflowAdjust || m.lastOverflowAdjust }, calculate: function (c) { var a = this, b = c.state, e = a.getContainerSize(c, true), d = b.calculatedItems || (b.calculatedItems = a.calculateItems ? a.calculateItems(c, e) : true); a.setCtSizeIfNeeded(c, e); if (d && c.hasDomProp("containerChildrenSizeDone")) { a.calculateContentSize(c); if (e.gotAll) { if (a.manageOverflow && !c.state.secondPass && !a.reserveScrollbar) { a.calculateOverflow(c, e) } return } } a.done = false }, calculateContentSize: function (g) { var e = this, a = ((g.widthModel.shrinkWrap ? 1 : 0) | (g.heightModel.shrinkWrap ? 2 : 0)), c = (a & 1) || undefined, h = (a & 2) || undefined, d = 0, b = g.props; if (c) { if (isNaN(b.contentWidth)) { ++d } else { c = undefined } } if (h) { if (isNaN(b.contentHeight)) { ++d } else { h = undefined } } if (d) { if (c && !g.setContentWidth(e.measureContentWidth(g))) { e.done = false } if (h && !g.setContentHeight(e.measureContentHeight(g))) { e.done = false } } }, calculateOverflow: function (c) { var h = this, b, k, a, g, e, d, j; e = (h.getOverflowXStyle(c) === "auto"); d = (h.getOverflowYStyle(c) === "auto"); if (e || d) { a = Ext.getScrollbarSize(); j = c.overflowContext.el.dom; g = 0; if (j.scrollWidth > j.clientWidth) { g |= 1 } if (j.scrollHeight > j.clientHeight) { g |= 2 } b = (d && (g & 2)) ? a.width : 0; k = (e && (g & 1)) ? a.height : 0; if (b !== h.lastOverflowAdjust.width || k !== h.lastOverflowAdjust.height) { h.done = false; c.invalidate({ state: { overflowAdjust: { width: b, height: k }, overflowState: g, secondPass: true } }) } } }, completeLayout: function (a) { this.lastOverflowAdjust = a.state.overflowAdjust }, doRenderPadding: function (b, d) { var c = d.$layout, a = d.$layout.owner, e = a[a.contentPaddingProperty]; if (c.managePadding && e) { b.push("padding:", a.unitizeBox(e)) } }, finishedLayout: function (b) { var a = this.innerCt; this.callParent(arguments); if (Ext.isIEQuirks || Ext.isIE8m) { a.repaint() } if (Ext.isOpera) { a.setStyle("position", "relative"); a.dom.scrollWidth; a.setStyle("position", "") } }, getContainerSize: function (b, c) { var a = this.callParent(arguments), d = b.state.overflowAdjust; if (d) { a.width -= d.width; a.height -= d.height } return a }, getRenderData: function () { var a = this.owner, b = this.callParent(); if ((Ext.isIEQuirks || Ext.isIE7m) && ((a.shrinkWrap & 1) || (a.floating && !a.width))) { b.shrinkWrapWidth = true } return b }, getRenderTarget: function () { return this.innerCt }, getElementTarget: function () { return this.innerCt }, getOverflowXStyle: function (a) { return a.overflowXStyle || (a.overflowXStyle = this.owner.scrollFlags.overflowX || a.overflowContext.getStyle("overflow-x")) }, getOverflowYStyle: function (a) { return a.overflowYStyle || (a.overflowYStyle = this.owner.scrollFlags.overflowY || a.overflowContext.getStyle("overflow-y")) }, initContextItems: function (c) { var b = this, d = c.target, a = b.owner.customOverflowEl; c.outerCtContext = c.getEl("outerCt", b); c.innerCtContext = c.getEl("innerCt", b); if (a) { c.overflowContext = c.getEl(a) } else { c.overflowContext = c.targetContext } if (d[d.contentPaddingProperty] !== undefined) { c.paddingContext = b.isShrinkWrapTpl ? c.innerCtContext : c.outerCtContext } }, initLayout: function () { var c = this, b = Ext.getScrollbarSize().width, a = c.owner; c.callParent(); if (b && c.manageOverflow && !c.hasOwnProperty("lastOverflowAdjust")) { if (a.autoScroll || c.reserveScrollbar) { c.lastOverflowAdjust = { width: b, height: 0 } } } }, insertTableCt: function (b) { var h = this, a = h.owner, c = 0, e, g, k, d, j; e = Ext.XTemplate.getTpl(this, "tableTpl"); e.renderPadding = h.doRenderPadding; h.outerCt.dom.removeChild(h.innerCt.dom); g = document.createDocumentFragment(); k = h.innerCt.dom.childNodes; d = k.length; for (; c < d; c++) { g.appendChild(k[0]) } j = h.getTarget(); j.dom.innerHTML = e.apply({ $layout: h, ownerId: h.owner.id }); j.down("td").dom.appendChild(g); h.applyChildEls(a.el, a.id); h.isShrinkWrapTpl = true; b.removeEl(h.outerCt); b.removeEl(h.innerCt); h.initContextItems(b) }, measureContentHeight: function (b) { var a = this.outerCt.getHeight(), c = b.target; if (this.managePadding && (c[c.contentPaddingProperty] === undefined)) { a += b.targetContext.getPaddingInfo().height } return a }, measureContentWidth: function (d) { var g, c, b, a, e; if (this.chromeCellMeasureBug) { g = this.innerCt.dom; c = g.style; b = c.display; if (b == "table-cell") { c.display = ""; g.offsetWidth; c.display = b } } a = this.outerCt.getWidth(); e = d.target; if (this.managePadding && (e[e.contentPaddingProperty] === undefined)) { a += d.targetContext.getPaddingInfo().width } return a }, setCtSizeIfNeeded: function (d, o) { var t = this, m = o.width, j = o.height, g = d.paddingContext.getPaddingInfo(), k = t.getTarget(), e = t.getOverflowXStyle(d), l = t.getOverflowYStyle(d), p = (e === "auto" || e === "scroll"), n = (l === "auto" || l === "scroll"), q = Ext.getScrollbarSize(), r = t.isShrinkWrapTpl, b = t.manageOverflow, a, s, h, c; if (m && !d.widthModel.shrinkWrap && ((Ext.isIE7m && Ext.isStrict && r && n) || (Ext.isIEQuirks && !r && !p))) { if (!b) { if (n && (k.dom.scrollHeight > k.dom.clientHeight)) { m -= q.width } } d.outerCtContext.setProp("width", m + g.width); t.hasOuterCtPxWidth = true } if (j && !d.heightModel.shrinkWrap) { if (Ext.supports.PercentageHeightOverflowBug) { s = true } if (((Ext.isIE8 && Ext.isStrict) || Ext.isIE7m && Ext.isStrict && r)) { h = true; c = !Ext.isIE8 } if ((s || h) && p && (k.dom.scrollWidth > k.dom.clientWidth)) { j = Math.max(j - q.height, 0) } if (s) { d.outerCtContext.setProp("height", j + g.height); t.hasOuterCtPxHeight = true } if (h) { if (c) { j += g.height } d.innerCtContext.setProp("height", j); t.hasInnerCtPxHeight = true } } if (Ext.isIE7 && Ext.isStrict && !r && (l === "auto")) { a = (e === "auto") ? "overflow-x" : "overflow-y"; k.setStyle(a, "hidden"); k.setStyle(a, "auto") } }, setupRenderTpl: function (a) { this.callParent(arguments); a.renderPadding = this.doRenderPadding }, getContentTarget: function () { return this.innerCt } }, 0, 0, 0, 0, ["layout.auto", "layout.autocontainer"], 0, [Ext.layout.container, "Auto"], function () { this.prototype.chromeCellMeasureBug = Ext.isChrome && Ext.chromeVersion >= 26 })); (Ext.cmd.derive("Ext.ZIndexManager", Ext.Base, { alternateClassName: "Ext.WindowGroup", statics: { zBase: 9000 }, constructor: function (a) { var b = this; b.list = {}; b.zIndexStack = []; b.front = null; if (a) { if (a.isContainer) { a.on("resize", b._onContainerResize, b); b.zseed = Ext.Number.from(b.rendered ? a.getEl().getStyle("zIndex") : undefined, b.getNextZSeed()); b.targetEl = a.getTargetEl(); b.container = a } else { Ext.EventManager.onWindowResize(b._onContainerResize, b); b.zseed = b.getNextZSeed(); b.targetEl = Ext.get(a) } } else { Ext.EventManager.onWindowResize(b._onContainerResize, b); b.zseed = b.getNextZSeed(); Ext.onDocumentReady(function () { b.targetEl = Ext.getBody() }) } }, getNextZSeed: function () { return (Ext.ZIndexManager.zBase += 10000) }, setBase: function (b) { this.zseed = b; var a = this.assignZIndices(); this._activateLast(); return a }, assignZIndices: function () { var c = this.zIndexStack, b = c.length, e = 0, h = this.zseed, d, g; for (; e < b; e++) { d = c[e]; if (d && !d.hidden) { h = d.setZIndex(h); if (d.modal) { g = d } } } if (g) { this._showModalMask(g) } return h }, _setActiveChild: function (b, a) { var c = this.front, d = b.preventFocusOnActivate; if (b !== c) { if (c && !c.destroying) { c.setActive(false, b) } this.front = b; if (b && b != a) { b.preventFocusOnActivate = b.preventFocusOnActivate || a && (a.preventFocusOnActivate || !a.focusOnToFront); b.setActive(true); if (b.modal) { this._showModalMask(b) } b.preventFocusOnActivate = d } } }, onComponentHide: function (a) { this._activateLast() }, _activateLast: function () { var d = this, a = d.zIndexStack, c = a.length - 1, b; for (; c >= 0 && a[c].hidden; --c) {} if ((b = a[c])) { d._setActiveChild(b, d.front); if (b.modal) { return } } else { if (d.front && !d.front.destroying) { d.front.setActive(false) } d.front = null } for (; c >= 0; --c) { b = a[c]; if (b.isVisible() && b.modal) { d._showModalMask(b); return } } d._hideModalMask() }, _showModalMask: function (b) { var d = this, h = b.el.getStyle("zIndex") - 4, c = b.floatParent ? b.floatParent.getTargetEl() : b.container, a = d.mask, g = d.maskShim, e; if (!a) { if (Ext.isIE6) { g = d.maskShim = Ext.getBody().createChild({ tag: "iframe", cls: Ext.baseCSSPrefix + "shim " + Ext.baseCSSPrefix + "mask-shim" }); g.setVisibilityMode(Ext.Element.DISPLAY) } a = d.mask = Ext.getBody().createChild({ cls: Ext.baseCSSPrefix + "mask", style: "height:0;width:0" }); a.setVisibilityMode(Ext.Element.DISPLAY); a.on("click", d._onMaskClick, d) } a.maskTarget = c; e = d.getMaskBox(); if (g) { g.setStyle("zIndex", h); g.show(); g.setBox(e) } a.setStyle("zIndex", h); a.show(); a.setBox(e) }, _hideModalMask: function () { var b = this.mask, a = this.maskShim; if (b && b.isVisible()) { b.maskTarget = undefined; b.hide(); if (a) { a.hide() } } }, _onMaskClick: function () { if (this.front) { this.front.focus() } }, getMaskBox: function () { var a = this.mask.maskTarget; if (a.dom === document.body) { return { height: Math.max(document.body.scrollHeight, Ext.dom.Element.getDocumentHeight()), width: Math.max(document.body.scrollWidth, document.documentElement.clientWidth), x: 0, y: 0 } } else { return a.getBox() } }, _onContainerResize: function () { var c = this, b = c.mask, a = c.maskShim, d; if (b && b.isVisible()) { b.hide(); if (a) { a.hide() } d = c.getMaskBox(); if (a) { a.setSize(d); a.show() } b.setSize(d); b.show() } }, register: function (b) { var c = this, a = b.afterHide; if (b.zIndexManager) { b.zIndexManager.unregister(b) } b.zIndexManager = c; c.list[b.id] = b; c.zIndexStack.push(b); b.afterHide = function () { a.apply(b, arguments); c.onComponentHide(b) } }, unregister: function (a) { var b = this, c = b.list; delete a.zIndexManager; if (c && c[a.id]) { delete c[a.id]; delete a.afterHide; Ext.Array.remove(b.zIndexStack, a); b._activateLast() } }, get: function (a) { return a.isComponent ? a : this.list[a] }, bringToFront: function (b, d) { var c = this, a = false, e = c.zIndexStack; b = c.get(b); if (b !== c.front) { Ext.Array.remove(e, b); if (b.preventBringToFront) { e.unshift(b) } else { e.push(b) } c.assignZIndices(); if (!d) { c._activateLast() } a = true; c.front = b; if (b.modal) { c._showModalMask(b) } } return a }, sendToBack: function (a) { var b = this; a = b.get(a); Ext.Array.remove(b.zIndexStack, a); b.zIndexStack.unshift(a); b.assignZIndices(); this._activateLast(); return a }, hideAll: function () { var b = this.list, a, c; for (c in b) { if (b.hasOwnProperty(c)) { a = b[c]; if (a.isComponent && a.isVisible()) { a.hide() } } } }, hide: function () { var d = 0, b = this.zIndexStack, a = b.length, c; this.tempHidden = []; for (; d < a; d++) { c = b[d]; if (c.isVisible()) { this.tempHidden.push(c); c.el.hide(); c.hidden = true } } }, show: function () { var c = 0, d = this.tempHidden, a = d ? d.length : 0, b; for (; c < a; c++) { b = d[c]; b.el.show(); b.hidden = false; b.setPosition(b.x, b.y) } delete this.tempHidden }, getActive: function () { return this.front }, getBy: function (g, e) { var h = [], d = 0, b = this.zIndexStack, a = b.length, c; for (; d < a; d++) { c = b[d]; if (g.call(e || c, c) !== false) { h.push(c) } } return h }, each: function (c, b) { var d = this.list, e, a; for (e in d) { if (d.hasOwnProperty(e)) { a = d[e]; if (a.isComponent && c.call(b || a, a) === false) { return } } } }, eachBottomUp: function (g, e) { var b = this.zIndexStack, d = 0, a = b.length, c; for (; d < a; d++) { c = b[d]; if (c.isComponent && g.call(e || c, c) === false) { return } } }, eachTopDown: function (e, d) { var a = this.zIndexStack, c = a.length, b; for (; c-- > 0; ) { b = a[c]; if (b.isComponent && e.call(d || b, b) === false) { return } } }, destroy: function () { var b = this, c = b.list, a, d; for (d in c) { if (c.hasOwnProperty(d)) { a = c[d]; if (a.isComponent) { a.destroy() } } } delete b.zIndexStack; delete b.list; delete b.container; delete b.targetEl } }, 1, 0, 0, 0, 0, 0, [Ext, "ZIndexManager", Ext, "WindowGroup"], function () { Ext.WindowManager = Ext.WindowMgr = new this() })); (Ext.cmd.derive("Ext.Queryable", Ext.Base, { isQueryable: true, query: function (a) { a = a || "*"; return Ext.ComponentQuery.query(a, this) }, queryBy: function (g, e) { var c = [], b = this.getRefItems(true), d = 0, a = b.length, h; for (; d < a; ++d) { h = b[d]; if (g.call(e || h, h) !== false) { c.push(h) } } return c }, queryById: function (a) { return this.down("#" + a) }, child: function (a) { if (a && a.isComponent) { a = "#" + Ext.escapeId(a.getItemId()) } a = a || ""; return this.query("> " + a)[0] || null }, down: function (a) { if (a && a.isComponent) { a = "#" + Ext.escapeId(a.getItemId()) } a = a || ""; return this.query(a)[0] || null }, getRefItems: function () { return [] } }, 0, 0, 0, 0, 0, 0, [Ext, "Queryable"], 0)); (Ext.cmd.derive("Ext.layout.component.Component", Ext.layout.Layout, { type: "component", isComponentLayout: true, nullBox: {}, usesContentHeight: true, usesContentWidth: true, usesHeight: true, usesWidth: true, beginLayoutCycle: function (c, q) { var l = this, b = l.owner, e = c.ownerCtContext, g = c.heightModel, h = c.widthModel, j = b.el.dom === document.body, d = b.lastBox || l.nullBox, o = b.el.lastBox || l.nullBox, a = !j, n, p, m, k; l.callParent(arguments); if (q) { if (l.usesContentWidth) { ++c.consumersContentWidth } if (l.usesContentHeight) { ++c.consumersContentHeight } if (l.usesWidth) { ++c.consumersWidth } if (l.usesHeight) { ++c.consumersHeight } if (e && !e.hasRawContent) { n = b.ownerLayout; if (n.usesWidth) { ++c.consumersWidth } if (n.usesHeight) { ++c.consumersHeight } } } if (h.configured) { m = h.names.width; if (!j) { a = q ? b[m] !== o.width : h.constrained } c.setWidth(b[m], a) } else { if (c.isTopLevel) { if (h.calculated) { p = d.width; c.setWidth(p, p != o.width) } p = d.x; c.setProp("x", p, p != o.x) } } if (g.configured) { k = g.names.height; if (!j) { a = q ? b[k] !== o.height : g.constrained } c.setHeight(b[k], a) } else { if (c.isTopLevel) { if (g.calculated) { p = d.height; c.setHeight(p, p != o.height) } p = d.y; c.setProp("y", p, p != o.y) } } }, finishedLayout: function (b) { var h = this, k = b.children, a = h.owner, e, c, j, d, g; if (k) { e = k.length; for (c = 0; c < e; c++) { j = k[c]; j.el.lastBox = j.props } } b.previousSize = h.lastComponentSize; h.lastComponentSize = a.el.lastBox = g = b.props; d = a.lastBox || (a.lastBox = {}); d.x = g.x; d.y = g.y; d.width = g.width; d.height = g.height; d.invalid = false; h.callParent(arguments) }, notifyOwner: function (d) { var c = this, a = c.lastComponentSize, e = d.previousSize, b = [a.width, a.height]; if (e) { b.push(e.width, e.height) } c.owner.afterComponentLayout.apply(c.owner, b) }, getTarget: function () { return this.owner.el }, getRenderTarget: function () { return this.owner.el }, cacheTargetInfo: function (b) { var a = this, d = a.targetInfo, c; if (!d) { c = b.getEl("getTarget", a); a.targetInfo = d = { padding: c.getPaddingInfo(), border: c.getBorderInfo() } } return d }, measureAutoDimensions: function (n, j) { var u = this, a = u.owner, r = a.layout, d = n.heightModel, h = n.widthModel, c = n.boxParent, o = n.isBoxParent, b = n.props, k, v = { gotWidth: false, gotHeight: false, isContainer: (k = !n.hasRawContent) }, t = j || 3, q, e, l = 0, g = 0, m, p, s; if (h.shrinkWrap && n.consumersContentWidth) { ++l; q = !(t & 1); if (k) { if (q) { v.contentWidth = 0; v.gotWidth = true; ++g } else { if ((v.contentWidth = n.getProp("contentWidth")) !== undefined) { v.gotWidth = true; ++g } } } else { p = b.contentWidth; if (typeof p == "number") { v.contentWidth = p; v.gotWidth = true; ++g } else { if (q) { m = true } else { if (!n.hasDomProp("containerChildrenSizeDone")) { m = false } else { if (o || !c || c.widthModel.shrinkWrap) { m = true } else { m = c.hasDomProp("width") } } } if (m) { if (q) { s = 0 } else { if (r && r.measureContentWidth) { s = r.measureContentWidth(n) } else { s = u.measureContentWidth(n) } } if (!isNaN(v.contentWidth = s)) { n.setContentWidth(s, true); v.gotWidth = true; ++g } } } } } else { if (h.natural && n.consumersWidth) { ++l; p = b.width; if (typeof p == "number") { v.width = p; v.gotWidth = true; ++g } else { if (o || !c) { m = true } else { m = c.hasDomProp("width") } if (m) { if (!isNaN(v.width = u.measureOwnerWidth(n))) { n.setWidth(v.width, false); v.gotWidth = true; ++g } } } } } if (d.shrinkWrap && n.consumersContentHeight) { ++l; e = !(t & 2); if (k) { if (e) { v.contentHeight = 0; v.gotHeight = true; ++g } else { if ((v.contentHeight = n.getProp("contentHeight")) !== undefined) { v.gotHeight = true; ++g } } } else { p = b.contentHeight; if (typeof p == "number") { v.contentHeight = p; v.gotHeight = true; ++g } else { if (e) { m = true } else { if (!n.hasDomProp("containerChildrenSizeDone")) { m = false } else { if (a.noWrap) { m = true } else { if (!h.shrinkWrap) { m = (n.bodyContext || n).hasDomProp("width") } else { if (o || !c || c.widthModel.shrinkWrap) { m = true } else { m = c.hasDomProp("width") } } } } } if (m) { if (e) { s = 0 } else { if (r && r.measureContentHeight) { s = r.measureContentHeight(n) } else { s = u.measureContentHeight(n) } } if (!isNaN(v.contentHeight = s)) { n.setContentHeight(s, true); v.gotHeight = true; ++g } } } } } else { if (d.natural && n.consumersHeight) { ++l; p = b.height; if (typeof p == "number") { v.height = p; v.gotHeight = true; ++g } else { if (o || !c) { m = true } else { m = c.hasDomProp("width") } if (m) { if (!isNaN(v.height = u.measureOwnerHeight(n))) { n.setHeight(v.height, false); v.gotHeight = true; ++g } } } } } if (c) { n.onBoxMeasured() } v.gotAll = g == l; return v }, measureContentWidth: function (a) { return a.el.getWidth() - a.getFrameInfo().width }, measureContentHeight: function (a) { return a.el.getHeight() - a.getFrameInfo().height }, measureOwnerHeight: function (a) { return a.el.getHeight() }, measureOwnerWidth: function (a) { return a.el.getWidth() } }, 0, 0, 0, 0, 0, 0, [Ext.layout.component, "Component"], 0)); (Ext.cmd.derive("Ext.layout.component.Auto", Ext.layout.component.Component, { type: "autocomponent", setHeightInDom: false, setWidthInDom: false, waitForOuterHeightInDom: false, waitForOuterWidthInDom: false, beginLayoutCycle: function (d, a) { var c = this, g = c.lastWidthModel, e = c.lastHeightModel, b = c.owner.el; c.callParent(arguments); if (g && g.fixed && d.widthModel.shrinkWrap) { b.setWidth(null) } if (e && e.fixed && d.heightModel.shrinkWrap) { b.setHeight(null) } }, calculate: function (h) { var g = this, e = g.measureAutoDimensions(h), b = h.heightModel, c = h.widthModel, d, a; if (e.gotWidth) { if (c.shrinkWrap) { g.publishOwnerWidth(h, e.contentWidth) } else { if (g.publishInnerWidth) { g.publishInnerWidth(h, e.width) } } } else { if (!c.auto && g.publishInnerWidth) { d = g.waitForOuterWidthInDom ? h.getDomProp("width") : h.getProp("width"); if (d === undefined) { g.done = false } else { g.publishInnerWidth(h, d) } } } if (e.gotHeight) { if (b.shrinkWrap) { g.publishOwnerHeight(h, e.contentHeight) } else { if (g.publishInnerHeight) { g.publishInnerHeight(h, e.height) } } } else { if (!b.auto && g.publishInnerHeight) { a = g.waitForOuterHeightInDom ? h.getDomProp("height") : h.getProp("height"); if (a === undefined) { g.done = false } else { g.publishInnerHeight(h, a) } } } if (!e.gotAll) { g.done = false } }, calculateOwnerHeightFromContentHeight: function (b, a) { return a + b.getFrameInfo().height }, calculateOwnerWidthFromContentWidth: function (b, a) { return a + b.getFrameInfo().width }, publishOwnerHeight: function (j, g) { var e = this, b = e.owner, a = e.calculateOwnerHeightFromContentHeight(j, g), h, d, c; if (isNaN(a)) { e.done = false } else { h = Ext.Number.constrain(a, b.minHeight, b.maxHeight); if (h == a) { d = e.setHeightInDom } else { c = e.sizeModels[(h < a) ? "constrainedMax" : "constrainedMin"]; a = h; if (j.heightModel.calculatedFromShrinkWrap) { j.heightModel = c } else { j.invalidate({ heightModel: c }) } } j.setHeight(a, d) } }, publishOwnerWidth: function (h, b) { var g = this, a = g.owner, e = g.calculateOwnerWidthFromContentWidth(h, b), j, d, c; if (isNaN(e)) { g.done = false } else { j = Ext.Number.constrain(e, a.minWidth, a.maxWidth); if (j == e) { d = g.setWidthInDom } else { c = g.sizeModels[(j < e) ? "constrainedMax" : "constrainedMin"]; e = j; if (h.widthModel.calculatedFromShrinkWrap) { h.widthModel = c } else { h.invalidate({ widthModel: c }) } } h.setWidth(e, d) } } }, 0, 0, 0, 0, ["layout.autocomponent"], 0, [Ext.layout.component, "Auto"], 0)); (Ext.cmd.derive("Ext.container.AbstractContainer", Ext.Component, { renderTpl: "{%this.renderContainer(out,values)%}", suspendLayout: false, autoDestroy: true, defaultType: "panel", detachOnRemove: true, isContainer: true, layoutCounter: 0, baseCls: Ext.baseCSSPrefix + "container", defaultLayoutType: "auto", initComponent: function () { var a = this; a.addEvents("afterlayout", "beforeadd", "beforeremove", "add", "remove"); a.callParent(); a.getLayout(); a.initItems() }, initItems: function () { var b = this, a = b.items; b.items = new Ext.util.AbstractMixedCollection(false, b.getComponentId); b.floatingItems = new Ext.util.MixedCollection(false, b.getComponentId); if (a) { if (!Ext.isArray(a)) { a = [a] } b.add(a) } }, getFocusEl: function () { return this.getTargetEl() }, finishRenderChildren: function () { this.callParent(); var a = this.getLayout(); if (a) { a.finishRender() } }, beforeRender: function () { var b = this, a = b.getLayout(), c; b.callParent(); if (!a.initialized) { a.initLayout() } c = a.targetCls; if (c) { b.applyTargetCls(c) } }, applyTargetCls: function (a) { this.addCls(a) }, afterComponentLayout: function () { var b = this.floatingItems.items, a = b.length, d, c; this.callParent(arguments); for (d = 0; d < a; d++) { c = b[d]; if (!c.rendered && c.autoShow) { c.show() } } }, onPosition: function () { this.callParent(arguments); this.repositionFloatingItems() }, onResize: function () { this.callParent(arguments); this.repositionFloatingItems() }, repositionFloatingItems: function () { var b = this.floatingItems.items, a = b.length, d, c; for (d = 0; d < a; d++) { c = b[d]; if (c.el && !c.hidden) { c.setPosition(c.x, c.y) } } }, setupRenderTpl: function (a) { this.callParent(arguments); this.getLayout().setupRenderTpl(a) }, getDefaultContentTarget: function () { return this.el }, getContentTarget: function () { return this.getLayout().getContentTarget() }, setLayout: function (b) { var a = this.layout; if (a && a.isLayout && a != b) { a.setOwner(null) } this.layout = b; b.setOwner(this) }, getLayout: function () { var a = this; if (!a.layout || !a.layout.isLayout) { a.setLayout(Ext.layout.Layout.create(a.layout, a.self.prototype.layout || a.defaultLayoutType)) } return a.layout }, doLayout: function () { this.updateLayout(); return this }, afterLayout: function (b) { var a = this; ++a.layoutCounter; if (a.hasListeners.afterlayout) { a.fireEvent("afterlayout", a, b) } }, prepareItems: function (b, d) { if (Ext.isArray(b)) { b = b.slice() } else { b = [b] } var g = this, c = 0, a = b.length, e; for (; c < a; c++) { e = b[c]; if (e == null) { Ext.Array.erase(b, c, 1); --c; --a } else { if (d) { e = this.applyDefaults(e) } e.isContained = g; b[c] = g.lookupComponent(e); delete e.isContained; delete b[c].isContained } } return b }, applyDefaults: function (a) { var b = this.defaults; if (b) { if (Ext.isFunction(b)) { b = b.call(this, a) } if (Ext.isString(a)) { a = Ext.ComponentManager.get(a) } Ext.applyIf(a, b) } return a }, lookupComponent: function (a) { return (typeof a == "string") ? Ext.ComponentManager.get(a) : Ext.ComponentManager.create(a, this.defaultType) }, getComponentId: function (a) { return a.getItemId && a.getItemId() }, add: function () { var j = this, g = Ext.Array.slice(arguments), d = (typeof g[0] == "number") ? g.shift() : -1, c = j.getLayout(), l, h, b, a, m, k, e; if (g.length == 1 && Ext.isArray(g[0])) { h = g[0]; l = true } else { h = g } if (j.rendered) { Ext.suspendLayouts() } e = h = j.prepareItems(h, true); a = h.length; if (!l && a == 1) { e = h[0] } for (b = 0; b < a; b++) { m = h[b]; k = (d < 0) ? j.items.length : (d + b); if (m.floating) { j.floatingItems.add(m); m.onAdded(j, k); if (j.hasListeners.add) { j.fireEvent("add", j, m, k) } } else { if ((!j.hasListeners.beforeadd || j.fireEvent("beforeadd", j, m, k) !== false) && j.onBeforeAdd(m) !== false) { j.items.insert(k, m); m.onAdded(j, k); j.onAdd(m, k); c.onAdd(m, k); if (j.hasListeners.add) { j.fireEvent("add", j, m, k) } } } } j.updateLayout(); if (j.rendered) { Ext.resumeLayouts(true) } return e }, onAdd: Ext.emptyFn, onRemove: Ext.emptyFn, insert: function (c, b) { var a; if (b && b.isComponent) { a = this.items.indexOf(b); if (a !== -1) { return this.move(a, c) } } return this.add(c, b) }, move: function (b, d) { var a = this.items, c; if (b.isComponent) { b = a.indexOf(b) } c = a.removeAt(b); if (c === false) { return false } a.insert(d, c); this.onMove(c, b, d); this.updateLayout(); return c }, onMove: Ext.emptyFn, onBeforeAdd: function (a) { if (a.ownerCt && a.ownerCt !== this) { a.ownerCt.remove(a, false) } }, remove: function (a, b) { var d = this, e = d.getComponent(a); if (e && (!d.hasListeners.beforeremove || d.fireEvent("beforeremove", d, e) !== false)) { d.doRemove(e, b); if (d.hasListeners.remove) { d.fireEvent("remove", d, e) } if (!d.destroying && !e.floating) { d.updateLayout() } } return e }, doRemove: function (c, b) { b = b === true || (b !== false && this.autoDestroy); var g = this, e = g.layout, a = e && g.rendered, d = c.destroying || b, h = c.floating; if (h) { g.floatingItems.remove(c) } else { g.items.remove(c) } if (a && !h) { if (e.running) { Ext.AbstractComponent.cancelLayout(c, d) } e.onRemove(c, d) } c.onRemoved(d); g.onRemove(c, d); if (b) { c.destroy() } else { if (a && !h) { e.afterRemove(c) } if (g.detachOnRemove && c.rendered) { g.detachComponent(c) } } }, detachComponent: function (a) { Ext.getDetachedBody().appendChild(a.getEl()) }, removeAll: function (c) { var h = this, e = h.items.items.slice().concat(h.floatingItems.items), b = [], d = 0, a = e.length, g; h.suspendLayouts(); for (; d < a; d++) { g = e[d]; h.remove(g, c); if (g.ownerCt !== h) { b.push(g) } } h.resumeLayouts(!!a); return b }, getRefItems: function (c) { var h = this, d = h.items.items, b = d.length, e = 0, g, a = []; for (; e < b; e++) { g = d[e]; a[a.length] = g; if (c && g.getRefItems) { a.push.apply(a, g.getRefItems(true)) } } d = h.floatingItems.items; b = d.length; for (e = 0; e < b; e++) { g = d[e]; a[a.length] = g; if (c && g.getRefItems) { a.push.apply(a, g.getRefItems(true)) } } return a }, cascade: function (l, m, a) { var k = this, e = k.items ? k.items.items : [], g = e.length, d = 0, j, h = a ? a.concat(k) : [k], b = h.length - 1; if (l.apply(m || k, h) !== false) { for (; d < g; d++) { j = e[d]; if (j.cascade) { j.cascade(l, m, a) } else { h[b] = j; l.apply(m || e, h) } } } return this }, isAncestor: function (a) { while (a) { if (a.ownerCt === this) { return true } a = a.ownerCt } }, getComponent: function (a) { if (Ext.isObject(a)) { a = a.getItemId() } var b = this.items.get(a); if (!b && typeof a != "number") { b = this.floatingItems.get(a) } return b }, contains: function (c, b) { var a = false; if (b) { this.cascade(function (d) { if (d.contains && d.contains(c)) { a = true; return false } }); return a } else { return this.items.contains(c) || this.floatingItems.contains(c) } }, nextChild: function (e, b) { var c = this, a, d = c.items.indexOf(e); if (d !== -1) { a = b ? Ext.ComponentQuery(b, c.items.items.slice(d + 1)) : c.items.getAt(d + 1); if (!a && c.ownerCt) { a = c.ownerCt.nextChild(c, b) } } return a }, prevChild: function (e, b) { var c = this, a, d = c.items.indexOf(e); if (d !== -1) { a = b ? Ext.ComponentQuery(b, c.items.items.slice(d + 1)) : c.items.getAt(d + 1); if (!a && c.ownerCt) { a = c.ownerCt.nextChild(c, b) } } return a }, enable: function () { this.callParent(arguments); var d = this.getChildItemsToDisable(), c = d.length, b, a; for (a = 0; a < c; a++) { b = d[a]; if (b.resetDisable) { b.enable() } } return this }, disable: function () { this.callParent(arguments); var d = this.getChildItemsToDisable(), c = d.length, b, a; for (a = 0; a < c; a++) { b = d[a]; if (b.resetDisable !== false && !b.disabled) { b.disable(); b.resetDisable = true } } return this }, getChildItemsToDisable: function () { return this.query("[isFormField],button") }, beforeDestroy: function () { var b = this, a = b.items, d = b.floatingItems, e; if (a) { while ((e = a.first())) { b.doRemove(e, true) } } if (d) { while ((e = d.first())) { b.doRemove(e, true) } } Ext.destroy(b.layout); b.callParent() } }, 0, 0, ["component", "box"], { component: true, box: true }, 0, [["queryable", Ext.Queryable]], [Ext.container, "AbstractContainer"], 0)); (Ext.cmd.derive("Ext.container.Container", Ext.container.AbstractContainer, { alternateClassName: "Ext.Container", getChildByElement: function (e, a) { var h, c, b = 0, d = this.getRefItems(), g = d.length; e = Ext.getDom(e); for (; b < g; b++) { h = d[b]; c = h.getEl(); if (c && ((c.dom === e) || c.contains(e))) { return (a && h.getChildByElement) ? h.getChildByElement(e, a) : h } } return null } }, 0, ["container"], ["component", "container", "box"], { component: true, container: true, box: true }, ["widget.container"], 0, [Ext.container, "Container", Ext, "Container"], 0)); (Ext.cmd.derive("Ext.layout.container.Editor", Ext.layout.container.Container, { autoSizeDefault: { width: "field", height: "field" }, sizePolicies: { $: { $: { readsWidth: 1, readsHeight: 1, setsWidth: 0, setsHeight: 0 }, boundEl: { readsWidth: 1, readsHeight: 0, setsWidth: 0, setsHeight: 1 } }, boundEl: { $: { readsWidth: 0, readsHeight: 1, setsWidth: 1, setsHeight: 0 }, boundEl: { readsWidth: 0, readsHeight: 0, setsWidth: 1, setsHeight: 1 } } }, getItemSizePolicy: function (d) { var c = this, a = c.owner.autoSize, b = a && a.width, e = c.sizePolicies; e = e[b] || e.$; b = a && a.height; e = e[b] || e.$; return e }, calculate: function (g) { var e = this, b = e.owner, a = b.autoSize, d, c; if (a === true) { a = e.autoSizeDefault } if (a) { d = e.getDimension(b, a.width, "getWidth", b.width); c = e.getDimension(b, a.height, "getHeight", b.height) } g.childItems[0].setSize(d, c); g.setWidth(d); g.setHeight(c); g.setContentSize(d || b.field.getWidth(), c || b.field.getHeight()) }, getDimension: function (a, b, d, c) { switch (b) { case "boundEl": return a.boundEl[d](); case "field": return undefined; default: return c } } }, 0, 0, 0, 0, ["layout.editor"], 0, [Ext.layout.container, "Editor"], 0)); (Ext.cmd.derive("Ext.Editor", Ext.container.Container, { layout: "editor", allowBlur: true, revertInvalid: true, value: "", alignment: "c-c?", offsets: [0, 0], shadow: "frame", constrain: false, swallowKeys: true, completeOnEnter: true, cancelOnEsc: true, updateEl: false, focusOnToFront: false, hidden: true, baseCls: Ext.baseCSSPrefix + "editor", initComponent: function () { var a = this, b = a.field = Ext.ComponentManager.create(a.field, "textfield"); Ext.apply(b, { inEditor: true, msgTarget: b.msgTarget == "title" ? "title" : "qtip" }); a.mon(b, { scope: a, blur: a.onFieldBlur, specialkey: a.onSpecialKey }); if (b.grow) { a.mon(b, "autosize", a.onFieldAutosize, a, { delay: 1 }) } a.floating = { constrain: a.constrain }; a.items = b; a.callParent(arguments); a.addEvents("beforestartedit", "startedit", "beforecomplete", "complete", "canceledit", "specialkey") }, onFieldAutosize: function () { this.updateLayout() }, afterRender: function (b, a) { var c = this, e = c.field, d = e.inputEl; c.callParent(arguments); if (d) { d.dom.name = ""; if (c.swallowKeys) { d.swallowEvent(["keypress", "keydown"]) } } }, onSpecialKey: function (g, e) { var d = this, b = e.getKey(), a = d.completeOnEnter && b == e.ENTER, c = d.cancelOnEsc && b == e.ESC; if (a || c) { e.stopEvent(); Ext.defer(function () { if (a) { d.completeEdit() } else { d.cancelEdit() } if (g.triggerBlur) { g.triggerBlur(e) } }, 10) } d.fireEvent("specialkey", d, g, e) }, startEdit: function (a, c) { var b = this, d = b.field; b.completeEdit(); b.boundEl = Ext.get(a); c = Ext.isDefined(c) ? c : Ext.String.trim(b.boundEl.dom.innerText || b.boundEl.dom.innerHTML); if (!b.rendered) { if (b.ownerCt) { b.parentEl = b.ownerCt.el; b.parentEl.position() } b.render(b.parentEl || document.body) } if (b.fireEvent("beforestartedit", b, b.boundEl, c) !== false) { b.startValue = c; b.show(); d.suspendEvents(); d.reset(); d.setValue(c); d.resumeEvents(); b.realign(true); d.focus(); if (d.autoSize) { d.autoSize() } b.editing = true } }, realign: function (a) { var b = this; if (a === true) { b.updateLayout() } b.alignTo(b.boundEl, b.alignment, b.offsets) }, completeEdit: function (a) { var b = this, d = b.field, c; if (!b.editing) { return } if (d.assertValue) { d.assertValue() } c = b.getValue(); if (!d.isValid()) { if (b.revertInvalid !== false) { b.cancelEdit(a) } return } if (String(c) === String(b.startValue) && b.ignoreNoChange) { b.hideEdit(a); return } if (b.fireEvent("beforecomplete", b, c, b.startValue) !== false) { c = b.getValue(); if (b.updateEl && b.boundEl) { b.boundEl.update(c) } b.hideEdit(a); b.fireEvent("complete", b, c, b.startValue) } }, onShow: function () { var a = this; a.callParent(arguments); if (a.hideEl !== false) { a.boundEl.hide() } a.fireEvent("startedit", a, a.boundEl, a.startValue) }, cancelEdit: function (a) { var c = this, b = c.startValue, e = c.field, d; if (c.editing) { d = c.getValue(); e.suspendEvents(); c.setValue(b); e.resumeEvents(); c.hideEdit(a); c.fireEvent("canceledit", c, d, b) } }, hideEdit: function (a) { if (a !== true) { this.editing = false; this.hide() } }, onFieldBlur: function (d, c) { var a = this, b = Ext.Element.getActiveElement(); if (a.allowBlur === true && a.editing && a.selectSameEditor !== true) { a.completeEdit() } if (Ext.fly(b).isFocusable() || b.getAttribute("tabIndex")) { b.focus() } }, onHide: function () { var a = this, b = a.field; if (a.editing) { a.completeEdit(); return } if (b.hasFocus && b.triggerBlur) { b.triggerBlur() } if (b.collapse) { b.collapse() } if (a.hideEl !== false) { a.boundEl.show() } a.callParent(arguments) }, setValue: function (a) { this.field.setValue(a) }, getValue: function () { return this.field.getValue() }, beforeDestroy: function () { var a = this; Ext.destroy(a.field); delete a.field; delete a.parentEl; delete a.boundEl; a.callParent(arguments) } }, 0, ["editor"], ["editor", "component", "container", "box"], { editor: true, component: true, container: true, box: true }, ["widget.editor"], 0, [Ext, "Editor"], 0)); (Ext.cmd.derive("Ext.util.KeyMap", Ext.Base, { alternateClassName: "Ext.KeyMap", eventName: "keydown", constructor: function (a) { var b = this; if ((arguments.length !== 1) || (typeof a === "string") || a.dom || a.tagName || a === document || a.isComponent) { b.legacyConstructor.apply(b, arguments); return } Ext.apply(b, a); b.bindings = []; if (!b.target.isComponent) { b.target = Ext.get(b.target) } if (b.binding) { b.addBinding(b.binding) } else { if (a.key) { b.addBinding(a) } } b.enable() }, legacyConstructor: function (b, d, a) { var c = this; Ext.apply(c, { target: Ext.get(b), eventName: a || c.eventName, bindings: [] }); if (d) { c.addBinding(d) } c.enable() }, addBinding: function (e) { var c = this, d = e.key, b, a; if (c.processing) { c.bindings = bindings.slice(0) } if (Ext.isArray(e)) { for (b = 0, a = e.length; b < a; b++) { c.addBinding(e[b]) } return } c.bindings.push(Ext.apply({ keyCode: c.processKeys(d) }, e)) }, removeBinding: function (g) { var e = this, h = e.bindings, a = h.length, b, d, c; if (e.processing) { e.bindings = h.slice(0) } c = e.processKeys(g.key); for (b = 0; b < a; ++b) { d = h[b]; if (d.fn === g.fn && d.scope === g.scope) { if (g.alt == d.alt && g.crtl == d.crtl && g.shift == d.shift) { if (Ext.Array.equals(d.keyCode, c)) { Ext.Array.erase(e.bindings, b, 1); return } } } } }, processKeys: function (g) { var h = false, d, e, b, a, c; if (Ext.isString(g)) { e = []; b = g.toUpperCase(); for (c = 0, a = b.length; c < a; ++c) { e.push(b.charCodeAt(c)) } g = e; h = true } if (!Ext.isArray(g)) { g = [g] } if (!h) { for (c = 0, a = g.length; c < a; ++c) { d = g[c]; if (Ext.isString(d)) { g[c] = d.toUpperCase().charCodeAt(0) } } } return g }, handleTargetEvent: (function () { var a = /input|textarea/i; return function (g) { var e = this, j, c, b, h, d; if (e.enabled) { j = e.bindings; c = 0; b = j.length; g = e.processEvent.apply(e || e.processEventScope, arguments); if (e.ignoreInputFields) { h = g.target; d = h.contentEditable; if (a.test(h.tagName) || (d === "" || d === "true")) { return } } if (!g.getKey) { return g } e.processing = true; for (; c < b; ++c) { e.processBinding(j[c], g) } e.processing = false } } } ()), processEvent: Ext.identityFn, processBinding: function (g, a) { if (this.checkModifiers(g, a)) { var h = a.getKey(), k = g.fn || g.handler, l = g.scope || this, j = g.keyCode, b = g.defaultEventAction, c, e, d = new Ext.EventObjectImpl(a); for (c = 0, e = j.length; c < e; ++c) { if (h === j[c]) { if (k.call(l, h, a) !== true && b) { d[b]() } break } } } }, checkModifiers: function (j, g) { var d = ["shift", "ctrl", "alt"], c = 0, a = d.length, h, b; for (; c < a; ++c) { b = d[c]; h = j[b]; if (!(h === undefined || (h === g[b + "Key"]))) { return false } } return true }, on: function (b, d, c) { var h, a, e, g; if (Ext.isObject(b) && !Ext.isArray(b)) { h = b.key; a = b.shift; e = b.ctrl; g = b.alt } else { h = b } this.addBinding({ key: h, shift: a, ctrl: e, alt: g, fn: d, scope: c }) }, un: function (b, d, c) { var h, a, e, g; if (Ext.isObject(b) && !Ext.isArray(b)) { h = b.key; a = b.shift; e = b.ctrl; g = b.alt } else { h = b } this.removeBinding({ key: h, shift: a, ctrl: e, alt: g, fn: d, scope: c }) }, isEnabled: function () { return this.enabled }, enable: function () { var a = this; if (!a.enabled) { a.target.on(a.eventName, a.handleTargetEvent, a); a.enabled = true } }, disable: function () { var a = this; if (a.enabled) { a.target.removeListener(a.eventName, a.handleTargetEvent, a); a.enabled = false } }, setDisabled: function (a) { if (a) { this.disable() } else { this.enable() } }, destroy: function (c) { var a = this, b = a.target; a.bindings = []; a.disable(); if (c === true) { if (b.isComponent) { b.destroy() } else { b.remove() } } delete a.target } }, 1, 0, 0, 0, 0, 0, [Ext.util, "KeyMap", Ext, "KeyMap"], 0)); (Ext.cmd.derive("Ext.util.KeyNav", Ext.Base, { alternateClassName: "Ext.KeyNav", statics: { keyOptions: { left: 37, right: 39, up: 38, down: 40, space: 32, pageUp: 33, pageDown: 34, del: 46, backspace: 8, home: 36, end: 35, enter: 13, esc: 27, tab: 9 } }, constructor: function (a) { var b = this; if (arguments.length === 2) { b.legacyConstructor.apply(b, arguments); return } b.setConfig(a) }, legacyConstructor: function (b, a) { this.setConfig(Ext.apply({ target: b }, a)) }, setConfig: function (b) { var e = this, c = { target: b.target, ignoreInputFields: b.ignoreInputFields, eventName: e.getKeyEvent("forceKeyDown" in b ? b.forceKeyDown : e.forceKeyDown, b.eventName) }, g, a, j, d, h; if (e.map) { e.map.destroy() } if (b.processEvent) { c.processEvent = b.processEvent; c.processEventScope = b.processEventScope || e } if (b.keyMap) { g = e.map = b.keyMap } else { g = e.map = new Ext.util.KeyMap(c); e.destroyKeyMap = true } a = Ext.util.KeyNav.keyOptions; j = b.scope || e; for (d in a) { if (a.hasOwnProperty(d)) { if (h = b[d]) { if (typeof h === "function") { h = { handler: h, defaultEventAction: (b.defaultEventAction !== undefined) ? b.defaultEventAction : e.defaultEventAction } } g.addBinding({ key: a[d], handler: Ext.Function.bind(e.handleEvent, h.scope || j, h.handler || h.fn, true), defaultEventAction: (h.defaultEventAction !== undefined) ? h.defaultEventAction : e.defaultEventAction }) } } } g.disable(); if (!b.disabled) { g.enable() } }, handleEvent: function (c, b, a) { return a.call(this, b) }, disabled: false, defaultEventAction: "stopEvent", forceKeyDown: false, eventName: "keypress", destroy: function (a) { if (this.destroyKeyMap) { this.map.destroy(a) } delete this.map }, enable: function () { if (this.map) { this.map.enable(); this.disabled = false } }, disable: function () { if (this.map) { this.map.disable() } this.disabled = true }, setDisabled: function (a) { this.map.setDisabled(a); this.disabled = a }, getKeyEvent: function (b, a) { if (b || (Ext.EventManager.useKeyDown && !a)) { return "keydown" } else { return a || this.eventName } } }, 1, 0, 0, 0, 0, 0, [Ext.util, "KeyNav", Ext, "KeyNav"], 0)); (Ext.cmd.derive("Ext.FocusManager", Ext.Base, { singleton: true, alternateClassName: ["Ext.FocusMgr"], enabled: false, focusElementCls: Ext.baseCSSPrefix + "focus-element", focusFrameCls: Ext.baseCSSPrefix + "focus-frame", whitelist: ["textfield"], constructor: function (a) { var b = this, c = Ext.ComponentQuery; b.mixins.observable.constructor.call(b, a); b.addEvents("beforecomponentfocus", "componentfocus", "disable", "enable"); b.focusTask = new Ext.util.DelayedTask(b.handleComponentFocus, b); Ext.override(Ext.AbstractComponent, { onFocus: function () { this.callParent(arguments); if (b.enabled && this.hasFocus) { Array.prototype.unshift.call(arguments, this); b.onComponentFocus.apply(b, arguments) } }, onBlur: function () { this.callParent(arguments); if (b.enabled && !this.hasFocus) { Array.prototype.unshift.call(arguments, this); b.onComponentBlur.apply(b, arguments) } }, onDestroy: function () { this.callParent(arguments); if (b.enabled) { Array.prototype.unshift.call(arguments, this); b.onComponentDestroy.apply(b, arguments) } } }); Ext.override(Ext.Component, { afterHide: function () { this.callParent(arguments); if (b.enabled) { Array.prototype.unshift.call(arguments, this); b.onComponentHide.apply(b, arguments) } } }); b.keyNav = new Ext.util.KeyNav(Ext.getDoc(), { disabled: true, scope: b, backspace: b.focusLast, enter: b.navigateIn, esc: b.navigateOut, tab: b.navigateSiblings, space: b.navigateIn, del: b.focusLast, left: b.navigateSiblings, right: b.navigateSiblings, down: b.navigateSiblings, up: b.navigateSiblings }); b.focusData = {}; b.subscribers = new Ext.util.HashMap(); b.focusChain = {}; Ext.apply(c.pseudos, { nextFocus: function (g, e, j) { j = j || 1; e = parseInt(e, 10); var d = g.length, h = e, k; for (; ; ) { if ((h += j) >= d) { h = 0 } else { if (h < 0) { h = d - 1 } } if (h === e) { return [] } if ((k = g[h]).isFocusable()) { return [k] } } return [] }, prevFocus: function (e, d) { return this.nextFocus(e, d, -1) }, root: function (e) { var d = e.length, h = [], g = 0, j; for (; g < d; g++) { j = e[g]; if (!j.ownerCt) { h.push(j) } } return h } }) }, addXTypeToWhitelist: function (b) { var a = this; if (Ext.isArray(b)) { Ext.Array.forEach(b, a.addXTypeToWhitelist, a); return } if (!Ext.Array.contains(a.whitelist, b)) { a.whitelist.push(b) } }, clearComponent: function (a) { clearTimeout(this.cmpFocusDelay); if (!a.isDestroyed) { a.blur() } }, disable: function () { var a = this; if (!a.enabled) { return } delete a.options; a.enabled = false; a.removeDOM(); a.keyNav.disable(); a.fireEvent("disable", a) }, enable: function (a) { var b = this; if (a === true) { a = { focusFrame: true } } b.options = a = a || {}; if (b.enabled) { return } b.enabled = true; b.initDOM(a); b.keyNav.enable(); b.focusEl.focus(); delete b.focusedCmp; b.fireEvent("enable", b) }, focusLast: function (b) { var a = this; if (a.isWhitelisted(a.focusedCmp)) { return true } if (a.previousFocusedCmp) { a.previousFocusedCmp.focus() } }, getRootComponents: function () { var b = Ext.ComponentQuery, a = b.query(":focusable:root:not([floating])"), c = b.query(":focusable:root[floating]"); c.sort(function (e, d) { return e.el.getZIndex() > d.el.getZIndex() }); return c.concat(a) }, initDOM: function (c) { var g = this, b = g.focusFrameCls, e = Ext.ComponentQuery.query("{getFocusEl()}:not([focusListenerAdded])"), d = 0, a = e.length; if (!Ext.isReady) { return Ext.onReady(g.initDOM, g) } for (; d < a; d++) { e[d].addFocusListener() } if (!g.focusEl) { g.focusEl = Ext.getBody(); g.focusEl.dom.tabIndex = -1 } if (!g.focusFrame && c.focusFrame) { g.focusFrame = Ext.getBody().createChild({ cls: b, children: [{ cls: b + "-top" }, { cls: b + "-bottom" }, { cls: b + "-left" }, { cls: b + "-right" } ], style: "top: -100px; left: -100px;" }); g.focusFrame.setVisibilityMode(Ext.Element.DISPLAY); g.focusFrame.hide().setLocalXY(0, 0) } }, isWhitelisted: function (a) { return a && Ext.Array.some(this.whitelist, function (b) { return a.isXType(b) }) }, navigateIn: function (g) { var c = this, a = c.focusedCmp, b, d; if (c.isWhitelisted(a)) { return true } if (!a) { b = c.getRootComponents()[0]; if (b) { if (b.getFocusEl() === c.focusEl) { c.focusEl.blur() } b.focus() } } else { d = a.hasFocus ? Ext.ComponentQuery.query(">:focusable", a)[0] : a; if (d) { d.focus() } else { if (Ext.isFunction(a.onClick)) { g.button = 0; a.onClick(g); if (a.isVisible(true)) { a.focus() } else { c.navigateOut() } } } } }, navigateOut: function (c) { var b = this, a; if (!b.focusedCmp || !(a = b.focusedCmp.up(":focusable"))) { b.focusEl.focus() } else { a.focus() } return true }, navigateSiblings: function (j, b, p) { var k = this, a = b || k, q = j.getKey(), g = Ext.EventObject, l = j.shiftKey || q == g.LEFT || q == g.UP, c = q == g.LEFT || q == g.RIGHT || q == g.UP || q == g.DOWN, h = l ? "prev" : "next", o, d, n, m; n = (a.focusedCmp && a.focusedCmp.comp) || a.focusedCmp; if (!n && !p) { return true } if (c && k.isWhitelisted(n)) { return true } if (!n || n.is(":root")) { m = k.getRootComponents() } else { p = p || n.up(); if (p) { m = p.getRefItems() } } if (m) { o = n ? Ext.Array.indexOf(m, n) : -1; d = Ext.ComponentQuery.query(":" + h + "Focus(" + o + ")", m)[0]; if (d && n !== d) { d.focus(); return d } } }, onComponentBlur: function (b, c) { var a = this; if (a.focusedCmp === b) { a.previousFocusedCmp = b; delete a.focusedCmp } if (a.focusFrame) { a.focusFrame.hide() } }, onComponentFocus: function (d, g) { var c = this, a = c.focusChain, b; if (!d.isFocusable()) { c.clearComponent(d); if (a[d.id]) { return } b = d.up(); if (b) { a[d.id] = true; b.focus() } return } c.focusChain = {}; c.focusTask.delay(10, null, null, [d, d.getFocusEl()]) }, handleComponentFocus: function (m, h) { var k = this, p, a, g, o, b, l, d, e, c, n, j; if (k.fireEvent("beforecomponentfocus", k, m, k.previousFocusedCmp) === false) { k.clearComponent(m); return } k.focusedCmp = m; if (k.shouldShowFocusFrame(m)) { p = "." + k.focusFrameCls + "-"; a = k.focusFrame; g = (h.dom ? h : h.el).getBox(); o = g.top; b = g.left; l = g.width; d = g.height; e = a.child(p + "top"); c = a.child(p + "bottom"); n = a.child(p + "left"); j = a.child(p + "right"); e.setWidth(l).setLocalXY(b, o); c.setWidth(l).setLocalXY(b, o + d - 2); n.setHeight(d - 2).setLocalXY(b, o + 2); j.setHeight(d - 2).setLocalXY(b + l - 2, o + 2); a.show() } k.fireEvent("componentfocus", k, m, k.previousFocusedCmp) }, onComponentHide: function (e) { var d = this, b = false, a = d.focusedCmp, c; if (a) { b = e.hasFocus || (e.isContainer && e.isAncestor(d.focusedCmp)) } d.clearComponent(e); if (b && (c = e.up(":focusable"))) { c.focus() } else { d.focusEl.focus() } }, onComponentDestroy: function () {}, removeDOM: function () { var a = this; if (a.enabled || a.subscribers.length) { return } Ext.destroy(a.focusFrame); delete a.focusEl; delete a.focusFrame }, removeXTypeFromWhitelist: function (b) { var a = this; if (Ext.isArray(b)) { Ext.Array.forEach(b, a.removeXTypeFromWhitelist, a); return } Ext.Array.remove(a.whitelist, b) }, setupSubscriberKeys: function (a, g) { var e = this, d = a.getFocusEl(), c = g.scope, b = { backspace: e.focusLast, enter: e.navigateIn, esc: e.navigateOut, scope: e }, h = function (j) { if (e.focusedCmp === a) { return e.navigateSiblings(j, e, a) } else { return e.navigateSiblings(j) } }; Ext.iterate(g, function (k, j) { b[k] = function (m) { var l = h(m); if (Ext.isFunction(j) && j.call(c || a, m, l) === true) { return true } return l } }, e); return new Ext.util.KeyNav(d, b) }, shouldShowFocusFrame: function (c) { var b = this, a = b.options || {}; if (!b.focusFrame || !c) { return false } if (a.focusFrame) { return true } if (b.focusData[c.id].focusFrame) { return true } return false } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext, "FocusManager", Ext, "FocusMgr"], 0)); (Ext.cmd.derive("Ext.Img", Ext.Component, { autoEl: "img", baseCls: Ext.baseCSSPrefix + "img", src: "", alt: "", title: "", imgCls: "", initComponent: function () { if (this.glyph) { this.autoEl = "div" } this.callParent() }, getElConfig: function () { var e = this, b = e.callParent(), g = Ext._glyphFontFamily, d = e.glyph, a, c; if (e.autoEl == "img") { a = b } else { if (e.glyph) { if (typeof d === "string") { c = d.split("@"); d = c[0]; g = c[1] } b.html = "&#" + d + ";"; if (g) { b.style = "font-family:" + g } } else { b.cn = [a = { tag: "img", id: e.id + "-img" } ] } } if (a) { if (e.imgCls) { a.cls = (a.cls ? a.cls + " " : "") + e.imgCls } a.src = e.src || Ext.BLANK_IMAGE_URL } if (e.alt) { (a || b).alt = e.alt } if (e.title) { (a || b).title = e.title } return b }, onRender: function () { var b = this, a; b.callParent(arguments); a = b.el; b.imgEl = (b.autoEl == "img") ? a : a.getById(b.id + "-img") }, onDestroy: function () { Ext.destroy(this.imgEl); this.imgEl = null; this.callParent() }, setSrc: function (c) { var a = this, b = a.imgEl; a.src = c; if (b) { b.dom.src = c || Ext.BLANK_IMAGE_URL } }, setGlyph: function (c) { var b = this, d = Ext._glyphFontFamily, a, e; if (c != b.glyph) { if (typeof c === "string") { a = c.split("@"); c = a[0]; d = a[1] } e = b.el.dom; e.innerHTML = "&#" + c + ";"; if (d) { e.style = "font-family:" + d } } } }, 0, ["image", "imagecomponent"], ["component", "image", "box", "imagecomponent"], { component: true, image: true, box: true, imagecomponent: true }, ["widget.image", "widget.imagecomponent"], 0, [Ext, "Img"], 0)); (Ext.cmd.derive("Ext.util.Bindable", Ext.Base, { bindStore: function (b, c, a) { a = a || "store"; var d = this, e = d[a]; if (!c && e) { d.onUnbindStore(e, c, a); if (b !== e && e.autoDestroy) { e.destroyStore() } else { d.unbindStoreListeners(e) } } if (b) { b = Ext.data.StoreManager.lookup(b); d.bindStoreListeners(b); d.onBindStore(b, c, a) } d[a] = b || null; return d }, getStore: function () { return this.store }, unbindStoreListeners: function (a) { var b = this.storeListeners; if (b) { a.un(b) } }, bindStoreListeners: function (a) { var c = this, b = Ext.apply({}, c.getStoreListeners(a)); if (!b.scope) { b.scope = c } c.storeListeners = b; a.on(b) }, getStoreListeners: Ext.emptyFn, onUnbindStore: Ext.emptyFn, onBindStore: Ext.emptyFn }, 0, 0, 0, 0, 0, 0, [Ext.util, "Bindable"], 0)); (Ext.cmd.derive("Ext.LoadMask", Ext.Component, { msg: "Loading...", msgCls: Ext.baseCSSPrefix + "mask-loading", maskCls: Ext.baseCSSPrefix + "mask", useMsg: true, useTargetEl: false, baseCls: Ext.baseCSSPrefix + "mask-msg", childEls: ["msgEl", "msgTextEl"], renderTpl: ['
', '
', "
"], floating: { shadow: "frame" }, focusOnToFront: false, bringParentToFront: false, constructor: function (b) { var c = this, a; if (arguments.length === 2) { a = b; b = arguments[1] } else { a = b.target } if (!a.isComponent) { a = Ext.get(a); this.isElement = true } c.ownerCt = a; if (!this.isElement) { c.bindComponent(a) } c.callParent([b]); if (c.store) { c.bindStore(c.store, true) } }, bindComponent: function (a) { var c = this, b = { scope: this, resize: c.sizeMask, added: c.onComponentAdded, removed: c.onComponentRemoved }; if (a.floating) { b.move = c.sizeMask; c.activeOwner = a } else { if (a.ownerCt) { c.onComponentAdded(a.ownerCt) } else { c.preventBringToFront = true } } c.mon(a, b); c.mon(c.hierarchyEventSource, { show: c.onContainerShow, hide: c.onContainerHide, expand: c.onContainerExpand, collapse: c.onContainerCollapse, scope: c }) }, onComponentAdded: function (a) { var b = this; delete b.activeOwner; b.floatParent = a; if (!a.floating) { a = a.up("[floating]") } if (a) { b.activeOwner = a; b.mon(a, "move", b.sizeMask, b) } else { b.preventBringToFront = true } a = b.floatParent.ownerCt; if (b.rendered && b.isVisible() && a) { b.floatOwner = a; b.mon(a, "afterlayout", b.sizeMask, b, { single: true }) } }, onComponentRemoved: function (a) { var c = this, d = c.activeOwner, b = c.floatOwner; if (d) { c.mun(d, "move", c.sizeMask, c) } if (b) { c.mun(b, "afterlayout", c.sizeMask, c) } delete c.activeOwner; delete c.floatOwner }, afterRender: function () { this.callParent(arguments); this.container = this.floatParent.getContentTarget() }, onContainerShow: function (a) { if (this.isActiveContainer(a)) { this.onComponentShow() } }, onContainerHide: function (a) { if (this.isActiveContainer(a)) { this.onComponentHide() } }, onContainerExpand: function (a) { if (this.isActiveContainer(a)) { this.onComponentShow() } }, onContainerCollapse: function (a) { if (this.isActiveContainer(a)) { this.onComponentHide() } }, isActiveContainer: function (a) { return this.isDescendantOf(a) }, onComponentHide: function () { var a = this; if (a.rendered && a.isVisible()) { a.hide(); a.showNext = true } }, onComponentShow: function () { if (this.showNext) { this.show() } delete this.showNext }, sizeMask: function () { var a = this, b; if (a.rendered && a.isVisible()) { a.center(); b = a.getMaskTarget(); a.getMaskEl().show().setSize(b.getSize()).alignTo(b, "tl-tl") } }, bindStore: function (a, b) { var c = this; c.mixins.bindable.bindStore.apply(c, arguments); a = c.store; if (a && a.isLoading()) { c.onBeforeLoad() } }, getStoreListeners: function (b) { var d = this.onLoad, c = this.onBeforeLoad, a = { cachemiss: c, cachefilled: d }; if (!b.proxy.isSynchronous) { a.beforeLoad = c; a.load = d } return a }, onDisable: function () { this.callParent(arguments); if (this.loading) { this.onLoad() } }, getOwner: function () { return this.ownerCt || this.floatParent }, getMaskTarget: function () { var a = this.getOwner(); return this.useTargetEl ? a.getTargetEl() : a.getEl() }, onBeforeLoad: function () { var c = this, a = c.getOwner(), b; if (!c.disabled) { c.loading = true; if (a.componentLayoutCounter) { c.maybeShow() } else { b = a.afterComponentLayout; a.afterComponentLayout = function () { a.afterComponentLayout = b; b.apply(a, arguments); c.maybeShow() } } } }, maybeShow: function () { var b = this, a = b.getOwner(); if (!a.isVisible(true)) { b.showNext = true } else { if (b.loading && a.rendered) { b.show() } } }, getMaskEl: function () { var a = this; return a.maskEl || (a.maskEl = a.el.insertSibling({ cls: a.maskCls, style: { zIndex: a.el.getStyle("zIndex") - 2 } }, "before")) }, onShow: function () { var b = this, a = b.msgEl; b.callParent(arguments); b.loading = true; if (b.useMsg) { a.show(); b.msgTextEl.update(b.msg) } else { a.parent().hide() } }, hide: function () { if (this.isElement) { this.ownerCt.unmask(); this.fireEvent("hide", this); return } delete this.showNext; return this.callParent(arguments) }, onHide: function () { this.callParent(); this.getMaskEl().hide() }, show: function () { if (this.isElement) { this.ownerCt.mask(this.useMsg ? this.msg : "", this.msgCls); this.fireEvent("show", this); return } return this.callParent(arguments) }, afterShow: function () { this.callParent(arguments); this.sizeMask() }, setZIndex: function (b) { var c = this, a = c.activeOwner; if (a) { b = parseInt(a.el.getStyle("zIndex"), 10) + 1 } c.getMaskEl().setStyle("zIndex", b - 1); return c.mixins.floating.setZIndex.apply(c, arguments) }, onLoad: function () { this.loading = false; this.hide() }, onDestroy: function () { var a = this; if (a.isElement) { a.ownerCt.unmask() } Ext.destroy(a.maskEl); a.callParent() } }, 1, ["loadmask"], ["component", "box", "loadmask"], { component: true, box: true, loadmask: true }, ["widget.loadmask"], [["floating", Ext.util.Floating], ["bindable", Ext.util.Bindable]], [Ext, "LoadMask"], 0)); (Ext.cmd.derive("Ext.data.association.Association", Ext.Base, { alternateClassName: "Ext.data.Association", primaryKey: "id", associationKeyFunction: null, defaultReaderType: "json", isAssociation: true, initialConfig: null, statics: { AUTO_ID: 1000, create: function (a) { if (Ext.isString(a)) { a = { type: a } } switch (a.type) { case "belongsTo": return new Ext.data.association.BelongsTo(a); case "hasMany": return new Ext.data.association.HasMany(a); case "hasOne": return new Ext.data.association.HasOne(a); default: } return a } }, constructor: function (d) { Ext.apply(this, d); var h = this, g = Ext.ModelManager.types, k = d.ownerModel, a = d.associatedModel, e = g[k], j = g[a], b = d.associationKey, c; if (b) { c = String(b).search(/[\[\.]/); if (c >= 0) { h.associationKeyFunction = Ext.functionFactory("obj", "return obj" + (c > 0 ? "." : "") + b) } } h.initialConfig = d; h.ownerModel = e; h.associatedModel = j; Ext.applyIf(h, { ownerName: k, associatedName: a }); h.associationId = "association" + (++h.statics().AUTO_ID) }, getReader: function () { var c = this, a = c.reader, b = c.associatedModel; if (a) { if (Ext.isString(a)) { a = { type: a } } if (a.isReader) { a.setModel(b) } else { Ext.applyIf(a, { model: b, type: c.defaultReaderType }) } c.reader = Ext.createByAlias("reader." + a.type, a) } return c.reader || null } }, 1, 0, 0, 0, 0, 0, [Ext.data.association, "Association", Ext.data, "Association"], 0)); (Ext.cmd.derive("Ext.ModelManager", Ext.AbstractManager, { alternateClassName: "Ext.ModelMgr", singleton: true, typeName: "mtype", associationStack: [], registerType: function (c, b) { var d = b.prototype, a; if (d && d.isModel) { a = b } else { if (!b.extend) { b.extend = "Ext.data.Model" } a = Ext.define(c, b) } this.types[c] = a; return a }, unregisterType: function (a) { delete this.types[a] }, onModelDefined: function (c) { var a = this.associationStack, g = a.length, e = [], b, d, h; for (d = 0; d < g; d++) { b = a[d]; if (b.associatedModel == c.modelName) { e.push(b) } } for (d = 0, g = e.length; d < g; d++) { h = e[d]; this.types[h.ownerModel].prototype.associations.add(Ext.data.association.Association.create(h)); Ext.Array.remove(a, h) } }, registerDeferredAssociation: function (a) { this.associationStack.push(a) }, getModel: function (b) { var a = b; if (typeof a == "string") { a = this.types[a] } return a }, create: function (b, a, d) { var c = typeof a == "function" ? a : this.types[a || b.name]; return new c(b, d) } }, 0, 0, 0, 0, 0, 0, [Ext, "ModelManager", Ext, "ModelMgr"], function () { Ext.regModel = function () { return this.ModelManager.registerType.apply(this.ModelManager, arguments) } })); (Ext.cmd.derive("Ext.layout.component.ProgressBar", Ext.layout.component.Auto, { type: "progressbar", beginLayout: function (d) { var b = this, a, c; b.callParent(arguments); if (!d.textEls) { c = b.owner.textEl; if (c.isComposite) { d.textEls = []; c = c.elements; for (a = c.length; a--; ) { d.textEls[a] = d.getEl(Ext.get(c[a])) } } else { d.textEls = [d.getEl("textEl")] } } }, calculate: function (e) { var c = this, a, d, b; c.callParent(arguments); if (Ext.isNumber(b = e.getProp("width"))) { b -= e.getBorderInfo().width; d = e.textEls; for (a = d.length; a--; ) { d[a].setWidth(b) } } else { c.done = false } } }, 0, 0, 0, 0, ["layout.progressbar"], 0, [Ext.layout.component, "ProgressBar"], 0)); (Ext.cmd.derive("Ext.ProgressBar", Ext.Component, { baseCls: Ext.baseCSSPrefix + "progress", animate: false, text: "", waitTimer: null, childEls: ["bar"], renderTpl: ['', '
{text}
', "
", '
', '', '
', "
{text}
", "
", "
", "
"], componentLayout: "progressbar", initComponent: function () { this.callParent(); this.addEvents("update") }, initRenderData: function () { var a = this; return Ext.apply(a.callParent(), { internalText: !a.hasOwnProperty("textEl"), text: a.text || " ", percentage: a.value ? a.value * 100 : 0 }) }, onRender: function () { var a = this; a.callParent(arguments); if (a.textEl) { a.textEl = Ext.get(a.textEl); a.updateText(a.text) } else { a.textEl = a.el.select("." + a.baseCls + "-text") } }, updateProgress: function (d, e, a) { var c = this, b = c.value; c.value = d || 0; if (e) { c.updateText(e) } if (c.rendered && !c.isDestroyed) { if (a === true || (a !== false && c.animate)) { c.bar.stopAnimation(); c.bar.animate(Ext.apply({ from: { width: (b * 100) + "%" }, to: { width: (c.value * 100) + "%" } }, c.animate)) } else { c.bar.setStyle("width", (c.value * 100) + "%") } } c.fireEvent("update", c, c.value, e); return c }, updateText: function (b) { var a = this; a.text = b; if (a.rendered) { a.textEl.update(a.text) } return a }, applyText: function (a) { this.updateText(a) }, getText: function () { return this.text }, wait: function (c) { var b = this, a; if (!b.waitTimer) { a = b; c = c || {}; b.updateText(c.text); b.waitTimer = Ext.TaskManager.start({ run: function (d) { var e = c.increment || 10; d -= 1; b.updateProgress(((((d + e) % e) + 1) * (100 / e)) * 0.01, null, c.animate) }, interval: c.interval || 1000, duration: c.duration, onStop: function () { if (c.fn) { c.fn.apply(c.scope || b) } b.reset() }, scope: a }) } return b }, isWaiting: function () { return this.waitTimer !== null }, reset: function (a) { var b = this; b.updateProgress(0); b.clearTimer(); if (a === true) { b.hide() } return b }, clearTimer: function () { var a = this; if (a.waitTimer) { a.waitTimer.onStop = null; Ext.TaskManager.stop(a.waitTimer); a.waitTimer = null } }, onDestroy: function () { var b = this, a = b.bar; b.clearTimer(); if (b.rendered) { if (b.textEl.isComposite) { b.textEl.clear() } Ext.destroyMembers(b, "textEl", "progressBar"); if (a && b.animate) { a.stopAnimation() } } b.callParent() } }, 0, ["progressbar"], ["component", "progressbar", "box"], { component: true, progressbar: true, box: true }, ["widget.progressbar"], 0, [Ext, "ProgressBar"], 0)); (Ext.cmd.derive("Ext.ShadowPool", Ext.Base, { singleton: true, markup: (function () { return Ext.String.format('', Ext.baseCSSPrefix, Ext.isIE && !Ext.supports.CSS3BoxShadow ? "ie" : "css") } ()), shadows: [], pull: function () { var a = this.shadows.shift(); if (!a) { a = Ext.get(Ext.DomHelper.insertHtml("beforeBegin", document.body.firstChild, this.markup)); a.autoBoxAdjust = false } return a }, push: function (a) { this.shadows.push(a) }, reset: function () { var c = [].concat(this.shadows), b, a = c.length; for (b = 0; b < a; b++) { c[b].remove() } this.shadows = [] } }, 0, 0, 0, 0, 0, 0, [Ext, "ShadowPool"], 0)); (Ext.cmd.derive("Ext.Shadow", Ext.Base, { localXYNames: { get: "getLocalXY", set: "setLocalXY" }, constructor: function (b) { var c = this, d, e, a; Ext.apply(c, b); if (!Ext.isString(c.mode)) { c.mode = c.defaultMode } e = c.offset; a = Math.floor(e / 2); c.opacity = 50; switch (c.mode.toLowerCase()) { case "drop": if (Ext.supports.CSS3BoxShadow) { d = { t: e, l: e, h: -e, w: -e } } else { d = { t: -a, l: -a, h: -a, w: -a } } break; case "sides": if (Ext.supports.CSS3BoxShadow) { d = { t: e, l: 0, h: -e, w: 0 } } else { d = { t: - (1 + a), l: 1 + a - 2 * e, h: -1, w: a - 1 } } break; case "frame": if (Ext.supports.CSS3BoxShadow) { d = { t: 0, l: 0, h: 0, w: 0 } } else { d = { t: 1 + a - 2 * e, l: 1 + a - 2 * e, h: e - a - 1, w: e - a - 1 } } break; case "bottom": if (Ext.supports.CSS3BoxShadow) { d = { t: e, l: 0, h: -e, w: 0 } } else { d = { t: e, l: 0, h: 0, w: 0 } } break } c.adjusts = d }, getShadowSize: function () { var b = this, d = b.el ? b.offset : 0, a = [d, d, d, d], c = b.mode.toLowerCase(); if (b.el && c !== "frame") { a[0] = 0; if (c == "drop") { a[3] = 0 } } return a }, offset: 4, defaultMode: "drop", boxShadowProperty: (function () { var b = "boxShadow", a = document.documentElement.style; if (!("boxShadow" in a)) { if ("WebkitBoxShadow" in a) { b = "WebkitBoxShadow" } else { if ("MozBoxShadow" in a) { b = "MozBoxShadow" } } } return b } ()), show: function (d) { var b = this, a, c; d = Ext.get(d); a = (parseInt(d.getStyle("z-index"), 10) - 1) || 0; c = d[b.localXYNames.get](); if (!b.el) { b.el = Ext.ShadowPool.pull(); if (b.fixed) { b.el.dom.style.position = "fixed" } else { b.el.dom.style.position = "" } if (b.el.dom.nextSibling != d.dom) { b.el.insertBefore(d) } } b.el.setStyle("z-index", b.zIndex || a); if (Ext.isIE && !Ext.supports.CSS3BoxShadow) { b.el.dom.style.filter = "progid:DXImageTransform.Microsoft.alpha(opacity=" + b.opacity + ") progid:DXImageTransform.Microsoft.Blur(pixelradius=" + (b.offset) + ")" } b.realign(c[0], c[1], d.dom.offsetWidth, d.dom.offsetHeight); b.el.dom.style.display = "block" }, isVisible: function () { return this.el ? true : false }, realign: function (c, n, k, g) { if (!this.el) { return } var b = this.adjusts, a = this.el, j = a.dom.style, d, e, h, m; a[this.localXYNames.set](c + b.l, n + b.t); d = Math.max(k + b.w, 0); e = Math.max(g + b.h, 0); h = d + "px"; m = e + "px"; if (j.width != h || j.height != m) { j.width = h; j.height = m; if (Ext.supports.CSS3BoxShadow) { j[this.boxShadowProperty] = "0 0 " + (this.offset + 2) + "px #888" } } }, hide: function () { var a = this; if (a.el) { a.el.dom.style.display = "none"; Ext.ShadowPool.push(a.el); delete a.el } }, setZIndex: function (a) { this.zIndex = a; if (this.el) { this.el.setStyle("z-index", a) } }, setOpacity: function (a) { if (this.el) { if (Ext.isIE && !Ext.supports.CSS3BoxShadow) { a = Math.floor(a * 100 / 2) / 100 } this.opacity = a; this.el.setOpacity(a) } } }, 1, 0, 0, 0, 0, 0, [Ext, "Shadow"], 0)); (Ext.cmd.derive("Ext.app.EventDomain", Ext.Base, { statics: { instances: {} }, isEventDomain: true, constructor: function () { var a = this; Ext.app.EventDomain.instances[a.type] = a; a.bus = {}; a.monitoredClasses = [] }, dispatch: function (g, m, k) { var l = this, h = l.bus, n = h[m], d, c, b, o, a, e, j; if (!n) { return true } for (d in n) { if (n.hasOwnProperty(d) && l.match(g, d)) { c = n[d]; for (b in c) { if (c.hasOwnProperty(b)) { o = c[b]; for (e = 0, j = o.length; e < j; e++) { a = o[e]; if (a.fire.apply(a, k) === false) { return false } } } } } } return true }, listen: function (n, g) { var l = this, j = l.bus, q = l.idProperty, p = l.monitoredClasses, e = p.length, d, s, h, c, r, b, o, a, k, m; for (c in n) { if (n.hasOwnProperty(c) && (k = n[c])) { if (q) { c = c === "*" ? c : c.substring(1) } for (m in k) { if (k.hasOwnProperty(m)) { r = null; b = k[m]; o = g; a = new Ext.util.Event(g, m); if (Ext.isObject(b)) { r = b; b = r.fn; o = r.scope || g; delete r.fn; delete r.scope } if (typeof b === "string") { b = o[b] } a.addListener(b, o, r); for (d = e; d-- > 0; ) { p[d].hasListeners._incr_(m) } s = j[m] || (j[m] = {}); s = s[c] || (s[c] = {}); h = s[g.id] || (s[g.id] = []); h.push(a) } } } } }, match: function (c, a) { var b = this.idProperty; if (b) { return a === "*" || c[b] === a } return false }, monitor: function (d) { var b = this, a = d.isInstance ? d : d.prototype, c = a.fireEventArgs; b.monitoredClasses.push(d); a.fireEventArgs = function (h, g) { var e = c.apply(this, arguments); if (e !== false) { e = b.dispatch(this, h, g) } return e } }, unlisten: function (e) { var b = this.bus, g, d, a, c; for (d in b) { if (b.hasOwnProperty(d) && (c = b[d])) { for (a in c) { g = c[a]; delete g[e] } } } } }, 1, 0, 0, 0, 0, 0, [Ext.app, "EventDomain"], 0)); (Ext.cmd.derive("Ext.app.domain.Component", Ext.app.EventDomain, { singleton: true, type: "component", constructor: function () { var a = this; a.callParent(); a.monitor(Ext.Component) }, match: function (b, a) { return b.is(a) } }, 1, 0, 0, 0, 0, 0, [Ext.app.domain, "Component"], 0)); (Ext.cmd.derive("Ext.app.EventBus", Ext.Base, { singleton: true, constructor: function () { var b = this, a = Ext.app.EventDomain.instances; b.callParent(); b.domains = a; b.bus = a.component.bus }, control: function (b, a) { return this.domains.component.listen(b, a) }, listen: function (d, b) { var a = this.domains, c; for (c in d) { if (d.hasOwnProperty(c)) { a[c].listen(d[c], b) } } }, unlisten: function (c) { var a = Ext.app.EventDomain.instances, b; for (b in a) { a[b].unlisten(c) } } }, 1, 0, 0, 0, 0, 0, [Ext.app, "EventBus"], 0)); (Ext.cmd.derive("Ext.data.StoreManager", Ext.util.MixedCollection, { alternateClassName: ["Ext.StoreMgr", "Ext.data.StoreMgr", "Ext.StoreManager"], singleton: true, register: function () { for (var a = 0, b; (b = arguments[a]); a++) { this.add(b) } }, unregister: function () { for (var a = 0, b; (b = arguments[a]); a++) { this.remove(this.lookup(b)) } }, lookup: function (c) { if (Ext.isArray(c)) { var b = ["field1"], e = !Ext.isArray(c[0]), g = c, d, a; if (e) { g = []; for (d = 0, a = c.length; d < a; ++d) { g.push([c[d]]) } } else { for (d = 2, a = c[0].length; d <= a; ++d) { b.push("field" + d) } } return new Ext.data.ArrayStore({ data: g, fields: b, autoDestroy: true, autoCreated: true, expanded: e }) } if (Ext.isString(c)) { return this.get(c) } else { return Ext.data.AbstractStore.create(c) } }, getKey: function (a) { return a.storeId } }, 0, 0, 0, 0, 0, 0, [Ext.data, "StoreManager", Ext, "StoreMgr", Ext.data, "StoreMgr", Ext, "StoreManager"], function () { Ext.regStore = function (c, b) { var a; if (Ext.isObject(c)) { b = c } else { b.storeId = c } if (b instanceof Ext.data.Store) { a = b } else { a = new Ext.data.Store(b) } return Ext.data.StoreManager.register(a) }; Ext.getStore = function (a) { return Ext.data.StoreManager.lookup(a) } })); (Ext.cmd.derive("Ext.app.domain.Global", Ext.app.EventDomain, { singleton: true, type: "global", constructor: function () { var a = this; a.callParent(); a.monitor(Ext.globalEvents) }, listen: function (b, a) { this.callParent([{ global: b }, a]) }, match: function () { return true } }, 1, 0, 0, 0, 0, 0, [Ext.app.domain, "Global"], 0)); (Ext.cmd.derive("Ext.data.ResultSet", Ext.Base, { loaded: true, count: 0, total: 0, success: false, constructor: function (a) { Ext.apply(this, a); this.totalRecords = this.total; if (a.count === undefined) { this.count = this.records.length } } }, 1, 0, 0, 0, 0, 0, [Ext.data, "ResultSet"], 0)); (Ext.cmd.derive("Ext.data.reader.Reader", Ext.Base, { alternateClassName: ["Ext.data.Reader", "Ext.data.DataReader"], totalProperty: "total", successProperty: "success", root: "", implicitIncludes: true, readRecordsOnFailure: true, isReader: true, applyDefaults: true, lastFieldGeneration: null, constructor: function (a) { var b = this; b.mixins.observable.constructor.call(b, a); b.fieldCount = 0; b.model = Ext.ModelManager.getModel(b.model); if (b.model && b.model.prototype.fields) { b.buildExtractors() } this.addEvents("exception") }, setModel: function (a, c) { var b = this; b.model = Ext.ModelManager.getModel(a); if (a) { b.buildExtractors(true) } if (c && b.proxy) { b.proxy.setModel(b.model, true) } }, read: function (a) { var b; if (a) { b = a.responseText ? this.getResponseData(a) : this.readRecords(a) } return b || this.nullResultSet }, readRecords: function (c) { var d = this, j, b, a, g, e, h, k; if (d.lastFieldGeneration !== d.model.prototype.fields.generation) { d.buildExtractors(true) } d.rawData = c; c = d.getData(c); j = true; b = 0; a = []; if (d.successProperty) { h = d.getSuccess(c); if (h === false || h === "false") { j = false } } if (d.messageProperty) { k = d.getMessage(c) } if (d.readRecordsOnFailure || j) { g = Ext.isArray(c) ? c : d.getRoot(c); if (g) { e = g.length } if (d.totalProperty) { h = parseInt(d.getTotal(c), 10); if (!isNaN(h)) { e = h } } if (g) { a = d.extractData(g); b = a.length } } return new Ext.data.ResultSet({ total: e || b, count: b, records: a, success: j, message: k }) }, extractData: function (k) { var j = this, b = j.model, a = k.length, d = new Array(a), e, c, h, g; if (!k.length && Ext.isObject(k)) { k = [k]; a = 1 } for (g = 0; g < a; g++) { c = k[g]; if (c.isModel) { d[g] = c } else { d[g] = h = new b(undefined, j.getId(c), c, e = {}); h.phantom = false; j.convertRecordData(e, c, h); if (j.implicitIncludes && h.associations.length) { j.readAssociated(h, c) } } } return d }, readAssociated: function (h, e) { var d = h.associations.items, g = 0, a = d.length, c, b, k, j; for (; g < a; g++) { c = d[g]; b = this.getAssociatedDataRoot(e, c.associationKeyFunction || c.associationKey || c.name); if (b) { j = c.getReader(); if (!j) { k = c.associatedModel.getProxy(); if (k) { j = k.getReader() } else { j = new this.constructor({ model: c.associatedName }) } } c.read(h, j, b) } } }, getAssociatedDataRoot: function (b, a) { if (Ext.isFunction(a)) { return a(b) } return b[a] }, getFields: function () { return this.model.prototype.fields.items }, getData: Ext.identityFn, getRoot: Ext.identityFn, getResponseData: function (a) {}, onMetaChange: function (e) { var d = this, b = e.fields || d.getFields(), c, a; d.metaData = e; d.root = e.root || d.root; d.idProperty = e.idProperty || d.idProperty; d.totalProperty = e.totalProperty || d.totalProperty; d.successProperty = e.successProperty || d.successProperty; d.messageProperty = e.messageProperty || d.messageProperty; a = e.clientIdProperty; if (d.model) { d.model.setFields(b, d.idProperty, a); d.setModel(d.model, true) } else { c = Ext.define("Ext.data.reader.Json-Model" + Ext.id(), { extend: "Ext.data.Model", fields: b, clientIdProperty: a }); if (d.idProperty) { c.idProperty = d.idProperty } d.setModel(c, true) } }, getIdProperty: function () { var b = this.model.prototype.idField, a = this.idProperty; if (!a && b && (a = b.mapping) == null) { a = b.name } return a }, buildExtractors: function (e) { var c = this, h = c.getIdProperty(), d = c.totalProperty, b = c.successProperty, g = c.messageProperty, a; if (e === true) { delete c.convertRecordData } if (c.convertRecordData) { return } if (d) { c.getTotal = c.createAccessor(d) } if (b) { c.getSuccess = c.createAccessor(b) } if (g) { c.getMessage = c.createAccessor(g) } if (h) { a = c.createAccessor(h); c.getId = function (j) { var k = a.call(c, j); return (k === undefined || k === "") ? null : k } } else { c.getId = function () { return null } } c.convertRecordData = c.buildRecordDataExtractor(); c.lastFieldGeneration = c.model.prototype.fields.generation }, recordDataExtractorTemplate: ["var me = this\n", " ,fields = me.model.prototype.fields\n", " ,value\n", " ,internalId\n", '', ' ,__field{#} = fields.map["{name}"]\n', "", ";\n", "return function(dest, source, record) {\n", '', '{% var fieldAccessExpression = this.createFieldAccessExpression(values, "__field" + xindex, "source");', " if (fieldAccessExpression) { %}", ' value = {[ this.createFieldAccessExpression(values, "__field" + xindex, "source") ]};\n', '', ' dest["{name}"] = value === undefined ? __field{#}.convert(__field{#}.defaultValue, record) : __field{#}.convert(value, record);\n', '', " if (value === undefined) {\n", " if (me.applyDefaults) {\n", '', ' dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n', "", ' dest["{name}"] = __field{#}.defaultValue\n', "", " };\n", " } else {\n", '', ' dest["{name}"] = __field{#}.convert(value, record);\n', "", ' dest["{name}"] = value;\n', "", " };\n", "", " if (value !== undefined) {\n", '', ' dest["{name}"] = __field{#}.convert(value, record);\n', "", ' dest["{name}"] = value;\n', "", " }\n", "", "{% } else { %}", '', '', ' dest["{name}"] = __field{#}.convert(__field{#}.defaultValue, record);\n', "", ' dest["{name}"] = __field{#}.defaultValue\n', "", "", "{% } %}", "", '', ' if (record && (internalId = {[ this.createFieldAccessExpression({mapping: values.clientIdProp}, null, "source") ]})) {\n', ' record.{["internalId"]} = internalId;\n', " }\n", "", "};"], buildRecordDataExtractor: function () { var c = this, a = c.model.prototype, b = { clientIdProp: a.clientIdProperty, fields: a.fields.items }; c.recordDataExtractorTemplate.createFieldAccessExpression = function () { return c.createFieldAccessExpression.apply(c, arguments) }; return Ext.functionFactory(c.recordDataExtractorTemplate.apply(b)).call(c) }, destroyReader: function () { var a = this; delete a.proxy; delete a.model; delete a.convertRecordData; delete a.getId; delete a.getTotal; delete a.getSuccess; delete a.getMessage } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.data.reader, "Reader", Ext.data, "Reader", Ext.data, "DataReader"], function () { var a = this.prototype; Ext.apply(a, { nullResultSet: new Ext.data.ResultSet({ total: 0, count: 0, records: [], success: true, message: "" }), recordDataExtractorTemplate: new Ext.XTemplate(a.recordDataExtractorTemplate) }) })); (Ext.cmd.derive("Ext.data.reader.Json", Ext.data.reader.Reader, { alternateClassName: "Ext.data.JsonReader", root: "", metaProperty: "metaData", useSimpleAccessors: false, readRecords: function (b) { var a = this, c; if (a.getMeta) { c = a.getMeta(b); if (c) { a.onMetaChange(c) } } else { if (b.metaData) { a.onMetaChange(b.metaData) } } a.jsonData = b; return a.callParent([b]) }, getResponseData: function (a) { var d, b; try { d = Ext.decode(a.responseText); return this.readRecords(d) } catch (c) { b = new Ext.data.ResultSet({ total: 0, count: 0, records: [], success: false, message: c.message }); this.fireEvent("exception", this, a, b); Ext.Logger.warn("Unable to parse the JSON returned by the server"); return b } }, buildExtractors: function () { var b = this, a = b.metaProperty; b.callParent(arguments); if (b.root) { b.getRoot = b.createAccessor(b.root) } else { b.getRoot = Ext.identityFn } if (a) { b.getMeta = b.createAccessor(a) } }, extractData: function (a) { var e = this.record, d = [], c, b; if (e) { c = a.length; if (!c && Ext.isObject(a)) { c = 1; a = [a] } for (b = 0; b < c; b++) { d[b] = a[b][e] } } else { d = a } return this.callParent([d]) }, createAccessor: (function () { var a = /[\[\.]/; return function (c) { if (Ext.isEmpty(c)) { return Ext.emptyFn } if (Ext.isFunction(c)) { return c } if (this.useSimpleAccessors !== true) { var b = String(c).search(a); if (b >= 0) { return Ext.functionFactory("obj", "return obj" + (b > 0 ? "." : "") + c) } } return function (d) { return d[c] } } } ()), createFieldAccessExpression: (function () { var a = /[\[\.]/; return function (o, d, e) { var b = o.mapping, m = b || b === 0, c = m ? b : o.name, p, g; if (b === false) { return } if (typeof c === "function") { p = d + ".mapping(" + e + ", this)" } else { if (this.useSimpleAccessors === true || ((g = String(c).search(a)) < 0)) { if (!m || isNaN(c)) { c = '"' + c + '"' } p = e + "[" + c + "]" } else { if (g === 0) { p = e + c } else { var j = c.split("."), l = j.length, k = 1, n = e + "." + j[0], h = [n]; for (; k < l; k++) { n += "." + j[k]; h.push(n) } p = h.join(" && ") } } } return p } } ()) }, 0, 0, 0, 0, ["reader.json"], 0, [Ext.data.reader, "Json", Ext.data, "JsonReader"], 0)); (Ext.cmd.derive("Ext.data.writer.Writer", Ext.Base, { alternateClassName: ["Ext.data.DataWriter", "Ext.data.Writer"], writeAllFields: true, nameProperty: "name", writeRecordId: true, isWriter: true, constructor: function (a) { Ext.apply(this, a) }, write: function (e) { var c = e.operation, b = c.records || [], a = b.length, d = 0, g = []; for (; d < a; d++) { g.push(this.getRecordData(b[d], c)) } return this.writeRecords(e, g) }, getRecordData: function (d, b) { var m = d.phantom === true, a = this.writeAllFields || m, g = d.fields, o = g.items, c = {}, l = d.clientIdProperty, k, j, n, e, h, p; if (a) { p = o.length; for (h = 0; h < p; h++) { j = o[h]; if (j.persist) { this.writeValue(c, j, d) } } } else { k = d.getChanges(); for (n in k) { if (k.hasOwnProperty(n)) { j = g.get(n); if (j.persist) { this.writeValue(c, j, d) } } } } if (m) { if (l && b && b.records.length > 1) { c[l] = d.internalId } } else { if (this.writeRecordId) { e = g.get(d.idProperty)[this.nameProperty] || d.idProperty; c[e] = d.getId() } } return c }, writeValue: function (e, g, b) { var c = g[this.nameProperty], a = this.dateFormat || g.dateWriteFormat || g.dateFormat, d = b.get(g.name); if (c == null) { c = g.name } if (g.serialize) { e[c] = g.serialize(d, b) } else { if (g.type === Ext.data.Types.DATE && a && Ext.isDate(d)) { e[c] = Ext.Date.format(d, a) } else { e[c] = d } } } }, 1, 0, 0, 0, ["writer.base"], 0, [Ext.data.writer, "Writer", Ext.data, "DataWriter", Ext.data, "Writer"], 0)); (Ext.cmd.derive("Ext.data.writer.Json", Ext.data.writer.Writer, { alternateClassName: "Ext.data.JsonWriter", root: undefined, encode: false, allowSingle: true, expandData: false, getExpandedData: function (d) { var b = d.length, e = 0, k, a, g, c, h, l = function (j, m) { var n = {}; n[j] = m; return n }; for (; e < b; e++) { k = d[e]; for (a in k) { if (k.hasOwnProperty(a)) { g = a.split("."); c = g.length - 1; if (c > 0) { h = k[a]; for (; c > 0; c--) { h = l(g[c], h) } k[g[0]] = k[g[0]] || {}; Ext.Object.merge(k[g[0]], h); delete k[a] } } } } return d }, writeRecords: function (b, c) { var a = this.root; if (this.expandData) { c = this.getExpandedData(c) } if (this.allowSingle && c.length === 1) { c = c[0] } if (this.encode) { if (a) { b.params[a] = Ext.encode(c) } else {} } else { b.jsonData = b.jsonData || {}; if (a) { b.jsonData[a] = c } else { b.jsonData = c } } return b } }, 0, 0, 0, 0, ["writer.json"], 0, [Ext.data.writer, "Json", Ext.data, "JsonWriter"], 0)); (Ext.cmd.derive("Ext.data.proxy.Proxy", Ext.Base, { alternateClassName: ["Ext.data.DataProxy", "Ext.data.Proxy"], batchOrder: "create,update,destroy", batchActions: true, defaultReaderType: "json", defaultWriterType: "json", isProxy: true, isSynchronous: false, constructor: function (a) { var b = this; a = a || {}; b.proxyConfig = a; b.mixins.observable.constructor.call(b, a); if (b.model !== undefined && !(b.model instanceof Ext.data.Model)) { b.setModel(b.model) } else { if (b.reader) { b.setReader(b.reader) } if (b.writer) { b.setWriter(b.writer) } } }, setModel: function (a, b) { var c = this; c.model = Ext.ModelManager.getModel(a); c.setReader(this.reader); c.setWriter(this.writer); if (b && c.store) { c.store.setModel(c.model) } }, getModel: function () { return this.model }, setReader: function (a) { var c = this, b = true, d = c.reader; if (a === undefined || typeof a == "string") { a = { type: a }; b = false } if (a.isReader) { a.setModel(c.model) } else { if (b) { a = Ext.apply({}, a) } Ext.applyIf(a, { proxy: c, model: c.model, type: c.defaultReaderType }); a = Ext.createByAlias("reader." + a.type, a) } if (a !== d && a.onMetaChange) { a.onMetaChange = Ext.Function.createSequence(a.onMetaChange, this.onMetaChange, this) } c.reader = a; return c.reader }, getReader: function () { return this.reader }, onMetaChange: function (a) { this.fireEvent("metachange", this, a) }, setWriter: function (c) { var b = this, a = true; if (c === undefined || typeof c == "string") { c = { type: c }; a = false } if (!c.isWriter) { if (a) { c = Ext.apply({}, c) } Ext.applyIf(c, { model: b.model, type: b.defaultWriterType }); c = Ext.createByAlias("writer." + c.type, c) } b.writer = c; return b.writer }, getWriter: function () { return this.writer }, create: Ext.emptyFn, read: Ext.emptyFn, update: Ext.emptyFn, destroy: Ext.emptyFn, batch: function (p, m) { var l = this, k = l.batchActions, h, c, g, d, e, n, b, o, j; if (p.operations === undefined) { p = { operations: p, listeners: m } } if (p.batch) { if (Ext.isDefined(p.batch.runOperation)) { h = Ext.applyIf(p.batch, { proxy: l, listeners: {} }) } } else { p.batch = { proxy: l, listeners: p.listeners || {} } } if (!h) { h = new Ext.data.Batch(p.batch) } h.on("complete", Ext.bind(l.onBatchComplete, l, [p], 0)); g = l.batchOrder.split(","); d = g.length; for (n = 0; n < d; n++) { e = g[n]; c = p.operations[e]; if (c) { if (k) { h.add(new Ext.data.Operation({ action: e, records: c })) } else { o = c.length; for (b = 0; b < o; b++) { j = c[b]; h.add(new Ext.data.Operation({ action: e, records: [j] })) } } } } h.start(); return h }, onBatchComplete: function (a, b) { var c = a.scope || this; if (b.hasException) { if (Ext.isFunction(a.failure)) { Ext.callback(a.failure, c, [b, a]) } } else { if (Ext.isFunction(a.success)) { Ext.callback(a.success, c, [b, a]) } } if (Ext.isFunction(a.callback)) { Ext.callback(a.callback, c, [b, a]) } }, clone: function () { return new this.self(this.proxyConfig) } }, 1, 0, 0, 0, ["proxy.proxy"], [["observable", Ext.util.Observable]], [Ext.data.proxy, "Proxy", Ext.data, "DataProxy", Ext.data, "Proxy"], 0)); (Ext.cmd.derive("Ext.data.Operation", Ext.Base, { synchronous: true, action: undefined, filters: undefined, sorters: undefined, groupers: undefined, start: undefined, limit: undefined, batch: undefined, callback: undefined, scope: undefined, started: false, running: false, complete: false, success: undefined, exception: false, error: undefined, actionCommitRecordsRe: /^(?:create|update)$/i, actionSkipSyncRe: /^destroy$/i, constructor: function (a) { Ext.apply(this, a || {}) }, commitRecords: function (n) { var j = this, m = j.actionCommitRecordsRe.test(j.action), l, h, a, e, b, d, g, k, c; if (!j.actionSkipSyncRe.test(j.action)) { a = j.records; if (a && a.length) { if (m) { c = [] } if (a.length > 1) { if (j.action == "update" || a[0].clientIdProperty) { l = new Ext.util.MixedCollection(); l.addAll(n); for (h = a.length; h--; ) { b = a[h]; e = l.findBy(j.matchClientRec, b); k = b.copyFrom(e); if (m) { c.push(k) } } } else { for (d = 0, g = a.length; d < g; ++d) { b = a[d]; e = n[d]; if (b && e) { k = j.updateRecord(b, e); if (m) { c.push(k) } } } } } else { k = j.updateRecord(a[0], n[0]); if (m) { c[0] = k } } if (m) { for (h = a.length; h--; ) { a[h].commit(false, c[h]) } } } } }, updateRecord: function (a, b) { if (b && (a.phantom || a.getId() === b.getId())) { return a.copyFrom(b) } return [] }, matchClientRec: function (c) { var a = this, b = a.getId(); if (b && c.getId() === b) { return true } return c.internalId === a.internalId }, setStarted: function () { this.started = true; this.running = true }, setCompleted: function () { this.complete = true; this.running = false }, setSuccessful: function () { this.success = true }, setException: function (a) { this.exception = true; this.success = false; this.running = false; this.error = a }, hasException: function () { return this.exception === true }, getError: function () { return this.error }, getRecords: function () { var a = this.getResultSet(); return this.records || (a ? a.records : null) }, getResultSet: function () { return this.resultSet }, isStarted: function () { return this.started === true }, isRunning: function () { return this.running === true }, isComplete: function () { return this.complete === true }, wasSuccessful: function () { return this.isComplete() && this.success === true }, setBatch: function (a) { this.batch = a }, allowWrite: function () { return this.action != "read" } }, 1, 0, 0, 0, 0, 0, [Ext.data, "Operation"], 0)); (Ext.cmd.derive("Ext.data.AbstractStore", Ext.Base, { statics: { create: function (a) { if (!a.isStore) { if (!a.type) { a.type = "store" } a = Ext.createByAlias("store." + a.type, a) } return a } }, onClassExtended: function (b, d, a) { var c = d.model, e; if (typeof c == "string") { e = a.onBeforeCreated; a.onBeforeCreated = function () { var h = this, g = arguments; Ext.require(c, function () { e.apply(h, g) }) } } }, remoteSort: false, remoteFilter: false, autoLoad: undefined, autoSync: false, batchUpdateMode: "operation", filterOnLoad: true, sortOnLoad: true, implicitModel: false, defaultProxyType: "memory", isDestroyed: false, isStore: true, sortRoot: "data", constructor: function (a) { var c = this, b; Ext.apply(c, a); c.removed = []; c.mixins.observable.constructor.apply(c, arguments); c.model = Ext.ModelManager.getModel(c.model); Ext.applyIf(c, { modelDefaults: null }); if (!c.model && c.fields) { c.model = Ext.define("Ext.data.Store.ImplicitModel-" + (c.storeId || Ext.id()), { extend: "Ext.data.Model", fields: c.fields, proxy: c.proxy || c.defaultProxyType }); delete c.fields; c.implicitModel = true } c.setProxy(c.proxy || c.model.getProxy()); if (!c.disableMetaChangeEvent) { c.proxy.on("metachange", c.onMetaChange, c) } if (c.id && !c.storeId) { c.storeId = c.id; delete c.id } if (c.storeId) { Ext.data.StoreManager.register(c) } c.mixins.sortable.initSortable.call(c); b = c.decodeFilters(c.filters); c.filters = new Ext.util.MixedCollection(); c.filters.addAll(b) }, setProxy: function (a) { var b = this; if (a instanceof Ext.data.proxy.Proxy) { a.setModel(b.model) } else { if (Ext.isString(a)) { a = { type: a } } Ext.applyIf(a, { model: b.model }); a = Ext.createByAlias("proxy." + a.type, a) } b.proxy = a; return b.proxy }, getProxy: function () { return this.proxy }, onMetaChange: function (a, b) { this.fireEvent("metachange", this, b) }, create: function (e, c) { var d = this, a = Ext.ModelManager.create(Ext.applyIf(e, d.modelDefaults), d.model.modelName), b; c = c || {}; Ext.applyIf(c, { action: "create", records: [a] }); b = new Ext.data.Operation(c); d.proxy.create(b, d.onProxyWrite, d); return a }, read: function () { return this.load.apply(this, arguments) }, update: function (b) { var c = this, a; b = b || {}; Ext.applyIf(b, { action: "update", records: c.getUpdatedRecords() }); a = new Ext.data.Operation(b); return c.proxy.update(a, c.onProxyWrite, c) }, onProxyWrite: function (b) { var c = this, d = b.wasSuccessful(), a = b.getRecords(); switch (b.action) { case "create": c.onCreateRecords(a, b, d); break; case "update": c.onUpdateRecords(a, b, d); break; case "destroy": c.onDestroyRecords(a, b, d); break } if (d) { c.fireEvent("write", c, b); c.fireEvent("datachanged", c); c.fireEvent("refresh", c) } Ext.callback(b.callback, b.scope || c, [a, b, d]) }, onCreateRecords: Ext.emptyFn, onUpdateRecords: Ext.emptyFn, onDestroyRecords: function (b, a, c) { if (c) { this.removed = [] } }, destroy: function (b) { var c = this, a; b = b || {}; Ext.applyIf(b, { action: "destroy", records: c.getRemovedRecords() }); a = new Ext.data.Operation(b); return c.proxy.destroy(a, c.onProxyWrite, c) }, onBatchOperationComplete: function (b, a) { return this.onProxyWrite(a) }, onBatchComplete: function (c, a) { var g = this, b = c.operations, e = b.length, d; g.suspendEvents(); for (d = 0; d < e; d++) { g.onProxyWrite(b[d]) } g.resumeEvents(); g.fireEvent("datachanged", g); g.fireEvent("refresh", g) }, onBatchException: function (b, a) {}, filterNew: function (a) { return a.phantom === true && a.isValid() }, getNewRecords: function () { return [] }, getUpdatedRecords: function () { return [] }, getModifiedRecords: function () { return [].concat(this.getNewRecords(), this.getUpdatedRecords()) }, filterUpdated: function (a) { return a.dirty === true && a.phantom !== true && a.isValid() }, getRemovedRecords: function () { return this.removed }, filter: function (a, b) {}, decodeFilters: function (e) { if (!Ext.isArray(e)) { if (e === undefined) { e = [] } else { e = [e] } } var d = e.length, a = Ext.util.Filter, b, c; for (c = 0; c < d; c++) { b = e[c]; if (!(b instanceof a)) { Ext.apply(b, { root: "data" }); if (b.fn) { b.filterFn = b.fn } if (typeof b == "function") { b = { filterFn: b } } e[c] = new a(b) } } return e }, clearFilter: function (a) {}, isFiltered: function () {}, filterBy: function (b, a) {}, sync: function (c) { var e = this, b = {}, g = e.getNewRecords(), d = e.getUpdatedRecords(), a = e.getRemovedRecords(), h = false; if (g.length > 0) { b.create = g; h = true } if (d.length > 0) { b.update = d; h = true } if (a.length > 0) { b.destroy = a; h = true } if (h && e.fireEvent("beforesync", b) !== false) { c = c || {}; e.proxy.batch(Ext.apply(c, { operations: b, listeners: e.getBatchListeners() })) } return e }, getBatchListeners: function () { var b = this, a = { scope: b, exception: b.onBatchException }; if (b.batchUpdateMode == "operation") { a.operationcomplete = b.onBatchOperationComplete } else { a.complete = b.onBatchComplete } return a }, save: function () { return this.sync.apply(this, arguments) }, load: function (b) { var c = this, a; b = Ext.apply({ action: "read", filters: c.filters.items, sorters: c.getSorters() }, b); c.lastOptions = b; a = new Ext.data.Operation(b); if (c.fireEvent("beforeload", c, a) !== false) { c.loading = true; c.proxy.read(a, c.onProxyLoad, c) } return c }, reload: function (a) { return this.load(Ext.apply(this.lastOptions, a)) }, afterEdit: function (a, e) { var d = this, b, c; if (d.autoSync && !d.autoSyncSuspended) { for (b = e.length; b--; ) { if (a.fields.get(e[b]).persist) { c = true; break } } if (c) { d.sync() } } d.onUpdate(a, Ext.data.Model.EDIT, e); d.fireEvent("update", d, a, Ext.data.Model.EDIT, e) }, afterReject: function (a) { this.onUpdate(a, Ext.data.Model.REJECT, null); this.fireEvent("update", this, a, Ext.data.Model.REJECT, null) }, afterCommit: function (a, b) { if (!b) { b = null } this.onUpdate(a, Ext.data.Model.COMMIT, b); this.fireEvent("update", this, a, Ext.data.Model.COMMIT, b) }, onUpdate: Ext.emptyFn, onIdChanged: function (c, d, b, a) { this.fireEvent("idchanged", this, c, d, b, a) }, destroyStore: function () { var a, b = this; if (!b.isDestroyed) { b.clearListeners(); if (b.storeId) { Ext.data.StoreManager.unregister(b) } b.clearData(); b.data = b.tree = b.sorters = b.filters = b.groupers = null; if (b.reader) { b.reader.destroyReader() } b.proxy = b.reader = b.writer = null; b.isDestroyed = true; if (b.implicitModel) { a = Ext.getClassName(b.model); Ext.undefine(a); Ext.ModelManager.unregisterType(a) } else { b.model = null } } }, getState: function () { var e = this, c, a, b = !!e.groupers, g = [], h = [], d = []; if (b) { e.groupers.each(function (j) { g[g.length] = j.serialize(); c = true }) } if (e.sorters) { e.sorters.each(function (j) { if (b && !e.groupers.contains(j)) { h[h.length] = j.serialize(); c = true } }) } if (e.filters && e.statefulFilters) { e.filters.each(function (j) { d[d.length] = j.serialize(); c = true }) } if (c) { a = {}; if (g.length) { a.groupers = g } if (h.length) { a.sorters = h } if (d.length) { a.filters = d } return a } }, applyState: function (g) { var e = this, c = !!e.sorters, b = !!e.groupers, a = !!e.filters, d; if (b && g.groupers) { e.groupers.clear(); e.groupers.addAll(e.decodeGroupers(g.groupers)) } if (c && g.sorters) { e.sorters.clear(); e.sorters.addAll(e.decodeSorters(g.sorters)) } if (a && g.filters) { e.filters.clear(); e.filters.addAll(e.decodeFilters(g.filters)) } if (c && b) { e.sorters.insert(0, e.groupers.getRange()) } if (e.autoLoad && (e.remoteSort || e.remoteGroup || e.remoteFilter)) { if (e.autoLoad === true) { e.reload() } else { e.reload(e.autoLoad) } } if (a && e.filters.length && !e.remoteFilter) { e.filter(); d = e.sortOnFilter } if (c && e.sorters.length && !e.remoteSort && !d) { e.sort() } }, doSort: function (a) { var b = this; if (b.remoteSort) { b.load() } else { b.data.sortBy(a); b.fireEvent("datachanged", b); b.fireEvent("refresh", b) } b.fireEvent("sort", b, b.sorters.getRange()) }, clearData: Ext.emptyFn, getCount: Ext.emptyFn, getById: Ext.emptyFn, removeAll: Ext.emptyFn, isLoading: function () { return !!this.loading }, suspendAutoSync: function () { this.autoSyncSuspended = true }, resumeAutoSync: function () { this.autoSyncSuspended = false } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable], ["sortable", Ext.util.Sortable]], [Ext.data, "AbstractStore"], 0)); (Ext.cmd.derive("Ext.app.domain.Store", Ext.app.EventDomain, { singleton: true, type: "store", idProperty: "storeId", constructor: function () { var a = this; a.callParent(); a.monitor(Ext.data.AbstractStore) } }, 1, 0, 0, 0, 0, 0, [Ext.app.domain, "Store"], 0)); (Ext.cmd.derive("Ext.app.Controller", Ext.Base, { statics: { strings: { model: { getter: "getModel", upper: "Model" }, view: { getter: "getView", upper: "View" }, controller: { getter: "getController", upper: "Controller" }, store: { getter: "getStore", upper: "Store" } }, controllerRegex: /^(.*)\.controller\./, createGetter: function (a, b) { return function () { return this[a](b) } }, getGetterName: function (c, a) { var d = "get", e = c.split("."), g = e.length, b; for (b = 0; b < g; b++) { d += Ext.String.capitalize(e[b]) } d += a; return d }, processDependencies: function (r, s, c, d, k) { if (!k || !k.length) { return } var l = this, q = l.strings[d], b, p, n, a, e, g, m, h; if (!Ext.isArray(k)) { k = [k] } for (e = 0, g = k.length; e < g; e++) { a = k[e]; b = l.getFullName(a, d, c); p = b.absoluteName; n = b.shortName; s.push(p); m = l.getGetterName(n, q.upper); r[m] = h = l.createGetter(q.getter, a); if (d !== "controller") { h["Ext.app.getter"] = true } } }, getFullName: function (c, e, d) { var a = c, b, g; if ((b = c.indexOf("@")) > 0) { a = c.substring(0, b); g = c.substring(b + 1) + "." + a } else { if (c.indexOf(".") > 0 && (Ext.ClassManager.isCreated(c) || Ext.Loader.isAClassNameWithAKnownPrefix(c))) { g = c } else { if (d) { g = d + "." + e + "." + c; a = c } else { g = c } } } return { absoluteName: g, shortName: a } } }, application: null, onClassExtended: function (b, c, a) { var d = a.onBeforeCreated; a.onBeforeCreated = function (n, h) { var g = Ext.app.Controller, l = g.controllerRegex, o = [], m, e, o, k, j; k = n.prototype; m = Ext.getClassName(n); e = h.$namespace || Ext.app.getNamespace(m) || ((j = l.exec(m)) && j[1]); if (e) { k.$namespace = e } g.processDependencies(k, o, e, "model", h.models); g.processDependencies(k, o, e, "view", h.views); g.processDependencies(k, o, e, "store", h.stores); g.processDependencies(k, o, e, "controller", h.controllers); Ext.require(o, Ext.Function.pass(d, arguments, this)) } }, constructor: function (a) { var b = this; b.mixins.observable.constructor.call(b, a); if (b.refs) { b.ref(b.refs) } b.eventbus = Ext.app.EventBus; b.initAutoGetters() }, initAutoGetters: function () { var b = this.self.prototype, c, a; for (c in b) { a = b[c]; if (a && a["Ext.app.getter"]) { a.call(this) } } }, doInit: function (b) { var a = this; if (!a._initialized) { a.init(b); a._initialized = true } }, finishInit: function (g) { var d = this, e = d.controllers, b, c, a; if (d._initialized && e && e.length) { for (c = 0, a = e.length; c < a; c++) { b = d.getController(e[c]); b.finishInit(g) } } }, init: Ext.emptyFn, onLaunch: Ext.emptyFn, ref: function (a) { var g = this, b = 0, e = a.length, h, d, c; a = Ext.Array.from(a); g.references = g.references || []; for (; b < e; b++) { h = a[b]; d = h.ref; c = "get" + Ext.String.capitalize(d); if (!g[c]) { g[c] = Ext.Function.pass(g.getRef, [d, h], g) } g.references.push(d.toLowerCase()) } }, addRef: function (a) { this.ref(a) }, getRef: function (d, g, a) { var c = this, e = c.refCache || (c.refCache = {}), b = e[d]; g = g || {}; a = a || {}; Ext.apply(g, a); if (g.forceCreate) { return Ext.ComponentManager.create(g, "component") } if (!b) { if (g.selector) { e[d] = b = Ext.ComponentQuery.query(g.selector)[0] } if (!b && g.autoCreate) { e[d] = b = Ext.ComponentManager.create(g, "component") } if (b) { b.on("beforedestroy", function () { e[d] = null }) } } return b }, hasRef: function (b) { var a = this.references; return a && Ext.Array.indexOf(a, b.toLowerCase()) !== -1 }, control: function (b, c, a) { var d = this, e = a, g; if (Ext.isString(b)) { g = {}; g[b] = c } else { g = b; e = c } d.eventbus.control(g, e || d) }, listen: function (b, a) { this.eventbus.listen(b, a || this) }, getController: function (c) { var a = this, b = a.application; if (c === a.id) { return a } return b && b.getController(c) }, getStore: function (c) { var a, b; a = (c.indexOf("@") == -1) ? c : c.split("@")[0]; b = Ext.StoreManager.get(a); if (!b) { c = Ext.app.Controller.getFullName(c, "store", this.$namespace); if (c) { b = Ext.create(c.absoluteName, { storeId: a }) } } return b }, getModel: function (b) { var a = Ext.app.Controller.getFullName(b, "model", this.$namespace); return a && Ext.ModelManager.getModel(a.absoluteName) }, getView: function (a) { var b = Ext.app.Controller.getFullName(a, "view", this.$namespace); return b && Ext.ClassManager.get(b.absoluteName) }, getApplication: function () { return this.application } }, 1, 0, 0, 0, 0, [["observable", Ext.util.Observable]], [Ext.app, "Controller"], 0)); (Ext.cmd.derive("Ext.container.DockingContainer", Ext.Base, { isDockingContainer: true, defaultDockWeights: { top: { render: 1, visual: 1 }, left: { render: 3, visual: 5 }, right: { render: 5, visual: 7 }, bottom: { render: 7, visual: 3 } }, dockOrder: { top: -1, left: -1, right: 1, bottom: 1 }, horizontalDocks: 0, addDocked: function (a, g) { var e = this, b = 0, d, c; a = e.prepareItems(a); c = a.length; for (; b < c; b++) { d = a[b]; d.dock = d.dock || "top"; if (d.dock === "left" || d.dock === "right") { e.horizontalDocks++ } if (g !== undefined) { b += g; e.dockedItems.insert(b, d) } else { e.dockedItems.add(d) } d.onAdded(e, b); if (e.hasListeners.dockedadd) { e.fireEvent("dockedadd", e, d, b) } if (e.onDockedAdd !== Ext.emptyFn) { e.onDockedAdd(d) } } if (e.rendered && !e.suspendLayout) { e.updateLayout() } return a }, destroyDockedItems: function () { var a = this.dockedItems, b; if (a) { while ((b = a.first())) { this.removeDocked(b, true) } } }, doRenderDockedItems: function (c, g, h) { var e = g.$comp, d = e.componentLayout, b, a; if (d.getDockedItems && !g.$skipDockedItems) { b = d.getDockedItems("render", !h); a = b && d.getItemsRenderTree(b); if (a) { Ext.DomHelper.generateMarkup(a, c) } } }, getDockedComponent: function (a) { if (Ext.isObject(a)) { a = a.getItemId() } return this.dockedItems.get(a) }, getDockedItems: function (a, c) { var b = this.getComponentLayout().getDockedItems("render", c); if (a && b.length) { b = Ext.ComponentQuery.query(a, b) } return b }, getDockingRefItems: function (b, e) { var a = b && "*,* *", d = this.getDockedItems(a, true), c; d.push.apply(d, e); c = this.getDockedItems(a, false); d.push.apply(d, c); return d }, initDockingItems: function () { var b = this, a = b.dockedItems; b.dockedItems = new Ext.util.AbstractMixedCollection(false, b.getComponentId); if (a) { b.addDocked(a) } }, insertDocked: function (b, a) { this.addDocked(a, b) }, onDockedAdd: Ext.emptyFn, onDockedRemove: Ext.emptyFn, removeDocked: function (e, b) { var d = this, c, a; b = b === true || (b !== false && d.autoDestroy); if (!d.dockedItems.contains(e)) { return e } if (e.dock === "left" || e.dock === "right") { d.horizontalDocks-- } c = d.componentLayout; a = c && d.rendered; if (a) { c.onRemove(e) } d.dockedItems.remove(e); e.onRemoved(e.destroying || b); d.onDockedRemove(e); if (b) { e.destroy() } else { if (a) { c.afterRemove(e) } } if (d.hasListeners.dockedremove) { d.fireEvent("dockedremove", d, e) } if (!d.destroying && !d.suspendLayout) { d.updateLayout() } return e }, setupDockingRenderTpl: function (a) { a.renderDockedItems = this.doRenderDockedItems } }, 0, 0, 0, 0, 0, 0, [Ext.container, "DockingContainer"], 0)); (Ext.cmd.derive("Ext.toolbar.Fill", Ext.Component, { alternateClassName: "Ext.Toolbar.Fill", isFill: true, flex: 1 }, 0, ["tbfill"], ["component", "box", "tbfill"], { component: true, box: true, tbfill: true }, ["widget.tbfill"], 0, [Ext.toolbar, "Fill", Ext.Toolbar, "Fill"], 0)); (Ext.cmd.derive("Ext.layout.container.boxOverflow.None", Ext.Base, { alternateClassName: "Ext.layout.boxOverflow.None", constructor: function (b, a) { this.layout = b; Ext.apply(this, a) }, handleOverflow: Ext.emptyFn, clearOverflow: Ext.emptyFn, beginLayout: Ext.emptyFn, beginLayoutCycle: Ext.emptyFn, calculate: function (b) { var a = this, c = b.state.boxPlan, d; if (c && c.tooNarrow) { d = a.handleOverflow(b); if (d) { if (d.reservedSpace) { a.layout.publishInnerCtSize(b, d.reservedSpace) } } } else { a.clearOverflow() } }, completeLayout: Ext.emptyFn, finishedLayout: function (d) { var c = this, a = c.layout.owner, b, e; if (a.hasListeners.overflowchange) { b = a.query(">[hidden]"); e = b.length; if (e !== c.lastHiddenCount) { a.fireEvent("overflowchange", c.lastHiddenCount, e, b); c.lastHiddenCount = e } } }, onRemove: Ext.emptyFn, getItem: function (a) { return this.layout.owner.getComponent(a) }, getOwnerType: function (a) { var b; if (a.isToolbar) { b = "toolbar" } else { if (a.isTabBar) { b = "tabbar" } else { if (a.isMenu) { b = "menu" } else { b = a.getXType() } } } return b }, getPrefixConfig: Ext.emptyFn, getSuffixConfig: Ext.emptyFn, getOverflowCls: function () { return "" } }, 1, 0, 0, 0, 0, 0, [Ext.layout.container.boxOverflow, "None", Ext.layout.boxOverflow, "None"], 0)); (Ext.cmd.derive("Ext.toolbar.Item", Ext.Component, { alternateClassName: "Ext.Toolbar.Item", enable: Ext.emptyFn, disable: Ext.emptyFn, focus: Ext.emptyFn }, 0, ["tbitem"], ["tbitem", "component", "box"], { tbitem: true, component: true, box: true }, ["widget.tbitem"], 0, [Ext.toolbar, "Item", Ext.Toolbar, "Item"], 0)); (Ext.cmd.derive("Ext.toolbar.Separator", Ext.toolbar.Item, { alternateClassName: "Ext.Toolbar.Separator", baseCls: Ext.baseCSSPrefix + "toolbar-separator", focusable: false }, 0, ["tbseparator"], ["tbitem", "component", "box", "tbseparator"], { tbitem: true, component: true, box: true, tbseparator: true }, ["widget.tbseparator"], 0, [Ext.toolbar, "Separator", Ext.Toolbar, "Separator"], 0)); (Ext.cmd.derive("Ext.button.Manager", Ext.Base, { singleton: true, alternateClassName: "Ext.ButtonToggleManager", groups: {}, pressedButton: null, buttonSelector: "." + Ext.baseCSSPrefix + "btn", init: function () { var a = this; if (!a.initialized) { Ext.getDoc().on({ keydown: a.onDocumentKeyDown, mouseup: a.onDocumentMouseUp, scope: a }); a.initialized = true } }, onDocumentKeyDown: function (c) { var a = c.getKey(), b; if (a === c.SPACE || a === c.ENTER) { b = c.getTarget(this.buttonSelector); if (b) { Ext.getCmp(b.id).onClick(c) } } }, onButtonMousedown: function (a, c) { var b = this.pressedButton; if (b) { b.onMouseUp(c) } this.pressedButton = a }, onDocumentMouseUp: function (b) { var a = this.pressedButton; if (a) { a.onMouseUp(b); this.pressedButton = null } }, toggleGroup: function (b, e) { if (e) { var d = this.groups[b.toggleGroup], c = d.length, a; for (a = 0; a < c; a++) { if (d[a] !== b) { d[a].toggle(false) } } } }, register: function (b) { var c = this, a = this.groups, d = a[b.toggleGroup]; c.init(); if (!b.toggleGroup) { return } if (!d) { d = a[b.toggleGroup] = [] } d.push(b); b.on("toggle", c.toggleGroup, c) }, unregister: function (a) { if (!a.toggleGroup) { return } var b = this, c = b.groups[a.toggleGroup]; if (c) { Ext.Array.remove(c, a); a.un("toggle", b.toggleGroup, b) } }, getPressed: function (d) { var c = this.groups[d], b = 0, a; if (c) { for (a = c.length; b < a; b++) { if (c[b].pressed === true) { return c[b] } } } return null } }, 0, 0, 0, 0, 0, 0, [Ext.button, "Manager", Ext, "ButtonToggleManager"], 0)); (Ext.cmd.derive("Ext.menu.Manager", Ext.Base, { singleton: true, alternateClassName: "Ext.menu.MenuMgr", menuSelector: "." + Ext.baseCSSPrefix + "menu", menus: {}, groups: {}, attached: false, lastShow: new Date(), init: function () { var a = this; a.active = new Ext.util.MixedCollection(); Ext.getDoc().addKeyListener(27, function () { if (a.active.length > 0) { a.hideAll() } }, a) }, hideAll: function () { var c = this.active, b, a, d; if (c && c.length > 0) { b = Ext.Array.slice(c.items); d = b.length; for (a = 0; a < d; a++) { b[a].hide() } return true } return false }, onHide: function (a) { var b = this, c = b.active; c.remove(a);