
//
// ------- series image set rotation ---------
// -- (c) by Vera Lee Cranor vcranor@infoave.net 5/01 --
//
// BannersArray=new Array('img1.gif', 'url1', 'img2.gif', 'url2', etc)
// x=new Rotator()
// x.bIni(imgPath, BannersArray, imgDefault, tagName, flow)
// x.bRotate(), x.goSite(), x.getLink(), x.flowUp(), x.flowDown, x.bArray(BannersArray)
// Tag:
//    <a href="" onclick="return x.goSite(0)"><IMG BORDER="0" name="tagName"
//    HEIGHT="60" WIDTH="120" ></a>
//

/*****

topBanners1=new Array( // setup
'powerade.gif','http://www.powerade.com',
'kenramsey468.gif', 'http://kenramsey.net/articles/dealer.html',
'freemanremax.gif','http://djfreemanrealestate.com/'
);


TopRotor1=new Rotator();
function StartTopRotor1() { // called by page load to init rotor
    TopRotor1.bIni('images/', topBanners1, 'lbanner.gif', 'r1', 'u');
    goTopRotor1();
}
function goTopRotor1() { // rotate & bootstrap
    TopRotor1.bRotate();
    setTimeout('goTopRotor1()', 10000);
}

<A href="" onclick="return TopRotor1.goSite(0)">
<IMG border="0" name="r1" height="70" width="468"></A>
 (additional tags with same content rotation are the same)

*/

//-------------------------------------------
function Rotator() {
    this.flow='';
    this.BannersArray=new Array;
    this.imgDefault=new Array;
    this.imgPath='';
    this.BannersArray='';
    this.imgDefault.src='';
    this.tagName='';
    this.numSlots=0;
    this.imgList=new Array;
    this.imgPtr=0;
    this.linkRef=0;
    this.nextPtr=next_Ptr
    this.bIni=b_Ini;
    this.bRotate=b_Rotate;
    this.goSite=go_Site;
    this.getLink=get_Link;
    this.bArray=b_Array;
    this.flowUp=flow_Up;
    this.flowDown=flow_Down;
}    
//
function b_Ini(imgPath, BannersArray, imgDefault, tagName, flow) {
    if(!imgPath || ! BannersArray || !imgDefault || !tagName || !flow) {
        alert('Missing rotator create parameters');
        return false;
    }
    this.flow=flow;
    this.imgPath=imgPath;
    this.BannersArray=BannersArray;
    this.imgDefault.src=imgDefault;
    this.tagName=tagName;
    var i;
    this.numSlots=0;
    this.imgList.length=0;
    for(i=0; i < document.images.length; i++) {
        if(document.images[i].name == this.tagName)
            this.numSlots++;
    }
    for(i=0; i < this.BannersArray.length; i+=2) {
        this.imgList[i]=new Image;
        this.imgList[i].src=this.imgPath + this.BannersArray[i];
        this.imgList[i + 1]=this.BannersArray[i+1];
    }
    this.BannersArray='';
    for(i=this.imgList.length; i < this.numSlots * 2; i+=2) {
        this.imgList[i]=new Image;
        this.imgList[i].src=this.imgPath + this.imgDefault.src;
        this.imgList[i + 1]='';
    }
    this.imgPtr=Math.round(((this.imgList.length / 2) - 1) * Math.random());
    this.linkRef=this.imgPtr;
    return true;
}
function next_Ptr() {
    var t;
    t=this.imgPtr * 2;
    this.imgPtr++;
    if(this.imgPtr >= this.imgList.length/2)
        this.imgPtr=0;
    return t;        
}        
function b_Rotate() {
    var i, t;
    this.imgPtr=this.linkRef;
    this.nextPtr();
    this.linkRef=this.imgPtr;
    if(this.flow=='d') {
        for(i=document.images.length-1; i>=0; i--) {
            if(document.images[i].name==this.tagName) {
                t=this.nextPtr();
                document.images[i].src=this.imgList[t].src;
            }
        }
    }
    else {
    for(i=0; i < document.images.length; i++) {
            if(document.images[i].name==this.tagName) {
                t=this.nextPtr();
                document.images[i].src=this.imgList[t].src;
            }
        }
    }
    return false;
}
function flow_Up() {
    this.flow='u';
    return false;
}
function flow_Down() {
    this.flow='d';
    return false;
}
function b_Array(a) {
    this.bIni(this.imgPath, a, this.imgDefault, this.tagName, this.flow);
    return false;
}    
function go_Site(n) {
    var t;
    t=(n+this.linkRef) * 2;
    if(t >= this.imgList.length) t-=this.imgList.length;
    if(this.imgList[t+1]) return this.imgList[t+1];
    return '';
}
function get_Link(n) {
    var t;
    t=(n+this.linkRef) * 2;
    if(t >= this.imgList.length) t-=this.imgList.length;
    return this.imgList[t+1]
}
// end rotator

