;jQuery.preloadCssImages=function(q){q=jQuery.extend({statusTextEl:null,statusBarEl:null,errorDelay:999,simultaneousCacheLoading:2},q);var r=[],loaded=0,imgUrls=[],thisSheetRules,errorTimer;function onImgComplete(){clearTimeout(errorTimer);if(imgUrls&&imgUrls.length&&imgUrls[loaded]){loaded++;if(q.statusTextEl){var a=(imgUrls[loaded])?'Now Loading: <span>'+imgUrls[loaded].split('/')[imgUrls[loaded].split('/').length-1]:'Loading complete';jQuery(q.statusTextEl).html('<span class="numLoaded">'+loaded+'</span> of <span class="numTotal">'+imgUrls.length+'</span> loaded (<span class="percentLoaded">'+(loaded/imgUrls.length*100).toFixed(0)+'%</span>) <span class="currentImg">'+a+'</span></span>')}if(q.statusBarEl){var b=jQuery(q.statusBarEl).width();jQuery(q.statusBarEl).css('background-position',-(b-(b*loaded/imgUrls.length).toFixed(0))+'px 50%')}loadImgs()}}function loadImgs(){if(imgUrls&&imgUrls.length&&imgUrls[loaded]){var a=new Image();a.src=imgUrls[loaded];if(!a.complete){jQuery(a).bind('error load onreadystatechange',onImgComplete)}else{onImgComplete()}errorTimer=setTimeout(onImgComplete,q.errorDelay)}}function parseCSS(a,b){var c=false,imported=[],importedSrc=[],baseURL;var d=a.length;while(d--){var e='';if(b&&b[d]){baseURL=b[d]}else{var f=(a[d].href)?a[d].href:'window.location.href';var g=f.split('/');g.pop();baseURL=g.join('/');if(baseURL){baseURL+='/'}}if(a[d].cssRules||a[d].rules){thisSheetRules=(a[d].cssRules)?a[d].cssRules:a[d].rules;var h=thisSheetRules.length;while(h--){if(thisSheetRules[h].style&&thisSheetRules[h].style.cssText){var j=thisSheetRules[h].style.cssText;if(j.toLowerCase().indexOf('url')!=-1){e+=j}}else if(thisSheetRules[h].styleSheet){imported.push(thisSheetRules[h].styleSheet);c=true}}}var k=e.match(/[^\("]+\.(gif|jpg|jpeg|png)/g);if(k){var i=k.length;while(i--){var l=(k[i].charAt(0)=='/'||k[i].match('://'))?k[i]:baseURL+k[i];if(jQuery.inArray(l,imgUrls)==-1){imgUrls.push(l)}}}if(!c&&a[d].imports&&a[d].imports.length){for(var m=0,importLen=a[d].imports.length;m<importLen;m++){var n=a[d].imports[m].href;n=n.split('/');n.pop();n=n.join('/');if(n){n+='/'}var o=(n.charAt(0)=='/'||n.match('://'))?n:baseURL+n;importedSrc.push(o);imported.push(a[d].imports[m])}}}if(imported.length){parseCSS(imported,importedSrc);return false}var p=q.simultaneousCacheLoading;while(p--){setTimeout(loadImgs,p)}}parseCSS(document.styleSheets);return imgUrls};
