Viewing File: /home/webrbaew/felishamccaskill.com/js/imagesloaded-pkgd.js

/*!
 * imagesLoaded PACKAGED v4.1.4
 * JavaScript is all like "You images are done yet or what?"
 * MIT License
 */

!function(e, t) {
        "function" == typeof define && define.amd ? define("ev-emitter/ev-emitter", t) : "object" == typeof module && module.exports ? module.exports = t() : e.EvEmitter = t()
    }("undefined" != typeof window ? window : this, function() {
        function e() {}
        var t = e.prototype;
        return t.on = function(e, t) {
                if (e && t) {
                        var i = this._events = this._events || {}
                          , n = i[e] = i[e] || [];
                        return n.indexOf(t) == -1 && n.push(t),
                        this
                }
        }
        ,
        t.once = function(e, t) {
                if (e && t) {
                        this.on(e, t);
                        var i = this._onceEvents = this._onceEvents || {}
                          , n = i[e] = i[e] || {};
                        return n[t] = !0,
                        this
                }
        }
        ,
        t.off = function(e, t) {
                var i = this._events && this._events[e];
                if (i && i.length) {
                        var n = i.indexOf(t);
                        return n != -1 && i.splice(n, 1),
                        this
                }
        }
        ,
        t.emitEvent = function(e, t) {
                var i = this._events && this._events[e];
                if (i && i.length) {
                        i = i.slice(0),
                        t = t || [];
                        for (var n = this._onceEvents && this._onceEvents[e], o = 0; o < i.length; o++) {
                                var r = i[o]
                                  , s = n && n[r];
                                s && (this.off(e, r),
                                delete n[r]),
                                r.apply(this, t)
                        }
                        return this
                }
        }
        ,
        t.allOff = function() {
                delete this._events,
                delete this._onceEvents
        }
        ,
        e
    }),
    function(e, t) {
        "use strict";
        "function" == typeof define && define.amd ? define(["ev-emitter/ev-emitter"], function(i) {
                return t(e, i)
        }) : "object" == typeof module && module.exports ? module.exports = t(e, require("ev-emitter")) : e.imagesLoaded = t(e, e.EvEmitter)
    }("undefined" != typeof window ? window : this, function(e, t) {
        function i(e, t) {
                for (var i in t)
                        e[i] = t[i];
                return e
        }
        function n(e) {
                if (Array.isArray(e))
                        return e;
                var t = "object" == typeof e && "number" == typeof e.length;
                return t ? d.call(e) : [e]
        }
        function o(e, t, r) {
                if (!(this instanceof o))
                        return new o(e,t,r);
                var s = e;
                return "string" == typeof e && (s = document.querySelectorAll(e)),
                s ? (this.elements = n(s),
                this.options = i({}, this.options),
                "function" == typeof t ? r = t : i(this.options, t),
                r && this.on("always", r),
                this.getImages(),
                h && (this.jqDeferred = new h.Deferred),
                void setTimeout(this.check.bind(this))) : void a.error("Bad element for imagesLoaded " + (s || e))
        }
        function r(e) {
                this.img = e
        }
        function s(e, t) {
                this.url = e,
                this.element = t,
                this.img = new Image
        }
        var h = e.jQuery
          , a = e.console
          , d = Array.prototype.slice;
        o.prototype = Object.create(t.prototype),
        o.prototype.options = {},
        o.prototype.getImages = function() {
                this.images = [],
                this.elements.forEach(this.addElementImages, this)
        }
        ,
        o.prototype.addElementImages = function(e) {
                "IMG" == e.nodeName && this.addImage(e),
                this.options.background === !0 && this.addElementBackgroundImages(e);
                var t = e.nodeType;
                if (t && u[t]) {
                        for (var i = e.querySelectorAll("img"), n = 0; n < i.length; n++) {
                                var o = i[n];
                                this.addImage(o)
                        }
                        if ("string" == typeof this.options.background) {
                                var r = e.querySelectorAll(this.options.background);
                                for (n = 0; n < r.length; n++) {
                                        var s = r[n];
                                        this.addElementBackgroundImages(s)
                                }
                        }
                }
        }
        ;
        var u = {
                1: !0,
                9: !0,
                11: !0
        };
        return o.prototype.addElementBackgroundImages = function(e) {
                var t = getComputedStyle(e);
                if (t)
                        for (var i = /url\((['"])?(.*?)\1\)/gi, n = i.exec(t.backgroundImage); null !== n; ) {
                                var o = n && n[2];
                                o && this.addBackground(o, e),
                                n = i.exec(t.backgroundImage)
                        }
        }
        ,
        o.prototype.addImage = function(e) {
                var t = new r(e);
                this.images.push(t)
        }
        ,
        o.prototype.addBackground = function(e, t) {
                var i = new s(e,t);
                this.images.push(i)
        }
        ,
        o.prototype.check = function() {
                function e(e, i, n) {
                        setTimeout(function() {
                                t.progress(e, i, n)
                        })
                }
                var t = this;
                return this.progressedCount = 0,
                this.hasAnyBroken = !1,
                this.images.length ? void this.images.forEach(function(t) {
                        t.once("progress", e),
                        t.check()
                }) : void this.complete()
        }
        ,
        o.prototype.progress = function(e, t, i) {
                this.progressedCount++,
                this.hasAnyBroken = this.hasAnyBroken || !e.isLoaded,
                this.emitEvent("progress", [this, e, t]),
                this.jqDeferred && this.jqDeferred.notify && this.jqDeferred.notify(this, e),
                this.progressedCount == this.images.length && this.complete(),
                this.options.debug && a && a.log("progress: " + i, e, t)
        }
        ,
        o.prototype.complete = function() {
                var e = this.hasAnyBroken ? "fail" : "done";
                if (this.isComplete = !0,
                this.emitEvent(e, [this]),
                this.emitEvent("always", [this]),
                this.jqDeferred) {
                        var t = this.hasAnyBroken ? "reject" : "resolve";
                        this.jqDeferred[t](this)
                }
        }
        ,
        r.prototype = Object.create(t.prototype),
        r.prototype.check = function() {
                var e = this.getIsImageComplete();
                return e ? void this.confirm(0 !== this.img.naturalWidth, "naturalWidth") : (this.proxyImage = new Image,
                this.proxyImage.addEventListener("load", this),
                this.proxyImage.addEventListener("error", this),
                this.img.addEventListener("load", this),
                this.img.addEventListener("error", this),
                void (this.proxyImage.src = this.img.src))
        }
        ,
        r.prototype.getIsImageComplete = function() {
                return this.img.complete && this.img.naturalWidth
        }
        ,
        r.prototype.confirm = function(e, t) {
                this.isLoaded = e,
                this.emitEvent("progress", [this, this.img, t])
        }
        ,
        r.prototype.handleEvent = function(e) {
                var t = "on" + e.type;
                this[t] && this[t](e)
        }
        ,
        r.prototype.onload = function() {
                this.confirm(!0, "onload"),
                this.unbindEvents()
        }
        ,
        r.prototype.onerror = function() {
                this.confirm(!1, "onerror"),
                this.unbindEvents()
        }
        ,
        r.prototype.unbindEvents = function() {
                this.proxyImage.removeEventListener("load", this),
                this.proxyImage.removeEventListener("error", this),
                this.img.removeEventListener("load", this),
                this.img.removeEventListener("error", this)
        }
        ,
        s.prototype = Object.create(r.prototype),
        s.prototype.check = function() {
                this.img.addEventListener("load", this),
                this.img.addEventListener("error", this),
                this.img.src = this.url;
                var e = this.getIsImageComplete();
                e && (this.confirm(0 !== this.img.naturalWidth, "naturalWidth"),
                this.unbindEvents())
        }
        ,
        s.prototype.unbindEvents = function() {
                this.img.removeEventListener("load", this),
                this.img.removeEventListener("error", this)
        }
        ,
        s.prototype.confirm = function(e, t) {
                this.isLoaded = e,
                this.emitEvent("progress", [this, this.element, t])
        }
        ,
        o.makeJQueryPlugin = function(t) {
                t = t || e.jQuery,
                t && (h = t,
                h.fn.imagesLoaded = function(e, t) {
                        var i = new o(this,e,t);
                        return i.jqDeferred.promise(h(this))
                }
                )
        }
        ,
        o.makeJQueryPlugin(),
        o
    });
    
Back to Directory File Manager