dw_scrollObj.stopScroll=function(wnId){if(dw_scrollObjs[wnId])dw_scrollObjs[wnId].endScroll();};
dw_scrollObj.doubleSpeed=function(wnId){if(dw_scrollObjs[wnId])dw_scrollObjs[wnId].speed*=2;};dw_scrollObj.resetSpeed=function(wnId){if(dw_scrollObjs[wnId])dw_scrollObjs[wnId].speed/=2;};dw_scrollObj.initScroll=function(wnId,deg,sp){if(dw_scrollObjs[wnId]){var cosine,sine;if(typeof deg=="string"){switch(deg){case "up":deg=90;break;case "down":deg=270;break;case "left":deg=180;break;case "right":deg=0;break;default:alert("Direction of scroll in mouseover scroll links should be 'up', 'down', 'left', 'right' or number: 0 to 360.");}}deg=deg%360;if(deg%90==0){cosine=(deg==0)?-1:(deg==180)?1:0;sine=(deg==90)?1:(deg==270)?-1:0;}else{var angle=deg*Math.PI/180;cosine=-Math.cos(angle);sine=Math.sin(angle);};dw_scrollObjs[wnId].fx=cosine/(Math.abs(cosine)+Math.abs(sine));dw_scrollObjs[wnId].fy=sine/(Math.abs(cosine)+Math.abs(sine));dw_scrollObjs[wnId].endX=(deg==90||deg==270)?dw_scrollObjs[wnId].x:(deg<90||deg>270)?-dw_scrollObjs[wnId].maxX:0;dw_scrollObjs[wnId].endY=(deg==0||deg==180)?dw_scrollObjs[wnId].y:(deg<180)?0:-dw_scrollObjs[wnId].maxY;dw_scrollObjs[wnId].startScroll(sp);}};dw_scrollObj.prototype.startScroll=function(speed){if(!this.ready)return;if(this.timerId)clearInterval(this.timerId);this.speed=speed||dw_scrollObj.speed;this.lyr=document.getElementById(this.lyrId);this.lastTime=(new Date()).getTime();this.on_scroll_start();this.timerId=setInterval(this.animString+".scroll()",10);};dw_scrollObj.prototype.scroll=function(){var now=(new Date()).getTime();var d=(now-this.lastTime)/1000*this.speed;if(d>0){var x=this.x+this.fx*d;var y=this.y+this.fy*d;if(this.fx==0||this.fy==0){
if((this.fx==-1&&x>-this.maxX)||(this.fx==1&&x<0)||(this.fy==-1&&y>-this.maxY)||(this.fy==1&&y<0)){this.lastTime=now;this.shiftTo(this.lyr,x,y);this.on_scroll(x,y);}else{clearInterval(this.timerId);this.timerId=0;this.shiftTo(this.lyr,this.endX,this.endY);this.on_scroll_end(this.endX,this.endY);}}else{
if((this.fx<0&&x>=-this.maxX&&this.fy<0&&y>=-this.maxY)||(this.fx>0&&x<=0&&this.fy>0&&y<=0)||(this.fx<0&&x>=-this.maxX&&this.fy>0&&y<=0)||(this.fx>0&&x<=0&&this.fy<0&&y>=-this.maxY)){this.lastTime=now;this.shiftTo(this.lyr,x,y);this.on_scroll(x,y);}else{clearInterval(this.timerId);this.timerId=0;this.on_scroll_end(this.x,this.y);}}}};dw_scrollObj.prototype.endScroll=function(){if(!this.ready)return;if(this.timerId)clearInterval(this.timerId);this.timerId=0;this.lyr=null;};dw_scrollObj.prototype.on_scroll=function(){};dw_scrollObj.prototype.on_scroll_start=function(){};dw_scrollObj.prototype.on_scroll_end=function(){};

