/** * Copyright (c) 2011-2016 Alexander Dickson @alexdickson * Licensed under the MIT licenses. * http://alexanderdickson.com * * Modified by Cain */ !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):"object"==typeof exports?module.exports=a(require("jquery")):a(jQuery)}(function(a){var b="waitForImages";a.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage","cursor"],hasImageAttributes:["srcset"]},a.expr[":"]["has-src"]=function(b){return a(b).is('img[src][src!=""]')},a.expr[":"].uncached=function(b){return!!a(b).is(":has-src")&&!b.complete},a.fn.waitForImages=function(){var f,g,h,c=0,d=0,e=a.Deferred();if(a.isPlainObject(arguments[0])?(h=arguments[0].waitForAll,g=arguments[0].each,f=arguments[0].finished):1===arguments.length&&"boolean"===a.type(arguments[0])?h=arguments[0]:(f=arguments[0],g=arguments[1],h=arguments[2]),f=f||a.noop,g=g||a.noop,h=!!h,!a.isFunction(f)||!a.isFunction(g))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var i=a(this),j=[],k=a.waitForImages.hasImageProperties||[],l=a.waitForImages.hasImageAttributes||[],m=/url\(\s*(['"]?)(.*?)\1\s*\)/g;h?(i=i.find("*").addBack(),i.not(a("#loftloader-wrapper").find("*").addBack()).each(function(){var b=a(this);b.is("img:has-src")&&!b.is("[srcset]")&&j.push({src:b.attr("src"),element:b[0]}),a.each(k,function(a,c){var e,d=b.css(c);if(!d)return!0;for(;e=m.exec(d);)j.push({src:e[2],element:b[0]})}),a.each(l,function(a,c){var d=b.attr(c);return!d||void j.push({src:b.attr("src"),srcset:b.attr("srcset"),element:b[0]})})})):i.find("img:has-src").each(function(){j.push({src:this.src,element:this})}),c=j.length,d=0,0===c&&(f.call(i[0]),e.resolveWith(i[0])),a.each(j,function(h,j){var k=new Image,l="load."+b+" error."+b;a(k).one(l,function b(h){d++;var k=[d,c,"load"==h.type];if(d