rotator.col = [];

function rotator(imgname, hlname, spanid, speed, path, tgt) {
    this.imgname = imgname;
    this.hlname = hlname;
    this.spanid = spanid;
    this.speed = speed || 4500;
    this.path = path || "";
    this.ctr = 0;
    this.timer = 0;
    this.imgs = [];
    this.hrefs = [];
    this.labels = [];
    this.index = rotator.col.length;
    rotator.col[this.index] = this;
    this.animString = "rotator.col[" + this.index + "]";
};

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;
    }
};

rotator.prototype.addAnchors = function() {
    var anchor;
    for (var i = 0; arguments[i]; i++) {
        anchor = new String(arguments[i]);
        this.hrefs[this.hrefs.length] = anchor;
    }
};

rotator.prototype.addLabels = function() {
    var lbl;
    for (var i = 0; arguments[i]; i++) {
        lbl = new String(arguments[i]);
        this.labels[this.labels.length] = lbl;
    }
};

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.imgname];
    if (imgObj) {
        imgObj.src = this.imgs[this.ctr].src;
        this.timer = setTimeout(this.animString + ".rotate()", this.speed);
    }
    var anchorObj = document.getElementsByName(this.hlname);
    if (anchorObj && 0 < anchorObj.length)
        anchorObj[0].href = this.hrefs[this.ctr];
    var spanObj = document.getElementById(this.spanid);
    if (spanObj)
        spanObj.innerText = this.labels[this.ctr];
};

rotator.start = function() {
    var len = rotator.col.length, obj;
    for (var i = 0; i < len; i++) {
        obj = rotator.col[i];
        if (obj && obj.imgname)
            obj.timer = setTimeout(obj.animString + ".rotate()", obj.speed);
    }
};

