1. 程式人生 > >loadrunner 壓力測試 平均響應時間20秒 100使用者併發 jquery.easyui.min.js 和jquery.js佔用時間最長

loadrunner 壓力測試 平均響應時間20秒 100使用者併發 jquery.easyui.min.js 和jquery.js佔用時間最長

loadrunner 壓力測試 平均響應時間20秒  100使用者併發 jquery.easyui.min.js 和jquery.js佔用時間最長
很無奈。jquery.easyui.min.js和jquery.js 都是原始的。這個速度還說慢,沒有辦法,優化吧。
把對應要壓力測試的頁面沒用到的功能從jquery.easyui.min.js中移除。我那個頁面只用到了datagrid。
用ueidt編輯器編輯。他有收縮功能。我一大段一大段 可以收縮的去掉。去掉一個,重新整理下頁面,如果沒問題就刪掉,有問題就不刪。這樣。300多kb的,刪了1半

然後再壓縮一下。丟回去。變成150kb。 再測試,平均時間12秒。通過


如上圖。最大的兩個時間就是 jquery.easyui.min.js 和jquery.js

怎麼在壓力測試中調出來這個呢。

runtime-settings->performance-winlet reply instead of sockers這一項不要勾選,重新壓,才能看到

生成報告中。webpagediagnostics中可以看到。

上面有個select pageto break down  中可以選擇對應的請求,看更細的請求。就是上面的圖了。


另外基本的壓力測試步驟:

錄製壓力視訊幾步走

使用者初始化
設定集合點
設定事務開始點和結束點
去掉lr_think_time 值(在腳本里面修改)

附上優化後的檔案

