var _promoCount = new Array();
var _currentPromo = new Array();
var _promoWidth = new Array();
var _promoBlocksVisible = new Array();
var _promoCurrentSlideLeft = new Array();
var _promoCurrentSlideEnd = new Array();
var _promoIntervals = new Array();
var _currentlySliding = new Array();
var _promoSlideDirection = new Array();
var _promoSlideFlag = new Array();

var SLIDE_AMOUNT = 10;

function PromoNext(slideId) {

    if(_currentlySliding[slideId] == true)
    {
        return;
    }
    else
    {
        _currentlySliding[slideId] = true;
    }

    _currentPromo[slideId] -= 1;
    _promoSlideDirection[slideId] = -1;
    renderPromos(slideId);
}
function PromoPrevious(slideId) {       
    
    if(_currentlySliding[slideId] == true)
    {
        return;
    }
    else
    {
        _currentlySliding[slideId] = true;
    }
    if (_currentPromo[slideId] == 0)
    {
        var lastPromo = GetLastPromo(slideId);
        var promoSlideElement = document.getElementById(slideId);
        promoSlideElement.removeChild(lastPromo);
        promoSlideElement.style.left = parseInt(promoSlideElement.style.left) - _promoWidth[slideId] + "px";
        promoSlideElement.insertBefore(lastPromo, promoSlideElement.childNodes[0]);
        _currentPromo[slideId] = _currentPromo[slideId] - 1;
    } 
    _promoSlideDirection[slideId] = 1;
    _currentPromo[slideId] += 1;
    renderPromos(slideId);
}

function GetLastPromo(slideId)
{
    var parentElement = document.getElementById(slideId);
    for(i=parentElement.childNodes.length - 1 ; i >= 0 ; i--)
    {
        if(parentElement.childNodes[i].nodeType!=3)
        {
            return parentElement.childNodes[i];
        }
    }
}

function GetFirstPromo(slideId)
{
    var parentElement = document.getElementById(slideId);
    for(i=0 ; i < parentElement.childNodes.length ; i++)
    {
        if(parentElement.childNodes[i].nodeType!=3)
        {
            return parentElement.childNodes[i];
        }
    }
}

function renderPromos(slideId) {
     var promoSlideElement = document.getElementById(slideId);
    _promoCurrentSlideLeft[slideId] = promoSlideElement.style.left;
    if (_promoCurrentSlideLeft[slideId] == undefined || _promoCurrentSlideLeft[slideId] == "")
    {
        _promoCurrentSlideLeft[slideId] = 0;
    } 
     var newLeft = _currentPromo[slideId] * _promoWidth[slideId];
    _promoCurrentSlideEnd[slideId] = newLeft;
    var slideEndCheck = _promoCurrentSlideEnd[slideId] * _promoSlideDirection[slideId];
    _promoIntervals[slideId] = setInterval("slide('" + slideId + "')", 50);
}

function slide(slideId) {
    if (
        (_promoSlideDirection[slideId] == -1 && _promoCurrentSlideLeft[slideId] <= _promoCurrentSlideEnd[slideId])
        ||
        (_promoSlideDirection[slideId] == 1 && _promoCurrentSlideLeft[slideId] >= _promoCurrentSlideEnd[slideId])
        )
    {
        clearInterval(_promoIntervals[slideId]);
        document.getElementById(slideId).style.left = _promoCurrentSlideEnd[slideId] + "px";
        
    if(_promoSlideDirection[slideId] == -1 && _currentPromo[slideId] <= -1)
    {
        do
        {
            var firstPromo = GetFirstPromo(slideId);
            var promoSlideElement = document.getElementById(slideId);
            promoSlideElement.removeChild(firstPromo);
            promoSlideElement.style.left = parseInt(promoSlideElement.style.left) + _promoWidth[slideId] + "px";
            promoSlideElement.appendChild(firstPromo);
            _currentPromo[slideId] = _currentPromo[slideId] + 1;
            }while(_currentPromo[slideId] != 0)
    }
        _currentlySliding[slideId] = false;
        return;
    }
    var slideAmount = _promoSlideDirection[slideId] * SLIDE_AMOUNT;
    _promoCurrentSlideLeft[slideId] = parseInt(_promoCurrentSlideLeft[slideId]) + slideAmount;
    document.getElementById(slideId).style.left = _promoCurrentSlideLeft[slideId] + "px";
}


function canSlidePrevious(slideId)
{
    return true;
}
function canSlideNext(slideId)
{
    return true;
}

// change the arrows on mouseover if there are more images to slide
function arrow(element, isMouseOver, isLeft, slideId)
{
    if (isMouseOver)
    {
        if (_currentlySliding[slideId])
        {
                return;
        }
    }
    
    var newImage = null;
    if (isLeft)
    {
        newImage = "Previous";
    }
    else
    {
        newImage = "Next";
    }
    if (isMouseOver)
    {
        newImage += "Red.gif";
    }
    else
    {
        newImage += ".gif";
    }
    
    var fullPath = _geApplicationRoot + "/Images/Frame/Sections/" + newImage; 
    element.src = fullPath;
}