function scrollerObj(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)scrollerObjs.setMouseEvents(this.el);this.lastTime=new Date().getTime();this.check=0;this.index=scrollerObjs.ar.length;scrollerObjs.ar[this.index]=this;this.active=true;};
scrollerObj.prototype.setTiming=function(speed,pause){this.speed=speed;this.pause=pause;};
scrollerObj.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;}}};
scrollerObj.prototype.doPause=function(){this.check+=this.elapsed;if(this.check>=this.pause){this.ctr++;this.check=0;}};
scrollerObj.prototype.shiftTo=function(x,y){this.css.left=(this.x=x)+"px";this.css.top=(this.y=y)+"px";};
scrollerObjs={};
scrollerObjs.ar=[];
scrollerObjs.setMouseEvents=function(obj){obj.onmouseover=scrollerObjs.halt;obj.onmouseout=scrollerObjs.resume;};
scrollerObjs.halt=function(){var curObj;for(var i=0;curObj=scrollerObjs.ar[i];i++)if(curObj.id==this.id){curObj.active=false;return;}};
scrollerObjs.resume=function(e){var curObj;for(var i=0;curObj=scrollerObjs.ar[i];i++){if(curObj.id==this.id){e=e?e:window.event;var toEl=e.relatedTarget?e.relatedTarget:e.toElement;if(this!=toEl&&!contain(toEl,this)){var now=new Date().getTime();curObj.elapsed=now-curObj.lastTime;curObj.lastTime=now;curObj.active=true;return;}}}};
scrollerObjs.timer=window.setInterval("scrollerObjs.control()",10);
scrollerObjs.control=function(){var curObj;for(var i=0;curObj=scrollerObjs.ar[i];i++){if(curObj.active&&scrollerObjs.ready){var now=new Date().getTime();curObj.elapsed=now-curObj.lastTime;curObj.lastTime=now;curObj.controlScroll();}}};
scrollerObjs.ready=true;
scrollerObjs.fixGTable=function(){var ua=navigator.userAgent;if(ua.indexOf("Gecko")>-1&&ua.indexOf("Firefox")==-1&&ua.toLowerCase().indexOf("like gecko")==-1){scrollerObjs.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";scrollerObjs.hold[i]=[arguments[i],holderId];}window.addEventListener("resize",scrollerObjs.rePosition,true);}};
scrollerObjs.rePosition=function(){if(scrollerObjs.hold){for(var i=0;scrollerObjs.hold[i];i++){var wndo=document.getElementById(scrollerObjs.hold[i][0]);var holder=document.getElementById(scrollerObjs.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 contain(oNode,oCont){if(!oNode)return;while(oNode=oNode.parentNode)if(oNode==oCont)return true;return false;};
scrollerObjs.unHook=function(){var i,curObj;for(i=0;curObj=scrollerObjs.ar[i];i++){if(curObj.el){curObj.el.onmouseover=null;curObj.el.onmouseout=null;curObj.el=null;}}};
if(window.addEventListener)window.addEventListener("unload",scrollerObjs.unHook,true);else if(window.attachEvent)window.attachEvent("onunload",scrollerObjs.unHook);
