var ImageScrOOler=new Class({Implements:[Options,Events],moveDirection:"right",options:{targetElement:$empty,imagePath:"",imageSpacing:10,moveDelay:32,moveSteps:1,imageHeight:70,showProgress:true,defaultMessage:'Click on the images below',showMessage:' Show me items from ',imageClass:'cur',EOL:1000},initialize:function(data,options){this.setOptions(options);if($type(this.options.targetElement)!="element")return false;if(!data.length)return false;this.data=data;this.options.targetElement.empty();if(this.options.showProgress)this.stats=new Element("span",{id:'moostats',html:"Initialising..."}).inject(this.options.targetElement);this.container=new Element("div",{styles:{overflow:"hidden",height:this.options.imageHeight,visibility:"hidden",width:this.options.targetElement.getSize().x,float:"left"}}).inject(this.options.targetElement);this.subcontainer=new Element("div",{styles:{overflow:"hidden",height:this.options.imageHeight,visibility:"hidden",width:this.options.targetElement.getSize().x,"white-space":"nowrap"}}).inject(this.container);this.loadAssets();this.subcontainer.addEvents({}).setStyle("visibility","visible");if(this.options.showProgress)this.stats.set("html",this.options.defaultMessage);this.stop();this.subcontainer.scrollTo(0,0);this.move()},loadAssets:function(){var _this=this;this.subcontainer.empty();this.data.each(function(el,i){new Asset.image(_this.options.imagePath+el.image,{title:el.title,onload:function(){if(i<_this.data.length)this.setStyle("margin-right",_this.options.imageSpacing);this.set({styles:{height:_this.options.imageHeight},events:{click:function(){if(_this.options.clickEvent!=null){_this.stop();this.removeEvents();_this.options.clickEvent.run(el)}}}}).addClass(_this.options.imageClass).inject(_this.subcontainer)}});if(_this.options.showProgress){if(i<_this.data.length)_this.stats.set("html",i+' loaded...')}});this.subcontainer.scrollTo(0,0)},getSize:function(){this.subSize={'scroll':{'x':this.subcontainer.scrollLeft,'y':this.subcontainer.scrollTop},'size':{'x':this.subcontainer.offsetWidth,'y':this.subcontainer.offsetHeight},'scrollSize':{'x':this.subcontainer.scrollWidth,'y':this.subcontainer.scrollHeight}}},frame:function(){if(this.moveDirection=="right"){this.getSize();this.subcontainer.scrollTo(this.subSize.scroll.x+this.options.moveSteps,0);this.getSize();if(this.subSize.size.x+this.subSize.scroll.x>=this.subSize.scrollSize.x&&this.subSize.scroll.x>0){this.stop();this.fireEvent("complete",this.moveDirection);this.moveDirection="left";(function(){this.move()}).delay(this.options.EOL,this)}}else{this.getSize();this.subcontainer.scrollTo(this.subSize.scroll.x-this.options.moveSteps,0);this.getSize();if(this.subSize.scroll.x<=0){this.stop();this.fireEvent("complete",this.moveDirection);this.moveDirection="right";(function(){this.move()}).delay(this.options.EOL,this)}}},move:function(){this.stop();this.moveTimer=(function(){this.frame()}).periodical(this.options.moveDelay,this)},stop:function(){$clear(this.moveTimer)}});