UNPKG

zoomla

Version:

16年专业研发|中文alexa排名第一的CMS品牌-基于dotNET core、功能强大,集成站群、微信开发、小程序与ERP及OA办公系统,支持国际语言和多民族语言,世界五百强与大型门户专用高端网站内核CMS系统

2,708 lines 94.5 kB
/*!
 * ====================================================
 * Flex UI - v1.0.0 - 2014-10-31
 * https://github.com/fex-team/fui
 * GitHub: https://github.com/fex-team/fui.git
 * Copyright (c) 2014 Baidu Kity Group; Licensed MIT
 * ====================================================
 */
!
function() {
	function use(a) {
		_p.r([moduleMapping[a]])
	}
	var _p = {
		r: function(a) {
			if (_p[a].inited) return _p[a].value;
			if ("function" != typeof _p[a].value) return _p[a].inited = !0, _p[a].value;
			var b = {
				exports: {}
			},
				c = _p[a].value(null, b.exports, b);
			if (_p[a].inited = !0, _p[a].value = c, void 0 !== c) return c;
			for (var d in b.exports) if (b.exports.hasOwnProperty(d)) return _p[a].inited = !0, _p[a].value = b.exports, b.exports
		}
	};
	_p[0] = {
		value: function() {
			function a(a) {
				var b = d[a.clazz];
				return b ? new b(a) : null
			}
			var b = {},
				c = _p.r(4),
				d = _p.r(11);
			return c.extend(b, {
				parse: function(b) {
					var d = [];
					return c.isArray(b) ? (c.each(b, function(b, c) {
						d.push(a(c))
					}), d) : a(b)
				}
			}), b
		}
	}, _p[1] = {
		value: function() {
			var a = _p.r(11);
			a.___register({
				ALLOW_FOCUS: !0
			}), a.___register({
				Widget: _p.r(60),
				Icon: _p.r(42),
				Label: _p.r(48),
				Button: _p.r(37),
				ToggleButton: _p.r(59),
				Buttonset: _p.r(36),
				Separator: _p.r(56),
				Item: _p.r(46),
				Input: _p.r(45),
				InputButton: _p.r(43),
				Mask: _p.r(49),
				ColorPicker: _p.r(38),
				Tabs: _p.r(58),
				SpinButton: _p.r(57),
				Container: _p.r(39),
				Panel: _p.r(51),
				PPanel: _p.r(54),
				LabelPanel: _p.r(47),
				Menu: _p.r(50),
				InputMenu: _p.r(44),
				ButtonMenu: _p.r(34),
				DropPanel: _p.r(41),
				Popup: _p.r(53),
				PopupMenu: _p.r(52),
				SelectMenu: _p.r(55),
				Dialog: _p.r(40),
				Utils: _p.r(13),
				Creator: _p.r(0)
			}), a.__export()
		}
	}, _p[2] = {
		value: function() {
			var a = _p.r(11);
			a.___register({
				TablePicker: _p.r(17)
			})
		}
	}, _p[3] = {
		value: function() {
			return jhtmls
		}
	}, _p[4] = {
		value: function() {
			return window.jQuery
		}
	}, _p[5] = {
		value: function(require, exports) {
			function Class() {}
			function checkBaseConstructorCall(a, b) {
				var c = a.toString();
				if (!/this\.callBase/.test(c)) throw new Error(b + " : \u7c7b\u6784\u9020\u51fd\u6570\u6ca1\u6709\u8c03\u7528\u7236\u7c7b\u7684\u6784\u9020\u51fd\u6570\uff01\u4e3a\u4e86\u5b89\u5168\uff0c\u8bf7\u8c03\u7528\u7236\u7c7b\u7684\u6784\u9020\u51fd\u6570")
			}
			function inherit(constructor, BaseClass, classname) {
				var KityClass = eval("(function " + classname + "( __inherit__flag ) {if( __inherit__flag != KITY_INHERIT_FLAG ) {KityClass.__KityConstructor.apply(this, arguments);}this.__KityClassName = KityClass.__KityClassName;})||0");
				KityClass.__KityConstructor = constructor, KityClass.prototype = new BaseClass(KITY_INHERIT_FLAG);
				for (var methodName in BaseClass.prototype) BaseClass.prototype.hasOwnProperty(methodName) && 0 !== methodName.indexOf("__Kity") && (KityClass.prototype[methodName] = BaseClass.prototype[methodName]);
				return KityClass.prototype.constructor = KityClass, KityClass
			}
			function mixin(a, b) {
				if (!1 == b instanceof Array) return a;
				var c, d, e, f = b.length;
				for (a.__KityMixins = {
					constructor: []
				}, c = 0; f > c; c++) {
					d = b[c].prototype;
					for (e in d)!1 !== d.hasOwnProperty(e) && 0 !== e.indexOf("__Kity") && ("constructor" === e ? a.__KityMixins.constructor.push(d[e]) : a.prototype[e] = a.__KityMixins[e] = d[e])
				}
				return a
			}
			function extend(a, b) {
				b.__KityClassName && (b = b.prototype);
				for (var c in b) if (b.hasOwnProperty(c) && c.indexOf("__Kity") && "constructor" != c) {
					var d = a.prototype[c] = b[c];
					d.__KityMethodClass = a, d.__KityMethodName = c
				}
				return a
			}
			Function.prototype.bind = Function.prototype.bind ||
			function(a) {
				var b = Array.prototype.slice.call(arguments, 1);
				return this.apply(a, b)
			}, Class.__KityClassName = "Class", Class.prototype.base = function(a) {
				var b = arguments.callee.caller,
					c = b.__KityMethodClass.__KityBaseClass.prototype[a];
				return c.apply(this, Array.prototype.slice.call(arguments, 1))
			}, Class.prototype.callBase = function() {
				var a = arguments.callee.caller,
					b = a.__KityMethodClass.__KityBaseClass.prototype[a.__KityMethodName];
				return b.apply(this, arguments)
			}, Class.prototype.mixin = function(a) {
				var b = arguments.callee.caller,
					c = b.__KityMethodClass.__KityMixins;
				if (!c) return this;
				var d = c[a];
				return d.apply(this, Array.prototype.slice.call(arguments, 1))
			}, Class.prototype.callMixin = function() {
				var a = arguments.callee.caller,
					b = a.__KityMethodName,
					c = a.__KityMethodClass.__KityMixins;
				if (!c) return this;
				var d = c[b];
				if ("constructor" == b) {
					for (var e = 0, f = d.length; f > e; e++) d[e].call(this);
					return this
				}
				return d.apply(this, arguments)
			}, Class.prototype.pipe = function(a) {
				return "function" == typeof a && a.call(this, this), this
			}, Class.prototype.getType = function() {
				return this.__KityClassName
			}, Class.prototype.getClass = function() {
				return this.constructor
			};
			var KITY_INHERIT_FLAG = "__KITY_INHERIT_FLAG_" + +new Date;
			Class.prototype._accessProperty = function() {
				return this._propertyRawData || (this._propertyRawData = {})
			}, exports.createClass = function(a, b) {
				var c, d, e;
				return 1 === arguments.length && (b = arguments[0], a = "AnonymousClass"), e = b.base || Class, b.hasOwnProperty("constructor") ? (c = b.constructor, e != Class && checkBaseConstructorCall(c, a)) : c = function() {
					this.callBase.apply(this, arguments), this.callMixin.apply(this, arguments)
				}, d = inherit(c, e, a), d = mixin(d, b.mixins), d.__KityClassName = c.__KityClassName = a, d.__KityBaseClass = c.__KityBaseClass = e, d.__KityMethodName = c.__KityMethodName = "constructor", d.__KityMethodClass = c.__KityMethodClass = d, delete b.mixins, delete b.constructor, delete b.base, d = extend(d, b)
			}, exports.extendClass = extend
		}
	}, _p[6] = {
		value: function() {
			var a = _p.r(4),
				b = "__fui__marker__" + +new Date;
			return {
				isElement: function(a) {
					return 1 === a.nodeType
				},
				getMarker: function() {
					return b
				},
				getRect: function(b) {
					var c = b.getBoundingClientRect();
					return {
						width: c.width || a(b).width(),
						height: c.height || a(b).height(),
						top: c.top,
						bottom: c.bottom,
						left: c.left,
						right: c.right
					}
				},
				getBound: function(b) {
					var c = 0,
						d = 0;
					return "body" === b.tagName.toLowerCase() ? (d = a(this.getView(b)), c = d.width(), d = d.height(), {
						top: 0,
						left: 0,
						bottom: d,
						right: c,
						width: c,
						height: d
					}) : this.getRect(b)
				},
				getView: function(a) {
					return a.ownerDocument.defaultView || a.ownerDocument.parentWindow
				}
			}
		}
	}, _p[7] = {
		value: function() {
			var a = _p.r(3),
				b = _p.r(4),
				c = {
					forEach: function(a, c) {
						b.each(a, function(a, b) {
							c.call(null, a, b)
						})
					}
				};
			return {
				compile: function(d, e) {
					return d = b.trim(d), 0 === d.length ? "" : a.render(d, e, c)
				}
			}
		}
	}, _p[8] = {
		value: function() {
			function a(a) {
				this.__options = b.extend({}, d, a), this.__started = !1, this.__point = {
					x: 0,
					y: 0
				}, this.__location = {
					x: 0,
					y: 0
				}, this.__range = {
					top: 0,
					left: 0,
					bottom: 0,
					right: 0
				}
			}
			var b = _p.r(4),
				c = _p.r(6),
				d = {
					handler: null,
					target: null,
					axis: "all",
					range: null
				};
			return b.extend(a.prototype, {
				bind: function(a) {
					if (a && (this.__options.target = a), !this.__options.target) throw new Error("target unset");
					this.__target = this.__options.target, this.__handler = this.__options.handler, this.__rangeNode = this.__options.range, this.__initOptions(), this.__initEnv(), this.__initEvent()
				},
				__initEvent: function() {
					var a = this.__handler,
						d = this;
					b(a).on("mousedown", function(b) {
						if (1 === b.which) {
							var e = c.getRect(a);
							b.preventDefault(), d.__started = !0, d.__point = {
								x: b.clientX,
								y: b.clientY
							}, d.__location = {
								x: e.left,
								y: e.top
							}, d.__range = d.__getRange()
						}
					}), b(a.ownerDocument).on("mousemove", function(a) {
						if (d.__started) {
							var b = a.clientX,
								c = a.clientY;
							d.__allowAxisX && d.__xMove(b), d.__allowAxisY && d.__yMove(c)
						}
					}).on("mouseup", function() {
						d.__started = !1
					})
				},
				__xMove: function(a) {
					var b = a - this.__point.x;
					b = this.__location.x + b, b < this.__range.left ? b = this.__range.left : b > this.__range.right && (b = this.__range.right), this.__target.style.left = b + "px"
				},
				__yMove: function(a) {
					var b = a - this.__point.y;
					b = this.__location.y + b, b < this.__range.top ? b = this.__range.top : b > this.__range.bottom && (b = this.__range.bottom), this.__target.style.top = b + "px"
				},
				__initEnv: function() {
					var a = b(this.__handler);
					a.css("cursor", "move")
				},
				__initOptions: function() {
					this.__handler || (this.__handler = this.__target), this.__rangeNode || (this.__rangeNode = this.__options.target.ownerDocument.body), this.__allowAxisX = "y" !== this.__options.axis, this.__allowAxisY = "x" !== this.__options.axis
				},
				__getRange: function() {
					var a = this.__rangeNode,
						d = c.getRect(this.__target);
					return "body" === a.tagName.toLowerCase() ? (a = b(this.__rangeNode.ownerDocument), a = {
						top: 0,
						left: 0,
						bottom: a.height(),
						right: a.width()
					}) : a = c.getRect(a), {
						top: a.top,
						left: a.left,
						bottom: a.bottom - d.height,
						right: a.right - d.width
					}
				}
			}), function(b) {
				return new a(b)
			}
		}
	}, _p[9] = {
		value: function() {
			function a(d) {
				var e = !1,
					f = !1,
					g = null;
				return 1 === arguments.length ? b(d) : (c.each([].slice.call(arguments, 1), function(b, h) {
					for (var i in h) g = h[i], h.hasOwnProperty(i) && (e = c.isPlainObject(g), f = c.isArray(g), e || f ? e ? (c.isPlainObject(d[i]) || (d[i] = {}), d[i] = a(d[i], g)) : f && (d[i] = a(g)) : d[i] = h[i])
				}), d)
			}
			function b(d) {
				var e = null;
				return c.isPlainObject(d) ? a({}, d) : c.isArray(d) ? (e = [], c.each(d, function(a, d) {
					e.push(c.isPlainObject(d) || c.isArray(d) ? b(d) : d)
				}), e) : d
			}
			var c = _p.r(4);
			return a
		}
	}, _p[10] = {
		value: function() {
			return {
				isContainer: function(a) {
					return "container" === a.__widgetType
				}
			}
		}
	}, _p[11] = {
		value: function() {
			var a = {};
			return {
				widgets: a,
				__export: function() {
					window.FUI = this
				},
				___register: function(a, b) {
					if ("string" == typeof a) this[a] = b;
					else {
						b = a;
						for (var c in b) b.hasOwnProperty(c) && (this[c] = b[c])
					}
				},
				__registerInstance: function(b) {
					a[b.getId()] = b
				}
			}
		}
	}, _p[12] = {
		value: function() {
			var a = _p.r(11);
			return {
				classPrefix: "fui-",
				layout: {
					TOP: "top",
					LEFT: "left",
					BOTTOM: "bottom",
					RIGHT: "right",
					CENTER: "center",
					MIDDLE: "middle",
					LEFT_TOP: "left-top",
					RIGHT_TOP: "right-top",
					LEFT_BOTTOM: "left-bottom",
					RIGHT_BOTTOM: "right-bottom"
				},
				allowFocus: !! a.ALLOW_FOCUS,
				control: {
					input: 1,
					textarea: 1,
					button: 1,
					select: 1,
					option: 1,
					object: 1,
					embed: 1
				}
			}
		}
	}, _p[13] = {
		value: function() {
			var a = _p.r(4),
				b = {
					Tpl: _p.r(7),
					Widget: _p.r(10),
					createDraggable: _p.r(8)
				};
			return a.extend(b, _p.r(6), _p.r(5))
		}
	}, _p[14] = {
		value: function() {
			return '<div unselectable="on" class="fui-t-picker"></div>\n'
		}
	}, _p[15] = {
		value: function() {
			return '<div unselectable="on" class="fui-table-picker"></div>\n'
		}
	}, _p[16] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(14);
			return _p.r(13).createClass("TPicker", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						row: 10,
						col: 10
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "TPicker", this.__tpl = c, this.__backplane = null
				},
				__render: function() {
					this.callBase(), this.__backplane = this.__createBackplane(), this.__element.appendChild(this.__backplane)
				},
				__initEvent: function() {
					var b = this,
						c = {};
					this.callBase(), a(this.__backplane).delegate("td", "mousemove", function(a) {
						c = a.target.getAttribute("data-index").split(","), c = {
							row: parseInt(c[0], 10),
							col: parseInt(c[1], 10)
						}, b.__update(c.row, c.col)
					}), a(this.__backplane).on("click", function() {
						b.__select(c.row, c.col)
					})
				},
				__select: function(a, b) {
					this.trigger("pickerselect", {
						row: a + 1,
						col: b + 1
					})
				},
				__update: function(a, c) {
					for (var d = null, e = this.__options.row, f = this.__options.col, g = b.classPrefix + "table-picker-hoverin", h = 0; e > h; h++) {
						d = this.__backplane.rows[h];
						for (var i = 0; f > i; i++) d.cells[i].className = a >= h && c >= i ? g : ""
					}
					this.trigger("pickerhover", {
						row: a,
						col: c
					})
				},
				__createBackplane: function() {
					for (var c = [], d = null, e = 0, f = this.__options.row; f > e; e++) {
						d = [];
						for (var g = 0, h = this.__options.col; h > g; g++) d.push('<td data-index="' + e + "," + g + '"></td>');
						c.push("<tr>" + d.join("") + "</tr>")
					}
					return c = a("<table><tbody>" + c.join("") + "</tbody></table>"), c.addClass(b.classPrefix + "t-picker-table"), c[0]
				}
			})
		}
	}, _p[17] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(15),
				d = _p.r(48),
				e = _p.r(16),
				f = _p.r(37),
				g = _p.r(54),
				h = _p.r(49);
			return _p.r(13).createClass("TablePicker", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						button: null,
						row: 10,
						col: 10
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				open: function() {
					this.__panelWidget.show(), this.__maskWidget.show()
				},
				close: function() {
					this.__panelWidget.hide(), this.__maskWidget.hide()
				},
				appendTo: function(a) {
					a.appendChild(this.__buttonWidget.getElement())
				},
				getButton: function() {
					return this.__buttonWidget
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "TablePicker", this.__tpl = c, this.__pickerWidget = null, this.__labelWidget = null, this.__buttonWidget = null, this.__panelWidget = null, this.__maskWidget = null
				},
				__render: function() {
					this.callBase(), this.__pickerWidget = new e(this.__options), this.__labelWidget = new d({
						text: "\u63d2\u5165\u8868\u683c"
					}), this.__buttonWidget = new f(this.__options.button), this.__panelWidget = new g({
						className: b.classPrefix + "table-picker-panel",
						column: !0,
						resize: "none"
					}), this.__maskWidget = new h, this.__panelWidget.appendWidget(this.__labelWidget), this.__panelWidget.appendWidget(this.__pickerWidget), this.__panelWidget.positionTo(this.__buttonWidget)
				},
				__initEvent: function() {
					var a = this;
					this.callBase(), this.__buttonWidget.on("btnclick", function() {
						a.open()
					}), this.__maskWidget.on("maskclick", function() {
						a.close()
					}), this.__pickerWidget.on("pickerhover", function(b, c) {
						var d = c.row + 1,
							e = c.col + 1;
						a.__labelWidget.setText(d + "x" + e + " \u8868\u683c")
					}).on("pickerselect", function(b, c) {
						var d = c.row,
							e = c.col;
						a.close(), a.trigger("pickerselect", {
							row: d,
							col: e
						})
					})
				},
				__createBackplane: function() {
					for (var c = [], d = null, e = 0, f = this.__options.row; f > e; e++) {
						d = [];
						for (var g = 0, h = this.__options.col; h > g; g++) d.push('<td data-index="' + e + "," + g + '"></td>');
						c.push("<tr>" + d.join("") + "</tr>")
					}
					return c = a("<table><tbody>" + c.join("") + "</tbody></table>"), c.addClass(b.classPrefix + "t-picker-table"), c[0]
				}
			})
		}
	}, _p[18] = {
		value: function() {
			return '<div unselectable="on" class="fui-button-menu"></div>\n'
		}
	}, _p[19] = {
		value: function() {
			return '<div unselectable="on" class="fui-button"></div>\n'
		}
	}, _p[20] = {
		value: function() {
			return '<div unselectable="on" class="fui-colorpicker-container">\n<div unselectable="on" class="fui-colorpicker-toolbar">\n<div unselectable="on" class="fui-colorpicker-preview"></div>\n<div unselectable="on" class="fui-colorpicker-clear">$clearText</div>\n</div>\n<div unselectable="on" class="fui-colorpicker-title">$commonText</div>\n<div unselectable="on" class="fui-colorpicker-commoncolor">\nhelper.forEach( commonColor, function ( index, colors ) {\n<div unselectable="on" class="fui-colorpicker-colors fui-colorpicker-colors-line$index">\nhelper.forEach( colors, function( i, color ) {\n<span unselectable="on" class="fui-colorpicker-item" style="background-color: $color; border-color: #{color.toLowerCase() == \'#ffffff\' ? \'#eeeeee\': color};" data-color="$color"></span>\n});\n</div>\n} );\n</div>\n<div unselectable="on" class="fui-colorpicker-title">$standardText</div>\n<div unselectable="on" class="fui-colorpicker-standardcolor fui-colorpicker-colors">\nhelper.forEach( standardColor, function ( i, color ) {\n<span unselectable="on" class="fui-colorpicker-item" style="background-color: $color; border-color: $color;" data-color="$color"></span>\n} );\n</div>\n</div>\n'
		}
	}, _p[21] = {
		value: function() {
			return '<div unselectable="on" class="fui-dialog-wrap">\n<div unselectable="on" class="fui-dialog-head">\n<h1 unselectable="on" class="fui-dialog-caption">$caption</h1>\n</div>\n<div unselectable="on" class="fui-dialog-body"></div>\n<div unselectable="on" class="fui-dialog-foot"></div>\n</div>\n'
		}
	}, _p[22] = {
		value: function() {
			return "<div unselectable=\"on\" class=\"fui-drop-panel\"  #{ text ? 'title=\"' + m.text + '\"' : '' }></div>\n"
		}
	}, _p[23] = {
		value: function() {
			return '<div unselectable="on" class="fui-icon" >\nif ( this.img ) {\n<img unselectable="on" src="#{this.img}" >\n}\n</div>\n'
		}
	}, _p[24] = {
		value: function() {
			return '<div unselectable="on" class="fui-input-button"></div>\n'
		}
	}, _p[25] = {
		value: function() {
			return '<div unselectable="on" class="fui-input-menu"></div>\n'
		}
	}, _p[26] = {
		value: function() {
			return '<input unselectable="on" class="fui-input"  autocomplete="off" !#{ value ? \'value="\' + value + \'"\' : \'\'}>\n'
		}
	}, _p[27] = {
		value: function() {
			return "<div unselectable=\"on\" class=\"fui-item!#{ selected ? ' fui-item-selected': '' }\" ></div>\n"
		}
	}, _p[28] = {
		value: function() {
			return '<div unselectable="on" class="fui-label">$text</div>\n'
		}
	}, _p[29] = {
		value: function() {
			return '<div unselectable="on" class="fui-mask" style="background: $bgcolor; opacity: $opacity;-moz-opacity:$opacity;-khtml-opacity: $opacity;filter:alpha(opacity=#{opacity*100});"></div>\n'
		}
	}, _p[30] = {
		value: function() {
			return '<div unselectable="on" class="fui-panel"></div>\n'
		}
	}, _p[31] = {
		value: function() {
			return '<div unselectable="on" class="fui-separator"></div>\n'
		}
	}, _p[32] = {
		value: function() {
			return '<div unselectable="on" class="fui-spin-button"></div>\n'
		}
	}, _p[33] = {
		value: function() {
			return '<div unselectable="on" class="fui-tabs">\n<div unselectable="on" class="fui-tabs-button-wrap"></div>\n<div unselectable="on" class="fui-tabs-panel-wrap"></div>\n</div>\n'
		}
	}, _p[34] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(18),
				d = _p.r(37),
				e = _p.r(50),
				f = _p.r(49),
				g = b.layout;
			return _p.r(13).createClass("ButtonMenu", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						menu: null,
						mask: null,
						buttons: [],
						selected: -1,
						layout: g.RIGHT
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				open: function() {
					this.__openState = !0, this.__maskWidget.show(), this.__menuWidget.show(), this.addClass(b.classPrefix + "button-active")
				},
				close: function() {
					this.__openState = !1, this.__maskWidget.hide(), this.__menuWidget.hide(), this.removeClass(b.classPrefix + "button-active")
				},
				isOpen: function() {
					return !!this.__openState
				},
				getSelected: function() {
					return this.__menuWidget.getSelected()
				},
				getSelectedItem: function() {
					return this.__menuWidget.getSelectedItem()
				},
				getValue: function() {
					return this.getSelectedItem().getValue()
				},
				__render: function() {
					this.callBase(), this.__initButtons(), this.__menuWidget = new e(this.__options.menu), this.__maskWidget = new f(this.__options.mask), this.__menuWidget.positionTo(this.__element), this.__menuWidget.appendTo(this.__element.ownerDocument.body)
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "ButtonMenu", this.__tpl = c, this.__buttonWidgets = null, this.__menuWidget = null, this.__maskWidget = null, this.__openState = !1, -1 !== this.__options.selected && (this.__options.menu.selected = this.__options.selected)
				},
				__initButtons: function() {
					var c = [],
						e = this.__element,
						f = null,
						h = this.__options.buttons.length - 1;
					this.__options.layout === g.TOP || this.__options.layout === g.LEFT ? (f = new d(this.__options.buttons[h]), f.appendTo(e)) : h = -1, a.each(this.__options.buttons, function(a, b) {
						if (h !== a) {
							var g = new d(b);
							g.appendTo(e), c.push(g)
						} else c.push(f)
					}), this.addClass(b.classPrefix + "layout-" + this.__options.layout), c[c.length - 1].addClass(b.classPrefix + "open-btn"), this.__buttonWidgets = c
				},
				__initEvent: function() {
					var b = this.__buttonWidgets[this.__buttonWidgets.length - 1],
						c = this;
					this.callBase(), b.on("click", function() {
						c.open()
					}), this.__maskWidget.on("maskclick", function() {
						c.close()
					}), this.__menuWidget.on("select", function(a, b) {
						a.stopPropagation(), c.close(), c.trigger("select", b)
					}).on("change", function(a, b) {
						c.trigger("change", b)
					}), this.on("btnclick", function(b) {
						b.stopPropagation();
						var c = a.inArray(b.widget, this.__buttonWidgets);
						c > -1 && c < this.__buttonWidgets.length - 1 && this.trigger("buttonclick", {
							button: this.__buttonWidgets[c]
						})
					})
				}
			})
		}
	}, _p[35] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(25),
				c = _p.r(43),
				d = _p.r(50),
				e = _p.r(49),
				f = _p.r(13);
			return _p.r(13).createClass("InputMenu", {
				base: _p.r(60),
				constructor: function(a) {
					var c = f.getMarker();
					this.callBase(c);
					var d = {
						input: null,
						menu: null,
						mask: null
					};
					this.__extendOptions(d, a), this.widgetName = "InputMenu", this.__tpl = b, this.__lastTime = 0, this.__lastSelect = null, this.__inputWidget = null, this.__menuWidget = null, this.__maskWidget = null, this.__menuState = !1, a !== c && this.__render()
				},
				select: function(a) {
					this.__menuWidget.select(a)
				},
				setValue: function(a) {
					return this.__inputWidget.setValue(a), this
				},
				getValue: function() {
					return this.__inputWidget.getValue()
				},
				__render: function() {
					return this.__rendered ? this : (this.__inputWidget = new c(this.__options.input), this.__menuWidget = new d(this.__options.menu), this.__maskWidget = new e(this.__options.mask), this.callBase(), this.__inputWidget.appendTo(this.__element), this.__menuWidget.positionTo(this.__inputWidget), void this.__initInputMenuEvent())
				},
				open: function() {
					this.__maskWidget.show(), this.__menuWidget.show()
				},
				close: function() {
					this.__maskWidget.hide(), this.__menuWidget.hide()
				},
				__initInputMenuEvent: function() {
					var a = this;
					this.on("buttonclick", function() {
						this.__menuState || (this.__appendMenu(), this.__menuState = !0), this.__inputWidget.unfocus(), this.open()
					}), this.on("keypress", function() {
						this.__lastTime = new Date
					}), this.on("keyup", function(a) {
						8 !== a.keyCode && 13 !== a.keyCode && new Date - this.__lastTime < 500 && this.__update()
					}), this.on("inputcomplete", function() {
						this.__inputWidget.selectRange(99999999), this.__inputComplete()
					}), this.__menuWidget.on("select", function(b, c) {
						b.stopPropagation(), a.setValue(c.value), a.trigger("select", c), a.close()
					}), this.__menuWidget.on("change", function(b, c) {
						b.stopPropagation(), a.trigger("change", c)
					}), this.__inputWidget.on("select change", function(a) {
						a.stopPropagation()
					}), this.__maskWidget.on("maskclick", function() {
						a.close()
					}), this.on("select", function(a, b) {
						this.__lastSelect = b
					})
				},
				__update: function() {
					var b = this.getValue(),
						c = b.toLowerCase(),
						d = this.__getItemValues(),
						e = null;
					b && (a.each(d, function(a, b) {
						return 0 === b.toLowerCase().indexOf(c) ? (e = b, !1) : void 0
					}), e && (this.__inputWidget.setValue(e), this.__inputWidget.selectRange(b.length)))
				},
				__getItemValues: function() {
					var b = [];
					return a.each(this.__menuWidget.getWidgets(), function(a, c) {
						b.push(c.getValue())
					}), b
				},
				__inputComplete: function() {
					var b = this.__getItemValues(),
						c = -1,
						d = this.getValue(),
						e = this.__lastSelect;
					a.each(b, function(a, b) {
						return b === d ? (c = a, !1) : void 0
					}), this.trigger("select", {
						index: c,
						value: d
					}), e && e.value === d || this.trigger("change", {
						from: e || {
							index: -1,
							value: null
						},
						to: {
							index: c,
							value: d
						}
					})
				},
				__appendMenu: function() {
					this.__menuWidget.appendTo(this.__inputWidget.getElement().ownerDocument.body)
				}
			})
		}
	}, _p[36] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(59);
			return _p.r(13).createClass("Buttonset", {
				base: _p.r(51),
				constructor: function(b) {
					var c = {
						selected: -1
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				getButtons: function() {
					return this.getWidgets()
				},
				getButton: function(a) {
					return this.getWidgets()[a] || null
				},
				getValue: function() {
					return this.__currentIndex > -1 ? this.__widgets[this.__currentIndex].getValue() : null
				},
				getSelectedIndex: function() {
					return this.__currentIndex
				},
				appendButton: function() {
					return this.appendWidget.apply(this, arguments)
				},
				insertButton: function() {
					return this.insertWidget.apply(this, arguments)
				},
				select: function(b) {
					return this.__options.disabled ? this : (b instanceof c && (b = a.inArray(b, this.__widgets)), 0 > b ? this.clearSelect() : (b = this.__widgets[b], this.__pressButton(b), this))
				},
				selectByValue: function(a) {
					var b = this.__widgets.map(function(a) {
						return a.getValue()
					});
					return this.select(b.indexOf(a))
				},
				clearSelect: function() {
					return this.__pressButton(null), this
				},
				removeButton: function() {
					return this.removeWidget.apply(this, arguments)
				},
				insertWidget: function(a, b) {
					var c = this.callBase(a, b);
					return null === c ? c : (a <= this.__currentIndex && this.__currentIndex++, a <= this.__prevIndex && this.__prevIndex++, c)
				},
				removeWidget: function(a) {
					var b = a;
					return "number" != typeof b && (b = this.indexOf(a)), a = this.callBase(a), b === this.__currentIndex ? this.__currentIndex = -1 : b < this.__currentIndex && this.__currentIndex--, b === this.__prevIndex ? this.__prevIndex = -1 : b < this.__prevIndex && this.__prevIndex--, a
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Buttonset", this.__currentIndex = this.__options.selected, this.__prevIndex = -1
				},
				__render: function() {
					return this.callBase(), a(this.__element).addClass(b.classPrefix + "buttonset"), this.__initButtons(), this
				},
				__initButtons: function() {
					var b = this,
						d = null;
					a.each(this.__options.buttons, function(e, f) {
						d = new c(a.extend({}, f, {
							pressed: e === b.__options.selected,
							preventDefault: !0
						})), d.__on("click", function() {
							b.isDisabled() || b.__pressButton(this)
						}), d.__on("change", function(a) {
							a.stopPropagation()
						}), b.appendButton(d)
					})
				},
				__pressButton: function(b) {
					this.__prevIndex = this.__currentIndex, this.__currentIndex = this.indexOf(b), this.__currentIndex !== this.__prevIndex && (b && b.press(), a.each(this.__widgets, function(a, c) {
						c !== b && c.bounce()
					}), this.trigger("change", {
						currentIndex: this.__currentIndex,
						prevIndex: this.__prevIndex
					}))
				},
				__valid: function(a) {
					return a instanceof c
				}
			})
		}
	}, _p[37] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(19),
				d = _p.r(42),
				e = _p.r(48);
			return _p.r(13).createClass("Button", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						label: null,
						text: null,
						icon: null,
						layout: "right"
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				getLabel: function() {
					return this.__labelWidget.getText()
				},
				setLabel: function(a) {
					return this.__labelWidget.setText(a)
				},
				getLabelWidget: function() {
					return this.__labelWidget
				},
				getIconWidget: function() {
					return this.__iconWidget
				},
				__render: function() {
					switch (this.callBase(), this.__iconWidget = new d(this.__options.icon), this.__labelWidget = new e(this.__options.label), this.__options.layout) {
					case "left":
					case "top":
						this.__element.appendChild(this.__labelWidget.getElement()), this.__element.appendChild(this.__iconWidget.getElement());
						break;
					case "right":
					case "bottom":
					default:
						this.__element.appendChild(this.__iconWidget.getElement()), this.__element.appendChild(this.__labelWidget.getElement())
					}
					a(this.__element).addClass(b.classPrefix + "button-layout-" + this.__options.layout)
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Button", this.__tpl = c, this.__iconWidget = null, this.__labelWidget = null, "object" != typeof this.__options.label && (this.__options.label = {
						text: this.__options.label
					}), "object" != typeof this.__options.icon && (this.__options.icon = {
						img: this.__options.icon
					})
				},
				__initEvent: function() {
					this.callBase(), this.on("click", function() {
						this.__trigger("btnclick")
					})
				}
			})
		}
	}, _p[38] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(12),
				c = _p.r(49),
				d = _p.r(20),
				e = _p.r(4);
			return a.createClass("ColorPicker", {
				base: _p.r(54),
				constructor: function(a) {
					var b = {
						clearText: "",
						commonText: "",
						commonColor: [
							["#ffffff", "#000000", "#eeece1", "#1f497d", "#4f81bd", "#c0504d", "#9bbb59", "#8064a2", "#4bacc6", "#f79646"],
							["#f2f2f2", "#808080", "#ddd8c2", "#c6d9f1", "#dbe5f1", "#f2dbdb", "#eaf1dd", "#e5dfec", "#daeef3", "#fde9d9"],
							["#d9d9d9", "#595959", "#c4bc96", "#8db3e2", "#b8cce4", "#e5b8b7", "#d6e3bc", "#ccc0d9", "#b6dde8", "#fbd4b4"],
							["#bfbfbf", "#404040", "#938953", "#548dd4", "#95b3d7", "#d99594", "#c2d69b", "#b2a1c7", "#92cddc", "#fabf8f"],
							["#a6a6a6", "#262626", "#4a442a", "#17365d", "#365f91", "#943634", "#76923c", "#5f497a", "#31849b", "#e36c0a"],
							["#7f7f7f", "#0d0d0d", "#1c1a10", "#0f243e", "#243f60", "#622423", "#4e6128", "#3f3151", "#205867", "#974706"]
						],
						standardText: "",
						standardColor: ["#c00000", "#ff0000", "#ffc000", "#ffff00", "#92d050", "#00b050", "#00b0f0", "#0070c0", "#002060", "#7030a0"]
					};
					a = e.extend({}, b, a), this.callBase(a)
				},
				show: function() {
					return this.__inDoc || (this.__inDoc = !0, this.appendTo(this.__element.ownerDocument.body)), this.__maskWidget.show(), this.callBase(), this
				},
				hide: function() {
					return this.callBase(), this.__maskWidget.hide(), this
				},
				attachTo: function(a) {
					var b = this;
					a.on("click", function() {
						b.appendTo(a.getElement().ownerDocument.body), b.positionTo(a), b.show()
					})
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "ColorPicker", this.__contentElement = null, this.__maskWidget = null, this.__inDoc = !1
				},
				__render: function() {
					this.callBase(), e(this.__element).addClass(b.classPrefix + "colorpicker");
					var f = a.Tpl.compile(d, this.__options);
					this.__contentElement.appendChild(e(f)[0]), this.__previewElement = e(this.__contentElement).find("." + b.classPrefix + "colorpicker-preview"), this.__clearElement = e(this.__contentElement).find("." + b.classPrefix + "colorpicker-clear"), this.__maskWidget = new c(this.__options.mask)
				},
				__initEvent: function() {
					var a = this;
					this.callBase(), this.on("click", function(c) {
						var d, f = e(c.target);
						f.hasClass(b.classPrefix + "colorpicker-item") ? (d = f.attr("data-color"), a.trigger("selectcolor", d), a.hide()) : f.hasClass(b.classPrefix + "colorpicker-clear") && (a.trigger("selectcolor", ""), a.hide())
					}), this.on("mouseover", function(c) {
						var d, f = e(c.target);
						f.hasClass(b.classPrefix + "colorpicker-item") && (d = f.attr("data-color"), e(a.__element).find("." + b.classPrefix + "colorpicker-preview").css({
							"background-color": d,
							"border-color": d
						}))
					}), this.__maskWidget.on("click", function() {
						a.hide()
					})
				}
			})
		}
	}, _p[39] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(12),
				c = _p.r(60),
				d = _p.r(0),
				e = _p.r(4);
			return a.createClass("Container", {
				base: c,
				constructor: function(a) {
					var b = {
						column: !1,
						widgets: null
					};
					a = e.extend({}, b, a), this.callBase(a)
				},
				indexOf: function(a) {
					return e.inArray(a, this.__widgets)
				},
				disable: function() {
					this.callBase(), e.each(this.__widgets, function(a, b) {
						b.disable()
					})
				},
				enable: function() {
					this.callBase(), e.each(this.__widgets, function(a, b) {
						b.enable()
					})
				},
				getWidgets: function() {
					return this.__widgets
				},
				getWidget: function(a) {
					return this.__widgets[a] || null
				},
				getWidgetByValue: function(a) {
					var b = null;
					return e.each(this.__widgets, function(c, d) {
						return d.getValue() === a ? (b = d, !1) : void 0
					}), b
				},
				appendWidget: function(a) {
					return this.__valid(a) ? (this.__options.disabled && a.disable(), this.__widgets.push(a), a.appendTo(this.__contentElement), this.__options.column ? (this.__widgets.length > 0 && this.__widgets.length % this.__options.column === 0 && this.__contentElement.appendChild(e('<span class="fui-column"></span>')[0]), e(a.getElement()).addClass(b.classPrefix + "panel-column-widget"), a) : a) : null
				},
				appendWidgets: function(a) {
					var b = this,
						c = a;
					return e.isArray(a) || (c = arguments), e.each(c, function(a, c) {
						b.appendWidget(c)
					}), this
				},
				insertWidget: function(a, c) {
					var d = null;
					return 0 === this.__widgets.length ? this.appendWidget(c) : this.__valid(c) ? (this.__options.disabled && c.disable(), d = this.__widgets[a], this.__widgets.splice(a, 0, c), this.__contentElement.insertBefore(c.getElement(), d.getElement()), this.__options.column === !1 ? c : (this.__contentElement.insertBefore(e('<span class="fui-column"></span>')[0], d.getElement()), e(c.getElement()).addClass(b.classPrefix + "panel-column-widget"), c)) : null
				},
				insertWidgets: function(a, b) {
					var c = this,
						d = b;
					return e.isArray(b) || (d = [].slice.call(arguments, 1)), e.each(d, function(b, d) {
						c.insertWidget(a, d), a++
					}), this
				},
				getContentElement: function() {
					return this.__contentElement
				},
				removeWidget: function(a) {
					return "number" == typeof a ? a = this.__widgets.splice(a, 1)[0] : this.__widgets.splice(this.indexOf(a), 1), this.__contentElement.removeChild(a.getElement()), e(a.getElement()).removeClass(b.classPrefix + "panel-column-widget"), a
				},
				__initOptions: function() {
					this.widgetName = "Container", this.__widgets = [], this.__contentElement = null, this.__options.column -= 0
				},
				__render: function() {
					return this.callBase(), this.__contentElement = this.__element, e(this.__element).addClass(b.classPrefix + "container"), this.__options.column && e(this.__element).addClass(b.classPrefix + "container-column"), this
				},
				__appendChild: function(a) {
					return this.appendWidget(a)
				},
				__initWidgets: function() {
					if (this.__options.widgets) {
						var a = d.parse(this.__options.widgets),
							b = this;
						e.isArray(a) || (a = [a]), e.each(a, function(a, c) {
							b.appendWidget(c)
						})
					}
				},
				__valid: function(a) {
					return a instanceof c
				}
			})
		}
	}, _p[40] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(12),
				c = _p.r(60),
				d = _p.r(49),
				e = _p.r(21),
				f = _p.r(37),
				g = b.layout,
				h = _p.r(4),
				i = {
					CANCEL: "cancel",
					OK: "ok"
				};
			return a.createClass("Dialog", {
				base: _p.r(54),
				constructor: function(a) {
					var c = {
						layout: g.CENTER,
						caption: null,
						resize: "height",
						draggable: !0,
						closeButton: !0,
						mask: {
							color: "#000",
							opacity: .2
						},
						prompt: !1,
						buttons: [{
							className: b.classPrefix + "xdialog-ok-btn",
							action: "ok",
							label: "\u786e\u5b9a"
						}, {
							className: b.classPrefix + "xdialog-cancel-btn",
							action: "cancel",
							label: "\u53d6\u6d88"
						}]
					};
					a = h.extend({}, c, a), this.callBase(a)
				},
				open: function() {
					return this.__fire("open", function() {
						this.show()
					}), this
				},
				close: function() {
					return this.__fire("close", function() {
						this.hide()
					}), this
				},
				getButtons: function() {
					return this.__buttons
				},
				getButton: function(a) {
					return this.__buttons[a]
				},
				appendTo: function(a) {
					return this.callBase(a), this.__maskWidget.appendTo(a), this.__inDoc = !0, this
				},
				show: function() {
					return this.__target || (this.__target = this.__element.ownerDocument.body), this.__inDoc || this.appendTo(this.__element.ownerDocument.body), this.__maskWidget.show(), this.callBase(), this.__openState = !0, this
				},
				hide: function() {
					return this.callBase(), this.__maskWidget.hide(), this.__openState = !1, this
				},
				toggle: function() {
					return this.isOpen() ? this.close() : this.open(), this
				},
				isOpen: function() {
					return this.__openState
				},
				getHeadElement: function() {
					return this.__headElement
				},
				getBodyElement: function() {
					return this.getContentElement()
				},
				getFootElement: function() {
					return this.__footElement
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Dialog", this.__target = this.__options.target, this.__layout = this.__options.layout, this.__inDoc = !1, this.__hinting = !1, this.__openState = !1, this.__headElement = null, this.__bodyElement = null, this.__footElement = null, this.__maskWidget = null, this.__buttons = [], this.__target instanceof c && (this.__target = this.__target.getElement())
				},
				__render: function() {
					this.callBase(), this.__innerTpl = a.Tpl.compile(e, this.__options), this.__contentElement.appendChild(h(this.__innerTpl)[0]), h(this.__element).addClass(b.classPrefix + "dialog"), this.__headElement = h(".fui-dialog-head", this.__contentElement)[0], this.__bodyElement = h(".fui-dialog-body", this.__contentElement)[0], this.__footElement = h(".fui-dialog-foot", this.__contentElement)[0], this.__maskWidget = new d(this.__options.mask), this.__contentElement = this.__bodyElement, this.__options.draggable && this.__initDraggable(), this.__options.closeButton && this.__initCloseButton(), this.__initButtons(), this.__initMaskLint()
				},
				__action: function(a) {
					switch (a) {
					case i.OK:
						this.__triggerHandler(a) !== !1 && this.close();
						break;
					case i.CANCEL:
						this.__triggerHandler(a), this.close()
					}
				},
				__initButtons: function() {
					var a = this,
						b = null,
						c = this.__footElement;
					h.each(this.__options.buttons, function(d, e) {
						b = new f(e), b.appendTo(c), a.__buttons.push(b)
					})
				},
				__initEvent: function() {
					var a = this;
					this.callBase(), h([this.__footElement, this.__headElement]).on("btnclick", function(b, c) {
						a.__action(c.getOptions().action, c)
					}), this.__options.prompt && h(this.__element).on("keydown", function(b) {
						switch (b.keyCode) {
						case 13:
							a.__action(i.OK);
							break;
						case 27:
							a.__action(i.CANCEL)
						}
					})
				},
				__initDraggable: function() {
					a.createDraggable({
						handler: this.__headElement,
						target: this.__element
					}).bind()
				},
				__initCloseButton: function() {
					var a = new f({
						className: "fui-close-button",
						action: "cancel",
						icon: {
							className: "fui-close-button-icon"
						}
					});
					a.appendTo(this.__headElement)
				},
				__initMaskLint: function() {
					var a = this;
					this.__maskWidget.on("click", function() {
						a.__hint()
					})
				},
				__hint: function() {
					if (!this.__hinting) {
						this.__hinting = !0;
						var a = h(this.__element),
							c = this,
							d = [b.classPrefix + "mask-hint", b.classPrefix + "mask-animate"];
						a.addClass(d.join(" ")), window.setTimeout(function() {
							a.removeClass(d[0]), window.setTimeout(function() {
								a.removeClass(d[1]), c.__hinting = !1
							}, 200)
						}, 200)
					}
				}
			})
		}
	}, _p[41] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(22),
				d = _p.r(37),
				e = _p.r(51),
				f = _p.r(54),
				g = _p.r(49);
			return _p.r(13).createClass("DropPanel", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						button: null,
						panel: null,
						width: null,
						height: null
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				disable: function() {
					this.callBase()
				},
				enable: function() {
					this.callBase()
				},
				open: function() {
					this.__popupWidget.appendWidget(this.__panelWidget), this.__maskWidget.show(), this.__popupWidget.show();
					var b = a(this.__popupWidget.getElement());
					b.css("min-width", a(this.__element).outerWidth()), b.css("min-height", a(this.__element).height())
				},
				close: function() {
					this.__maskWidget.hide(), this.__popupWidget.hide(), this.__panelWidget.appendTo(this.__contentElement)
				},
				getPanelElement: function() {
					return this.__panelWidget.getElement()
				},
				appendWidget: function(a) {
					this.__panelWidget.appendWidget(a)
				},
				getWidgets: function() {
					return this.__panelWidget.getWidgets()
				},
				getWidget: function(a) {
					return this.__panelWidget.getWidget(a)
				},
				appendWidgets: function() {
					return this.__panelWidget.appendWidgets.apply(this, arguments), this
				},
				insertWidget: function(a, b) {
					this.__panelWidget.insertWidget(a, b)
				},
				insertWidgets: function() {
					return this.__panelWidget.insertWidgets.apply(this, arguments), this
				},
				removeWidget: function(a) {
					return this.__panelWidget.removeWidget(a)
				},
				__render: function() {
					this.__initOptions(), this.__buttonWidget = new d(this.__options.button), this.__panelWidget = new e(this.__options.content), this.__popupWidget = new f, this.__maskWidget = new g(this.__options.mask), this.callBase(), this.__popupWidget.positionTo(this.__element, "left-top"), a(this.__popupWidget.getElement()).addClass(b.classPrefix + "drop-panel-popup");
					var c = a('<div class="' + b.classPrefix + 'drop-panel-content"></div>').append(this.__panelWidget.getElement());
					this.__contentElement = c[0], a(this.__element).append(c).append(this.__buttonWidget.getElement()), this.__initDropPanelEvent()
				},
				__initOptions: function() {
					this.widgetName = "DropPanel", this.__tpl = c, this.__buttonWidget = null, this.__popupWidget = null, this.__panelWidget = null, this.__contentElement = null, this.__maskWidget = null, this.__popupState = !1, "object" != typeof this.__options.button && (this.__options.input = {
						icon: this.__options.button
					})
				},
				__initDropPanelEvent: function() {
					var a = this;
					this.__buttonWidget.on("click", function() {
						a.__popupState || (a.__appendPopup(), a.__popupState = !0), a.trigger("buttonclick"), a.open()
					}), this.__panelWidget.on("click", function() {
						a.trigger("panelclick")
					}), this.__maskWidget.on("maskclick", function() {
						a.close()
					})
				},
				__appendPopup: function() {
					this.__popupWidget.appendTo(this.__element.ownerDocument.body)
				}
			})
		}
	}, _p[42] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(23);
			return _p.r(13).createClass("Icon", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						img: null
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				getValue: function() {
					return this.__options.value || this.__options.img
				},
				setImage: function(a) {
					return this.__options.img === a ? this : (this.__image && (this.__image.src = a), void this.trigger("iconchange", {
						prevImage: this.__prevIcon,
						currentImage: this.__currentIcon
					}))
				},
				getImage: function() {
					return this.__currentIcon
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Icon", this.__tpl = b, this.__prevIcon = null, this.__currentIcon = this.__options.img, this.__image = null
				},
				__render: function() {
					this.__options.__width = this.__options.width, this.__options.__height = this.__options.height, this.__options.width = null, this.__options.height = null, this.callBase(), this.__options.img && (this.__image = a("img", this.__element)[0], null !== this.__options.__width && (this.__image.width = this.__options.__width), null !== this.__options.__height && (this.__image.height = this.__options.__height))
				}
			})
		}
	}, _p[43] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(24),
				d = _p.r(37),
				e = _p.r(45);
			return _p.r(13).createClass("InputButton", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						button: null,
						input: null,
						placeholder: null,
						layout: "right"
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				getValue: function() {
					return this.__inputWidget.getValue()
				},
				setValue: function(a) {
					return this.__inputWidget.setValue(a), this
				},
				reset: function() {
					this.__inputWidget.reset()
				},
				selectAll: function() {
					return this.__inputWidget.selectAll(), this
				},
				selectRange: function(a, b) {
					return this.__inputWidget.selectRange(a, b), this
				},
				focus: function() {
					return this.__inputWidget.focus(), this
				},
				unfocus: function() {
					return this.__inputWidget.unfocus(), this
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "InputButton", this.__tpl = c, this.__inputWidget = null, this.__buttonWidget = null, "object" != typeof this.__options.input && (this.__options.input = {
						placeholder: this.__options.input
					}), this.__options.input = a.extend({}, this.__options.input, {
						placeholder: this.__options.placeholder
					}), "object" != typeof this.__options.button && (this.__options.button = {
						icon: this.__options.button
					})
				},
				__render: function() {
					var c = this;
					switch (this.callBase(), this.__buttonWidget = new d(this.__options.button), this.__inputWidget = new e(this.__options.input), this.__options.layout) {
					case "left":
					case "top":
						this.__buttonWidget.appendTo(this.__element), this.__inputWidget.appendTo(this.__element);
						break;
					case "right":
					case "bottom":
					default:
						this.__inputWidget.appendTo(this.__element), this.__buttonWidget.appendTo(this.__element)
					}
					a(this.__element).addClass(b.classPrefix + "layout-" + this.__options.layout), this.__buttonWidget.on("click", function() {
						c.trigger("buttonclick")
					})
				}
			})
		}
	}, _p[44] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(25),
				c = _p.r(43),
				d = _p.r(50),
				e = _p.r(49);
			return _p.r(13).createClass("InputMenu", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						input: null,
						menu: null,
						mask: null,
						selected: -1
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				select: function(a) {
					this.__menuWidget.select(a)
				},
				selectByValue: function(a) {
					return this.__selectBy("values", a)
				},
				selectByLabel: function(a) {
					return this.__selectBy("labels", a)
				},
				clearSelect: function() {
					return this.__lastSelect = -1, this.__menuWidget.clearSelect(), this.__inputWidget.reset(), this
				},
				setValue: function() {
					return this
				},
				getValue: function() {
					return this.__menuWidget.getSelectedItem().getValue()
				},
				open: function() {
					this.__maskWidget.show(), this.__menuWidget.show()
				},
				close: function() {
					this.__maskWidget.hide(), this.__menuWidget.hide()
				},
				__render: function() {
					this.__inputWidget = new c(this.__options.input), this.__menuWidget = new d(this.__options.menu), this.__maskWidget = new e(this.__options.mask), this.callBase(), this.__inputWidget.appendTo(this.__element), this.__menuWidget.positionTo(this.__inputWidget), this.__initInputValue()
				},
				__selectBy: function(b, c) {
					var d = this.__getItemValues()[b],
						e = -1;
					return a.each(d, function(a, b) {
						return c === b ? (e = a, !1) : void 0
					}), -1 !== e ? (this.select(e), this.__menuWidget.getSelectedItem()) : null
				},
				__initInputValue: function() {
					var a = this.__menuWidget.getItem(this.__options.selected);
					a && this.__inputWidget.setValue(a.getLabel())
				},
				__initEvent: function() {
					var a = this;
					this.callBase(), this.on("buttonclick", function() {
						this.__menuState || (this.__appendMenu(), this.__menuState = !0), this.__inputWidget.unfocus(), this.open()
					}), this.on("keypress", function() {
						this.__lastTime = new Date
					}), this.on("keyup", function(a) {
						8 !== a.keyCode && 13 !== a.keyCode && new Date - this.__lastTime < 500 && this.__update()
					}), this.on("inputcomplete", function() {
						this.__inputWidget.selectRange(99999999), this.__inputComplete()
					}), this.__menuWidget.on("select", function(b, c) {
						b.stopPropagation(), a.__inputWidget.setValue(c.label), a.trigger("select", c), a.close()
					}), this.__menuWidget.on("menuitemclick", function(b, c) {
						a.trigger("itemclick", c)
					}), this.__menuWidget.on("change", function(b, c) {
						b.stopPropagation(), a.trigger("change", c)
					}), this.__inputWidget.on("select change", function(a) {
						a.stopPropagation()
					}), this.__maskWidget.on("maskclick", function() {
						a.close()
					}), this.on("select", function(a, b) {
						this.__lastSelect = b
					})
				},
				__update: function() {
					var b = this.__inputWidget.getValue(),
						c = b.toLowerCase(),
						d = this.__getItemValues().labels,
						e = null;
					b && (a.each(d, function(a, b) {
						return 0 === b.toLowerCase().indexOf(c) ? (e = b, !1) : void 0
					}), e && (this.__inputWidget.setValue(e), this.__inputWidget.selectRange(b.length)))
				},
				__getItemValues: function() {
					var b = [],
						c = [];
					return a.each(this.__menuWidget.getWidgets(), function(a, d) {
						c.push(d.getLabel()), b.push(d.getValue())
					}), {
						labels: c,
						values: b
					}
				},
				__inputComplete: function() {
					var b = this.__getItemValues(),
						c = b.labels,
						d = -1,
						e = this.__inputWidget.getValue(),
						f = this.__lastSelect;
					a.each(c, function(a, b) {
						return b === e ? (d = a, !1) : void 0
					}), this.trigger("select", {
						index: d,
						label: e,
						value: b.values[d]
					}), f && f.value === e || this.trigger("change", {
						from: f || {
							index: -1,
							label: null,
							value: null
						},
						to: {
							index: d,
							label: e,
							value: b.values[d]
						}
					})
				},
				__appendMenu: function() {
					this.__menuWidget.appendTo(this.__inputWidget.getElement().ownerDocument.body)
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "InputMenu", this.__tpl = b, this.__lastTime = 0, this.__lastSelect = null, this.__inputWidget = null, this.__menuWidget = null, this.__maskWidget = null, this.__menuState = !1, -1 !== this.__options.selected && (this.__options.menu.selected = this.__options.selected)
				}
			})
		}
	}, _p[45] = {
		value: function() {
			var a = _p.r(12),
				b = _p.r(4),
				c = _p.r(26);
			return _p.r(13).createClass("Input", {
				base: _p.r(60),
				constructor: function(a) {
					var c = {
						placeholder: null
					};
					a = b.extend({}, c, a), this.callBase(a)
				},
				getValue: function() {
					return this.__element.value
				},
				setValue: function(a) {
					return this.__element.value = a, this
				},
				disable: function() {
					this.callBase(), this.__element.disabled = !0
				},
				enable: function() {
					this.__element.disabled = !1, this.callBase()
				},
				reset: function() {
					return this.__element.value = this.__options.value || "", this
				},
				selectAll: function() {
					this.__element.select()
				},
				selectRange: function(a, b) {
					if (a || (a = 0), b || (b = 1e9), this.__element.setSelectionRange) this.__element.setSelectionRange(a, b);
					else {
						var c = this.__element.createTextRange();
						c.moveStart("character", a), c.moveEnd("character", b), c.select()
					}
				},
				focus: function() {
					return this.__element.focus(), this
				},
				unfocus: function() {
					return this.__element.blur(), this
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Input", this.__tpl = c, this.__allow_focus = !0
				},
				__render: function() {
					this.callBase(), this.__element.removeAttribute("unselectable"), this.__options.placeholder && this.__element.setAttribute("placeholder", this.__options.placeholder), this.addClass(a.classPrefix + "selectable")
				},
				__initEvent: function() {
					this.callBase(), this.on("keydown", function(a) {
						13 === a.keyCode && this.trigger("inputcomplete", {
							value: this.getValue()
						})
					})
				}
			})
		}
	}, _p[46] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(27),
				c = _p.r(42),
				d = _p.r(48),
				e = _p.r(12),
				f = _p.r(4);
			return a.createClass("Item", {
				base: _p.r(60),
				constructor: function(a) {
					var b = {
						label: "",
						icon: null,
						selected: !1,
						textAlign: "left"
					};
					a = f.extend({}, b, a), this.callBase(a)
				},
				getValue: function() {
					return this.__options.value || this.__labelWidget.getValue() || this.__iconWidget.getValue() || null
				},
				select: function() {
					return this.__update(!0), this
				},
				unselect: function() {
					return this.__update(!1), this
				},
				isSelected: function() {
					return this.__selectState
				},
				setLabel: function(a) {
					return this.__labelWidget.setText(a), this
				},
				getLabel: function() {
					return this.__labelWidget.getText()
				},
				setIcon: function(a) {
					return this.__iconWidget.setImage(a), this
				},
				getIcon: function() {
					return this.__iconWidget.getImage()
				},
				__render: function() {
					this.callBase(), this.__iconWidget = new c(this.__options.icon), this.__labelWidget = new d(this.__options.label), this.__iconWidget.appendTo(this.__element), this.__labelWidget.appendTo(this.__element)
				},
				__update: function(a) {
					var b = a ? "addClass" : "removeClass";
					return a = !! a, f(this.__element)[b](e.classPrefix + "item-selected"), this.__selectState = a, this.trigger(a ? "itemselect" : "itemunselect"), this
				},
				__initEvent: function() {
					this.callBase(), this.on("click", function() {
						this.trigger("itemclick")
					})
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Item", this.__tpl = b, this.__iconWidget = null, this.__labelWidget = null, this.__selectState = this.__options.selected, "object" != typeof this.__options.label && (this.__options.label = {
						text: this.__options.label
					}), this.__options.label.textAlign || (this.__options.label.textAlign = this.__options.textAlign), "object" != typeof this.__options.icon && (this.__options.icon = {
						img: this.__options.icon
					})
				}
			})
		}
	}, _p[47] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(12),
				c = _p.r(48),
				d = _p.r(4);
			return a.createClass("LabelPanel", {
				base: _p.r(51),
				constructor: function(a) {
					var b = {
						layout: "bottom"
					};
					a = d.extend({}, b, a), this.callBase(a)
				},
				disable: function() {
					this.callBase(), this.__labelWidget.disable()
				},
				enable: function() {
					this.callBase(), this.__labelWidget.enable()
				},
				__render: function() {
					var a = null,
						e = this.__options,
						f = this.__element,
						g = b.classPrefix,
						h = "fui-label-panel-content",
						i = null;
					return this.__labelWidget = new c(e.label), this.callBase(), i = this.__contentElement, d(f).addClass(g + "label-panel"), d(f).addClass(g + "layout-" + e.layout), a = d('<div class="' + h + '"></div>'), i.appendChild(this.__labelWidget.getElement()), i.appendChild(a[0]), this.__contentElement = a[0], this
				},
				__initOptions: function() {
					var a = this.__options.label;
					this.callBase(), this.widgetName = "LabelPanel", this.__labelWidget = null, "object" != typeof a && (this.__options.label = {
						text: a
					}), this.__options.label.className || (this.__options.label.className = ""), this.__options.label.className += " fui-label-panel-label"
				}
			})
		}
	}, _p[48] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(28),
				c = _p.r(4);
			return a.createClass("Label", {
				base: _p.r(60),
				constructor: function(a) {
					var b = {
						text: "",
						textAlign: "center"
					};
					a = c.extend({}, b, a), this.callBase(a)
				},
				getValue: function() {
					return this.__options.text
				},
				setText: function(a) {
					var b = this.__options.text;
					return this.__options.text = a, c(this.__element).text(a), this.trigger("labelchange", {
						currentText: a,
						prevText: b
					}), this
				},
				getText: function() {
					return this.__options.text
				},
				__allowShowTitle: function() {
					return !1
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Label", this.__tpl = b, this.__options.text = this.__options.text.toString()
				}
			})
		}
	}, _p[49] = {
		value: function() {
			function a() {
				e(window).on("resize", function() {
					e.each(g, function(a, b) {
						b && !b.isHide() && b.__resize()
					})
				})
			}
			var b = _p.r(13),
				c = _p.r(29),
				d = _p.r(60),
				e = _p.r(4),
				f = !1,
				g = [];
			return b.createClass("Mask", {
				base: _p.r(60),
				constructor: function(a) {
					var b = {
						bgcolor: "#000",
						opacity: 0,
						inner: !0,
						target: null,
						scroll: !1,
						hide: !0
					};
					a = e.extend({}, b, a), this.callBase(a)
				},
				maskTo: function(a) {
					return a && (this.__target = a), this
				},
				show: function() {
					var a = null;
					this.__target || (this.__target = this.__element.ownerDocument.body), a = this.__target.ownerDocument.documentElement, e.contains(a, this.__element) || this.appendTo(this.__target.ownerDocument.body), this.callBase(), this.__position(), this.__resize(), this.__hideState = !1
				},
				hide: function() {
					this.callBase(), this.__hideState = !0
				},
				isHide: function() {
					return this.__hideState
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Mask", this.__tpl = c, this.__cacheId = g.length, this.__hideState = !0, g.push(this), this.__target = this.__options.target, this.__target instanceof d && (this.__target = this.__target.getElement())
				},
				__render: function() {
					this.callBase(), this.__initMaskEvent(), f || (f = !0, a())
				},
				__initMaskEvent: function() {
					this.on("mousewheel", function(a) {
						var b = a.originalEvent;
						a.preventDefault(), a.stopPropagation(), this.trigger("scroll", {
							delta: b.wheelDelta || b.deltaY || b.detail
						})
					}), this.on("click", function(a) {
						a.stopPropagation(), a.target === this.__element && this.trigger("maskclick")
					})
				},
				__resize: function() {
					var a = null;
					this.__targetIsBody() ? (a = e(b.getView(this.__target)), a = {
						width: a.width(),
						height: a.height()
					}) : a = b.getRect(this.__target), this.__element.style.width = a.width + "px", this.__element.style.height = a.height + "px"
				},
				__position: function() {
					var a = null,
						c = null;
					this.__targetIsBody() ? a = {
						top: 0,
						left: 0
					} : (c = b.getRect(this.__target), a = {
						top: c.top,
						left: c.left
					}), e(this.__element).css("top", a.top + "px").css("left", a.left + "px")
				},
				__targetIsBody: function() {
					return "body" === this.__target.tagName.toLowerCase()
				}
			})
		}
	}, _p[50] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(46),
				c = _p.r(12),
				d = _p.r(4);
			return a.createClass("Menu", {
				base: _p.r(54),
				constructor: function(a) {
					var b = {
						column: !0,
						selected: -1,
						textAlign: "left",
						items: []
					};
					a = d.extend({}, b, a), this.callBase(a)
				},
				select: function(a) {
					var b = this.__widgets[a];
					return b ? (this.__selectItem(b), this) : this
				},
				clearSelect: function() {
					var a = this.getSelectedItem();
					a && a.unselect(), this.__currentSelect = -1, this.__prevSelect = -1
				},
				getItems: function() {
					return this.getWidgets.apply(this, arguments)
				},
				getItem: function() {
					return this.getWidget.apply(this, arguments)
				},
				appendItem: function() {
					return this.appendWidget.apply(this, arguments)
				},
				insertItem: function() {
					return this.insertWidget.apply(this, arguments)
				},
				removeItem: function() {
					return this.removeWidget.apply(this, arguments)
				},
				clearItems: function() {
					for (; this.getItems().length;) this.removeItem(0);
					return this
				},
				getSelected: function() {
					return this.__currentSelect
				},
				getSelectedItem: function() {
					return this.getItem(this.__currentSelect)
				},
				insertWidget: function(a, b) {
					var c = this.callBase(a, b);
					return null === c ? c : (a <= this.__currentSelect && this.__currentSelect++, a <= this.__prevSelect && this.__prevSelect++, c)
				},
				removeWidget: function(a) {
					var b = a;
					return "number" != typeof b && (b = this.indexOf(a)), a = this.callBase(a), b === this.__currentSelect ? this.__currentSelect = -1 : b < this.__currentSelect && this.__currentSelect--, b === this.__prevSelect ? this.__prevSelect = -1 : b < this.__prevSelect && this.__prevSelect--, a
				},
				__initOptions: function() {
					this.callBase(), this.__prevSelect = -1, this.__currentSelect = this.__options.selected, this.widgetName = "Menu"
				},
				__render: function() {
					var a = this,
						e = this.__options.textAlign,
						f = this.__options.selected;
					this.callBase(), d(this.__element).addClass(c.classPrefix + "menu"), d.each(this.__options.items, function(c, d) {
						"object" != typeof d && (d = {
							label: d
						}), d.selected = c === f, d.textAlign = e, a.appendItem(new b(d))
					})
				},
				__initEvent: function() {
					this.callBase(), this.on("itemclick", function(a) {
						this.__selectItem(a.widget, !0)
					})
				},
				__selectItem: function(a, b) {
					var c = null;
					if (this.__currentSelect > -1 && this.__widgets[this.__currentSelect].unselect(), this.__prevSelect = this.__currentSelect, this.__currentSelect = this.indexOf(a), a.select(), c = {
						index: this.__currentSelect,
						label: a.getLabel(),
						value: a.getValue()
					}, b && this.trigger("menuitemclick", c), this.trigger("select", c), this.__prevSelect !== this.__currentSelect) {
						var d = this.__widgets[this.__prevSelect] || null;
						this.trigger("change", {
							from: {
								index: this.__prevSelect,
								label: d && d.getLabel(),
								value: d && d.getValue()
							},
							to: {
								index: this.__currentSelect,
								label: a.getLabel(),
								value: a.getValue()
							}
						})
					}
				},
				__valid: function(a) {
					return a instanceof b
				}
			})
		}
	}, _p[51] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(30),
				c = _p.r(4);
			return a.createClass("Panel", {
				base: _p.r(39),
				constructor: function(a) {
					var b = {};
					a = c.extend({}, b, a), this.callBase(a)
				},
				__render: function() {
					var a = null;
					this.callBase(), a = c('<div class="fui-panel-content"></div>'), this.__contentElement.appendChild(a[0]), this.__contentElement = a[0]
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Panel", this.__tpl = b
				}
			})
		}
	}, _p[52] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(12),
				c = _p.r(4),
				d = _p.r(50);
			return a.createClass("PopupMenu", {
				base: _p.r(53),
				constructor: function(a) {
					this.callBase(c.extend({
						menu: {}
					}, a))
				},
				getMenuWidget: function() {
					return this.__menuWidget
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "PopupMenu"
				},
				__render: function() {
					this.callBase(), this.__menuWidget = new d, this.appendWidget(this.__menuWidget), c(this.__element).addClass(b.classPrefix + "popup-menu")
				}
			})
		}
	}, _p[53] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(12),
				c = _p.r(60),
				d = _p.r(49),
				e = _p.r(4);
			return a.createClass("Popup", {
				base: _p.r(54),
				constructor: function(a) {
					var b = {
						mask: {}
					};
					a = e.extend({}, b, a), this.callBase(a)
				},
				open: function() {
					return this.__fire("open", function() {
						this.show()
					}), this
				},
				close: function() {
					return this.__fire("close", function() {
						this.hide()
					}), this
				},
				show: function() {
					return this.__target || (this.__target = this.__element.ownerDocument.body), this.__inDoc || (this.__inDoc = !0, this.appendTo(this.__element.ownerDocument.body)), this.__maskWidget.show(), this.callBase(), this.__openState = !0, this
				},
				hide: function() {
					return this.callBase(), this.__maskWidget.hide(), this.__openState = !1, this
				},
				toggle: function() {
					return this.isOpen() ? this.close() : this.open(), this
				},
				isOpen: function() {
					return this.__openState
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Popup", this.__target = this.__options.target, this.__layout = this.__options.layout, this.__inDoc = !1, this.__openState = !1, this.__maskWidget = null, this.__target instanceof c && (this.__target = this.__target.getElement())
				},
				__render: function() {
					this.callBase(), e(this.__element).addClass(b.classPrefix + "popup"), this.__maskWidget = new d(this.__options.mask), this.__options.draggable && this.__initDraggable(), this.__initMaskEvent()
				},
				__initMaskEvent: function() {
					var a = this;
					this.__maskWidget.on("click", function() {
						a.close()
					})
				}
			})
		}
	}, _p[54] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(12),
				c = _p.r(60),
				d = b.layout,
				e = _p.r(4);
			return a.createClass("PPanel", {
				base: _p.r(51),
				constructor: function(a) {
					var b = {
						layout: d.BOTTOM,
						target: null,
						bound: null,
						diff: 10,
						hide: !0,
						resize: "all",
						iframe: !1
					};
					a = e.extend({}, b, a), this.callBase(a)
				},
				positionTo: function(a, b) {
					return a instanceof c && (a = a.getElement()), this.__target = a, b && (this.__layout = b), this
				},
				show: function() {
					var b = null;
					return this.__target ? (this.__options.bound || (this.__options.bound = this.__target.ownerDocument.body), b = this.__target.ownerDocument.documentElement, e.contains(b, this.__element) || this.__target.ownerDocument.body.appendChild(this.__element), e.contains(b, this.__target) && (this.callBase(a.getMarker()), this.__position(), this.__resize()), this) : this.callBase()
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "PPanel", this.__target = this.__options.target, this.__layout = this.__options.layout, this.__height_resized = !1
				},
				__render: function() {
					this.callBase(), this.__options.iframe && e('<iframe class="fui-ppanel-cover" frameborder="0"></iframe>').appendTo(this.__element), e(this.__element).addClass(b.classPrefix + "ppanel")
				},
				__position: function() {
					var a = null,
						c = b.classPrefix + "ppanel-position";
					e(this.__element).addClass(c), a = this.__getLocation(), e(this.__element).css("top", a.top + "px").css("left", a.left + "px")
				},
				__resize: function() {
					var b = a.getBound(this.__target);
					switch (this.__options.resize) {
					case "all":
						this.__resizeWidth(b), this.__resizeHeight();
						break;
					case "width":
						this.__resizeWidth(b);
						break;
					case "height":
						this.__resizeHeight()
					}
				},
				__resizeWidth: function(a) {
					if (this.__target) {
						var b = e(this.__element),
							c = b.outerWidth(),
							d = b.outerHeight(),
							f = a.width - c - d;
						this.__element.style.minWidth = Math.max(f, 0) + "px"
					}
				},
				__resizeHeight: function() {
					var b = null,
						c = null,
						d = 0;
					c = a.getRect(this.__element), c.height = this.__element.scrollHeight, c.bottom = c.top + c.height, b = this.__getBoundRect(), d = c.bottom - b.bottom, d > 0 ? (this.__height_resized = !0, d = c.height - d - this.__options.diff, e(this.__element).css("height", d + "px")) : this.__height_resized && (this.__element.style.height = null)
				},
				__getLocation: function() {
					var b = a.getBound(this.__target);
					switch (this.__layout) {
					case d.CENTER:
					case d.MIDDLE:
						return this.__getCenterLayout(b);
					case d.LEFT:
					case d.RIGHT:
					case d.BOTTOM:
					case d.TOP:
						return this.__getOuterLayout(b);
					default:
						return this.__getInnerLayout(b)
					}
					return location
				},
				__getCenterLayout: function(b) {
					var c = {
						top: 0,
						left: 0
					},
						d = a.getRect(this.__element),
						e = 0;
					return e = b.height - d.height, e > 0 && (c.top = b.top + e / 2), e = b.width - d.width, e > 0 && (c.left = b.left + e / 2), c
				},
				__getOuterLayout: function(b) {
					var c = {
						top: 0,
						left: 0
					},
						e = a.getRect(this.__element);
					switch (this.__layout) {
					case d.TOP:
						c.left = b.left, c.top = b.top - e.height;
						break;
					case d.LEFT:
						c.top = b.top, c.left = b.left - e.width;
						break;
					case d.RIGHT:
						c.top = b.top, c.left = b.right;
						break;
					case d.BOTTOM:
					default:
						c.left = b.left, c.top = b.bottom
					}
					return c
				},
				__getInnerLayout: function(b) {
					var c = {
						top: 0,
						left: 0
					},
						e = b,
						f = a.getRect(this.__element);
					switch (this.__layout) {
					case d.LEFT_TOP:
						c.top = e.top, c.left = e.left;
						break;
					case d.RIGHT_TOP:
						c.top = e.top, c.left = e.left + e.width - f.width;
						break;
					case d.LEFT_BOTTOM:
						c.top = e.top + e.height - f.height, c.left = e.left;
						break;
					case d.RIGHT_BOTTOM:
						c.top = e.top + e.height - f.height, c.left = e.left + e.width - f.width
					}
					return this.__correctionLocation(c)
				},
				__getBoundRect: function() {
					var b = -1,
						c = -1,
						d = null;
					return "body" === this.__options.bound.tagName.toLowerCase() ? (d = a.getView(this.__options.bound), b = e(d).width(), c = e(d).height(), {
						top: 0,
						left: 0,
						right: b,
						bottom: c,
						width: b,
						height: c
					}) : a.getRect(this.__options.bound)
				},
				__correctionLocation: function(b) {
					var c = a.getRect(this.__element),
						e = a.getRect(this.__target),
						f = this.__getBoundRect();
					switch (this.__layout) {
					case d.LEFT_TOP:
					case d.LEFT_BOTTOM:
						b.left + c.width > f.right && (b.left += e.width - c.width);
						break;
					case d.RIGHT_TOP:
					case d.RIGHT_BOTTOM:
						b.left < f.left && (b.left = e.left)
					}
					return b
				}
			})
		}
	}, _p[55] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(51),
				d = _p.r(54),
				e = _p.r(37),
				f = _p.r(0),
				g = _p.r(49);
			return _p.r(13).createClass("SelectMenu", {
				base: c,
				constructor: function(b) {
					var c = {
						bed: {
							className: "fui-select-menu-bed"
						},
						button: {
							className: "fui-select-menu-btn"
						},
						events: ["btnclick"],
						selected: -1
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				show: function() {
					this.__widgetMenu.show(), this.__mask.show()
				},
				hide: function() {
					this.__widgetMenu.hide(), this.__mask.hide()
				},
				getValue: function() {
					var a = this.__widgets[this.__selected];
					return a ? a.getValue() : null
				},
				getSelected: function() {
					return this.__widgets[this.__selected]
				},
				select: function(a) {
					var b = this.__widgets[a],
						c = "fui-select-menu-selected",
						d = this.__selected,
						e = this.__widgets[this.__selected],
						f = this.__bed.getElement();
					return b ? (e && e.removeClass(c), f.innerHTML = "", f.appendChild(b.cloneElement()), b.addClass(c), this.__selected = a, this.trigger("select", {
						index: a,
						widget: b
					}), this.__selected !== d && this.trigger("change", {
						from: {
							index: d,
							widget: e
						},
						to: {
							index: a,
							widget: b
						}
					}), this) : this
				},
				selectByWidget: function(a) {
					return this.select(this.indexOf(a))
				},
				selectByValue: function(b) {
					var c = -1;
					return a.each(this.__widgets, function(a, d) {
						return d.getValue() === b ? (c = a, !1) : void 0
					}), this.select(c)
				},
				__render: function() {
					this.__bed = new c(this.__options.bed), this.__dropBtn = new e(this.__options.button), this.__widgetMenu = new d({
						className: "fui-select-menu-container",
						layout: b.layout.LEFT_TOP,
						column: this.__column
					}), this.__mask = new g;
					var h = this.__initWidgets();
					this.callBase(), a(this.__element).addClass(b.classPrefix + "select-menu"), this.appendWidgets([this.__bed, this.__dropBtn, this.__mask, this.__widgetMenu]), this.__widgets = [], this.__oldContentElement = this.__contentElement, this.__contentElement = this.__widgetMenu, this.appendWidgets(h), this.__widgetMenu.positionTo(this.getElement()), a.isNumeric(this.__options.selected) ? -1 != this.__options.selected && this.select(this.__options.selected) : this.__bed.appendWidget(f.parse(this.__options.selected))
				},
				__initWidgets: function() {
					var b = [];
					if (this.__options.widgets) return a.each(this.__options.widgets, function(a, c) {
						b.push(f.parse(c))
					}), b
				},
				__initEvent: function() {
					this.callBase();
					var a = this;
					this.__dropBtn.on("btnclick", function() {
						a.show()
					}), this.__mask.on("click", function() {
						a.hide()
					}), this.__widgetMenu.on(this.__options.events.join(" "), function(b) {
						var c = b.target;
						if (c !== a.__oldContentElement && c !== a.getElement) return b.stopPropagation(), a.selectByWidget(b.widget), a.hide(), !1
					})
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "SelectMenu", this.__bed = null, this.__dropBtn = null, this.__widgetMenu = null, this.__mask = null, this.__widgets = [], this.__selected = -1, this.__oldContentElement = null, this.__column = this.__options.column, delete this.__options.column
				}
			})
		}
	}, _p[56] = {
		value: function() {
			var a = _p.r(13),
				b = _p.r(31),
				c = _p.r(4);
			return a.createClass("Separator", {
				base: _p.r(60),
				constructor: function(a) {
					var b = {
						width: 1,
						height: "100%",
						bgcolor: "#e1e1e1"
					};
					a = c.extend({}, b, a), this.callBase(a)
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Separator", this.__tpl = b
				}
			})
		}
	}, _p[57] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(32),
				d = _p.r(37),
				e = _p.r(45),
				f = _p.r(51);
			return _p.r(13).createClass("SpinButton", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						suffix: null,
						selected: -1,
						items: []
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				getValue: function() {
					return this.__options.items[this.__currentSelected] || null
				},
				setValue: function() {},
				select: function(a) {
					this.__update(a)
				},
				selectByValue: function(b) {
					b += "", this.__update(a.inArray(b, this.__options.items))
				},
				__render: function() {
					this.callBase(), this.__buttons = [new d({
						className: b.classPrefix + "spin-up-btn"
					}), new d({
						className: b.classPrefix + "spin-down-btn"
					})], this.__inputWidget = new e, this.__panelWidget = new f({
						column: !0
					}), this.__inputWidget.appendTo(this.__element), this.__panelWidget.appendWidget(this.__buttons[0]), this.__panelWidget.appendWidget(this.__buttons[1]), this.__panelWidget.appendTo(this.__element), this.__initSelected(this.__options.selected)
				},
				__initEvent: function() {
					var a = this;
					this.callBase(), this.__buttons[0].on("btnclick", function() {
						a.__update(a.__currentSelected - 1)
					}), this.__buttons[1].on("btnclick", function() {
						a.__update(a.__currentSelected + 1)
					})
				},
				__initSelected: function(a) {
					this.__update(a, !1)
				},
				__update: function(a, b) {
					var c = -1,
						d = null,
						e = null;
					0 > a || a >= this.__options.items.length || (c = this.__currentSelected, this.__currentSelected = a, e = this.__options.items[this.__currentSelected], d = e + " " + (this.__options.suffix || ""), this.__inputWidget.setValue(d), b !== !1 && this.trigger("change", {
						from: this.__options.items[c] || null,
						to: e
					}))
				},
				__initOptions: function() {
					var b = this.__options.items;
					this.callBase(), this.widgetName = "SpinButton", this.__tpl = c, this.__buttons = [], this.__panelWidget = null, this.__inputWidget = null, this.__currentSelected = -1, a.each(b, function(a, c) {
						b[a] = c + ""
					})
				}
			})
		}
	}, _p[58] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12),
				c = _p.r(33),
				d = _p.r(37),
				e = _p.r(51);
			return _p.r(13).createClass("Tabs", {
				base: _p.r(60),
				constructor: function(b) {
					var c = {
						selected: 0,
						buttons: [],
						panels: []
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				getButtons: function() {
					return this.__btns
				},
				getButton: function(a) {
					return this.getButtons()[a] || null
				},
				getButtonByValue: function(b) {
					var c = null;
					return a.each(this.__btns, function(a, d) {
						return d.getValue() === b ? (c = d, !1) : void 0
					}), c
				},
				getPanels: function() {
					return this.__panels
				},
				getPanel: function(a) {
					return this.getPanels()[a] || null
				},
				getPanelByValue: function(b) {
					var c = null;
					return a.each(this.__panels, function(a, d) {
						return d.getValue() === b ? (c = d, !1) : void 0
					}), c
				},
				getSelectedIndex: function() {
					return this.__selected
				},
				getSelected: function() {
					var a = this.getSelectedIndex();
					return {
						button: this.getButton(a),
						panel: this.getPanel(a)
					}
				},
				appendTab: function(a) {
					return a.panels = a.panels || [], this.__renderByOptions(a)
				},
				removeTab: function(a) {
					if (0 > a) return null;
					var b = this.__btns.splice(a, 1),
						c = this.__panels.splice(a, 1);
					return b.length ? (b = b[0], c = c[0], b.remove(), c.remove(), {
						button: b,
						panel: c
					}) : null
				},
				select: function(a) {
					var b = null;
					return this.__selectItem(a) ? (b = this.__getInfo(a), this.trigger("tabsselect", b), this.__prevSelected !== this.__selected && this.trigger("tabschange", {
						from: this.__getInfo(this.__prevSelected),
						to: b
					}), this) : this
				},
				getIndexByButton: function(b) {
					return a.inArray(b, this.__btns)
				},
				appendButtonTo: function(b) {
					a.each(this.__btns, function(a, c) {
						c.appendTo(b)
					})
				},
				appendPanelTo: function(b) {
					a.each(this.__panels, function(a, c) {
						c.appendTo(b)
					})
				},
				__render: function() {
					this.callBase(), this.__btnWrap = a(".fui-tabs-button-wrap", this.__element)[0], this.__panelWrap = a(".fui-tabs-panel-wrap", this.__element)[0], this.__renderByOptions(this.__options), this.__selectItem(this.__options.selected)
				},
				__renderByOptions: function(b) {
					var c = this,
						f = [],
						g = this.__btns,
						h = this.__panels,
						i = this.__btnWrap,
						j = this.__panelWrap;
					return a.each(b.buttons, function(a, k) {
						var l = null,
							m = null;
						"object" != typeof k && (k = {
							label: k
						}), l = new d(k), l.on("click", function() {
							c.select(c.getIndexByButton(this))
						}), k = b.panels[a] || {}, k.hide = !0, m = new e(k), g.push(l), h.push(m), f.push({
							button: l,
							panel: m
						}), l.appendTo(i), m.appendTo(j)
					}), f
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "Tabs", this.__tpl = c, this.__btns = [], this.__panels = [], this.__prevSelected = -1, this.__selected = -1, this.__btnWrap = null, this.__panelWrap = null, null === this.__options.panels && (this.__options.panels = [], this.__options.panels.length = this.__options.buttons.length)
				},
				__selectItem: function(a) {
					var c = this.getButton(a),
						d = this.getButton(this.__selected),
						e = b.classPrefix + "selected";
					return c ? (d && (d.removeClass(e), this.getPanel(this.__selected).hide()), c.addClass(e), this.getPanel(a).show(), this.__prevSelected = this.__selected, this.__selected = a, !0) : !1
				},
				__getInfo: function(a) {
					return {
						index: a,
						button: this.getButton(a),
						panel: this.getPanel(a)
					}
				}
			})
		}
	}, _p[59] = {
		value: function() {
			var a = _p.r(4),
				b = _p.r(12);
			return _p.r(13).createClass("ToggleButton", {
				base: _p.r(37),
				constructor: function(b) {
					var c = {
						pressed: !1
					};
					b = a.extend({}, c, b), this.callBase(b)
				},
				isPressed: function() {
					return this.__state
				},
				press: function() {
					var c = b.classPrefix + "button-pressed";
					a(this.__element).addClass(c), this.__updateState(!0)
				},
				bounce: function() {
					var c = b.classPrefix + "button-pressed";
					a(this.__element).removeClass(c), this.__updateState(!1)
				},
				toggle: function() {
					this.__state ? this.bounce() : this.press()
				},
				__initOptions: function() {
					this.callBase(), this.widgetName = "ToggleButton", this.__state = !1
				},
				__render: function() {
					return this.callBase(), a(this.__element).addClass(b.classPrefix + "toggle-button"), this.__initButtonState(), this
				},
				__initButtonState: function() {
					this.__options.pressed && (a(this.__element).addClass(b.classPrefix + "button-pressed"), this.__state = !0)
				},
				__initEvent: function() {
					this.callBase(), this.on("click", function() {
						this.toggle()
					})
				},
				__updateState: function(a) {
					a = !! a, this.__state = a, this.trigger("change", a, !a)
				}
			})
		}
	}, _p[60] = {
		value: function() {
			function a() {
				return b + ++c
			}
			var b = "_fui_",
				c = 0,
				d = _p.r(12),
				e = _p.r(11),
				f = _p.r(4),
				g = _p.r(13),
				h = _p.r(13).createClass("Widget", {
					constructor: function(a) {
						var b = {
							id: null,
							className: "",
							disabled: !1,
							preventDefault: !1,
							text: "",
							value: null,
							hide: !1,
							width: null,
							height: null
						};
						this.__widgetType = "widget", this.__tpl = "", this.__compiledTpl = "", this.__options = {}, this.__element = null, this.__allow_focus = !! d.allowFocus, this.widgetName = "Widget", this.__extendOptions(b, a), this.__initOptions(), this.__render(), this.__initEvent(), this.__initWidgets && this.__initWidgets()
					},
					getId: function() {
						return this.id
					},
					getValue: function() {
						return this.__options.value
					},
					getOptions: function() {
						return this.__options
					},
					setValue: function(a) {
						return this.__options.value = a, this
					},
					show: function() {
						return this.__show(), this
					},
					hide: function() {
						return this.__hide(), this
					},
					addClass: function(a) {
						return f(this.__element).addClass(a), this
					},
					removeClass: function(a) {
						return f(this.__element).removeClass(a), this
					},
					setStyle: function() {
						return f.fn.css.apply(f(this.__element), arguments), this
					},
					getStyle: function() {
						return f.fn.css.apply(f(this.__element), arguments)
					},
					isDisabled: function() {
						return this.__options.disabled
					},
					enable: function() {
						return this.__options.disabled = !1, f(this.__element).removeClass(d.classPrefix + "disabled"), this
					},
					disable: function() {
						return this.__options.disabled = !0, f(this.__element).addClass(d.classPrefix + "disabled"), this
					},
					cloneElement: function() {
						return this.__element.cloneNode(!0)
					},
					getElement: function() {
						return this.__element
					},
					appendTo: function(a) {
						if (g.isElement(a)) a.appendChild(this.__element);
						else {
							if (!(a instanceof h)) throw new Error("TypeError: Widget.appendTo()");
							a.__appendChild(this)
						}
						return this
					},
					remove: function() {
						var a = this.__element.parentNode;
						return a && a.removeChild(this.__element), this
					},
					off: function(a, b) {
						return f(this.__element).off(b && b.__fui_listener), this
					},
					on: function(a, b) {
						return this.__options.preventDefault || this.__on(a, b), this
					},
					__initOptions: function() {},
					__render: function() {
						var a = null,
							b = this.__tpl,
							c = this.__options,
							h = null;
						return this.id = this.__id(), e.__registerInstance(this), this.__compiledTpl = g.Tpl.compile(b, c), this.__element = f(this.__compiledTpl)[0], this.__element.setAttribute("id", this.id), a = f(this.__element), c.disabled && a.addClass(d.classPrefix + "disabled"), a.addClass(d.classPrefix + "widget"), h = c.className, h.length > 0 && a.addClass(f.isArray(h) ? h.join(" ") : h), this.__initBasicEnv(), c.hide && this.__hide(), c.style && this.setStyle(c.style), this
					},
					__appendChild: function(a) {
						return this.__element.appendChild(a.getElement())
					},
					__initEvent: function() {
						this.on("mousedown", function(a) {
							var b = a.target.tagName.toLowerCase();
							d.control[b] || this.__allowFocus() ? a.stopPropagation() : a.preventDefault()
						})
					},
					__on: function(a, b) {
						var c = this;
						return b.__fui_listener = function(a, d) {
							for (var e = [], f = 0, g = arguments.length; g > f; f++) 1 !== f && e.push(arguments[f]);
							return a.widget = d, c.isDisabled() ? void 0 : b.apply(c, e)
						}, f(this.__element).on(a, b.__fui_listener), this
					},
					trigger: function() {
						return this.__options.preventDefault || this.__trigger.apply(this, arguments), this
					},
					__allowShowTitle: function() {
						return !0
					},
					__allowFocus: function() {
						return !!this.__allow_focus
					},
					__trigger: function(a) {
						var b = [].slice.call(arguments, 1);
						return f(this.__element).trigger(a, [this].concat(b)), this
					},
					__triggerHandler: function(a) {
						var b = [this].concat([].slice.call(arguments, 1));
						return f(this.__element).triggerHandler(a, b)
					},
					__fire: function(a, b) {
						var c = {
							cancel: !1
						};
						return /^(before|after)/.test(a) ? this : (this.__trigger("before" + a, c), c.cancel === !0 ? this : (c = b.call(this, a), this.__trigger(a), this.__trigger("after" + a, c), this))
					},
					__extendOptions: function() {
						var a = [{},
						this.__options],
							b = [!0];
						a = a.concat([].slice.call(arguments, 0));
						for (var c = 0, d = a.length; d > c; c++)"string" != typeof a[c] && b.push(a[c]);
						this.__options = f.extend.apply(f, b)
					},
					__hide: function() {
						f(this.__element).addClass(d.classPrefix + "hide")
					},
					__show: function() {
						f(this.__element).removeClass(d.classPrefix + "hide")
					},
					__initBasicEnv: function() {
						this.__options.text && this.__allowShowTitle() && this.__element.setAttribute("title", this.__options.text), this.__options.width && (this.__element.style.width = this.__options.width + "px"), this.__options.height && (this.__element.style.height = this.__options.height + "px"), this.widgetName && this.__element.setAttribute("rule", this.widgetName)
					},
					__id: function() {
						return this.__options.id || a()
					}
				});
			return h
		}
	}, _p[61] = {
		value: function() {
			_p.r(1), _p.r(2)
		}
	};
	var moduleMapping = {
		"fui.export": 61
	};
	use("fui.export")
}();