Element.Events.extend({'wheelup':{type:Element.Events.mousewheel.type,map:function(event){event=new Event(event);if(event.wheel>=0)this.fireEvent('wheelup',event)}},'wheeldown':{type:Element.Events.mousewheel.type,map:function(event){event=new Event(event);if(event.wheel<=0)this.fireEvent('wheeldown',event)}}});if(typeof(LofArticleSroller)=='undefined'){var LofArticleSroller=new Class({initialize:function(eMain,eNavigator,eNavOuter,options){this.setting=Object.extend({autoStart:true,descStyle:'sliding',mainItemSelector:'div.lof-main-item',navSelector:'li',navigatorEvent:'click',interval:2000,auto:false,navItemsDisplay:100,startItem:0,navItemHeight:100,navItemWidth:310,navigatorAlignment:'horizontal'},options||{});this.currentNo=0;this.nextNo=null;this.previousNo=null;this.fxItems=[];this.minSize=0;var modes={horizontal:['left','width','height','navItemWidth'],vertical:['top','height','width','navItemHeight']}if($defined(eMain)){this.slides=eMain.getElements(this.setting.mainItemSelector);this.maxWidth=eMain.getStyle('width').toInt();this.maxHeight=eMain.getStyle('height').toInt();this.styleMode=this.__getStyleMode();var fx=Object.extend({waiting:false},this.setting.fxObject);this.slides.each(function(item,index){item.setStyles(eval('({"'+this.styleMode[0]+'": index * this.maxSize,"'+this.styleMode[1]+'":Math.abs(this.maxSize),"display" : "block"})'));this.fxItems[index]=new Fx.Styles(item,fx)}.bind(this));if(this.styleMode[0]=='opacity'||this.styleMode[0]=='z-index'){this.slides[0].setStyle(this.styleMode[0],'1')}eMain.addEvents({'mouseenter':this.stop.bind(this),'mouseleave':function(e){if(this.setting.auto&&this.slides.length>1){this.play(this.setting.interval,'next',true)}}.bind(this)})}if($defined(eNavigator)&&$defined(eNavOuter)){this.navigatorItems=eNavigator.getElements(this.setting.navSelector);if(this.setting.navItemsDisplay>this.navigatorItems.length){this.setting.navItemsDisplay=this.navigatorItems.length}eNavOuter.setStyle(modes[this.setting.navigatorAlignment][1],this.setting.navItemsDisplay*this.setting.navItemHeight);eNavOuter.setStyle(modes[this.setting.navigatorAlignment][2],this.setting[modes[this.setting.navigatorAlignment][3]]);this.navigatorFx=new Fx.Style(eNavigator,modes[this.setting.navigatorAlignment][0],{transition:Fx.Transitions.Quad.easeInOut,duration:800});this.registerMousewheelHandler(eNavigator);this.navigatorItems.each(function(item,index){item.addEvent(this.setting.navigatorEvent,function(){this.jumping(index,true);this.setNavActive(index,item)}.bind(this));item.setStyles({'height':this.setting.navItemHeight,'width':this.setting.navItemWidth})}.bind(this));this.setNavActive(0);$image=eMain.getElements('img');$image.setStyles({opacity:0,visibility:'hidden'});$image.each(function(image,index){if(image.complete){setTimeout(function(){var fx=new Fx.Style(image,'opacity',{duration:1000});fx.start(0,1)},400+index*50)}else{setTimeout(function(){var fx=new Fx.Style(image,'opacity',{duration:1000});fx.start(0,1)},400)+index*50}})}},navivationAnimate:function(currentIndex){if(currentIndex<=this.setting.startItem||currentIndex-this.setting.startItem>=this.setting.navItemsDisplay-1){this.setting.startItem=currentIndex-this.setting.navItemsDisplay+2;if(this.setting.startItem<0)this.setting.startItem=0;if(this.setting.startItem>this.slides.length-this.setting.navItemsDisplay){this.setting.startItem=this.slides.length-this.setting.navItemsDisplay}}this.navigatorFx.stop().start(-this.setting.startItem*this.setting.navItemHeight)},setNavActive:function(index,item){if($defined(this.navigatorItems)){this.navigatorItems.removeClass('active');this.navigatorItems[index].addClass('active')}},__getStyleMode:function(){switch(this.setting.direction){case'opacity':this.maxSize=0;this.minSize=1;return['opacity','opacity'];case'vrup':this.maxSize=this.maxHeight;return['top','height'];case'vrdown':this.maxSize=-this.maxHeight;return['top','height'];case'hrright':this.maxSize=-this.maxWidth;return['left','width'];case'hrleft':default:this.maxSize=this.maxWidth;return['left','width']}},registerMousewheelHandler:function(element){element.addEvents({'wheelup':function(e){e=new Event(e).stop();this.previous(true)}.bind(this),'wheeldown':function(e){e=new Event(e).stop();this.next(true)}.bind(this)})},registerButtonsControl:function(eventHandler,objects,isHover){if($defined(objects)&&this.slides.length>1){for(var action in objects){if($defined(this[action.toString()])&&$defined(objects[action])){objects[action].addEvent(eventHandler,this[action.toString()].bind(this,[true]))}}}return this},start:function(isStart,obj){this.setting.auto=isStart;if(this.setting.auto&&this.slides.length>1){this.play(this.setting.interval,'next',true)}},onComplete:function(obj){(function(){new Fx.Style(obj,'opacity',{transition:Fx.Transitions.Quad.easeInOut,duration:800}).start(1,0)}).delay(600);if(this.setting.auto&&this.slides.length>1){this.play(this.setting.interval,'next',true)}},preloadImages:function(_options){var options=Object.extend({onComplete:function(){},onProgress:function(){}},_options||{})},onProcessing:function(manual,start,end){this.previousNo=this.currentNo+(this.currentNo>0?-1:this.slides.length-1);this.nextNo=this.currentNo+(this.currentNo<this.slides.length-1?1:1-this.slides.length);return this},finishFx:function(manual){if(manual)this.stop();if(manual&&this.setting.auto){this.setNavActive(this.currentNo);this.play(this.setting.interval,'next',true)}},getObjectDirection:function(start,end){return eval("({'"+this.styleMode[0]+"':["+start+", "+end+"]})")},fxStart:function(index,obj){this.fxItems[index].stop().start(obj);return this},jumping:function(no,manual){this.stop();if(this.currentNo==no)return;this.onProcessing(null,manual,0,this.maxSize).fxStart(no,this.getObjectDirection(this.maxSize,this.minSize)).fxStart(this.currentNo,this.getObjectDirection(this.minSize,-this.maxSize)).finishFx(manual);this.currentNo=no},next:function(manual,item){this.currentNo+=(this.currentNo<this.slides.length-1)?1:(1-this.slides.length);this.onProcessing(item,manual,0,this.maxSize).fxStart(this.currentNo,this.getObjectDirection(this.maxSize,this.minSize)).fxStart(this.previousNo,this.getObjectDirection(this.minSize,-this.maxSize)).finishFx(manual)},previous:function(manual,item){this.currentNo+=this.currentNo>0?-1:this.slides.length-1;this.onProcessing(item,manual,-this.maxWidth,this.minSize).fxStart(this.nextNo,this.getObjectDirection(this.minSize,this.maxSize)).fxStart(this.currentNo,this.getObjectDirection(-this.maxSize,this.minSize)).finishFx(manual)},play:function(delay,direction,wait){this.stop();if(!wait){this[direction](false)}this.isRun=this[direction].periodical(delay,this,true)},stop:function(){;$clear(this.isRun)}})}