(function($) {
    $.parser = {
        auto: true,
        onComplete: function(_1) {},
        plugins: ["draggable", "droppable", "resizable", "pagination", "tooltip", "linkbutton", "menu", "menubutton", "splitbutton", "progressbar", "tree", "textbox", "filebox", "combo", "combobox", "combotree", "combogrid", "numberbox", "validatebox", "searchbox", "spinner", "numberspinner", "timespinner", "datetimespinner", "calendar", "datebox", "datetimebox", "slider", "layout", "panel", "datagrid", "propertygrid", "treegrid", "tabs", "accordion", "window", "dialog", "form"],
        parse: function(_2) {
            var aa = [];
            for (var i = 0; i < $.parser.plugins.length; i++) {
                var _3 = $.parser.plugins[i];
                var r = $(".easyui-" + _3, _2);
                if (r.length) {
                    if (r[_3]) {
                        r[_3]();
                    } else {
                        aa.push({
                            name: _3,
                            jq: r
                        });
                    }
                }
            }
            if (aa.length && window.easyloader) {
                var _4 = [];
                for (var i = 0; i < aa.length; i++) {
                    _4.push(aa[i].name);
                }
                easyloader.load(_4,
                function() {
                    for (var i = 0; i < aa.length; i++) {
                        var _5 = aa[i].name;
                        var jq = aa[i].jq;
                        jq[_5]();
                    }
                    $.parser.onComplete.call($.parser, _2);
                });
            } else {
                $.parser.onComplete.call($.parser, _2);
            }
        },
        parseValue: function(_6, _7, _8, _9) {
            _9 = _9 || 0;
            var v = $.trim(String(_7 || ""));
            var _a = v.substr(v.length - 1, 1);
            if (_a == "%") {
                v = parseInt(v.substr(0, v.length - 1));
                if (_6.toLowerCase().indexOf("width") >= 0) {
                    v = Math.floor((_8.width() - _9) * v / 100);
                } else {
                    v = Math.floor((_8.height() - _9) * v / 100);
                }
            } else {
                v = parseInt(v) || undefined;
            }
            return v;
        },
        parseOptions: function(_b, _c) {
            var t = $(_b);
            var _d = {};
            var s = $.trim(t.attr("data-options"));
            if (s) {
                if (s.substring(0, 1) != "{") {
                    s = "{" + s + "}";
                }
                _d = (new Function("return " + s))();
            }
            $.map(["width", "height", "left", "top", "minWidth", "maxWidth", "minHeight", "maxHeight"],
            function(p) {
                var pv = $.trim(_b.style[p] || "");
                if (pv) {
                    if (pv.indexOf("%") == -1) {
                        pv = parseInt(pv) || undefined;
                    }
                    _d[p] = pv;
                }
            });
            if (_c) {
                var _e = {};
                for (var i = 0; i < _c.length; i++) {
                    var pp = _c[i];
                    if (typeof pp == "string") {
                        _e[pp] = t.attr(pp);
                    } else {
                        for (var _f in pp) {
                            var _10 = pp[_f];
                            if (_10 == "boolean") {
                                _e[_f] = t.attr(_f) ? (t.attr(_f) == "true") : undefined;
                            } else {
                                if (_10 == "number") {
                                    _e[_f] = t.attr(_f) == "0" ? 0 : parseFloat(t.attr(_f)) || undefined;
                                }
                            }
                        }
                    }
                }
                $.extend(_d, _e);
            }
            return _d;
        }
    };
    $(function() {
        var d = $("<div style=\"position:absolute;top:-1000px;width:100px;height:100px;padding:5px\"></div>").appendTo("body");
        $._boxModel = d.outerWidth() != 100;
        d.remove();
        if (!window.easyloader && $.parser.auto) {
            $.parser.parse();
        }
    });
    $.fn._outerWidth = function(_11) {
        if (_11 == undefined) {
            if (this[0] == window) {
                return this.width() || document.body.clientWidth;
            }
            return this.outerWidth() || 0;
        }
        return this._size("width", _11);
    };
    $.fn._outerHeight = function(_12) {
        if (_12 == undefined) {
            if (this[0] == window) {
                return this.height() || document.body.clientHeight;
            }
            return this.outerHeight() || 0;
        }
        return this._size("height", _12);
    };
    $.fn._scrollLeft = function(_13) {
        if (_13 == undefined) {
            return this.scrollLeft();
        } else {
            return this.each(function() {
                $(this).scrollLeft(_13);
            });
        }
    };
    $.fn._propAttr = $.fn.prop || $.fn.attr;
    $.fn._size = function(_14, _15) {
        if (typeof _14 == "string") {
            if (_14 == "clear") {
                return this.each(function() {
                    $(this).css({
                        width: "",
                        minWidth: "",
                        maxWidth: "",
                        height: "",
                        minHeight: "",
                        maxHeight: ""
                    });
                });
            } else {
                if (_14 == "unfit") {
                    return this.each(function() {
                        _16(this, $(this).parent(), false);
                    });
                } else {
                    if (_15 == undefined) {
                        return _17(this[0], _14);
                    } else {
                        return this.each(function() {
                            _17(this, _14, _15);
                        });
                    }
                }
            }
        } else {
            return this.each(function() {
                _15 = _15 || $(this).parent();
                $.extend(_14, _16(this, _15, _14.fit) || {});
                var r1 = _18(this, "width", _15, _14);
                var r2 = _18(this, "height", _15, _14);
                if (r1 || r2) {
                    $(this).addClass("easyui-fluid");
                } else {
                    $(this).removeClass("easyui-fluid");
                }
            });
        }
        function _16(_19, _1a, fit) {
            var t = $(_19)[0];
            var p = _1a[0];
            var _1b = p.fcount || 0;
            if (fit) {
                if (!t.fitted) {
                    t.fitted = true;
                    p.fcount = _1b + 1;
                    $(p).addClass("panel-noscroll");
                    if (p.tagName == "BODY") {
                        $("html").addClass("panel-fit");
                    }
                }
                return {
                    width: ($(p).width() || 1),
                    height: ($(p).height() || 1)
                };
            } else {
                if (t.fitted) {
                    t.fitted = false;
                    p.fcount = _1b - 1;
                    if (p.fcount == 0) {
                        $(p).removeClass("panel-noscroll");
                        if (p.tagName == "BODY") {
                            $("html").removeClass("panel-fit");
                        }
                    }
                }
                return false;
            }
        };
        function _18(_1c, _1d, _1e, _1f) {
            var t = $(_1c);
            var p = _1d;
            var p1 = p.substr(0, 1).toUpperCase() + p.substr(1);
            var min = $.parser.parseValue("min" + p1, _1f["min" + p1], _1e);
            var max = $.parser.parseValue("max" + p1, _1f["max" + p1], _1e);
            var val = $.parser.parseValue(p, _1f[p], _1e);
            var _20 = (String(_1f[p] || "").indexOf("%") >= 0 ? true: false);
            if (!isNaN(val)) {
                var v = Math.min(Math.max(val, min || 0), max || 99999);
                if (!_20) {
                    _1f[p] = v;
                }
                t._size("min" + p1, "");
                t._size("max" + p1, "");
                t._size(p, v);
            } else {
                t._size(p, "");
                t._size("min" + p1, min);
                t._size("max" + p1, max);
            }
            return _20 || _1f.fit;
        };
        function _17(_21, _22, _23) {
            var t = $(_21);
            if (_23 == undefined) {
                _23 = parseInt(_21.style[_22]);
                if (isNaN(_23)) {
                    return undefined;
                }
                if ($._boxModel) {
                    _23 += _24();
                }
                return _23;
            } else {
                if (_23 === "") {
                    t.css(_22, "");
                } else {
                    if ($._boxModel) {
                        _23 -= _24();
                        if (_23 < 0) {
                            _23 = 0;
                        }
                    }
                    t.css(_22, _23 + "px");
                }
            }
            function _24() {
                if (_22.toLowerCase().indexOf("width") >= 0) {
                    return t.outerWidth() - t.width();
                } else {
                    return t.outerHeight() - t.height();
                }
            };
        };
    };
})(jQuery);

 (function($) {
    $.fn.resizable = function(_6b, _6c) {
        if (typeof _6b == "string") {
            return $.fn.resizable.methods[_6b](this, _6c);
        }
        function _6d(e) {
            var _6e = e.data;
            var _6f = $.data(_6e.target, "resizable").options;
            if (_6e.dir.indexOf("e") != -1) {
                var _70 = _6e.startWidth + e.pageX - _6e.startX;
                _70 = Math.min(Math.max(_70, _6f.minWidth), _6f.maxWidth);
                _6e.width = _70;
            }
            if (_6e.dir.indexOf("s") != -1) {
                var _71 = _6e.startHeight + e.pageY - _6e.startY;
                _71 = Math.min(Math.max(_71, _6f.minHeight), _6f.maxHeight);
                _6e.height = _71;
            }
            if (_6e.dir.indexOf("w") != -1) {
                var _70 = _6e.startWidth - e.pageX + _6e.startX;
                _70 = Math.min(Math.max(_70, _6f.minWidth), _6f.maxWidth);
                _6e.width = _70;
                _6e.left = _6e.startLeft + _6e.startWidth - _6e.width;
            }
            if (_6e.dir.indexOf("n") != -1) {
                var _71 = _6e.startHeight - e.pageY + _6e.startY;
                _71 = Math.min(Math.max(_71, _6f.minHeight), _6f.maxHeight);
                _6e.height = _71;
                _6e.top = _6e.startTop + _6e.startHeight - _6e.height;
            }
        };
        function _72(e) {
            var _73 = e.data;
            var t = $(_73.target);
            t.css({
                left: _73.left,
                top: _73.top
            });
            if (t.outerWidth() != _73.width) {
                t._outerWidth(_73.width);
            }
            if (t.outerHeight() != _73.height) {
                t._outerHeight(_73.height);
            }
        };
        function _74(e) {
            $.fn.resizable.isResizing = true;
            $.data(e.data.target, "resizable").options.onStartResize.call(e.data.target, e);
            return false;
        };
        function _75(e) {
            _6d(e);
            if ($.data(e.data.target, "resizable").options.onResize.call(e.data.target, e) != false) {
                _72(e);
            }
            return false;
        };
        function _76(e) {
            $.fn.resizable.isResizing = false;
            _6d(e, true);
            _72(e);
            $.data(e.data.target, "resizable").options.onStopResize.call(e.data.target, e);
            $(document).unbind(".resizable");
            $("body").css("cursor", "");
            return false;
        };
        return this.each(function() {
            var _77 = null;
            var _78 = $.data(this, "resizable");
            if (_78) {
                $(this).unbind(".resizable");
                _77 = $.extend(_78.options, _6b || {});
            } else {
                _77 = $.extend({},
                $.fn.resizable.defaults, $.fn.resizable.parseOptions(this), _6b || {});
                $.data(this, "resizable", {
                    options: _77
                });
            }
            if (_77.disabled == true) {
                return;
            }
            $(this).bind("mousemove.resizable", {
                target: this
            },
            function(e) {
                if ($.fn.resizable.isResizing) {
                    return;
                }
                var dir = _79(e);
                if (dir == "") {
                    $(e.data.target).css("cursor", "");
                } else {
                    $(e.data.target).css("cursor", dir + "-resize");
                }
            }).bind("mouseleave.resizable", {
                target: this
            },
            function(e) {
                $(e.data.target).css("cursor", "");
            }).bind("mousedown.resizable", {
                target: this
            },
            function(e) {
                var dir = _79(e);
                if (dir == "") {
                    return;
                }
                function _7a(css) {
                    var val = parseInt($(e.data.target).css(css));
                    if (isNaN(val)) {
                        return 0;
                    } else {
                        return val;
                    }
                };
                var _7b = {
                    target: e.data.target,
                    dir: dir,
                    startLeft: _7a("left"),
                    startTop: _7a("top"),
                    left: _7a("left"),
                    top: _7a("top"),
                    startX: e.pageX,
                    startY: e.pageY,
                    startWidth: $(e.data.target).outerWidth(),
                    startHeight: $(e.data.target).outerHeight(),
                    width: $(e.data.target).outerWidth(),
                    height: $(e.data.target).outerHeight(),
                    deltaWidth: $(e.data.target).outerWidth() - $(e.data.target).width(),
                    deltaHeight: $(e.data.target).outerHeight() - $(e.data.target).height()
                };
                $(document).bind("mousedown.resizable", _7b, _74);
                $(document).bind("mousemove.resizable", _7b, _75);
                $(document).bind("mouseup.resizable", _7b, _76);
                $("body").css("cursor", dir + "-resize");
            });
            function _79(e) {
                var tt = $(e.data.target);
                var dir = "";
                var _7c = tt.offset();
                var _7d = tt.outerWidth();
                var _7e = tt.outerHeight();
                var _7f = _77.edge;
                if (e.pageY > _7c.top && e.pageY < _7c.top + _7f) {
                    dir += "n";
                } else {
                    if (e.pageY < _7c.top + _7e && e.pageY > _7c.top + _7e - _7f) {
                        dir += "s";
                    }
                }
                if (e.pageX > _7c.left && e.pageX < _7c.left + _7f) {
                    dir += "w";
                } else {
                    if (e.pageX < _7c.left + _7d && e.pageX > _7c.left + _7d - _7f) {
                        dir += "e";
                    }
                }
                var _80 = _77.handles.split(",");
                for (var i = 0; i < _80.length; i++) {
                    var _81 = _80[i].replace(/(^\s*)|(\s*$)/g, "");
                    if (_81 == "all" || _81 == dir) {
                        return dir;
                    }
                }
                return "";
            };
        });
    };
    $.fn.resizable.methods = {
        options: function(jq) {
            return $.data(jq[0], "resizable").options;
        },
        enable: function(jq) {
            return jq.each(function() {
                $(this).resizable({
                    disabled: false
                });
            });
        },
        disable: function(jq) {
            return jq.each(function() {
                $(this).resizable({
                    disabled: true
                });
            });
        }
    };
    $.fn.resizable.parseOptions = function(_82) {
        var t = $(_82);
        return $.extend({},
        $.parser.parseOptions(_82, ["handles", {
            minWidth: "number",
            minHeight: "number",
            maxWidth: "number",
            maxHeight: "number",
            edge: "number"
        }]), {
            disabled: (t.attr("disabled") ? true: undefined)
        });
    };
    $.fn.resizable.defaults = {
        disabled: false,
        handles: "n, e, s, w, ne, se, sw, nw, all",
        minWidth: 10,
        minHeight: 10,
        maxWidth: 10000,
        maxHeight: 10000,
        edge: 5,
        onStartResize: function(e) {},
        onResize: function(e) {},
        onStopResize: function(e) {}
    };
    $.fn.resizable.isResizing = false;
})(jQuery);

 (function($) {
    function _83(_84, _85) {
        var _86 = $.data(_84, "linkbutton").options;
        if (_85) {
            $.extend(_86, _85);
        }
        if (_86.width || _86.height || _86.fit) {
            var _87 = $("<div style=\"display:none\"></div>").insertBefore(_84);
            var btn = $(_84);
            var _88 = btn.parent();
            btn.appendTo("body");
            btn._size(_86, _88);
            var _89 = btn.find(".l-btn-left");
            _89.css("margin-top", parseInt((btn.height() - _89.height()) / 2) + "px");
            btn.insertAfter(_87);
            _87.remove();
        }
    };
    function _8a(_8b) {
        var _8c = $.data(_8b, "linkbutton").options;
        var t = $(_8b).empty();
        t.addClass("l-btn").removeClass("l-btn-plain l-btn-selected l-btn-plain-selected");
        t.removeClass("l-btn-small l-btn-medium l-btn-large").addClass("l-btn-" + _8c.size);
        if (_8c.plain) {
            t.addClass("l-btn-plain");
        }
        if (_8c.selected) {
            t.addClass(_8c.plain ? "l-btn-selected l-btn-plain-selected": "l-btn-selected");
        }
        t.attr("group", _8c.group || "");
        t.attr("id", _8c.id || "");
        var _8d = $("<span class=\"l-btn-left\"></span>").appendTo(t);
        if (_8c.text) {
            $("<span class=\"l-btn-text\"></span>").html(_8c.text).appendTo(_8d);
        } else {
            $("<span class=\"l-btn-text l-btn-empty\"> </span>").appendTo(_8d);
        }
        if (_8c.iconCls) {
            $("<span class=\"l-btn-icon\"> </span>").addClass(_8c.iconCls).appendTo(_8d);
            _8d.addClass("l-btn-icon-" + _8c.iconAlign);
        }
        t.unbind(".linkbutton").bind("focus.linkbutton",
        function() {
            if (!_8c.disabled) {
                $(this).addClass("l-btn-focus");
            }
        }).bind("blur.linkbutton",
        function() {
            $(this).removeClass("l-btn-focus");
        }).bind("click.linkbutton",
        function() {
            if (!_8c.disabled) {
                if (_8c.toggle) {
                    if (_8c.selected) {
                        $(this).linkbutton("unselect");
                    } else {
                        $(this).linkbutton("select");
                    }
                }
                _8c.onClick.call(this);
            }
        });
        _8e(_8b, _8c.selected);
        _8f(_8b, _8c.disabled);
    };
    function _8e(_90, _91) {
        var _92 = $.data(_90, "linkbutton").options;
        if (_91) {
            if (_92.group) {
                $("a.l-btn[group=\"" + _92.group + "\"]").each(function() {
                    var o = $(this).linkbutton("options");
                    if (o.toggle) {
                        $(this).removeClass("l-btn-selected l-btn-plain-selected");
                        o.selected = false;
                    }
                });
            }
            $(_90).addClass(_92.plain ? "l-btn-selected l-btn-plain-selected": "l-btn-selected");
            _92.selected = true;
        } else {
            if (!_92.group) {
                $(_90).removeClass("l-btn-selected l-btn-plain-selected");
                _92.selected = false;
            }
        }
    };
    function _8f(_93, _94) {
        var _95 = $.data(_93, "linkbutton");
        var _96 = _95.options;
        $(_93).removeClass("l-btn-disabled l-btn-plain-disabled");
        if (_94) {
            _96.disabled = true;
            var _97 = $(_93).attr("href");
            if (_97) {
                _95.href = _97;
                $(_93).attr("href", "javascript:void(0)");
            }
            if (_93.onclick) {
                _95.onclick = _93.onclick;
                _93.onclick = null;
            }
            _96.plain ? $(_93).addClass("l-btn-disabled l-btn-plain-disabled") : $(_93).addClass("l-btn-disabled");
        } else {
            _96.disabled = false;
            if (_95.href) {
                $(_93).attr("href", _95.href);
            }
            if (_95.onclick) {
                _93.onclick = _95.onclick;
            }
        }
    };
    $.fn.linkbutton = function(_98, _99) {
        if (typeof _98 == "string") {
            return $.fn.linkbutton.methods[_98](this, _99);
        }
        _98 = _98 || {};
        return this.each(function() {
            var _9a = $.data(this, "linkbutton");
            if (_9a) {
                $.extend(_9a.options, _98);
            } else {
                $.data(this, "linkbutton", {
                    options: $.extend({},
                    $.fn.linkbutton.defaults, $.fn.linkbutton.parseOptions(this), _98)
                });
                $(this).removeAttr("disabled");
                $(this).bind("_resize",
                function(e, _9b) {
                    if ($(this).hasClass("easyui-fluid") || _9b) {
                        _83(this);
                    }
                    return false;
                });
            }
            _8a(this);
            _83(this);
        });
    };
    $.fn.linkbutton.methods = {
        options: function(jq) {
            return $.data(jq[0], "linkbutton").options;
        },
        resize: function(jq, _9c) {
            return jq.each(function() {
                _83(this, _9c);
            });
        },
        enable: function(jq) {
            return jq.each(function() {
                _8f(this, false);
            });
        },
        disable: function(jq) {
            return jq.each(function() {
                _8f(this, true);
            });
        },
        select: function(jq) {
            return jq.each(function() {
                _8e(this, true);
            });
        },
        unselect: function(jq) {
            return jq.each(function() {
                _8e(this, false);
            });
        }
    };
    $.fn.linkbutton.parseOptions = function(_9d) {
        var t = $(_9d);
        return $.extend({},
        $.parser.parseOptions(_9d, ["id", "iconCls", "iconAlign", "group", "size", {
            plain: "boolean",
            toggle: "boolean",
            selected: "boolean"
        }]), {
            disabled: (t.attr("disabled") ? true: undefined),
            text: $.trim(t.html()),
            iconCls: (t.attr("icon") || t.attr("iconCls"))
        });
    };
    $.fn.linkbutton.defaults = {
        id: null,
        disabled: false,
        toggle: false,
        selected: false,
        group: null,
        plain: false,
        text: "",
        iconCls: null,
        iconAlign: "left",
        size: "small",
        onClick: function() {}
    };
})(jQuery); 

