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