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