﻿var Scr={};Scr.Init=Class.create();Scr.Init.prototype={initialize:function(a){this.options={cont:'',box1:'',box2:'',speed:10,space:15,blank:3000,pageWidth:240,fill:0,way:2,pageList:false};Object.extend(this.options,a||{});this.cont=this.options.cont;this.box1=this.options.box1;this.box2=this.options.box2;this.speed=this.options.speed;this.space=this.options.space;this.blank=this.options.blank;this.pageWidth=this.options.pageWidth;this.fill=this.options.fill;this.way=this.options.way;this.Iway=this.way;this.moveLock=false;this.gotoLock=false;this.comp=0;this.moveTimeObj=null;this.autoPlayObj=null;if(this.options.pageList)this.pageList=this.options.pageList;this.page=1;this.box2.innerHTML=this.box1.innerHTML;this.cont.scrollLeft=this.fill>=0?this.fill:this.box1.scrollWidth-Math.abs(this.fill);this.eventMouseOver=this.clearPlay.bindAsEventListener(this);this.eventMouseOut=this.autoPlay.bindAsEventListener(this);Event.observe(this.cont,"mouseover",this.eventMouseOver);Event.observe(this.cont,"mouseout",this.eventMouseOut);this.init();this.pageList();this.autoPlay()},init:function(){if(this.way==2||this.way==4)this.pages=Math.floor(this.box1.scrollWidth/this.pageWidth);else this.pages=Math.floor(this.box1.scrollHeight/this.pageWidth)},goPage:function(a){if(this.moveLock)return;this.moveLock=true;this.gotoLock=true;this.comp=(a-1)*this.pageWidth-((this.way==2||this.way==4)?this.cont.scrollLeft:this.cont.scrollTop);this.clearPlay();this.compScr();this.page=a;this.pageList()},autoPlay:function(){this.clearPlay();this.autoPlayObj=setInterval(function(){this.goEvent();this.stopEvent()}.bind(this),this.blank)},goEvent:function(){this.clearMove();if(this.moveLock)return;this.clearPlay();this.moveLock=true;if(arguments[0]){this.Iway=arguments[0]}else{this.Iway=this.way}this.srcEvent();this.moveTimeObj=setInterval(this.srcEvent.bind(this),this.speed)},stopEvent:function(){if(this.gotoLock)return;this.clearMove();switch(this.Iway){case 1:if((this.cont.scrollTop-this.fill)%this.pageWidth!=0){this.comp=this.fill-(this.cont.scrollTop%this.pageWidth);this.compScr()}else{this.moveLock=false}break;case 2:if(this.cont.scrollLeft%this.pageWidth-(this.fill>=0?this.fill:this.fill+1)!=0){this.comp=this.pageWidth-this.cont.scrollLeft%this.pageWidth+this.fill;this.compScr()}else{this.moveLock=false}break;case 3:if(this.cont.scrollTop%this.pageWidth-(this.fill>=0?this.fill:this.fill+1)!=0){this.comp=this.pageWidth-this.cont.scrollTop%this.pageWidth+this.fill;this.compScr()}else{this.moveLock=false}break;case 4:if((this.cont.scrollLeft-this.fill)%this.pageWidth!=0){this.comp=this.fill-(this.cont.scrollLeft%this.pageWidth);this.compScr()}else{this.moveLock=false}break}},srcEvent:function(){switch(this.Iway){case 1:if(this.cont.scrollTop<=0){this.cont.scrollTop=this.cont.scrollTop+this.box1.offsetHeight}this.cont.scrollTop-=this.space;break;case 2:if(this.cont.scrollLeft>=this.box1.scrollWidth){this.cont.scrollLeft-=this.box1.scrollWidth}this.cont.scrollLeft+=this.space;break;case 3:if(this.cont.scrollTop>=this.box1.scrollHeight){this.cont.scrollTop-=this.box1.scrollHeight}this.cont.scrollTop+=this.space;break;case 4:if(this.cont.scrollLeft<=0){this.cont.scrollLeft=this.cont.scrollLeft+this.box1.offsetWidth}this.cont.scrollLeft-=this.space;break}},compScr:function(){if(this.comp==0){if(this.way==2||this.way==4)this.page=Math.round((this.cont.scrollLeft-this.fill)/this.pageWidth)+1;else this.page=Math.round((this.cont.scrollTop-this.fill)/this.pageWidth)+1;if(this.page>this.pages)this.page=1;this.pageList();this.moveLock=false;this.gotoLock=false;this.autoPlay();return}var a;var b=this.speed,TempSpace=this.space;if(Math.abs(this.comp)<this.pageWidth/5){TempSpace=Math.round(Math.abs(this.comp/5));if(TempSpace>this.space)TempSpace=this.space;if(TempSpace<1)TempSpace=1}if(this.comp<0){if(this.comp<-TempSpace){this.comp+=TempSpace;a=TempSpace}else{a=-this.comp;this.comp=0}if(this.way==2||this.way==4)this.cont.scrollLeft-=a;else this.cont.scrollTop-=a}else{if(this.comp>TempSpace){this.comp-=TempSpace;a=TempSpace}else{a=this.comp;this.comp=0}if(this.way==2||this.way==4)this.cont.scrollLeft+=a;else this.cont.scrollTop+=a}setTimeout(this.compScr.bind(this),b)},clearPlay:function(){clearInterval(this.autoPlayObj)},clearMove:function(){clearInterval(this.moveTimeObj)},pageList:Prototype.emptyFunction};