Slideshow=new Class({Implements:Options,options:{base:"/itemimages/",thumbs:"list/",images:[],aLargeImages:[],aSmallImages:[],ncurrent:0,slideshow:false},initialize:function(a){this.setOptions(a);if(!this.options.slideshow){this.options.slideshow=$("product-large-image")}this.images=new Array(this.options.images.length);this.options.images.each(function(c,b){this.images[b]={name:c,loaded:false,preloader:false};if(b==0){this.images[b].loaded=true}}.bind(this));this.options.aLargeImages=$$(this.options.aLargeImages);this.options.aSmallImages=$$(this.options.aSmallImages);if(this.options.aSmallImages.length>0){if(this.options.aLargeImages.length!=this.options.aSmallImages.length){this.options.aLargeImages.length=this.options.aSmallImages.length;for(index=0;index<this.options.aSmallImages.length;index++){if(!$defined(this.options.aLargeImages[index])){this.options.aLargeImages[index]=new Element("div",{"class":"wrap1 large-product-image"});this.options.aLargeImages[index].grab(new Element("div",{"class":"wrap2"}));this.options.aLargeImages[index].getFirst("div").grab(new Element("div",{"class":"wrap3"}));this.options.aLargeImages[index].inject(this.options.slideshow)}}}new Element("div",{id:"image-progress",html:'<img src="/images/v2/layout/large-activity-indicator.gif" /><h4>Loading Image</h4>'}).inject(this.options.slideshow);this.loader=$("image-progress");this.options.ncurrent=0;this._preload();this.options.aSmallImages.each(function(b,c){b.getParent("a").addEvent("click",function(d){d.stop();this.options.ncurrent=c;this._preload()}.bind(this))}.bind(this))}},_preload:function(a){this.hide();if(!$defined(a)){a=this.options.ncurrent}if(this.images[a].loaded){this.show(a);return}if(!this.images[a].preloader){this.images[a].preloader=new Asset.image(this.options.base+this.images[a].name,{onload:function(){this.store("loaded",true)}})}if(this.images[a].preloader.retrieve("loaded")){this.images[a].loaded=true;this.options.aLargeImages[a].getFirst("div").getFirst("div").grab(new Element("img",{src:this.images[a].preloader.get("src"),"class":"large-product-image"}));this.images[a].preloader=this.images[a].preloader.destroy();this.show(a)}else{this._preload.delay(1000,this,a)}},old_preload:function(a){this.hide();if(!$defined(a)){a=this.options.ncurrent}if(this.images[a].loaded){this.show(a);return}if(!this.preloader){this.preloader=new Asset.image(this.options.base+this.images[a].name,{onload:function(){this.store("loaded",true)}})}if(this.preloader.retrieve("loaded")){this.images[a].loaded=true;this.options.aLargeImages[a].getFirst("div").getFirst("div").grab(new Element("img",{src:this.preloader.get("src"),"class":"large-product-image"}));this.preloader=this.preloader.destroy();this.show(a)}else{this._preload.delay(1000,this,a)}},show:function(a){if(!$defined(a)){a=this.options.ncurrent}this.loader.fade("hide");this.options.aLargeImages[a].setStyle("display","block").fade("in");this.options.aSmallImages[a].set("opacity",1)},hide:function(a){if(!$defined(a)){this.options.aLargeImages.setStyle("display","none").fade("hide");this.options.aSmallImages.set("opacity",0.5)}else{this.options.aLargeImages[a].setStyle("display","none").fade("hide");this.options.aSmallImages[a].set("opacity",0.5)}this.loader.fade("show")}});