! function(t) { function e(t, o) { return new e.prototype.init(t, o) } t.fn.accordion = function(o) { return this.each(function() { t.data(this, "accordion", {}), t.data(this, "accordion", e(this, o)) }) }, t.Accordion = e, t.Accordion.NAME = "accordion", t.Accordion.VERSION = "1.0", t.Accordion.opts = { scroll: !1, collapse: !0, toggle: !0, titleClass: ".accordion-title", panelClass: ".accordion-panel" }, e.fn = t.Accordion.prototype = { init: function(e, o) { this.$element = e !== !1 ? t(e) : !1, this.loadOptions(o), this.build(), this.opts.collapse ? this.closeAll() : this.openAll(), this.loadFromHash() }, loadOptions: function(e) { this.opts = t.extend({}, t.extend(!0, {}, t.Accordion.opts), this.$element.data(), e) }, setCallback: function(e, o, i) { var s = t._data(this.$element[0], "events"); if (s && "undefined" != typeof s[e]) { for (var n = [], a = s[e].length, l = 0; a > l; l++) { var h = s[e][l].namespace; if (h == "tools." + t.Accordion.NAME || h == t.Accordion.NAME + ".tools") { var r = s[e][l].handler; n.push("undefined" == typeof i ? r.call(this, o) : r.call(this, o, i)) } } return 1 == n.length ? n[0] : n } return "undefined" == typeof i ? o : i }, getTitles: function() { this.titles = this.$element.find(this.opts.titleClass), this.titles.append(t("").addClass("accordion-toggle")), this.titles.each(function() { var e = t(this); e.attr("rel", e.attr("href")) }) }, getPanels: function() { this.panels = this.$element.find(this.opts.panelClass) }, build: function() { this.getTitles(), this.getPanels(), this.titles.on("click", t.proxy(this.toggle, this)) }, loadFromHash: function() { if ("" !== top.location.hash && this.opts.scroll && 0 !== this.$element.find("[rel=" + top.location.hash + "]").size()) { this.open(top.location.hash); var e = this; t(document).ready(function() { setTimeout(function() { e.scrollTo(top.location.hash) }, 250) }) } }, toggle: function(e) { e.preventDefault(), e.stopPropagation(); var o = t(e.target).attr("rel"); if (this.opts.toggle) { var i = t(e.target), s = i.closest(this.opts.titleClass), n = s.hasClass("accordion-title-opened"); this.closeAll(), n || this.open(o) } else t("[rel=" + o + "]").hasClass("accordion-title-opened") ? this.close(o) : this.open(o) }, open: function(e) { this.$title = t("[rel=" + e + "]"), this.$panel = t(e), top.location.hash = e, this.setStatus("open"), this.$panel.slideDown(), this.setCallback("opened", this.$title, this.$panel) }, close: function(e) { this.$title = t("[rel=" + e + "]"), this.$panel = t(e), this.setStatus("close"), this.$panel.slideUp(), this.setCallback("closed", this.$title, this.$panel) }, setStatus: function(e) { var o = { toggle: this.$title.find("span.accordion-toggle"), title: this.$title, panel: this.$panel }; t.each(o, function(t, o) { "close" == e ? o.removeClass("accordion-" + t + "-opened").addClass("accordion-" + t + "-closed") : o.removeClass("accordion-" + t + "-closed").addClass("accordion-" + t + "-opened") }) }, openAll: function() { this.titles.each(t.proxy(function(e, o) { this.open(t(o).attr("rel")) }, this)) }, closeAll: function() { this.titles.each(t.proxy(function(e, o) { this.close(t(o).attr("rel")) }, this)) }, scrollTo: function(e) { t("html, body").animate({ scrollTop: t(e).offset().top - 50 }, 500) } }, t(window).on("load.tools.accordion", function() { t('[data-tools="accordion"]').accordion() }), e.prototype.init.prototype = e.prototype }(jQuery), function(t) { function e(t, o) { return new e.prototype.init(t, o) } t.fn.autocomplete = function(o) { return this.each(function() { t.data(this, "autocomplete", {}), t.data(this, "autocomplete", e(this, o)) }) }, t.Autocomplete = e, t.Autocomplete.NAME = "autocomplete", t.Autocomplete.VERSION = "1.0", t.Autocomplete.opts = { url: !1, min: 2, set: "value" }, e.fn = t.Autocomplete.prototype = { init: function(e, o) { this.$element = e !== !1 ? t(e) : !1, this.loadOptions(o), this.build() }, loadOptions: function(e) { this.opts = t.extend({}, t.extend(!0, {}, t.Autocomplete.opts), this.$element.data(), e) }, setCallback: function(e, o, i) { var s = t._data(this.$element[0], "events"); if (s && "undefined" != typeof s[e]) { for (var n = [], a = s[e].length, l = 0; a > l; l++) { var h = s[e][l].namespace; if (h == "tools." + t.Autocomplete.NAME || h == t.Autocomplete.NAME + ".tools") { var r = s[e][l].handler; n.push("undefined" == typeof i ? r.call(this, o) : r.call(this, o, i)) } } return 1 == n.length ? n[0] : n } return "undefined" == typeof i ? o : i }, build: function() { this.result = t('