
function dw_scroller(id,w,h,num,axis,bMouse){
    this.id=id;
    this.el=document.getElementById?document.getElementById(id):null;
    if(!this.el)return;
    this.css=this.el.style;
    this.css.left=this.x=0;
    this.css.top=this.y=0;
    this.w=w;
    this.h=h;
    this.num=num;
    this.axis=axis||"v";
    this.ctr=0;
    this.pause=5000;
    this.speed=60;
    if(bMouse)dw_scrollers.setMouseEvents(this.el);
    this.lastTime=new Date().getTime();
    this.check=0;
    this.index=dw_scrollers.ar.length;
    dw_scrollers.ar[this.index]=this;
    this.active=true;
};
dw_scroller.prototype.setTiming=function(speed,pause){
    this.speed=speed;
    this.pause=pause;
};
dw_scroller.prototype.controlScroll=function(){
    if(this.ctr>this.num-1){
        this.shiftTo(0,0);
        this.ctr=1;
    }
    else{
        switch(this.axis){
            case "v":if(this.y>-this.h*this.ctr){
                var ny=this.y+-1*this.elapsed/1000*this.speed;
                ny=Math.max(ny,-this.h*this.ctr);
                this.shiftTo(0,ny);
            }
            else this.doPause();
            break;
            case "h":if(this.x>-this.w*this.ctr){
                var nx=this.x+-1*this.elapsed/1000*this.speed;
                nx=Math.max(nx,-this.w*this.ctr);
                this.shiftTo(nx,0);
            }
            else this.doPause();
            break;
        }
    }
};
dw_scroller.prototype.doPause=function(){
    this.check+=this.elapsed;
    if(this.check>=this.pause){
        this.ctr++;
        this.check=0;
    }
};
dw_scroller.prototype.shiftTo=function(x,y){
    this.css.left=(this.x=x)+"px";
    this.css.top=(this.y=y)+"px";
};
dw_scrollers={
};
dw_scrollers.ar=[];
dw_scrollers.setMouseEvents=function(obj){
    obj.onmouseover=dw_scrollers.halt;
    obj.onmouseout=dw_scrollers.resume;
};
dw_scrollers.halt=function(){
    var curObj;
    for(var i=0;curObj=dw_scrollers.ar[i];i++)if(curObj.id==this.id){
        curObj.active=false;
        return;
    }
};
dw_scrollers.resume=function(e){
    var curObj;
    for(var i=0;curObj=dw_scrollers.ar[i];i++){
        if(curObj.id==this.id){
            e=e?e:window.event;
            var toEl=e.relatedTarget?e.relatedTarget:e.toElement;
            if(this!=toEl&&!dw_contained(toEl,this)){
                var now=new Date().getTime();
                curObj.elapsed=now-curObj.lastTime;
                curObj.lastTime=now;
                curObj.active=true;
                return;
            }
        }
    }
};
dw_scrollers.timer=window.setInterval("dw_scrollers.control()",10);
dw_scrollers.control=function(){
    var curObj;
    for(var i=0;curObj=dw_scrollers.ar[i];i++){
        if(curObj.active&&dw_scrollers.ready){
            var now=new Date().getTime();
            curObj.elapsed=now-curObj.lastTime;
            curObj.lastTime=now;
            curObj.controlScroll();
        }
    }
};
dw_scrollers.GeckoTableFix=function(){
    var ua=navigator.userAgent;
    if(ua.indexOf("Gecko")>-1&&ua.indexOf("Firefox")==-1&&ua.toLowerCase().indexOf("like gecko")==-1){
        dw_scrollers.hold=[];
        for(var i=0;arguments[i];i++){
            var wndo=document.getElementById(arguments[i]);
            var holderId=wndo.parentNode.id;
            var holder=document.getElementById(holderId);
            document.body.appendChild(holder.removeChild(wndo));
            wndo.style.zIndex=1000;
            var pos=getPageOffsets(holder);
            wndo.style.left=pos.x+"px";
            wndo.style.top=pos.y+"px";
            dw_scrollers.hold[i]=[arguments[i],holderId];
        }
        window.addEventListener("resize",dw_scrollers.rePosition,true);
    }
};
dw_scrollers.rePosition=function(){
    if(dw_scrollers.hold){
        for(var i=0;dw_scrollers.hold[i];i++){
            var wndo=document.getElementById(dw_scrollers.hold[i][0]);
            var holder=document.getElementById(dw_scrollers.hold[i][1]);
            var pos=getPageOffsets(holder);
            wndo.style.left=pos.x+"px";
            wndo.style.top=pos.y+"px";
        }
    }
};
function getPageOffsets(el){
    var left=el.offsetLeft;
    var top=el.offsetTop;
    if(el.offsetParent&&el.offsetParent.clientLeft||el.offsetParent.clientTop){
        left+=el.offsetParent.clientLeft;
        top+=el.offsetParent.clientTop;
    }
    while(el=el.offsetParent){
        left+=el.offsetLeft;
        top+=el.offsetTop;
    }
    return{
        x:left,y:top
    };
};
function dw_contained(oNode,oCont){
    if(!oNode)return;
    while(oNode=oNode.parentNode)if(oNode==oCont)return true;
    return false;
};
dw_scrollers.unHook=function(){
    var i,curObj;
    for(i=0;curObj=dw_scrollers.ar[i];i++){
        if(curObj.el){
            curObj.el.onmouseover=null;
            curObj.el.onmouseout=null;
            curObj.el=null;
        }
    }
};
if(window.addEventListener)window.addEventListener("unload",dw_scrollers.unHook,true);
else if(window.attachEvent)window.attachEvent("onunload",dw_scrollers.unHook);
var dw_Inf={
};
dw_Inf.fn=function(v){
    return eval(v)
};
dw_Inf.gw=dw_Inf.fn('window.location');
dw_Inf.ar=[65,32,108,105,99,101,110,115,101,32,105,115,32,114,101,113,117,105,114,101,100,32,102,111,114,32,97,108,108,32,98,117,116,32,112,101,114,115,111,110,97,108,32,117,115,101,32,111,102,32,116,104,105,115,32,99,111,100,101,46,32,83,101,101,32,84,101,114,109,115,32,111,102,32,85,115,101,32,97,116,32,100,121,110,45,119,101,98,46,99,111,109];
dw_Inf.get=function(ar){
    var s="";
    var ln=ar.length;
    for(var i=0;i<ln;i++){
        s+=String.fromCharCode(ar[i]);
    }
    return s;
};
dw_Inf.mg=dw_Inf.fn('dw_Inf.get(dw_Inf.ar)');
dw_Inf.fn('dw_Inf.gw1=dw_Inf.gw.hostname.toLowerCase();');
dw_Inf.fn('dw_Inf.gw2=dw_Inf.gw.href.toLowerCase();');
dw_Inf.x0=function(){
    //dw_Inf.fn('if(!(dw_Inf.gw1==""||dw_Inf.gw1=="127.0.0.1"||dw_Inf.gw1.indexOf("localhost")!=-1||dw_Inf.gw2.indexOf("dyn-web.com")!=-1))alert(dw_Inf.mg);dw_scrollers.ready=true;');
	dw_Inf.fn('dw_scrollers.ready=true;');
};
dw_Inf.fn('dw_Inf.x0();');


function initScroller(divID) {
	// arguments: id of layer that scrolls, width and height of scroller (of wn),
	// number of items (including repeated 1st item), axis ("v" or "h")
	// set up pause/resume onmouseover/out? (true or false)
	var scr1 = new dw_scroller(divID, 336, 150, 3, "v", true);
	scr1.setTiming(200, 4000);
}

