/*! * Bootstrap.js by @fat & @mdo * Copyright 2012 Twitter, Inc. * http://www.apache.org/licenses/LICENSE-2.0.txt * * Custom version for Joomla! */ ! function(e) { "use strict"; e(function() { e.support.transition = function() { var e = function() { var e = document.createElement("bootstrap"), t = { WebkitTransition: "webkitTransitionEnd", MozTransition: "transitionend", OTransition: "oTransitionEnd otransitionend", transition: "transitionend" }, n; for (n in t) if (e.style[n] !== undefined) return t[n] }(); return e && { end: e } }() }) }(window.jQuery), ! function(e) { "use strict"; var t = '[data-dismiss="alert"]', n = function(n) { e(n).on("click", t, this.close) }; n.prototype.close = function(t) { function s() { i.trigger("closed").remove() } var n = e(this), r = n.attr("data-target"), i; r || (r = n.attr("href"), r = r && r.replace(/.*(?=#[^\s]*$)/, "")), i = e(r), t && t.preventDefault(), i.length || (i = n.hasClass("alert") ? n : n.parent()), i.trigger(t = e.Event("close")); if (t.isDefaultPrevented()) return; i.removeClass("in"), e.support.transition && i.hasClass("fade") ? i.on(e.support.transition.end, s) : s() }; var r = e.fn.alert; e.fn.alert = function(t) { return this.each(function() { var r = e(this), i = r.data("alert"); i || r.data("alert", i = new n(this)), typeof t == "string" && i[t].call(r) }) }, e.fn.alert.Constructor = n, e.fn.alert.noConflict = function() { return e.fn.alert = r, this }, e(document).on("click.alert.data-api", t, n.prototype.close) }(window.jQuery), ! function(e) { "use strict"; var t = function(t, n) { this.$element = e(t), this.options = e.extend({}, e.fn.button.defaults, n) }; t.prototype.setState = function(e) { var t = "disabled", n = this.$element, r = n.data(), i = n.is("input") ? "val" : "html"; e += "Text", r.resetText || n.data("resetText", n[i]()), n[i](r[e] || this.options[e]), setTimeout(function() { e == "loadingText" ? n.addClass(t).attr(t, t) : n.removeClass(t).removeAttr(t) }, 0) }, t.prototype.toggle = function() { var e = this.$element.closest('[data-toggle="buttons-radio"]'); e && e.find(".active").removeClass("active"), this.$element.toggleClass("active") }; var n = e.fn.button; e.fn.button = function(n) { return this.each(function() { var r = e(this), i = r.data("button"), s = typeof n == "object" && n; i || r.data("button", i = new t(this, s)), n == "toggle" ? i.toggle() : n && i.setState(n) }) }, e.fn.button.defaults = { loadingText: "loading..." }, e.fn.button.Constructor = t, e.fn.button.noConflict = function() { return e.fn.button = n, this }, e(document).on("click.button.data-api", "[data-toggle^=button]", function(t) { var n = e(t.target); n.hasClass("btn") || (n = n.closest(".btn")), n.button("toggle") }) }(window.jQuery), ! function(e) { "use strict"; var t = function(t, n) { this.$element = e(t), this.$indicators = this.$element.find(".carousel-indicators"), this.options = n, this.options.pause == "hover" && this.$element.on("mouseenter", e.proxy(this.pause, this)).on("mouseleave", e.proxy(this.cycle, this)) }; t.prototype = { cycle: function(t) { return t || (this.paused = !1), this.interval && clearInterval(this.interval), this.options.interval && !this.paused && (this.interval = setInterval(e.proxy(this.next, this), this.options.interval)), this }, getActiveIndex: function() { return this.$active = this.$element.find(".item.active"), this.$items = this.$active.parent().children(), this.$items.index(this.$active) }, to: function(t) { var n = this.getActiveIndex(), r = this; if (t > this.$items.length - 1 || t < 0) return; return this.sliding ? this.$element.one("slid", function() { r.to(t) }) : n == t ? this.pause().cycle() : this.slide(t > n ? "next" : "prev", e(this.$items[t])) }, pause: function(t) { return t || (this.paused = !0), this.$element.find(".next, .prev").length && e.support.transition.end && (this.$element.trigger(e.support.transition.end), this.cycle(!0)), clearInterval(this.interval), this.interval = null, this }, next: function() { if (this.sliding) return; return this.slide("next") }, prev: function() { if (this.sliding) return; return this.slide("prev") }, slide: function(t, n) { var r = this.$element.find(".item.active"), i = n || r[t](), s = this.interval, o = t == "next" ? "left" : "right", u = t == "next" ? "first" : "last", a = this, f; this.sliding = !0, s && this.pause(), i = i.length ? i : this.$element.find(".item")[u](), f = e.Event("slide", { relatedTarget: i[0], direction: o }); if (i.hasClass("active")) return; this.$indicators.length && (this.$indicators.find(".active").removeClass("active"), this.$element.one("slid", function() { var t = e(a.$indicators.children()[a.getActiveIndex()]); t && t.addClass("active") })); if (e.support.transition && this.$element.hasClass("slide")) { this.$element.trigger(f); if (f.isDefaultPrevented()) return; i.addClass(t), i[0].offsetWidth, r.addClass(o), i.addClass(o), this.$element.one(e.support.transition.end, function() { i.removeClass([t, o].join(" ")).addClass("active"), r.removeClass(["active", o].join(" ")), a.sliding = !1, setTimeout(function() { a.$element.trigger("slid") }, 0) }) } else { this.$element.trigger(f); if (f.isDefaultPrevented()) return; r.removeClass("active"), i.addClass("active"), this.sliding = !1, this.$element.trigger("slid") } return s && this.cycle(), this } }; var n = e.fn.carousel; e.fn.carousel = function(n) { return this.each(function() { var r = e(this), i = r.data("carousel"), s = e.extend({}, e.fn.carousel.defaults, typeof n == "object" && n), o = typeof n == "string" ? n : s.slide; i || r.data("carousel", i = new t(this, s)), typeof n == "number" ? i.to(n) : o ? i[o]() : s.interval && i.pause().cycle() }) }, e.fn.carousel.defaults = { interval: 5e3, pause: "hover" }, e.fn.carousel.Constructor = t, e.fn.carousel.noConflict = function() { return e.fn.carousel = n, this }, e(document).on("click.carousel.data-api", "[data-slide], [data-slide-to]", function(t) { var n = e(this), r, i = e(n.attr("data-target") || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, "")), s = e.extend({}, i.data(), n.data()), o; i.carousel(s), (o = n.attr("data-slide-to")) && i.data("carousel").pause().to(o).cycle(), t.preventDefault() }) }(window.jQuery), ! function(e) { "use strict"; var t = function(t, n) { this.$element = e(t), this.options = e.extend({}, e.fn.collapse.defaults, n), this.options.parent && (this.$parent = e(this.options.parent)), this.options.toggle && this.toggle() }; t.prototype = { constructor: t, dimension: function() { var e = this.$element.hasClass("width"); return e ? "width" : "height" }, show: function() { var t, n, r, i; if (this.transitioning || this.$element.hasClass("in")) return; t = this.dimension(), n = e.camelCase(["scroll", t].join("-")), r = this.$parent && this.$parent.find("> .accordion-group > .in"); if (r && r.length) { i = r.data("collapse"); if (i && i.transitioning) return; r.collapse("hide"), i || r.data("collapse", null) } this.$element[t](0), this.transition("addClass", e.Event("show"), "shown"), e.support.transition && this.$element[t](this.$element[0][n]) }, hide: function() { var t; if (this.transitioning || !this.$element.hasClass("in")) return; t = this.dimension(), this.reset(this.$element[t]()), this.transition("removeClass", e.Event("hideme"), "hidden"), this.$element[t](0) }, reset: function(e) { var t = this.dimension(); return this.$element.removeClass("collapse")[t](e || "auto")[0].offsetWidth, this.$element[e !== null ? "addClass" : "removeClass"]("collapse"), this }, transition: function(t, n, r) { var i = this, s = function() { n.type == "show" && i.reset(), i.transitioning = 0, i.$element.trigger(r) }; this.$element.trigger(n); if (n.isDefaultPrevented()) return; this.transitioning = 1, this.$element[t]("in"), e.support.transition && this.$element.hasClass("collapse") ? this.$element.one(e.support.transition.end, s) : s() }, toggle: function() { this[this.$element.hasClass("in") ? "hide" : "show"]() } }; var n = e.fn.collapse; e.fn.collapse = function(n) { return this.each(function() { var r = e(this), i = r.data("collapse"), s = e.extend({}, e.fn.collapse.defaults, r.data(), typeof n == "object" && n); i || r.data("collapse", i = new t(this, s)), typeof n == "string" && i[n]() }) }, e.fn.collapse.defaults = { toggle: !0 }, e.fn.collapse.Constructor = t, e.fn.collapse.noConflict = function() { return e.fn.collapse = n, this }, e(document).on("click.collapse.data-api", "[data-toggle=collapse]", function(t) { var n = e(this), r, i = n.attr("data-target") || t.preventDefault() || (r = n.attr("href")) && r.replace(/.*(?=#[^\s]+$)/, ""), s = e(i).data("collapse") ? "toggle" : n.data(); n[e(i).hasClass("in") ? "addClass" : "removeClass"]("collapsed"), e(i).collapse(s) }) }(window.jQuery), ! function(e) { "use strict"; function r() { e(t).parent().parent().removeClass("nav-hover"), e(".dropdown-backdrop").remove(), e(t).each(function() { i(e(this)).removeClass("open") }) } function i(t) { var n = t.attr("data-target"), r; n || (n = t.attr("href"), n = n && /#/.test(n) && n.replace(/.*(?=#[^\s]*$)/, "")), r = n && e(n); if (!r || !r.length) r = t.parent(); return r } var t = "[data-toggle=dropdown]", n = function(t) { var n = e(t).on("click.dropdown.data-api", this.toggle).on("mouseover.dropdown.data-api", this.toggle); e("html").on("click.dropdown.data-api", function() { n.parent().parent().removeClass("nav-hover"), n.parent().removeClass("open") }) }; n.prototype = { constructor: n, toggle: function(t) { var n = e(this), s, o, u, a; if (n.is(".disabled, :disabled")) return; s = i(n), o = s.hasClass("open"), a = s.parent().hasClass("nav-hover"); if (!a && t.type == "mouseover") return; u = n.attr("href"); if (t.type == "click" && u && u !== "#") { window.location = u; return } r(); if (!o && t.type != "mouseover" || a && t.type == "mouseover") "ontouchstart" in document.documentElement && (e('