/*
 * jQuery.Preload
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Dual licensed under MIT and GPL.
 * Date: 3/12/2008
 *
 * @projectDescription Multifunctional preloader
 * @author Ariel Flesler
 * @version 1.0.7
 */
(function(b){var a=b.preload=function(e,f){if(e.split){e=b(e)}f=b.extend({},a.defaults,f);var d=b.map(e,function(m){if(!m){return}if(m.split){return f.base+m+f.ext}var l=m.src||m.href;if(typeof f.placeholder=="string"&&m.src){m.src=f.placeholder}if(l&&f.find){l=l.replace(f.find,f.replace)}return l||null});var g={loaded:0,failed:0,next:0,done:0,total:d.length};if(!g.total){return j()}var i="<img/>",h=f.threshold;while(--h>0){i+="<img/>"}i=b(i).load(k).error(k).bind("abort",k).each(c);function k(l){g.found=l.type=="load";g.image=this.src;var m=g.original=e[this.index];g[g.found?"loaded":"failed"]++;g.done++;if(f.placeholder&&m.src){m.src=g.found?g.image:f.notFound||m.src}if(f.onComplete){f.onComplete(g)}if(g.done<g.total){c(0,this)}else{if(i.unbind){i.unbind("load").unbind("error").unbind("abort")}i=null;j()}}function c(n,m,l){if(b.browser.msie&&g.next&&g.next%a.gap==0&&!l){setTimeout(function(){c(n,m,true)},0);return false}if(g.next==g.total){return false}m.index=g.next;m.src=d[g.next++];if(f.onRequest){g.image=m.src;g.original=e[g.next-1];f.onRequest(g)}}function j(){if(f.onFinish){f.onFinish(g)}}};a.gap=14;a.defaults={threshold:2,base:"",ext:"",replace:""};b.fn.preload=function(c){a(this,c);return this}})(jQuery);
