!function(e){var r="waitForImages";e.waitForImages={hasImageProperties:["backgroundImage","listStyleImage","borderImage","borderCornerImage"]},e.expr[":"].uncached=function(r){if(!e(r).is('img[src!=""]'))return!1;var n=new Image;return n.src=r.src,!n.complete},e.fn.waitForImages=function(n,a,i){var c=0,t=0;if(e.isPlainObject(arguments[0])&&(n=arguments[0].finished,a=arguments[0].each,i=arguments[0].waitForAll),n=n||e.noop,a=a||e.noop,i=!!i,!e.isFunction(n)||!e.isFunction(a))throw new TypeError("An invalid callback was supplied.");return this.each(function(){var s=e(this),o=[],u=e.waitForImages.hasImageProperties||[],l=/url\(\s*(['"]?)(.*?)\1\s*\)/g;i?s.find("*").andSelf().each(function(){var r=e(this);r.is("img:uncached")&&o.push({src:r.attr("src"),element:r[0]}),e.each(u,function(e,n){var a,i=r.css(n);if(!i)return!0;for(;a=l.exec(i);)o.push({src:a[2],element:r[0]})})}):s.find("img:uncached").each(function(){o.push({src:this.src,element:this})}),c=o.length,t=0,0===c&&n.call(s[0]),e.each(o,function(i,o){var u=new Image;e(u).bind("load."+r+" error."+r,function(e){if(t++,a.call(o.element,t,c,"load"==e.type),t==c)return n.call(s[0]),!1}),u.src=o.src})})}}(jQuery);