 /************************************************************************* 
     This code is from Dynamic Web Coding at 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! 
 *************************************************************************/ 
 dw_Rotator.restartDelay = 500; 
 // delay onmouseout before call to rotate 
 dw_Rotator.col = []; 
 function dw_Rotator(name, speed, path, tgt){ 
     this.name = name; 
     this.speed = speed || 4500; 
     this.path = path || ""; 
     this.tgt = tgt; 
     this.ctr = 0; 
     this.timer = 0;      
     this.imgs = []; 
     this.actions = []; 
     this.index = dw_Rotator.col.length; 
     dw_Rotator.col[this.index] = this; 
     this.animString = "dw_Rotator.col[" + this.index + "]"; 
 }; 
 
 dw_Rotator.prototype.addImages = function(){ 
     var img; 
     for(var i = 0; arguments[i]; i ++ ){ 
         img = new Image(); 
         img.src = this.path + arguments[i]; 
         this.imgs[this.imgs.length] = img; 
     } 
 }; 
 
 dw_Rotator.prototype.addActions = function(){ 
     var len = arguments.length; 
     for(var i = 0; i < len; i ++ )this.actions[this.actions.length] = arguments[i]; 
 }; 
 
 dw_Rotator.prototype.rotate = function(){ 
     clearTimeout(this.timer); 
     this.timer = null; 
     if(this.ctr < this.imgs.length-1)this.ctr ++ ; 
     else this.ctr = 0; 
     var imgObj = document.images[this.name]; 
     if(imgObj){ 
         imgObj.src = this.imgs[this.ctr].src; 
         this.timer = setTimeout(this.animString + ".rotate()", this.speed); 
     } 
 }; 
 
 dw_Rotator.start = function(){ 
     var len = dw_Rotator.col.length, obj; 
     for(var i = 0; i < len; i ++ ){ 
         obj = dw_Rotator.col[i]; 
         if(obj && obj.name)obj.timer = setTimeout(obj.animString + ".rotate()", obj.speed); 
     } 
 }; 
 
 dw_Rotator.doClick = function(n){ 
     var obj = dw_Rotator.col[n]; 
     if( ! document.images ||  ! obj)return true; 
     if(obj.actions && obj.actions[obj.ctr]){ 
         if(typeof obj.actions[obj.ctr] == "string"){ 
             if(obj.tgt){ 
                 var win = window.open(obj.actions[obj.ctr], obj.tgt); 
                 if(win &&  ! win.closed)win.focus(); 
             }else{ 
                 window.location = obj.actions[obj.ctr]; 
             } 
         }else{ 
             obj.actions[obj.ctr](); 
         } 
     } 
     return false; 
 }; 
 
 dw_Rotator.pause = function(n){ 
     dw_Rotator.clearTimers(n); 
 }; 
 
 dw_Rotator.clearTimers = function(n){ 
     var obj = dw_Rotator.col[n]; 
     if(obj){ 
         clearTimeout(obj.timer); 
         obj.timer = null; 
     } 
 }; 
 
 dw_Rotator.resume = function(n){ 
     dw_Rotator.clearTimers(n); 
     var obj = dw_Rotator.col[n]; 
     if(obj){ 
         obj.timer = setTimeout(obj.animString + ".rotate()", dw_Rotator.restartDelay); 
     } 
 }; 
