File: /home/exhehbu/www/wp-content/plugins/eventer/js/plugins.js
/*
* jquery-match-height 0.7.2 by @liabru
* http://brm.io/jquery-match-height/
* License MIT
*/
!function (t) { "use strict"; "function" == typeof define && define.amd ? define(["jquery"], t) : "undefined" != typeof module && module.exports ? module.exports = t(require("jquery")) : t(jQuery) }(function (t) {
var e = -1, o = -1, n = function (t) { return parseFloat(t) || 0 }, a = function (e) { var o = 1, a = t(e), i = null, r = []; return a.each(function () { var e = t(this), a = e.offset().top - n(e.css("margin-top")), s = r.length > 0 ? r[r.length - 1] : null; null === s ? r.push(e) : Math.floor(Math.abs(i - a)) <= o ? r[r.length - 1] = s.add(e) : r.push(e), i = a }), r }, i = function (e) {
var o = {
byRow: !0, property: "height", target: null, remove: !1
}; return "object" == typeof e ? t.extend(o, e) : ("boolean" == typeof e ? o.byRow = e : "remove" === e && (o.remove = !0), o)
}, r = t.fn.matchHeight = function (e) { var o = i(e); if (o.remove) { var n = this; return this.css(o.property, ""), t.each(r._groups, function (t, e) { e.elements = e.elements.not(n) }), this } return this.length <= 1 && !o.target ? this : (r._groups.push({ elements: this, options: o }), r._apply(this, o), this) }; r.version = "0.7.2", r._groups = [], r._throttle = 80, r._maintainScroll = !1, r._beforeUpdate = null,
r._afterUpdate = null, r._rows = a, r._parse = n, r._parseOptions = i, r._apply = function (e, o) {
var s = i(o), h = t(e), l = [h], c = t(window).scrollTop(), p = t("html").outerHeight(!0), u = h.parents().filter(":hidden"); return u.each(function () { var e = t(this); e.data("style-cache", e.attr("style")) }), u.css("display", "block"), s.byRow && !s.target && (h.each(function () {
var e = t(this), o = e.css("display"); "inline-block" !== o && "flex" !== o && "inline-flex" !== o && (o = "block"), e.data("style-cache", e.attr("style")), e.css({
display: o, "padding-top": "0",
"padding-bottom": "0", "margin-top": "0", "margin-bottom": "0", "border-top-width": "0", "border-bottom-width": "0", height: "100px", overflow: "hidden"
})
}), l = a(h), h.each(function () { var e = t(this); e.attr("style", e.data("style-cache") || "") })), t.each(l, function (e, o) {
var a = t(o), i = 0; if (s.target) i = s.target.outerHeight(!1); else {
if (s.byRow && a.length <= 1) return void a.css(s.property, ""); a.each(function () {
var e = t(this), o = e.attr("style"), n = e.css("display"); "inline-block" !== n && "flex" !== n && "inline-flex" !== n && (n = "block"); var a = {
display: n
}; a[s.property] = "", e.css(a), e.outerHeight(!1) > i && (i = e.outerHeight(!1)), o ? e.attr("style", o) : e.css("display", "")
})
} a.each(function () { var e = t(this), o = 0; s.target && e.is(s.target) || ("border-box" !== e.css("box-sizing") && (o += n(e.css("border-top-width")) + n(e.css("border-bottom-width")), o += n(e.css("padding-top")) + n(e.css("padding-bottom"))), e.css(s.property, i - o + "px")) })
}), u.each(function () { var e = t(this); e.attr("style", e.data("style-cache") || null) }), r._maintainScroll && t(window).scrollTop(c / p * t("html").outerHeight(!0)),
this
}, r._applyDataApi = function () { var e = {}; t("[data-match-height], [data-mh]").each(function () { var o = t(this), n = o.attr("data-mh") || o.attr("data-match-height"); n in e ? e[n] = e[n].add(o) : e[n] = o }), t.each(e, function () { this.matchHeight(!0) }) }; var s = function (e) { r._beforeUpdate && r._beforeUpdate(e, r._groups), t.each(r._groups, function () { r._apply(this.elements, this.options) }), r._afterUpdate && r._afterUpdate(e, r._groups) }; r._update = function (n, a) {
if (a && "resize" === a.type) {
var i = t(window).width(); if (i === e) return; e = i;
} n ? o === -1 && (o = setTimeout(function () { s(a), o = -1 }, r._throttle)) : s(a)
}, t(r._applyDataApi); var h = t.fn.on ? "on" : "bind"; t(window)[h]("load", function (t) { r._update(!1, t) }), t(window)[h]("resize orientationchange", function (t) { r._update(!0, t) })
});
!function (t) { "function" == typeof define && define.amd ? define(["jquery"], t) : t(jQuery) }(function (t) { t.fn.addBack = t.fn.addBack || t.fn.andSelf, t.fn.extend({ actual: function (e, n) { if (!this[e]) throw '$.actual => The jQuery method "' + e + '" you called does not exist'; var i, a, o = { absolute: !1, clone: !1, includeMargin: !1, display: "block" }, r = t.extend(o, n), d = this.eq(0); if (r.clone === !0) i = function () { var t = "position: absolute !important; top: -1000 !important; "; d = d.clone().attr("style", t).appendTo("body") }, a = function () { d.remove() }; else { var l, s = [], u = ""; i = function () { l = d.parents().addBack().filter(":hidden"), u += "visibility: hidden !important; display: " + r.display + " !important; ", r.absolute === !0 && (u += "position: absolute !important; "), l.each(function () { var e = t(this), n = e.attr("style"); s.push(n), e.attr("style", n ? n + ";" + u : u) }) }, a = function () { l.each(function (e) { var n = t(this), i = s[e]; void 0 === i ? n.removeAttr("style") : n.attr("style", i) }) } } i(); var c = /(outer)/.test(e) ? d[e](r.includeMargin) : d[e](); return a(), c } }) });
(function ($) {
$.fn.countdown = function (toDate, callback) {
var handlers = ['seconds', 'minutes', 'hours', 'days', 'weeks', 'daysLeft'];
function delegate(scope, method) {
return function () { return method.call(scope) }
}
return this.each(function () {
// Convert
var $this = $(this),
values = {},
lasting = {},
interval = $this.data('countdownInterval'),
secondsLeft = Math.floor((toDate - upcoming_data.c_time));
function triggerEvents() {
secondsLeft--;
if (secondsLeft < 0) {
secondsLeft = 0;
}
lasting = {
seconds: secondsLeft % 60,
minutes: Math.floor(secondsLeft / 60) % 60,
hours: Math.floor(secondsLeft / 60 / 60) % 24,
days: Math.floor(secondsLeft / 60 / 60 / 24),
weeks: Math.floor(secondsLeft / 60 / 60 / 24 / 7),
daysLeft: Math.floor(secondsLeft / 60 / 60 / 24) % 7
}
for (var i = 0; i < handlers.length; i++) {
var eventName = handlers[i];
if (values[eventName] != lasting[eventName]) {
values[eventName] = lasting[eventName];
dispatchEvent(eventName);
}
}
if (secondsLeft == 0) {
stop();
dispatchEvent('finished');
}
}
triggerEvents();
function dispatchEvent(eventName) {
var event = $.Event(eventName);
event.date = new Date(new Date().valueOf() + secondsLeft);
event.value = values[eventName] || "0";
event.toDate = toDate;
event.lasting = lasting;
switch (eventName) {
case "seconds":
case "minutes":
case "hours":
event.value = event.value < 10 ? '0' + event.value.toString() : event.value.toString();
break;
default:
if (event.value) {
event.value = event.value.toString();
}
break;
}
callback.call($this, event);
}
$this.bind('remove', function () {
stop(); // If the selector is removed clear the interval for memory sake!
dispatchEvent('removed');
});
function stop() {
clearInterval(interval);
}
function start() {
$this.data('countdownInterval', setInterval(delegate($this, triggerEvents), 1000));
interval = $this.data('countdownInterval');
}
if (interval) stop();
start();
});
}
// Wrap the remove method to trigger an event when called
var removeEvent = new $.Event('remove'),
removeFunction = $.fn.remove;
$.fn.remove = function () {
$(this).trigger(removeEvent);
return removeFunction.apply(this, arguments);
}
})(jQuery);