/*! AdminLTE app.js
 * ================
 * Main JS application file for AdminLTE v2. This file
 * should be included in all pages. It controls some layout
 * options and implements exclusive AdminLTE plugins.
 *
 * @Author  Almsaeed Studio
 * @Support <https://www.almsaeedstudio.com>
 * @Email   <abdullah@almsaeedstudio.com>
 * @version 2.4.0
 * @repository git://github.com/almasaeed2010/AdminLTE.git
 * @license MIT <http://opensource.org/licenses/MIT>
 */
if ("undefined" == typeof jQuery) throw new Error("AdminLTE requires jQuery");
+(function(a) {
  "use strict";

  function b(b) {
    return this.each(function() {
      var e = a(this),
        g = e.data(c);
      if (!g) {
        var h = a.extend({}, d, e.data(), "object" == typeof b && b);
        e.data(c, (g = new f(e, h)));
      }
      if ("string" == typeof g) {
        if (void 0 === g[b]) throw new Error("No method named " + b);
        g[b]();
      }
    });
  }
  var c = "lte.boxrefresh",
    d = {
      source: "",
      params: {},
      trigger: ".refresh-btn",
      content: ".box-body",
      loadInContent: !0,
      responseType: "",
      overlayTemplate:
        '<div class="overlay"><div class="fa fa-refresh fa-spin"></div></div>',
      onLoadStart: function() {},
      onLoadDone: function(a) {
        return a;
      }
    },
    e = {
      data: '[data-widget="box-refresh"]'
    },
    f = function(b, c) {
      if (
        ((this.element = b),
        (this.options = c),
        (this.$overlay = a(c.overlay)),
        "" === c.source)
      )
        throw new Error(
          "Source url was not defined. Please specify a url in your BoxRefresh source option."
        );
      this._setUpListeners(), this.load();
    };
  (f.prototype.load = function() {
    this._addOverlay(),
      this.options.onLoadStart.call(a(this)),
      a.get(
        this.options.source,
        this.options.params,
        function(b) {
          this.options.loadInContent && a(this.options.content).html(b),
            this.options.onLoadDone.call(a(this), b),
            this._removeOverlay();
        }.bind(this),
        "" !== this.options.responseType && this.options.responseType
      );
  }),
    (f.prototype._setUpListeners = function() {
      a(this.element).on(
        "click",
        e.trigger,
        function(a) {
          a && a.preventDefault(), this.load();
        }.bind(this)
      );
    }),
    (f.prototype._addOverlay = function() {
      a(this.element).append(this.$overlay);
    }),
    (f.prototype._removeOverlay = function() {
      a(this.element).remove(this.$overlay);
    });
  var g = a.fn.boxRefresh;
  (a.fn.boxRefresh = b),
    (a.fn.boxRefresh.Constructor = f),
    (a.fn.boxRefresh.noConflict = function() {
      return (a.fn.boxRefresh = g), this;
    }),
    a(window).on("load", function() {
      a(e.data).each(function() {
        b.call(a(this));
      });
    });
})(jQuery),
  (function(a) {
    "use strict";

    function b(b) {
      return this.each(function() {
        var e = a(this),
          f = e.data(c);
        if (!f) {
          var g = a.extend({}, d, e.data(), "object" == typeof b && b);
          e.data(c, (f = new h(e, g)));
        }
        if ("string" == typeof b) {
          if (void 0 === f[b]) throw new Error("No method named " + b);
          f[b]();
        }
      });
    }
    var c = "lte.boxwidget",
      d = {
        animationSpeed: 500,
        collapseTrigger: '[data-widget="collapse"]',
        removeTrigger: '[data-widget="remove"]',
        collapseIcon: "fa-minus",
        expandIcon: "fa-plus",
        removeIcon: "fa-times"
      },
      e = {
        data: ".box",
        collapsed: ".collapsed-box",
        body: ".box-body",
        footer: ".box-footer",
        tools: ".box-tools"
      },
      f = {
        collapsed: "collapsed-box"
      },
      g = {
        collapsed: "collapsed.boxwidget",
        expanded: "expanded.boxwidget",
        removed: "removed.boxwidget"
      },
      h = function(a, b) {
        (this.element = a), (this.options = b), this._setUpListeners();
      };
    (h.prototype.toggle = function() {
      a(this.element).is(e.collapsed) ? this.expand() : this.collapse();
    }),
      (h.prototype.expand = function() {
        var b = a.Event(g.expanded),
          c = this.options.collapseIcon,
          d = this.options.expandIcon;
        a(this.element).removeClass(f.collapsed),
          a(this.element)
            .find(e.tools)
            .find("." + d)
            .removeClass(d)
            .addClass(c),
          a(this.element)
            .find(e.body + ", " + e.footer)
            .slideDown(
              this.options.animationSpeed,
              function() {
                a(this.element).trigger(b);
              }.bind(this)
            );
      }),
      (h.prototype.collapse = function() {
        var b = a.Event(g.collapsed),
          c = this.options.collapseIcon,
          d = this.options.expandIcon;
        a(this.element)
          .find(e.tools)
          .find("." + c)
          .removeClass(c)
          .addClass(d),
          a(this.element)
            .find(e.body + ", " + e.footer)
            .slideUp(
              this.options.animationSpeed,
              function() {
                a(this.element).addClass(f.collapsed),
                  a(this.element).trigger(b);
              }.bind(this)
            );
      }),
      (h.prototype.remove = function() {
        var b = a.Event(g.removed);
        a(this.element).slideUp(
          this.options.animationSpeed,
          function() {
            a(this.element).trigger(b), a(this.element).remove();
          }.bind(this)
        );
      }),
      (h.prototype._setUpListeners = function() {
        var b = this;
        a(this.element).on("click", this.options.collapseTrigger, function(a) {
          a && a.preventDefault(), b.toggle();
        }),
          a(this.element).on("click", this.options.removeTrigger, function(a) {
            a && a.preventDefault(), b.remove();
          });
      });
    var i = a.fn.boxWidget;
    (a.fn.boxWidget = b),
      (a.fn.boxWidget.Constructor = h),
      (a.fn.boxWidget.noConflict = function() {
        return (a.fn.boxWidget = i), this;
      }),
      a(window).on("load", function() {
        a(e.data).each(function() {
          b.call(a(this));
        });
      });
  })(jQuery),
  (function(a) {
    "use strict";

    function b(b) {
      return this.each(function() {
        var e = a(this),
          f = e.data(c);
        if (!f) {
          var g = a.extend({}, d, e.data(), "object" == typeof b && b);
          e.data(c, (f = new h(e, g)));
        }
        "string" == typeof b && f.toggle();
      });
    }
    var c = "lte.controlsidebar",
      d = {
        slide: !0
      },
      e = {
        sidebar: ".control-sidebar",
        data: '[data-toggle="control-sidebar"]',
        open: ".control-sidebar-open",
        bg: ".control-sidebar-bg",
        wrapper: ".wrapper",
        content: ".content-wrapper",
        boxed: ".layout-boxed"
      },
      f = {
        open: "control-sidebar-open",
        fixed: "fixed"
      },
      g = {
        collapsed: "collapsed.controlsidebar",
        expanded: "expanded.controlsidebar"
      },
      h = function(a, b) {
        (this.element = a),
          (this.options = b),
          (this.hasBindedResize = !1),
          this.init();
      };
    (h.prototype.init = function() {
      a(this.element).is(e.data) || a(this).on("click", this.toggle),
        this.fix(),
        a(window).resize(
          function() {
            this.fix();
          }.bind(this)
        );
    }),
      (h.prototype.toggle = function(b) {
        b && b.preventDefault(),
          this.fix(),
          a(e.sidebar).is(e.open) || a("body").is(e.open)
            ? this.collapse()
            : this.expand();
      }),
      (h.prototype.expand = function() {
        this.options.slide
          ? a(e.sidebar).addClass(f.open)
          : a("body").addClass(f.open),
          a(this.element).trigger(a.Event(g.expanded));
      }),
      (h.prototype.collapse = function() {
        a("body, " + e.sidebar).removeClass(f.open),
          a(this.element).trigger(a.Event(g.collapsed));
      }),
      (h.prototype.fix = function() {
        a("body").is(e.boxed) && this._fixForBoxed(a(e.bg));
      }),
      (h.prototype._fixForBoxed = function(b) {
        b.css({
          position: "absolute",
          height: a(e.wrapper).height()
        });
      });
    var i = a.fn.controlSidebar;
    (a.fn.controlSidebar = b),
      (a.fn.controlSidebar.Constructor = h),
      (a.fn.controlSidebar.noConflict = function() {
        return (a.fn.controlSidebar = i), this;
      }),
      a(document).on("click", e.data, function(c) {
        c && c.preventDefault(), b.call(a(this), "toggle");
      });
  })(jQuery),
  (function(a) {
    "use strict";

    function b(b) {
      return this.each(function() {
        var d = a(this),
          e = d.data(c);
        e || d.data(c, (e = new f(d))), "string" == typeof b && e.toggle(d);
      });
    }
    var c = "lte.directchat",
      d = {
        data: '[data-widget="chat-pane-toggle"]',
        box: ".direct-chat"
      },
      e = {
        open: "direct-chat-contacts-open"
      },
      f = function(a) {
        this.element = a;
      };
    f.prototype.toggle = function(a) {
      a.parents(d.box)
        .first()
        .toggleClass(e.open);
    };
    var g = a.fn.directChat;
    (a.fn.directChat = b),
      (a.fn.directChat.Constructor = f),
      (a.fn.directChat.noConflict = function() {
        return (a.fn.directChat = g), this;
      }),
      a(document).on("click", d.data, function(c) {
        c && c.preventDefault(), b.call(a(this), "toggle");
      });
  })(jQuery),
  (function(a) {
    "use strict";

    function b(b) {
      return this.each(function() {
        var e = a(this),
          f = e.data(c);
        if (!f) {
          var h = a.extend({}, d, e.data(), "object" == typeof b && b);
          e.data(c, (f = new g(h)));
        }
        if ("string" == typeof b) {
          if (void 0 === f[b]) throw new Error("No method named " + b);
          f[b]();
        }
      });
    }
    var c = "lte.layout",
      d = {
        slimscroll: !0,
        resetHeight: !0
      },
      e = {
        wrapper: ".wrapper",
        contentWrapper: ".content-wrapper",
        layoutBoxed: ".layout-boxed",
        mainFooter: ".main-footer",
        mainHeader: ".main-header",
        sidebar: ".sidebar",
        controlSidebar: ".control-sidebar",
        fixed: ".fixed",
        sidebarMenu: ".sidebar-menu",
        logo: ".main-header .logo"
      },
      f = {
        fixed: "fixed",
        holdTransition: "hold-transition"
      },
      g = function(a) {
        (this.options = a), (this.bindedResize = !1), this.activate();
      };
    (g.prototype.activate = function() {
      this.fix(),
        this.fixSidebar(),
        a("body").removeClass(f.holdTransition),
        this.options.resetHeight &&
          a("body, html, " + e.wrapper).css({
            height: "auto",
            "min-height": "100%"
          }),
        this.bindedResize ||
          (a(window).resize(
            function() {
              this.fix(),
                this.fixSidebar(),
                a(e.logo + ", " + e.sidebar).one(
                  "webkitTransitionEnd otransitionend oTransitionEnd msTransitionEnd transitionend",
                  function() {
                    this.fix(), this.fixSidebar();
                  }.bind(this)
                );
            }.bind(this)
          ),
          (this.bindedResize = !0)),
        a(e.sidebarMenu).on(
          "expanded.tree",
          function() {
            this.fix(), this.fixSidebar();
          }.bind(this)
        ),
        a(e.sidebarMenu).on(
          "collapsed.tree",
          function() {
            this.fix(), this.fixSidebar();
          }.bind(this)
        );
    }),
      (g.prototype.fix = function() {
        a(e.layoutBoxed + " > " + e.wrapper).css("overflow", "hidden");
        var b = a(e.mainFooter).outerHeight() || 0,
          c = a(e.mainHeader).outerHeight() + b,
          d = a(window).height(),
          g = a(e.sidebar).height() || 0;
        if (a("body").hasClass(f.fixed))
          a(e.contentWrapper).css("min-height", d - b);
        else {
          var h;
          d >= g
            ? (a(e.contentWrapper).css("min-height", d - c), (h = d - c))
            : (a(e.contentWrapper).css("min-height", g), (h = g));
          var i = a(e.controlSidebar);
          void 0 !== i &&
            i.height() > h &&
            a(e.contentWrapper).css("min-height", i.height());
        }
      }),
      (g.prototype.fixSidebar = function() {
        //        if (!a("body").hasClass(f.fixed)) return void(void 0 !== a.fn.slimScroll && a(e.sidebar).slimScroll({
        //            destroy: !0
        //        }).height("auto"));
        //        this.options.slimscroll && void 0 !== a.fn.slimScroll && a(e.sidebar).slimScroll({
        //            height: a(window).height() - a(e.mainHeader).height() + "px",
        //            color: "rgba(0,0,0,0.2)",
        //           size: "3px"
        //        })
      });
    var h = a.fn.layout;
    (a.fn.layout = b),
      (a.fn.layout.Constuctor = g),
      (a.fn.layout.noConflict = function() {
        return (a.fn.layout = h), this;
      }),
      a(window).on("load", function() {
        b.call(a("body"));
      });
  })(jQuery),
  (function(a) {
    "use strict";

    function b(b) {
      return this.each(function() {
        var e = a(this),
          f = e.data(c);
        if (!f) {
          var g = a.extend({}, d, e.data(), "object" == typeof b && b);
          e.data(c, (f = new h(g)));
        }
        "toggle" === b && f.toggle();
      });
    }
    var c = "lte.pushmenu",
      d = {
        collapseScreenSize: 767,
        expandOnHover: !0,
        expandTransitionDelay: 200
      },
      e = {
        collapsed: ".sidebar-collapse",
        open: ".sidebar-open",
        mainSidebar: ".main-sidebar",
        contentWrapper: ".content-wrapper",
        searchInput: ".sidebar-form .form-control",
        button: '[data-toggle="push-menu"]',
        mini: ".sidebar-mini",
        expanded: ".sidebar-expanded-on-hover",
        layoutFixed: ".fixed"
      },
      f = {
        collapsed: "sidebar-collapse",
        open: "sidebar-open",
        mini: "sidebar-mini",
        expanded: "sidebar-expanded-on-hover",
        expandFeature: "sidebar-mini-expand-feature",
        layoutFixed: "fixed"
      },
      g = {
        expanded: "expanded.pushMenu",
        collapsed: "collapsed.pushMenu"
      },
      h = function(a) {
        (this.options = a), this.init();
      };
    (h.prototype.init = function() {
      (this.options.expandOnHover || a("body").is(e.mini + e.layoutFixed)) &&
        this.expandOnHover(),
        a(e.contentWrapper).click(
          function() {
            a(window).width() <= this.options.collapseScreenSize &&
              a("body").hasClass(f.open) &&
              this.close();
          }.bind(this)
        ),
        a(e.searchInput).click(function(a) {
          a.stopPropagation();
        });
    }),
      (h.prototype.toggle = function() {
        var b = a(window).width(),
          c = !a("body").hasClass(f.collapsed);
        b <= this.options.collapseScreenSize &&
          (c = a("body").hasClass(f.open)),
          c ? this.close() : this.open();
      }),
      (h.prototype.open = function() {
        a(window).width() > this.options.collapseScreenSize
          ? a("body")
              .removeClass(f.collapsed)
              .trigger(a.Event(g.expanded))
          : a("body")
              .addClass(f.open)
              .trigger(a.Event(g.expanded));
      }),
      (h.prototype.close = function() {
        a(window).width() > this.options.collapseScreenSize
          ? a("body")
              .addClass(f.collapsed)
              .trigger(a.Event(g.collapsed))
          : a("body")
              .removeClass(f.open + " " + f.collapsed)
              .trigger(a.Event(g.collapsed));
      }),
      (h.prototype.expandOnHover = function() {
        a(e.mainSidebar).hover(
          function() {
            /*a("body").is(e.mini + e.collapsed) && a(window).width() > this.options.collapseScreenSize && this.expand(/
        }.bind(this), function () {
            a("body").is(e.expanded) && this.collapse()*/
          }.bind(this)
        );
      }),
      (h.prototype.expand = function() {
        setTimeout(function() {
          a("body")
            .removeClass(f.collapsed)
            .addClass(f.expanded);
        }, this.options.expandTransitionDelay);
      }),
      (h.prototype.collapse = function() {
        setTimeout(function() {
          a("body")
            .removeClass(f.expanded)
            .addClass(f.collapsed);
        }, this.options.expandTransitionDelay);
      });
    var i = a.fn.pushMenu;
    (a.fn.pushMenu = b),
      (a.fn.pushMenu.Constructor = h),
      (a.fn.pushMenu.noConflict = function() {
        return (a.fn.pushMenu = i), this;
      }),
      a(document).on("click", e.button, function(c) {
        c.preventDefault(), b.call(a(this), "toggle");
      }),
      a(window).on("load", function() {
        b.call(a(e.button));
      });
  })(jQuery),
  (function(a) {
    "use strict";

    function b(b) {
      return this.each(function() {
        var e = a(this),
          f = e.data(c);
        if (!f) {
          var h = a.extend({}, d, e.data(), "object" == typeof b && b);
          e.data(c, (f = new g(e, h)));
        }
        if ("string" == typeof f) {
          if (void 0 === f[b]) throw new Error("No method named " + b);
          f[b]();
        }
      });
    }
    var c = "lte.todolist",
      d = {
        onCheck: function(a) {
          return a;
        },
        onUnCheck: function(a) {
          return a;
        }
      },
      e = {
        data: '[data-widget="todo-list"]'
      },
      f = {
        done: "done"
      },
      g = function(a, b) {
        (this.element = a), (this.options = b), this._setUpListeners();
      };
    (g.prototype.toggle = function(a) {
      if (
        (a
          .parents(e.li)
          .first()
          .toggleClass(f.done),
        !a.prop("checked"))
      )
        return void this.unCheck(a);
      this.check(a);
    }),
      (g.prototype.check = function(a) {
        this.options.onCheck.call(a);
      }),
      (g.prototype.unCheck = function(a) {
        this.options.onUnCheck.call(a);
      }),
      (g.prototype._setUpListeners = function() {
        var b = this;
        a(this.element).on("change ifChanged", "input:checkbox", function() {
          b.toggle(a(this));
        });
      });
    var h = a.fn.todoList;
    (a.fn.todoList = b),
      (a.fn.todoList.Constructor = g),
      (a.fn.todoList.noConflict = function() {
        return (a.fn.todoList = h), this;
      }),
      a(window).on("load", function() {
        a(e.data).each(function() {
          b.call(a(this));
        });
      });
  })(jQuery),
  (function(a) {
    "use strict";

    function b(b) {
      return this.each(function() {
        var e = a(this);
        if (!e.data(c)) {
          var f = a.extend({}, d, e.data(), "object" == typeof b && b);
          e.data(c, new h(e, f));
        }
      });
    }
    var c = "lte.tree",
      d = {
        animationSpeed: 500,
        accordion: !0,
        followLink: !1,
        trigger: ".treeview a"
      },
      e = {
        tree: ".tree",
        treeview: ".treeview",
        treeviewMenu: ".treeview-menu",
        open: ".menu-open, .active",
        li: "li",
        data: '[data-widget="tree"]',
        active: ".active"
      },
      f = {
        open: "menu-open",
        tree: "tree"
      },
      g = {
        collapsed: "collapsed.tree",
        expanded: "expanded.tree"
      },
      h = function(b, c) {
        (this.element = b),
          (this.options = c),
          a(this.element).addClass(f.tree),
          a(e.treeview + e.active, this.element).addClass(f.open),
          this._setUpListeners();
      };
    (h.prototype.toggle = function(a, b) {
      var c = a.next(e.treeviewMenu),
        d = a.parent(),
        g = d.hasClass(f.open);
      d.is(e.treeview) &&
        ((this.options.followLink && "#" !== a.attr("href")) ||
          b.preventDefault(),
        g ? this.collapse(c, d) : this.expand(c, d));
    }),
      (h.prototype.expand = function(b, c) {
        var d = a.Event(g.expanded);
        if (this.options.accordion) {
          var h = c.siblings(e.open),
            i = h.children(e.treeviewMenu);
          this.collapse(i, h);
        }
        c.addClass(f.open),
          b.slideDown(
            this.options.animationSpeed,
            function() {
              a(this.element).trigger(d);
            }.bind(this)
          );
      }),
      (h.prototype.collapse = function(b, c) {
        var d = a.Event(g.collapsed);
        b.find(e.open).removeClass(f.open),
          c.removeClass(f.open),
          b.slideUp(
            this.options.animationSpeed,
            function() {
              b.find(e.open + " > " + e.treeview).slideUp(),
                a(this.element).trigger(d);
            }.bind(this)
          );
      }),
      (h.prototype._setUpListeners = function() {
        var b = this;
        a(this.element).on("click", this.options.trigger, function(c) {
          b.toggle(a(this), c);
        });
      });
    var i = a.fn.tree;
    (a.fn.tree = b),
      (a.fn.tree.Constructor = h),
      (a.fn.tree.noConflict = function() {
        return (a.fn.tree = i), this;
      }),
      a(window).on("load", function() {
        a(e.data).each(function() {
          b.call(a(this));
        });
      });
  })(jQuery);
