/**
 * jQuery.Preload - Multifunctional preloader
 * Copyright (c) 2008 Ariel Flesler - aflesler(at)gmail(dot)com
 * Dual licensed under MIT and GPL.
 * Date: 3/25/2009
 * @author Ariel Flesler
 * @version 1.0.8
 */
;(
function($){
var h=$.preload=
function(c,d){
if(c.split)c=$(c);d=$.extend({},h.defaults,d);
var f=$.map(c,
function(a){
if(!a)
return;
if(a.split)
return d.base+a+d.ext;
var b=a.src||a.href;
if(
typeof d.placeholder=='string'&&a.src)a.src=d.placeholder;
if(b&&d.find)b=b.replace(d.find,d.replace);
return b||null}),data={loaded:0,failed:0,next:0,done:0,total:f.length};
if(!data.total)
return finish();
var g=$(Array(d.threshold+1).join('<img/>')).load(handler).error(handler).bind('abort',handler).each(fetch);
function handler(e){data.element=
this;data.found=e.type=='load';data.image=
this.src;data.index=
this.index;
var a=data.original=c[this.index];data[data.found?'loaded':'failed']++;data.done++;
if(d.enforceCache)h.cache.push($('<img/>').attr('src',data.image)[0]);
if(d.placeholder&&a.src)a.src=data.found?data.image:d.notFound||a.src;
if(d.onComplete)d.onComplete(data);if(data.done<data.total)fetch(0,this);
else{
if(g&&g.unbind)g.unbind('load').unbind('error').unbind('abort');g=null;finish()}};
function fetch(i,a,b){
if(a.attachEvent&&data.next&&data.next%h.gap==0&&!b){setTimeout(function(){fetch(i,a,1)},0);
return!1}if(data.next==data.total)return!1;a.index=data.next;a.src=f[data.next++];
if(d.onRequest){data.index=a.index;data.element=a;data.image=a.src;data.original=c[data.next-1];d.onRequest(data)}};
function finish(){
if(d.onFinish)d.onFinish(data)}};h.gap=14;h.cache=[];h.defaults={threshold:2,base:'',ext:'',replace:''};$.fn.preload=function(a){h(this,a);
return this}})(jQuery);
