﻿
function Slide_Initialize(sName, sData, nDelay, sPath)
{
    var obj = GetControl(sName);
    if (obj == null) return;

    // Package params
    var oParams = new Object();
    oParams.sData = sData;
    oParams.nDelay = nDelay;
    oParams.sPath = sPath;
    oParams.nIndex = 0;
    obj.params = oParams;

    // Start display
    Slide_Display(sName, 0);
}

function Slide_Display(sName, nOffset)
{
    var obj = GetControl(sName);
    if (obj == null) return;
    
    var img = GetControl(sName+"_img");
    var title = GetControl(sName+"_title");
    var desc = GetControl(sName+"_desc");
    var oParams = obj.params;
    var aData = String(oParams.sData).split("|");
    var nLength = Math.round(aData.length/3.0);
    var nIndex = oParams.nIndex;

    // Clear old timer if this is an override
    clearTimeout(oParams.nTimer);
    
    // Check to see if images are initialized
    if (oParams.bInit != true)
    {
        var sHTML = "";
        for (var i=0; i<nLength; i++)
        {
            var path = oParams.sPath + aData[i * 3];
            sHTML += "<img style='display:none' src='"+path+"' nofix='1' width='439px' height='267px'/>";
        }
        img.innerHTML = sHTML;
        oParams.bInit = true;
    } 

    // Update image index
    oParams.nIndex += nOffset;
    if (nOffset < 0 && oParams.nIndex < 0) 
    {
        oParams.nIndex = nLength - 1;
    }
    else if (oParams.nIndex == nLength) 
    {
        oParams.nIndex = 0;
    }

    // Update content
    title.innerHTML = aData[oParams.nIndex * 3 + 1];
    desc.innerHTML = aData[oParams.nIndex * 3 + 2];
    SetVisible(img.childNodes[nIndex],false);
    SetVisible(img.childNodes[oParams.nIndex],true);
    
    // Start a new timer
    oParams.nTimer = setTimeout("Slide_Display('"+sName+"',1);",oParams.nDelay*1000);
}




