!function (t, e){ "use strict"; function r(r, a, i, u, l){ function f(){ L = t.devicePixelRatio > 1, i = c(i), a.delay >= 0 && _AN_Call_settimeout("setTimeout", window, function (){ s(true ); } , a.delay), (a.delay < 0 || a.combined) && (u.e = v(a.throttle, function (t){ "resize" === t.type && (w = B = -1), s(t.all); } ), u.a = function (t){ t = c(t), i.push.apply(i, t); } , u.g = function (){ return i = n(i).filter(function (){ return !n(this).data(a.loadedName); } ); } , u.f = function (t){ for (var e = 0; e < _AN_Read_length("length", t); e++ ){ var r = i.filter(function (){ return this === t[e]; } ); _AN_Read_length("length", r) && s(false , r); } } , s(), n(a.appendScroll).on("scroll." + l + " resize." + l, u.e)); } function c(t){ var i = a.defaultImage, o = a.placeholder, u = a.imageBase, l = a.srcsetAttribute, f = a.loaderAttribute, c = a._f || { } ; t = n(t).filter(function (){ var t = n(this), r = m(this); return !t.data(a.handledName) && (t.attr(a.attribute) || t.attr(l) || t.attr(f) || c[r] !== e); } ).data("plugin_" + a.name, r); for (var s = 0, d = _AN_Read_length("length", t); s < d; s++ ){ var A = n(t[s]), g = m(t[s]), h = A.attr(a.imageBaseAttribute) || u; g === N && h && A.attr(l) && A.attr(l, b(A.attr(l), h)), c[g] === e || A.attr(f) || A.attr(f, c[g]), g === N && i && !A.attr(E)? A.attr(E, i): g === N || !o || A.css(O) && "none" !== A.css(O) || A.css(O, "url('" + o + "')"); } return t; } function s(t, e){ if (!_AN_Read_length("length", i)) return void (a.autoDestroy && r.destroy()); for (var o = e || i, u = false , l = a.imageBase || "", f = a.srcsetAttribute, c = a.handledName, s = 0; s < _AN_Read_length("length", o); s++ )if (t || e || A(o[s])) { var g = n(o[s]), h = m(o[s]), b = g.attr(a.attribute), v = g.attr(a.imageBaseAttribute) || l, p = g.attr(a.loaderAttribute); g.data(c) || a.visibleOnly && !g.is(":visible") || !((b || g.attr(f)) && (h === N && (v + b !== g.attr(E) || g.attr(f) !== g.attr(F)) || h !== N && v + b !== g.css(O)) || p) || (u = true , g.data(c, true ), d(g, h, v, p)); } u && (i = n(i).filter(function (){ return !n(this).data(c); } )); } function d(t, e, r, i){ ++z; var o = function (){ y("onError", t), p(), o = n.noop; } ; y("beforeLoad", t); var u = a.attribute, l = a.srcsetAttribute, f = a.sizesAttribute, c = a.retinaAttribute, s = a.removeAttribute, d = a.loadedName, A = t.attr(c); if (i) { var g = function (){ s && t.removeAttr(a.loaderAttribute), t.data(d, true ), y(T, t), _AN_Call_settimeout("setTimeout", window, p, 1), g = n.noop; } ; t.off(I).one(I, o).one(D, g), y(i, t, function (e){ e? (t.off(D), g()): (t.off(I), o()); } ) || t.trigger(I); } else { var h = n(new Image()); h.one(I, o).one(D, function (){ t.hide(), e === N? t.attr(C, h.attr(C)).attr(F, h.attr(F)).attr(E, h.attr(E)): t.css(O, "url('" + h.attr(E) + "')"), t[a.effect](a.effectTime), s && (t.removeAttr(u + " " + l + " " + c + " " + a.imageBaseAttribute), f !== C && t.removeAttr(f)), t.data(d, true ), y(T, t), h.remove(), p(); } ); var m = (L && A? A: t.attr(u)) || ""; h.attr(C, t.attr(f)).attr(F, t.attr(l)).attr(E, m? r + m: null ), h.complete && h.trigger(D); } } function A(t){ var e = t.getBoundingClientRect(), r = a.scrollDirection, n = a.threshold, i = h() + n > e.top && - n < e.bottom, o = g() + n > e.left && - n < e.right; return "vertical" === r? i: "horizontal" === r? o: i && o; } function g(){ return w >= 0? w: w = n(t).width(); } function h(){ return B >= 0? B: B = n(t).height(); } function m(t){ return t.tagName.toLowerCase(); } function b(t, e){ if (e) { var r = t.split(","); t = ""; for (var a = 0, n = _AN_Read_length("length", r); a < n; a++ )t += e + r[a].trim() + (a !== n - 1? ",": ""); } return t; } function v(t, e){ var n, i = 0; return function (o, u){ function l(){ i = + new Date(), e.call(r, o); } var f = + new Date() - i; n && clearTimeout(n), f > t || !a.enableThrottle || u? l(): n = _AN_Call_settimeout("setTimeout", window, l, t - f); } ; } function p(){ --z, _AN_Read_length("length", i) || z || y("onFinishedAll"); } function y(t, e, n){ return !!(t = a[t]) && (t.apply(r, [] .slice.call(arguments, 1)), true ); } var z = 0, w = -1, B = -1, L = false , T = "afterLoad", D = "load", I = "error", N = "img", E = "src", F = "srcset", C = "sizes", O = "background-image"; "event" === a.bind || o? f(): n(t).on(D + "." + l, f); } function a(a, o){ var u = this, l = n.extend({ } , u.config, o), f = { } , c = l.name + "-" + ++i; return u.config = function (t, r){ return r === e? l[t]: (l[t] = r, u); } , u.addItems = function (t){ return f.a && f.a("string" === n.type(t)? n(t): t), u; } , u.getItems = function (){ return f.g? f.g(): { } ; } , u.update = function (t){ return f.e && f.e({ } , !t), u; } , u.force = function (t){ return f.f && f.f("string" === n.type(t)? n(t): t), u; } , u.loadAll = function (){ return f.e && f.e({ all: true } , true ), u; } , u.destroy = function (){ return n(l.appendScroll).off("." + c, f.e), n(t).off("." + c), f = { } , e; } , r(u, l, a, f, c), l.chainable? a: u; } var n = t.jQuery || t.Zepto, i = 0, o = false ; n.fn.Lazy = n.fn.lazy = function (t){ return new a(this, t); } , n.Lazy = n.lazy = function (t, r, i){ if (n.isFunction(r) && (i = r, r = [] ), n.isFunction(i)) { t = n.isArray(t)? t: [t] , r = n.isArray(r)? r: [r] ; for (var o = a.prototype.config, u = o._f || (o._f = { } ), l = 0, f = _AN_Read_length("length", t); l < f; l++ )(o[t[l]] === e || n.isFunction(o[t[l]])) && (o[t[l]] = i); for (var c = 0, s = _AN_Read_length("length", r); c < s; c++ )u[r[c]] = t[0]; } } , a.prototype.config = { name: "lazy", chainable: true , autoDestroy: true , bind: "load", threshold: 500, visibleOnly: false , appendScroll: t, scrollDirection: "both", imageBase: null , defaultImage: "data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==", placeholder: null , delay: -1, combined: false , attribute: "data-src", srcsetAttribute: "data-srcset", sizesAttribute: "data-sizes", retinaAttribute: "data-retina", loaderAttribute: "data-loader", imageBaseAttribute: "data-imagebase", removeAttribute: true , handledName: "handled", loadedName: "loaded", effect: "show", effectTime: 0, enableThrottle: true , throttle: 250, beforeLoad: e, afterLoad: e, onError: e, onFinishedAll: e} , n(t).on("load", function (){ o = true ; } ); } (window);