/*************************************************************************
  This code is from Dynamic Web Coding at www.dyn-web.com
  Copyright 2001-5 by Sharon Paine 
  See Terms of Use at www.dyn-web.com/bus/terms.html
  regarding conditions under which you may use this code.
  This notice must be retained in the code as is!
*************************************************************************/

/*
    pausing scroller - vertical or horizontal 
    version date: March 2005 (revised GeckoTableFix)
*/

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=8000;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=8000;};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/3000*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/3000*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=100;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";}}};


