imgRotator.restartDelay = 500; // delay onmouseout before call to rotate
imgRotator.col=[];
function imgRotator(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=imgRotator.col.length;
  imgRotator.col[this.index]=this;
  this.animString="imgRotator.col["+this.index+"]";
};
imgRotator.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;
  }
};
imgRotator.prototype.addActions=function() {
  var len=arguments.length;
  for (var i=0;i<len;i++) this.actions[this.actions.length]=arguments[i];
};
imgRotator.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&&imgRotator.ready) {
    imgObj.src=this.imgs[this.ctr].src;
    this.timer=setTimeout(this.animString+".rotate()",this.speed);
  }
};
imgRotator.start=function() {
  var len=imgRotator.col.length,obj;
  for (var i=0;i<len;i++) {
    obj=imgRotator.col[i];
    if (obj&&obj.name) obj.timer=setTimeout(obj.animString+".rotate()",obj.speed);
  }
};
imgRotator.doClick=function(n) {
  var obj=imgRotator.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;
};
imgRotator.pause=function(n) {
  imgRotator.clearTimers(n);
};
imgRotator.clearTimers=function(n) {
  var obj=imgRotator.col[n];
  if (obj) {
    clearTimeout(obj.timer);
    obj.timer=null;
  }
};
imgRotator.resume=function(n) {
  imgRotator.clearTimers(n);
  var obj=imgRotator.col[n];
  if (obj) {
    obj.timer=setTimeout(obj.animString+".rotate()",imgRotator.restartDelay);
  }
};
imgRotator.ready=true;
