///configuration section
var divContainerName = "moviegallery";          //div name to contains the banner
var leftButtonNormal = "arrow_l_cold.gif";      //arrow images (3-state)
var leftButtonOver = "arrow_l_s2.gif";
var leftButtonDown = "arrow_l_s0.gif";
var rightButtonNormal = "arrow_r_cold.gif";
var rightButtonOver = "arrow_r_s2.gif";
var rightButtonDown = "arrow_r_s0.gif";

var titlesVisible = 5;              // number of dvd covers to show
var titleWidth = 101;               // width of each cell to show the dvd cover
var titleHeight = 106;              // height of each cell
var imageWidth = 50;                // width of the image

var scrollStep1 = 1;                // each step for each button state (1-normal, 2-over an arrow, 3-arrow pressed)
var scrollStep2 = 2;
var scrollStep3 = 3;

var sleepTime1 = 2000;              // like scroll step, but for the stop sleep
var sleepTime2 = 0;
var sleepTime3 = 0;
//////////////////////////////////////

var scrollStep = scrollStep1;
var sleepTime = sleepTime1;

var divContainer = null;
var divTitles = null;
var nTitles = 0;
var moveTime = null;
var moveTime1 = null;
var left = true;
var stopMove = false;
var ready = false;

function Move1()
{
    if (ready == false || nTitles < titlesVisible)
        return;
        
    if (left == true)
    {
        if (parseInt(divTitles[0].style.left) > -titleWidth)
        {
            var delta = Math.min(titleWidth - Math.abs(parseInt(divTitles[0].style.left)), scrollStep);
            
            for (i = 0; i < nTitles; i++)
            {
                divTitles[i].style.left = parseInt(divTitles[i].style.left) - delta;
            }
            
            moveTime1 = setTimeout("Move1()", 10);
        }
        else
        {
            if (stopMove == false)
            {
                moveTime = setTimeout("Move()", sleepTime);
            }
        }
    }
    else
    {
        if (parseInt(divTitles[0].style.left) < 0)
        {
            var delta = Math.min(Math.abs(parseInt(divTitles[0].style.left)), scrollStep);
            
            for (i = 0; i < nTitles; i++)
            {
                divTitles[i].style.left = parseInt(divTitles[i].style.left) + delta;
            }
            
            moveTime1 = setTimeout("Move1()", 10);
        }
        else
        {
        if (stopMove == false)
        {
                moveTime = setTimeout("Move()", sleepTime);
            }
        }
    }
}

function Move()
{
    if (ready == false || nTitles < titlesVisible)
        return;
        
    if (left == true)
    {
        var temp = divTitles[0];
    
        for (i = 0; i < nTitles - 1; i++)
        {
            divTitles[i] = divTitles[i + 1];
        }
    
        divTitles[nTitles - 1] = temp;
        divTitles[nTitles - 1].style.left = (nTitles - 1) * titleWidth;
    }
    else
    {
        var temp = divTitles[nTitles - 1];
    
        for (i = nTitles - 1; i > 0; i--)
        {
            divTitles[i] = divTitles[i - 1];
        }
        
        divTitles[0] = temp;
        divTitles[0].style.left = -titleWidth;
    }
    
    Move1();
}

function StopMove()
{
    stopMove = true;
    clearTimeout(moveTime1);
    clearTimeout(moveTime);
}

function StartMove()
{
    stopMove = false;
    clearTimeout(moveTime1);
    Move1();
}

function StartRight()
{
    StopMove();
    left = false;
    stopMove = false;
    scrollStep = scrollStep2;
    sleepTime = sleepTime2;
    Move1();
}

function StopRight()
{
    StopMove();
    left = true;
    stopMove = false;
    scrollStep = scrollStep1;
    sleepTime = sleepTime1;
    Move1();
}

function StartSpeedUpRight()
{
    StopMove();
    left = false;
    stopMove = false;
    scrollStep = scrollStep3;
    sleepTime = sleepTime3;
    Move1();
}

function StopSpeedUpRight()
{
    StopMove();
    left = false;
    stopMove = false;
    scrollStep = scrollStep2;
    sleepTime = sleepTime2;
    Move1();
}

function StartLeft()
{
    StopMove();
    left = true;
    stopMove = false;
    scrollStep = scrollStep2;
    sleepTime = sleepTime2;
    Move1();
}

function StopLeft()
{
    StopMove();
    left = true;
    stopMove = false;
    scrollStep = scrollStep1;
    sleepTime = sleepTime1;
    Move1();
}

function StartSpeedUpLeft()
{
    StopMove();
    left = true;
    stopMove = false;
    scrollStep = scrollStep3;
    sleepTime = sleepTime3;
    Move1();
}

function StopSpeedUpLeft()
{
    StopMove();
    left = true;
    stopMove = false;
    scrollStep = scrollStep2;
    sleepTime = sleepTime2;
    Move1();
}

function Setup(n, images, hyperlinks, texts)
{
    divContainer = document.getElementById(divContainerName);
    
    var leftButtonHtml = "<img src=" + leftButtonNormal + " onMouseOver=\"this.src = '" + leftButtonOver + "';StartRight();\" onMouseOut=\"this.src = '" + leftButtonNormal + "';StopRight();\" onMouseDown=\"this.src = '" + leftButtonDown + "';StartSpeedUpRight();\" onMouseUp=\"this.src = '" + leftButtonOver + "';StopSpeedUpRight();\"></img>";
    var rightButtonHtml = "<img src=" + rightButtonNormal + " onMouseOver=\"this.src = '" + rightButtonOver + "';StartLeft();\" onMouseOut=\"this.src = '" + rightButtonNormal + "';StopLeft();\" onMouseDown=\"this.src = '" + rightButtonDown + "';StartSpeedUpLeft();\" onMouseUp=\"this.src = '" + rightButtonOver + "';StopSpeedUpLeft();\"></img>";
    
    var titlesHtml = "<div style=\"width:" + titlesVisible * titleWidth + "px;height:" + titleHeight + ";overflow:hidden;\" onMouseOver=\"StopMove()\" onMouseOut=\"StartMove()\">";
    
    for (i = 0; i < n; i++)
    {
        var image = images[i];
        var hyperlink = hyperlinks[i];
        var text = texts[i];
        
        var titleHtml = "<div id='_title" + i + "' style=\"position:relative;width:" + titleWidth + "px;height:" + titleHeight + ";left:" + i * titleWidth + "px;top:" + -i * titleHeight + ";\"><table width=\"100%\" border=0 cellpadding=0 cellspacing=0><tr><td align=center valign=\"top\"><a href=" + hyperlink + " target=\"_top\"><img src=" + image + " width=" + imageWidth + " style=\"border: black solid 1px;\"></a></td></tr><tr><td valign=\"top\" align=\"center\"><a href=" + hyperlink + " target=\"_top\">" + text + "</a></td></tr></table></div>";
        
        titlesHtml += titleHtml;
    }
    
    titlesHtml += "</div>";
    
    var html = "<table border=1 cellpadding=3 cellspacing=0 bordercolor=\"black\" rules=\"none\" width=\"100%\"><td align=\"center\"><table border=0 cellpadding=0 cellspacing=0><td>" + leftButtonHtml + "</td><td>" + titlesHtml + "</td><td>" + rightButtonHtml + "</td></table></td></table>";

    divContainer.innerHTML = html;
    
    divTitles = new Array(n);
    nTitles = n;
    
    for (i = 0; i < n; i++)
    {
        divTitles[i] = document.getElementById("_title" + i);
    }
    
    setTimeout("ready = true; Move1()", 4000);
}