(function($) {
    function _9e(_9f) {
        var _a0 = $.data(_9f, "pagination");
        var _a1 = _a0.options;
        var bb = _a0.bb = {};
        var _a2 = $(_9f).addClass("pagination").html("<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"><tr></tr></table>");
        var tr = _a2.find("tr");
        var aa = $.extend([], _a1.layout);
        if (!_a1.showPageList) {
            _a3(aa, "list");
        }
        if (!_a1.showRefresh) {
            _a3(aa, "refresh");
        }
        if (aa[0] == "sep") {
            aa.shift();
        }
        if (aa[aa.length - 1] == "sep") {
            aa.pop();
        }
        for (var _a4 = 0; _a4 < aa.length; _a4++) {
            var _a5 = aa[_a4];
            if (_a5 == "list") {
                var ps = $("<select class=\"pagination-page-list\"></select>");
                ps.bind("change",
                function() {
                    _a1.pageSize = parseInt($(this).val());
                    _a1.onChangePageSize.call(_9f, _a1.pageSize);
                    _ab(_9f, _a1.pageNumber);
                });
                for (var i = 0; i < _a1.pageList.length; i++) {
                    $("<option></option>").text(_a1.pageList[i]).appendTo(ps);
                }
                $("<td></td>").append(ps).appendTo(tr);
            } else {
                if (_a5 == "sep") {
                    $("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
                } else {
                    if (_a5 == "first") {
                        bb.first = _a6("first");
                    } else {
                        if (_a5 == "prev") {
                            bb.prev = _a6("prev");
                        } else {
                            if (_a5 == "next") {
                                bb.next = _a6("next");
                            } else {
                                if (_a5 == "last") {
                                    bb.last = _a6("last");
                                } else {
                                    if (_a5 == "manual") {
                                        $("<span style=\"padding-left:6px;\"></span>").html(_a1.beforePageText).appendTo(tr).wrap("<td></td>");
                                        bb.num = $("<input class=\"pagination-num\" type=\"text\" value=\"1\" size=\"2\">").appendTo(tr).wrap("<td></td>");
                                        bb.num.unbind(".pagination").bind("keydown.pagination",
                                        function(e) {
                                            if (e.keyCode == 13) {
                                                var _a7 = parseInt($(this).val()) || 1;
                                                _ab(_9f, _a7);
                                                return false;
                                            }
                                        });
                                        bb.after = $("<span style=\"padding-right:6px;\"></span>").appendTo(tr).wrap("<td></td>");
                                    } else {
                                        if (_a5 == "refresh") {
                                            bb.refresh = _a6("refresh");
                                        } else {
                                            if (_a5 == "links") {
                                                $("<td class=\"pagination-links\"></td>").appendTo(tr);
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
        if (_a1.buttons) {
            $("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
            if ($.isArray(_a1.buttons)) {
                for (var i = 0; i < _a1.buttons.length; i++) {
                    var btn = _a1.buttons[i];
                    if (btn == "-") {
                        $("<td><div class=\"pagination-btn-separator\"></div></td>").appendTo(tr);
                    } else {
                        var td = $("<td></td>").appendTo(tr);
                        var a = $("<a href=\"javascript:void(0)\"></a>").appendTo(td);
                        a[0].onclick = eval(btn.handler ||
                        function() {});
                        a.linkbutton($.extend({},
                        btn, {
                            plain: true
                        }));
                    }
                }
            } else {
                var td = $("<td></td>").appendTo(tr);
                $(_a1.buttons).appendTo(td).show();
            }
        }
        $("<div class=\"pagination-info\"></div>").appendTo(_a2);
        $("<div style=\"clear:both;\"></div>").appendTo(_a2);
        function _a6(_a8) {
            var btn = _a1.nav[_a8];
            var a = $("<a href=\"javascript:void(0)\"></a>").appendTo(tr);
            a.wrap("<td></td>");
            a.linkbutton({
                iconCls: btn.iconCls,
                plain: true
            }).unbind(".pagination").bind("click.pagination",
            function() {
                btn.handler.call(_9f);
            });
            return a;
        };
        function _a3(aa, _a9) {
            var _aa = $.inArray(_a9, aa);
            if (_aa >= 0) {
                aa.splice(_aa, 1);
            }
            return aa;
        };
    };
    function _ab(_ac, _ad) {
        var _ae = $.data(_ac, "pagination").options;
        _af(_ac, {
            pageNumber: _ad
        });
        _ae.onSelectPage.call(_ac, _ae.pageNumber, _ae.pageSize);
    };
    function _af(_b0, _b1) {
        var _b2 = $.data(_b0, "pagination");
        var _b3 = _b2.options;
        var bb = _b2.bb;
        $.extend(_b3, _b1 || {});
        var ps = $(_b0).find("select.pagination-page-list");
        if (ps.length) {
            ps.val(_b3.pageSize + "");
            _b3.pageSize = parseInt(ps.val());
        }
        var _b4 = Math.ceil(_b3.total / _b3.pageSize) || 1;
        if (_b3.pageNumber < 1) {
            _b3.pageNumber = 1;
        }
        if (_b3.pageNumber > _b4) {
            _b3.pageNumber = _b4;
        }
        if (_b3.total == 0) {
            _b3.pageNumber = 1; 
            _b4 = 0;
        }
        if (bb.num) {
            bb.num.val(_b3.pageNumber);
        }
        if (bb.after) {
            bb.after.html(_b3.afterPageText.replace(/{pages}/, _b4));
        }
        var td = $(_b0).find("td.pagination-links");
        if (td.length) {
            td.empty();
            var _b5 = _b3.pageNumber - Math.floor(_b3.links / 2);
            if (_b5 < 1) {
                _b5 = 1;
            }
            var _b6 = _b5 + _b3.links - 1;
            if (_b6 > _b4) {
                _b6 = _b4;
            }
            _b5 = _b6 - _b3.links + 1;
            if (_b5 < 1) {
                _b5 = 1;
            }
            for (var i = _b5; i <= _b6; i++) {
                var a = $("<a class=\"pagination-link\" href=\"javascript:void(0)\"></a>").appendTo(td);
                a.linkbutton({
                    plain: true,
                    text: i
                });
                if (i == _b3.pageNumber) {
                    a.linkbutton("select");
                } else {
                    a.unbind(".pagination").bind("click.pagination", {
                        pageNumber: i
                    },
                    function(e) {
                        _ab(_b0, e.data.pageNumber);
                    });
                }
            }
        }
        var _b7 = _b3.displayMsg;
        _b7 = _b7.replace(/{from}/, _b3.total == 0 ? 0 : _b3.pageSize * (_b3.pageNumber - 1) + 1);
        _b7 = _b7.replace(/{to}/, Math.min(_b3.pageSize * (_b3.pageNumber), _b3.total));
        _b7 = _b7.replace(/{total}/, _b3.total);
        $(_b0).find("div.pagination-info").html(_b7);
        if (bb.first) {
            bb.first.linkbutton({
                disabled: ((!_b3.total) || _b3.pageNumber == 1)
            });
        }
        if (bb.prev) {
            bb.prev.linkbutton({
                disabled: ((!_b3.total) || _b3.pageNumber == 1)
            });
        }
        if (bb.next) {
            bb.next.linkbutton({
                disabled: (_b3.pageNumber == _b4)
            });
        }
        if (bb.last) {
            bb.last.linkbutton({
                disabled: (_b3.pageNumber == _b4)
            });
        }
        _b8(_b0, _b3.loading);
    };
    function _b8(_b9, _ba) {
        var _bb = $.data(_b9, "pagination");
        var _bc = _bb.options;
        _bc.loading = _ba;
        if (_bc.showRefresh && _bb.bb.refresh) {
            _bb.bb.refresh.linkbutton({
                iconCls: (_bc.loading ? "pagination-loading": "pagination-load")
            });
        }
    };
    $.fn.pagination = function(_bd, _be) {
        if (typeof _bd == "string") {
            return $.fn.pagination.methods[_bd](this, _be);
        }
        _bd = _bd || {};
        return this.each(function() {
            var _bf;
            var _c0 = $.data(this, "pagination");
            if (_c0) {
                _bf = $.extend(_c0.options, _bd);
            } else {
                _bf = $.extend({},
                $.fn.pagination.defaults, $.fn.pagination.parseOptions(this), _bd);
                $.data(this, "pagination", {
                    options: _bf
                });
            }
            _9e(this);
            _af(this);
        });
    };
    $.fn.pagination.methods = {
        options: function(jq) {
            return $.data(jq[0], "pagination").options;
        },
        loading: function(jq) {
            return jq.each(function() {
                _b8(this, true);
            });
        },
        loaded: function(jq) {
            return jq.each(function() {
                _b8(this, false);
            });
        },
        refresh: function(jq, _c1) {
            return jq.each(function() {
                _af(this, _c1);
            });
        },
        select: function(jq, _c2) {
            return jq.each(function() {
                _ab(this, _c2);
            });
        }
    };
    $.fn.pagination.parseOptions = function(_c3) {
        var t = $(_c3);
        return $.extend({},
        $.parser.parseOptions(_c3, [{
            total: "number",
            pageSize: "number",
            pageNumber: "number",
            links: "number"
        },
        {
            loading: "boolean",
            showPageList: "boolean",
            showRefresh: "boolean"
        }]), {
            pageList: (t.attr("pageList") ? eval(t.attr("pageList")) : undefined)
        });
    };
    $.fn.pagination.defaults = {
        total: 1,
        pageSize: 10,
        pageNumber: 1,
        pageList: [10, 20, 30, 50],
        loading: false,
        buttons: null,
        showPageList: true,
        showRefresh: true,
        links: 10,
        layout: ["list", "sep", "first", "prev", "sep", "manual", "sep", "next", "last", "sep", "refresh"],
        onSelectPage: function(_c4, _c5) {},
        onBeforeRefresh: function(_c6, _c7) {},
        onRefresh: function(_c8, _c9) {},
        onChangePageSize: function(_ca) {},
        beforePageText: "Page",
        afterPageText: "of {pages}",
        displayMsg: "Displaying {from} to {to} of {total} items",
        nav: {
            first: {
                iconCls: "pagination-first",
                handler: function() {
                    var _cb = $(this).pagination("options");
                    if (_cb.pageNumber > 1) {
                        $(this).pagination("select", 1);
                    }
                }
            },
            prev: {
                iconCls: "pagination-prev",
                handler: function() {
                    var _cc = $(this).pagination("options");
                    if (_cc.pageNumber > 1) {
                        $(this).pagination("select", _cc.pageNumber - 1);
                    }
                }
            },
            next: {
                iconCls: "pagination-next",
                handler: function() {
                    var _cd = $(this).pagination("options");
                    var _ce = Math.ceil(_cd.total / _cd.pageSize);
                    if (_cd.pageNumber < _ce) {
                        $(this).pagination("select", _cd.pageNumber + 1);
                    }
                }
            },
            last: {
                iconCls: "pagination-last",
                handler: function() {
                    var _cf = $(this).pagination("options");
                    var _d0 = Math.ceil(_cf.total / _cf.pageSize);
                    if (_cf.pageNumber < _d0) {
                        $(this).pagination("select", _d0);
                    }
                }
            },
            refresh: {
                iconCls: "pagination-refresh",
                handler: function() {
                    var _d1 = $(this).pagination("options");
                    if (_d1.onBeforeRefresh.call(this, _d1.pageNumber, _d1.pageSize) != false) {
                        $(this).pagination("select", _d1.pageNumber);
                        _d1.onRefresh.call(this, _d1.pageNumber, _d1.pageSize);
                    }
                }
            }
        }
    };
})(jQuery); 

 (function($) {
    $.fn._remove = function() {
        return this.each(function() {
            $(this).remove();
            try {
                this.outerHTML = "";
            } catch(err) {}
        });
    };
    function _1fc(node) {
        node._remove();
    };
    function _1fd(_1fe, _1ff) {
        var _200 = $.data(_1fe, "panel");
        var opts = _200.options;
        var _201 = _200.panel;
        var _202 = _201.children("div.panel-header");
        var _203 = _201.children("div.panel-body");
        if (_1ff) {
            $.extend(opts, {
                width: _1ff.width,
                height: _1ff.height,
                minWidth: _1ff.minWidth,
                maxWidth: _1ff.maxWidth,
                minHeight: _1ff.minHeight,
                maxHeight: _1ff.maxHeight,
                left: _1ff.left,
                top: _1ff.top
            });
        }
        _201._size(opts);
        _202.add(_203)._outerWidth(_201.width());
        if (!isNaN(parseInt(opts.height))) {
            _203._outerHeight(_201.height() - _202._outerHeight());
        } else {
            _203.css("height", "");
            var min = $.parser.parseValue("minHeight", opts.minHeight, _201.parent());
            var max = $.parser.parseValue("maxHeight", opts.maxHeight, _201.parent());
            var _204 = _202._outerHeight() + _201._outerHeight() - _201.height();
            _203._size("minHeight", min ? (min - _204) : "");
            _203._size("maxHeight", max ? (max - _204) : "");
        }
        _201.css({
            height: "",
            minHeight: "",
            maxHeight: "",
            left: opts.left,
            top: opts.top
        });
        opts.onResize.apply(_1fe, [opts.width, opts.height]);
        $(_1fe).panel("doLayout");
    };
    function _205(_206, _207) {
        var opts = $.data(_206, "panel").options;
        var _208 = $.data(_206, "panel").panel;
        if (_207) {
            if (_207.left != null) {
                opts.left = _207.left;
            }
            if (_207.top != null) {
                opts.top = _207.top;
            }
        }
        _208.css({
            left: opts.left,
            top: opts.top
        });
        opts.onMove.apply(_206, [opts.left, opts.top]);
    };
    function _209(_20a) {
        $(_20a).addClass("panel-body")._size("clear");
        var _20b = $("<div class=\"panel\"></div>").insertBefore(_20a);
        _20b[0].appendChild(_20a);
        _20b.bind("_resize",
        function(e, _20c) {
            if ($(this).hasClass("easyui-fluid") || _20c) {
                _1fd(_20a);
            }
            return false;
        });
        return _20b;
    };
    function _20d(_20e) {
        var _20f = $.data(_20e, "panel");
        var opts = _20f.options;
        var _210 = _20f.panel;
        _210.css(opts.style);
        _210.addClass(opts.cls);
        _211();
        var _212 = $(_20e).panel("header");
        var body = $(_20e).panel("body");
        if (opts.border) {
            _212.removeClass("panel-header-noborder");
            body.removeClass("panel-body-noborder");
        } else {
            _212.addClass("panel-header-noborder");
            body.addClass("panel-body-noborder");
        }
        _212.addClass(opts.headerCls);
        body.addClass(opts.bodyCls);
        $(_20e).attr("id", opts.id || "");
        if (opts.content) {
            $(_20e).panel("clear");
            $(_20e).html(opts.content);
            $.parser.parse($(_20e));
        }
        function _211() {
            if (opts.tools && typeof opts.tools == "string") {
                _210.find(">div.panel-header>div.panel-tool .panel-tool-a").appendTo(opts.tools);
            }
            _1fc(_210.children("div.panel-header"));
            if (opts.title && !opts.noheader) {
                var _213 = $("<div class=\"panel-header\"></div>").prependTo(_210);
                var _214 = $("<div class=\"panel-title\"></div>").html(opts.title).appendTo(_213);
                if (opts.iconCls) {
                    _214.addClass("panel-with-icon");
                    $("<div class=\"panel-icon\"></div>").addClass(opts.iconCls).appendTo(_213);
                }
                var tool = $("<div class=\"panel-tool\"></div>").appendTo(_213);
                tool.bind("click",
                function(e) {
                    e.stopPropagation();
                });
                if (opts.tools) {
                    if ($.isArray(opts.tools)) {
                        for (var i = 0; i < opts.tools.length; i++) {
                            var t = $("<a href=\"javascript:void(0)\"></a>").addClass(opts.tools[i].iconCls).appendTo(tool);
                            if (opts.tools[i].handler) {
                                t.bind("click", eval(opts.tools[i].handler));
                            }
                        }
                    } else {
                        $(opts.tools).children().each(function() {
                            $(this).addClass($(this).attr("iconCls")).addClass("panel-tool-a").appendTo(tool);
                        });
                    }
                }
                if (opts.collapsible) {
                    $("<a class=\"panel-tool-collapse\" href=\"javascript:void(0)\"></a>").appendTo(tool).bind("click",
                    function() {
                        if (opts.collapsed == true) {
                            _230(_20e, true);
                        } else {
                            _225(_20e, true);
                        }
                        return false;
                    });
                }
                if (opts.minimizable) {
                    $("<a class=\"panel-tool-min\" href=\"javascript:void(0)\"></a>").appendTo(tool).bind("click",
                    function() {
                        _236(_20e);
                        return false;
                    });
                }
                if (opts.maximizable) {
                    $("<a class=\"panel-tool-max\" href=\"javascript:void(0)\"></a>").appendTo(tool).bind("click",
                    function() {
                        if (opts.maximized == true) {
                            _239(_20e);
                        } else {
                            _224(_20e);
                        }
                        return false;
                    });
                }
                if (opts.closable) {
                    $("<a class=\"panel-tool-close\" href=\"javascript:void(0)\"></a>").appendTo(tool).bind("click",
                    function() {
                        _215(_20e);
                        return false;
                    });
                }
                _210.children("div.panel-body").removeClass("panel-body-noheader");
            } else {
                _210.children("div.panel-body").addClass("panel-body-noheader");
            }
        };
    };
    function _216(_217, _218) {
        var _219 = $.data(_217, "panel");
        var opts = _219.options;
        if (_21a) {
            opts.queryParams = _218;
        }
        if (!opts.href) {
            return;
        }
        if (!_219.isLoaded || !opts.cache) {
            var _21a = $.extend({},
            opts.queryParams);
            if (opts.onBeforeLoad.call(_217, _21a) == false) {
                return;
            }
            _219.isLoaded = false;
            $(_217).panel("clear");
            if (opts.loadingMessage) {
                $(_217).html($("<div class=\"panel-loading\"></div>").html(opts.loadingMessage));
            }
            opts.loader.call(_217, _21a,
            function(data) {
                var _21b = opts.extractor.call(_217, data);
                $(_217).html(_21b);
                $.parser.parse($(_217));
                opts.onLoad.apply(_217, arguments);
                _219.isLoaded = true;
            },
            function() {
                opts.onLoadError.apply(_217, arguments);
            });
        }
    };
    function _21c(_21d) {
        var t = $(_21d);
        t.find(".combo-f").each(function() {
            $(this).combo("destroy");
        });
        t.find(".m-btn").each(function() {
            $(this).menubutton("destroy");
        });
        t.find(".s-btn").each(function() {
            $(this).splitbutton("destroy");
        });
        t.find(".tooltip-f").each(function() {
            $(this).tooltip("destroy");
        });
        t.children("div").each(function() {
            $(this)._size("unfit");
        });
        t.empty();
    };
    function _21e(_21f) {
        $(_21f).panel("doLayout", true);
    };
    function _220(_221, _222) {
        var opts = $.data(_221, "panel").options;
        var _223 = $.data(_221, "panel").panel;
        if (_222 != true) {
            if (opts.onBeforeOpen.call(_221) == false) {
                return;
            }
        }
        _223.show();
        opts.closed = false;
        opts.minimized = false;
        var tool = _223.children("div.panel-header").find("a.panel-tool-restore");
        if (tool.length) {
            opts.maximized = true;
        }
        opts.onOpen.call(_221);
        if (opts.maximized == true) {
            opts.maximized = false;
            _224(_221);
        }
        if (opts.collapsed == true) {
            opts.collapsed = false;
            _225(_221);
        }
        if (!opts.collapsed) {
            _216(_221);
            _21e(_221);
        }
    };
    function _215(_226, _227) {
        var opts = $.data(_226, "panel").options;
        var _228 = $.data(_226, "panel").panel;
        if (_227 != true) {
            if (opts.onBeforeClose.call(_226) == false) {
                return;
            }
        }
        _228._size("unfit");
        _228.hide();
        opts.closed = true;
        opts.onClose.call(_226);
    };
    function _229(_22a, _22b) {
        var opts = $.data(_22a, "panel").options;
        var _22c = $.data(_22a, "panel").panel;
        if (_22b != true) {
            if (opts.onBeforeDestroy.call(_22a) == false) {
                return;
            }
        }
        $(_22a).panel("clear");
        _1fc(_22c);
        opts.onDestroy.call(_22a);
    };
    function _225(_22d, _22e) {
        var opts = $.data(_22d, "panel").options;
        var _22f = $.data(_22d, "panel").panel;
        var body = _22f.children("div.panel-body");
        var tool = _22f.children("div.panel-header").find("a.panel-tool-collapse");
        if (opts.collapsed == true) {
            return;
        }
        body.stop(true, true);
        if (opts.onBeforeCollapse.call(_22d) == false) {
            return;
        }
        tool.addClass("panel-tool-expand");
        if (_22e == true) {
            body.slideUp("normal",
            function() {
                opts.collapsed = true;
                opts.onCollapse.call(_22d);
            });
        } else {
            body.hide();
            opts.collapsed = true;
            opts.onCollapse.call(_22d);
        }
    };
    function _230(_231, _232) {
        var opts = $.data(_231, "panel").options;
        var _233 = $.data(_231, "panel").panel;
        var body = _233.children("div.panel-body");
        var tool = _233.children("div.panel-header").find("a.panel-tool-collapse");
        if (opts.collapsed == false) {
            return;
        }
        body.stop(true, true);
        if (opts.onBeforeExpand.call(_231) == false) {
            return;
        }
        tool.removeClass("panel-tool-expand");
        if (_232 == true) {
            body.slideDown("normal",
            function() {
                opts.collapsed = false;
                opts.onExpand.call(_231);
                _216(_231);
                _21e(_231);
            });
        } else {
            body.show();
            opts.collapsed = false;
            opts.onExpand.call(_231);
            _216(_231);
            _21e(_231);
        }
    };
    function _224(_234) {
        var opts = $.data(_234, "panel").options;
        var _235 = $.data(_234, "panel").panel;
        var tool = _235.children("div.panel-header").find("a.panel-tool-max");
        if (opts.maximized == true) {
            return;
        }
        tool.addClass("panel-tool-restore");
        if (!$.data(_234, "panel").original) {
            $.data(_234, "panel").original = {
                width: opts.width,
                height: opts.height,
                left: opts.left,
                top: opts.top,
                fit: opts.fit
            };
        }
        opts.left = 0;
        opts.top = 0;
        opts.fit = true;
        _1fd(_234);
        opts.minimized = false;
        opts.maximized = true;
        opts.onMaximize.call(_234);
    };
    function _236(_237) {
        var opts = $.data(_237, "panel").options;
        var _238 = $.data(_237, "panel").panel;
        _238._size("unfit");
        _238.hide();
        opts.minimized = true;
        opts.maximized = false;
        opts.onMinimize.call(_237);
    };
    function _239(_23a) {
        var opts = $.data(_23a, "panel").options;
        var _23b = $.data(_23a, "panel").panel;
        var tool = _23b.children("div.panel-header").find("a.panel-tool-max");
        if (opts.maximized == false) {
            return;
        }
        _23b.show();
        tool.removeClass("panel-tool-restore");
        $.extend(opts, $.data(_23a, "panel").original);
        _1fd(_23a);
        opts.minimized = false;
        opts.maximized = false;
        $.data(_23a, "panel").original = null;
        opts.onRestore.call(_23a);
    };
    function _23c(_23d, _23e) {
        $.data(_23d, "panel").options.title = _23e;
        $(_23d).panel("header").find("div.panel-title").html(_23e);
    };
    var _23f = null;
    $(window).unbind(".panel").bind("resize.panel",
    function() {
        if (_23f) {
            clearTimeout(_23f);
        }
        _23f = setTimeout(function() {
            var _240 = $("body.layout");
            if (_240.length) {
                _240.layout("resize");
            } else {
                $("body").panel("doLayout");
            }
            _23f = null;
        },
        100);
    });
    $.fn.panel = function(_241, _242) {
        if (typeof _241 == "string") {
            return $.fn.panel.methods[_241](this, _242);
        }
        _241 = _241 || {};
        return this.each(function() {
            var _243 = $.data(this, "panel");
            var opts;
            if (_243) {
                opts = $.extend(_243.options, _241);
                _243.isLoaded = false;
            } else {
                opts = $.extend({},
                $.fn.panel.defaults, $.fn.panel.parseOptions(this), _241);
                $(this).attr("title", "");
                _243 = $.data(this, "panel", {
                    options: opts,
                    panel: _209(this),
                    isLoaded: false
                });
            }
            _20d(this);
            if (opts.doSize == true) {
                _243.panel.css("display", "block");
                _1fd(this);
            }
            if (opts.closed == true || opts.minimized == true) {
                _243.panel.hide();
            } else {
                _220(this);
            }
        });
    };
    $.fn.panel.methods = {
        options: function(jq) {
            return $.data(jq[0], "panel").options;
        },
        panel: function(jq) {
            return $.data(jq[0], "panel").panel;
        },
        header: function(jq) {
            return $.data(jq[0], "panel").panel.find(">div.panel-header");
        },
        body: function(jq) {
            return $.data(jq[0], "panel").panel.find(">div.panel-body");
        },
        setTitle: function(jq, _244) {
            return jq.each(function() {
                _23c(this, _244);
            });
        },
        open: function(jq, _245) {
            return jq.each(function() {
                _220(this, _245);
            });
        },
        close: function(jq, _246) {
            return jq.each(function() {
                _215(this, _246);
            });
        },
        destroy: function(jq, _247) {
            return jq.each(function() {
                _229(this, _247);
            });
        },
        clear: function(jq) {
            return jq.each(function() {
                _21c(this);
            });
        },
        refresh: function(jq, href) {
            return jq.each(function() {
                var _248 = $.data(this, "panel");
                _248.isLoaded = false;
                if (href) {
                    if (typeof href == "string") {
                        _248.options.href = href;
                    } else {
                        _248.options.queryParams = href;
                    }
                }
                _216(this);
            });
        },
        resize: function(jq, _249) {
            return jq.each(function() {
                _1fd(this, _249);
            });
        },
        doLayout: function(jq, all) {
            return jq.each(function() {
                var _24a = this;
                var _24b = _24a == $("body")[0];
                var s = $(this).find("div.panel:visible,div.accordion:visible,div.tabs-container:visible,div.layout:visible,.easyui-fluid:visible").filter(function(_24c, el) {
                    var p = $(el).parents("div.panel-body:first");
                    if (_24b) {
                        return p.length == 0;
                    } else {
                        return p[0] == _24a;
                    }
                });
                s.trigger("_resize", [all || false]);
            });
        },
        move: function(jq, _24d) {
            return jq.each(function() {
                _205(this, _24d);
            });
        },
        maximize: function(jq) {
            return jq.each(function() {
                _224(this);
            });
        },
        minimize: function(jq) {
            return jq.each(function() {
                _236(this);
            });
        },
        restore: function(jq) {
            return jq.each(function() {
                _239(this);
            });
        },
        collapse: function(jq, _24e) {
            return jq.each(function() {
                _225(this, _24e);
            });
        },
        expand: function(jq, _24f) {
            return jq.each(function() {
                _230(this, _24f);
            });
        }
    };
    $.fn.panel.parseOptions = function(_250) {
        var t = $(_250);
        return $.extend({},
        $.parser.parseOptions(_250, ["id", "width", "height", "left", "top", "title", "iconCls", "cls", "headerCls", "bodyCls", "tools", "href", "method", {
            cache: "boolean",
            fit: "boolean",
            border: "boolean",
            noheader: "boolean"
        },
        {
            collapsible: "boolean",
            minimizable: "boolean",
            maximizable: "boolean"
        },
        {
            closable: "boolean",
            collapsed: "boolean",
            minimized: "boolean",
            maximized: "boolean",
            closed: "boolean"
        }]), {
            loadingMessage: (t.attr("loadingMessage") != undefined ? t.attr("loadingMessage") : undefined)
        });
    };
    $.fn.panel.defaults = {
        id: null,
        title: null,
        iconCls: null,
        width: "auto",
        height: "auto",
        left: null,
        top: null,
        cls: null,
        headerCls: null,
        bodyCls: null,
        style: {},
        href: null,
        cache: true,
        fit: false,
        border: true,
        doSize: true,
        noheader: false,
        content: null,
        collapsible: false,
        minimizable: false,
        maximizable: false,
        closable: false,
        collapsed: false,
        minimized: false,
        maximized: false,
        closed: false,
        tools: null,
        queryParams: {},
        method: "get",
        href: null,
        loadingMessage: "Loading...",
        loader: function(_251, _252, _253) {
            var opts = $(this).panel("options");
            if (!opts.href) {
                return false;
            }
            $.ajax({
                type: opts.method,
                url: opts.href,
                cache: false,
                data: _251,
                dataType: "html",
                success: function(data) {
                    _252(data);
                },
                error: function() {
                    _253.apply(this, arguments);
                }
            });
        },
        extractor: function(data) {
            var _254 = /<body[^>]*>((.|[\n\r])*)<\/body>/im;
            var _255 = _254.exec(data);
            if (_255) {
                return _255[1];
            } else {
                return data;
            }
        },
        onBeforeLoad: function(_256) {},
        onLoad: function() {},
        onLoadError: function() {},
        onBeforeOpen: function() {},
        onOpen: function() {},
        onBeforeClose: function() {},
        onClose: function() {},
        onBeforeDestroy: function() {},
        onDestroy: function() {},
        onResize: function(_257, _258) {},
        onMove: function(left, top) {},
        onMaximize: function() {},
        onRestore: function() {},
        onMinimize: function() {},
        onBeforeCollapse: function() {},
        onBeforeExpand: function() {},
        onCollapse: function() {},
        onExpand: function() {}
    };
})(jQuery);

(function($) {
    function init(_41b) {
        $(_41b).addClass("validatebox-text");
    };
    function _41c(_41d) {
        var _41e = $.data(_41d, "validatebox");
        _41e.validating = false;
        if (_41e.timer) {
            clearTimeout(_41e.timer);
        }
        $(_41d).tooltip("destroy");
        $(_41d).unbind();
        $(_41d).remove();
    };
    function _41f(_420) {
        var opts = $.data(_420, "validatebox").options;
        var box = $(_420);
        box.unbind(".validatebox");
        if (opts.novalidate || box.is(":disabled")) {
            return;
        }
        for (var _421 in opts.events) {
            $(_420).bind(_421 + ".validatebox", {
                target: _420
            },
            opts.events[_421]);
        }
    };
    function _422(e) {
        var _423 = e.data.target;
        var _424 = $.data(_423, "validatebox");
        var box = $(_423);
        if ($(_423).attr("readonly")) {
            return;
        }
        _424.validating = true;
        _424.value = undefined; (function() {
            if (_424.validating) {
                if (_424.value != box.val()) {
                    _424.value = box.val();
                    if (_424.timer) {
                        clearTimeout(_424.timer);
                    }
                    _424.timer = setTimeout(function() {
                        $(_423).validatebox("validate");
                    },
                    _424.options.delay);
                } else {
                    _425(_423);
                }
                setTimeout(arguments.callee, 200);
            }
        })();
    };
    function _426(e) {
        var _427 = e.data.target;
        var _428 = $.data(_427, "validatebox");
        if (_428.timer) {
            clearTimeout(_428.timer);
            _428.timer = undefined;
        }
        _428.validating = false;
        _429(_427);
    };
    function _42a(e) {
        var _42b = e.data.target;
        if ($(_42b).hasClass("validatebox-invalid")) {
            _42c(_42b);
        }
    };
    function _42d(e) {
        var _42e = e.data.target;
        var _42f = $.data(_42e, "validatebox");
        if (!_42f.validating) {
            _429(_42e);
        }
    };
    function _42c(_430) {
        var _431 = $.data(_430, "validatebox");
        var opts = _431.options;
        $(_430).tooltip($.extend({},
        opts.tipOptions, {
            content: _431.message,
            position: opts.tipPosition,
            deltaX: opts.deltaX
        })).tooltip("show");
        _431.tip = true;
    };
    function _425(_432) {
        var _433 = $.data(_432, "validatebox");
        if (_433 && _433.tip) {
            $(_432).tooltip("reposition");
        }
    };
    function _429(_434) {
        var _435 = $.data(_434, "validatebox");
        _435.tip = false;
        $(_434).tooltip("hide");
    };
    function _436(_437) {
        var _438 = $.data(_437, "validatebox");
        var opts = _438.options;
        var box = $(_437);
        opts.onBeforeValidate.call(_437);
        var _439 = _43a();
        opts.onValidate.call(_437, _439);
        return _439;
        function _43b(msg) {
            _438.message = msg;
        };
        function _43c(_43d, _43e) {
            var _43f = box.val();
            var _440 = /([a-zA-Z_]+)(.*)/.exec(_43d);
            var rule = opts.rules[_440[1]];
            if (rule && _43f) {
                var _441 = _43e || opts.validParams || eval(_440[2]);
                if (!rule["validator"].call(_437, _43f, _441)) {