var _=function(a){return"string"==typeof a?document.getElementById(a):a};var CurrentStyle=function(a){return a.currentStyle||document.defaultView.getComputedStyle(a,null)};function addEventHandler(b,c,a){if(b.addEventListener){b.addEventListener(c,a,false)}else{if(b.attachEvent){b.attachEvent("on"+c,a)}else{b["on"+c]=a}}}var Class={create:function(){return function(){this.initialize.apply(this,arguments)}}};Object.extend=function(a,c){for(var b in c){a[b]=c[b]}return a};Function.prototype.bind=function(c){var a=this,b=Array.prototype.slice.call(arguments);b.shift();return function(){return a.apply(c,b.concat(Array.prototype.slice.call(arguments)))}};var each=function(c,g,b){var a,d=0,e=c.length;if(b){if(e===undefined){for(a in c){if(g.apply(c[a],b)===false){break}}}else{for(;d<e;){if(g.apply(c[d++],b)===false){break}}}}else{if(e===undefined){for(a in c){if(g.call(c[a],a,c[a])===false){break}}}else{for(var f=c[0];d<e&&g.call(f,d,f)!==false;f=c[++d]){}}}return c};var inArray=function(c,d){for(var a=0,b=d.length;a<b;a++){if(d[a]===c){return a}}return -1};var grep=function(b,f,a){var c=[];for(var d=0,e=b.length;d<e;d++){if(!a!=!f(b[d],d)){c.push(b[d])}}return c};var add=function(a,b){each((b||"").split(/\s+/),function(c,d){if(a.nodeType==1&&!has(a.className,d)){a.className+=(a.className?" ":"")+d}})};var remove=function(a,b){if(a.nodeType==1){a.className=b!==undefined?grep(a.className.split(/\s+/),function(c){return !has(b,c)}).join(" "):""}};var has=function(b,a){return b&&inArray(a,(b.className||b).toString().split(/\s+/))>-1};function Each(c,a){for(var b=0;b<c.length;b++){a.call(c[b],b)}}var Roll=Class.create();Roll.prototype={initialize:function(b,a){this.obj=_(b);this.SetOptions(a);this.autotimer=null;this.movetimer=null;this.auto=!!this.options.auto;this.width=Math.abs(parseInt(this.options.width));this.speed=this.options.speed;this.step=this.options.step;this.side=this.options.side.toLowerCase()||"left";this.pauseWidth=this.options.pauseWidth;this.pauseHeight=this.options.pauseHeight;this.pauseSpeed=this.options.pauseSpeed;this.plugin=this.options.plugin;if(!Roll.childs){Roll.childs=[]}this.id=Roll.childs.length;Roll.childs.push(this);this.frameset=null;this.size=0;this.el=null;this.list=new Array();this.move=false;this._side=null;this.img=null;this.timer=null;this.set()},SetOptions:function(a){this.options={auto:true,width:0,speed:10,step:10,side:"right",pauseWidth:198,pauseHeight:147,pauseSpeed:3000,turnBtn:new Array(),plugin:function(){}};return Object.extend(this.options,a||{})},set:function(){this.obj.scrollLeft=0;this.obj.style.overflow="hidden";var b={overflow:"hidden",Zoom:"1"};this.frameset=document.createElement("div");if(this.side=="left"||this.side=="right"){this.setStyle(this.frameset,{width:"32766px"});this.obj.style.width=this.width+"px"}this.setStyle(this.frameset,b);for(var c=0,d=this.obj.childNodes,a=[];c<d.length;c++){if(d[c].nodeType==1){a.push(d[c])}}this.el=a[0];if(!this.el){return false}this.elClone=this.el.cloneNode(true);this.obj.removeChild(this.el);this.obj.appendChild(this.frameset);this.frameset.appendChild(this.el);this.frameset.appendChild(this.elClone);addEventHandler(this.obj,"mouseover",this.stop.bind(this));addEventHandler(this.obj,"mouseout",this.start.bind(this));if(this.options.turnBtn&&this.options.turnBtn.length==2){this.posBtn=_(this.options.turnBtn[0]);this.negBtn=_(this.options.turnBtn[1]);if(this.side=="left"||this.side=="right"){addEventHandler(this.posBtn,"mousedown",this.moveLeft.bind(this));addEventHandler(this.posBtn,"mouseup",this.stopLeft.bind(this));addEventHandler(this.posBtn,"mouseout",this.stopLeft.bind(this));addEventHandler(this.negBtn,"mousedown",this.moveRight.bind(this));addEventHandler(this.negBtn,"mouseup",this.stopRight.bind(this));addEventHandler(this.negBtn,"mouseout",this.stopRight.bind(this))}else{if(this.side=="up"||this.side=="down"){addEventHandler(this.posBtn,"mousedown",this.moveTop.bind(this));addEventHandler(this.posBtn,"mouseup",this.stopTop.bind(this));addEventHandler(this.posBtn,"mouseout",this.stopTop.bind(this));addEventHandler(this.negBtn,"mousedown",this.moveDown.bind(this));addEventHandler(this.negBtn,"mouseup",this.stopDown.bind(this));addEventHandler(this.negBtn,"mouseout",this.stopDown.bind(this))}}}this.start();this.plugin()},start:function(){this.stop();if(!this.auto){return false}switch(this.side){case"up":this.autotimer=setInterval("Roll.childs["+this.id+"].moveTop();Roll.childs["+this.id+"].stopTop();",this.pauseSpeed);break;case"down":this.autotimer=setInterval("Roll.childs["+this.id+"].moveDown();Roll.childs["+this.id+"].stopDown();",this.pauseSpeed);break;case"right":this.autotimer=setInterval("Roll.childs["+this.id+"].moveRight();Roll.childs["+this.id+"].stopRight();",this.pauseSpeed);break;case"left":default:this.autotimer=setInterval("Roll.childs["+this.id+"].moveLeft();Roll.childs["+this.id+"].stopLeft();",this.pauseSpeed)}},moveTop:function(){this.clear();if(this.move){return false}this.stop();this.move=true;this._side="down";this.scroll_Top();this.movetimer=setInterval(this.scroll_Top.bind(this),this.speed)},scroll_Top:function(){if(this.obj.scrollTop>=this.el.scrollHeight){this.obj.scrollTop=this.obj.scrollTop-this.el.scrollHeight}this.obj.scrollTop+=this.step},stopTop:function(){if(this._side=="up"){return false}this.clear();if(this.obj.scrollTop%this.pauseHeight!=0){this.size=this.pauseHeight-this.obj.scrollTop%this.pauseHeight;this.scroll()}else{this.move=false}this.start()},moveDown:function(){this.clear();if(this.move){return false}this.stop();this.move=true;this._side="up";this.scrollDown();this.movetimer=setInterval(this.scrollDown.bind(this),this.speed)},scrollDown:function(){if(this.obj.scrollTop<=0){this.obj.scrollTop=this.obj.scrollTop+this.el.offsetHeight}this.obj.scrollTop-=this.step},stopDown:function(){if(this._side=="down"){return false}this.clear();if(this.obj.scrollTop%this.pauseHeight!=0){this.size=-this.obj.scrollTop%this.pauseHeight;this.scroll()}else{this.move=false}this.start()},moveLeft:function(){this.clear();if(this.move){return false}this.stop();this.move=true;this._side="right";this.scroll_Left();this.movetimer=setInterval(this.scroll_Left.bind(this),this.speed)},scroll_Left:function(){if(this.obj.scrollLeft>=this.el.scrollWidth){this.obj.scrollLeft=this.obj.scrollLeft-this.el.scrollWidth}this.obj.scrollLeft+=this.step},stopLeft:function(){if(this._side=="left"){return false}this.clear();if(this.obj.scrollLeft%this.pauseWidth!=0){this.size=this.pauseWidth-this.obj.scrollLeft%this.pauseWidth;this.scroll()}else{this.move=false}this.start()},moveRight:function(){this.clear();if(this.move){return false}this.stop();this.move=true;this._side="left";this.scrollRight();this.movetimer=setInterval(this.scrollRight.bind(this),this.speed)},scrollRight:function(){if(this.obj.scrollLeft<=0){this.obj.scrollLeft=this.obj.scrollLeft+this.el.offsetWidth}this.obj.scrollLeft-=this.step},stopRight:function(){if(this._side=="right"){return false}this.clear();if(this.obj.scrollLeft%this.pauseWidth!=0){this.size=-this.obj.scrollLeft%this.pauseWidth;this.scroll()}else{this.move=false}this.start()},scroll:function(){if(this.size==0){this.move=false;return false}var a,b=this.step;if(Math.abs(this.size)<this.pauseWidth/2){b=Math.round(Math.abs(this.size/this.step));if(b<1){b=1}}if(this.size<0){if(this.size<-b){this.size+=b;a=b}else{a=-this.size;this.size=0}if(this.side=="left"||this.side=="right"){this.obj.scrollLeft-=a}else{if(this.side=="up"||this.side=="down"){this.obj.scrollTop-=a}}setTimeout(this.scroll.bind(this),this.speed)}else{if(this.size>b){this.size-=b;a=b}else{a=this.size;this.size=0}if(this.side=="left"||this.side=="right"){this.obj.scrollLeft+=a}else{if(this.side=="up"||this.side=="down"){this.obj.scrollTop+=a}}setTimeout(this.scroll.bind(this),this.speed)}},stop:function(){clearInterval(this.autotimer)},clear:function(){clearInterval(this.movetimer)},setStyle:function(b,a){if(b===undefined){return false}for(var c in a){b.style[c]=a[c]}}};

