
var Slideshow=(function(){function onImageLoad(elem,callback){var image=new Image();image.onload=function(){callback(image)};image.src=$(elem).attr('src');}
function parseSlideOpts(opts){opts=eval('('+opts+')');return{x:opts.x*-1,y:opts.y*-1,zoom:parseFloat(opts.zoom||1.0)};}
function Slide(img,show){this.img=$(img);this.start=parseSlideOpts(this.img.attr('data-start'));this.end=parseSlideOpts(this.img.attr('data-end'));this.img.css({top:10000,display:'block'});var self=this;onImageLoad(this.img,function(image){var width=image.width,height=image.height;self.startW=width*self.start.zoom,self.startH=height*self.start.zoom,self.endW=width*self.end.zoom,self.endH=height*self.end.zoom,show.loaded.push(self);});}
Slide.prototype={animateInContext:function(ctx){this.img.css({opacity:0}).appendTo(ctx).css({top:this.start.y,left:this.start.x,width:this.startW,height:this.startH}).animate({opacity:1},{duration:800}).animate({top:this.end.y,left:this.end.x,width:this.endW,height:this.endH},{duration:5600,easing:'linear',queue:false});return this;}};function Slideshow(sel){this.root=$(sel);this.loaded=[];this.currentIndex=0;this.numSlides=0;this.step=0;var self=this;this.root.children('img').each(function(i,elem){self.numSlides++;new Slide(elem,self);});this.interval=setInterval(function(){self.advance()},200);}
Slideshow.prototype={next:function(){return this.loaded[this.currentIndex];},showNext:function(){var next=this.next();this.currentIndex=(this.currentIndex+1)%this.loaded.length;next.animateInContext(this.root);},advance:function(){if(this.currentIndex==this.loaded.length&&this.loaded.length<this.numSlides)
return;if(this.step<=0){this.showNext();if(this.loaded.length==this.numSlides){delete this.step;clearInterval(this.interval);var self=this;this.interval=setInterval(function(){self.showNext()},4800);}else{this.step=23;}}else{this.step-=1;}}};return Slideshow;})();
