var ImageScrubber=new Class({Implements:[Options],options:{reset:true},initialize:function(D,C,A,B){this.setOptions(B);this.element=$(D);this.url=C;this.pimages=A;this.w=this.element.getStyle("width").toInt();this.h=this.element.getStyle("height").toInt();this.bound={setup:this.setup.bind(this),swap:this.swapImage.bind(this)};this.loadData()},showIndicator:function(){new Element("span",{"class":"indicator",styles:{width:this.w,height:this.h,display:"block"}}).inject(this.element).fade("show")},loadData:function(){if($defined(this.pimages)){var B=new Array();for(var A=0;A<this.pimages.length;A++){B.push({image:this.pimages[A],link:this.url})}this.element.empty();this.showIndicator();this.imageList=B;this.images=new Asset.images(this.imageList.map(function(D,C){return D.image}),{onComplete:this.bound.setup})}},setup:function(){this.element.empty();this.position=this.element.getPosition();this.ratio=(this.w/this.images.length).round().limit(1,this.w);this.offset=(this.ratio/2).round();this.setImage(0);this.element.addEvent("mousemove",this.bound.swap);if(this.options.reset){this.element.addEvent("mouseleave",function(A){this.setImage(0)}.bind(this))}this.oldIndex=0},setImage:function(index){this.element.empty();if(this.imageList[index].link){var lnk=this.imageList[index].link;if(this.imageList[index].link.indexOf("(")){var anchor=new Element("a",{href:"#"});anchor.addEvent("click",function(){eval(lnk)})}else{var anchor=new Element("a",{href:this.imageList[index].link})}this.images[index].inject(anchor);anchor.inject(this.element)}else{this.images[index].inject(this.element)}this.oldIndex=index},swapImage:function(B){var C=((B.client.x-this.position.x)-this.offset).limit(0,this.w);var A=(C/this.ratio).round().limit(0,this.images.length-1);if(A!=this.oldIndex){this.setImage(A)}}});
