var gSponsorsList = new Array();
var gSponsorsDivId = 'sponsorsBanner';
var gSponsorLvlPrefix = 'sponsorLvl';
var gSponsorsRun = false;

function addSponsorLevelDiv(s, lvltxt, lvlid, displaySlots)
{
    if (!document.getElementById(gSponsorLvlPrefix + lvlid + "Z"))
    {
        cdivinner = document.createElement("div");
        cdivinner.id = gSponsorLvlPrefix + lvlid + "Z";
        cdivinner.className = gSponsorLvlPrefix + "inner" + displaySlots;
        
        cdiv = document.createElement("div");        
        cdiv.className = gSponsorLvlPrefix + "name";
        cdiv.innerHTML = lvltxt;
        
        cdivinner.appendChild(cdiv); 
    }
    else
        cdivinner = document.getElementById(gSponsorLvlPrefix + lvlid + "Z");
    
    for (i=1; i<=displaySlots; i++)
    {
        if (!document.getElementById(gSponsorLvlPrefix + lvlid + "A" + i))
        {
            cdiv = document.createElement("div");    
            cdiv.className = gSponsorLvlPrefix + "imgC";
            
            imgtag = document.createElement("img");
            imgtag.id = gSponsorLvlPrefix + lvlid + "I" + i;
            imgtag.className = gSponsorLvlPrefix + "I";

            atag = document.createElement("a");
            atag.id = gSponsorLvlPrefix + lvlid + "A" + i;
            atag.className = gSponsorLvlPrefix + "A";
            atag.target = "_blank";
            atag.appendChild(imgtag);
            
            cdiv.appendChild(atag);
            
            cdivinner.appendChild(cdiv);
            
            break;
        }
    }
    
    document.getElementById(gSponsorsDivId).appendChild(cdivinner);
}

function addToSponsors(sid, lvlid, url, imgurl, lvltxt, displaySlots)
{
    var lvlind = gSponsorsList.length;
    for (i=0;i<gSponsorsList.length;i++)
    {
        if (gSponsorsList[i].lvlid == lvlid)
            lvlind = i;
            
        sl = gSponsorsList[i].sponsors;
        
        for (j=0;j<sl.length;j++)
            if (sl[j].sid == sid)
                return;
    }
            
    var s = new Object();    
    s.sid = sid;
    s.url = url;    
    s.img = new Image();
    s.img.src = imgurl;
    
    var sl = new Object();
    
    if (!gSponsorsList[lvlind])
    {
        sl.lvlid = lvlid;
        sl.text = lvltxt;
        sl.lastIndexDisp = -1;
        sl.sponsors = new Array();        
        sl.displaySlots = displaySlots;
        sl.lastSlotDisp = 0;
    }
    else
        sl = gSponsorsList[lvlind];
    
    sl.sponsors.push(s);
    
    gSponsorsList[lvlind] = sl;
    
    addSponsorLevelDiv(s, lvltxt, lvlid, displaySlots);
}

function flipSponsors()
{
    if (!gSponsorsRun)
        return;
        
    for (i=0;i<gSponsorsList.length;i++)
    {
        j = gSponsorsList[i].lastIndexDisp + 1;
        if (j >= gSponsorsList[i].sponsors.length)
            j = 0;
            
        k = gSponsorsList[i].lastSlotDisp + 1;
        if (k > gSponsorsList[i].displaySlots)
            k = 1
        
        // 140x95
        document.getElementById(gSponsorLvlPrefix + gSponsorsList[i].lvlid + "I" + k).src = 
            gSponsorsList[i].sponsors[j].img.src;
        document.getElementById(gSponsorLvlPrefix + gSponsorsList[i].lvlid + "A" + k).href = 
            gSponsorsList[i].sponsors[j].url;
        
        gSponsorsList[i].lastIndexDisp = j;
        gSponsorsList[i].lastSlotDisp = k;
    }
}

function resetSponsorRotator()
{
    gSponsorsRun = false;
    
    gSponsorsList = new Array();
    
    document.getElementById(gSponsorsDivId).innerHTML = '';
}

function runSponsorRotator()
{
    flipSponsors();
    
    setInterval("flipSponsors()", 3000);
}