﻿//***********************************************************************//
// ImageScroller - Author:iLawton - PureNet Solutions Ltd
//***********************************************************************//

var IsScrolling = false;
var ScrollElement;
var ScrollSpeed = 3;
var ImageWidth = 170;


function ScrollLeft(ElementID)
{
    Scroll(ElementID,-ScrollSpeed);
}


function ScrollRight(ElementID)
{
    Scroll(ElementID,ScrollSpeed);
}

function Scroll(ElementID,Value)
{
    if (!IsScrolling)
    {
        ScrollElement = document.getElementById(ElementID);
        if (ScrollElement != null)
        {
            IsScrolling = true;                
            MoveImages(Value);
        }
    }
}

function StopScrolling()
{
    IsScrolling = false;
    ScrollElement.onMouseout = null;
}

function MoveImages(Value)
{
    if (IsScrolling)
    {
        var MaxLeft = 0;
        var MaxRight = ScrollElement.offsetWidth;

        for(i = 0; i <= ScrollElement.childNodes.length - 1; i++)
        {
            var Image = ScrollElement.childNodes[i];
            if (Image.style != null)
            {
                Image.style.left = (Image.offsetLeft + Value) + "px";
                if (Image.offsetLeft < MaxLeft) MaxLeft = Image.offsetLeft;
                if ((Image.offsetLeft + ImageWidth) > MaxRight) MaxRight = (Image.offsetLeft + ImageWidth);
            }
        }
        
        for(i = 0; i <= ScrollElement.childNodes.length - 1; i++)
        {
            var Image = ScrollElement.childNodes[i];
            if (Image.style != null)
            {
                if((Image.offsetLeft + ImageWidth) < 0 && Value < 0)
                {
                    Image.style.left = MaxRight + "px";
                    MaxRight += ImageWidth;
                }
                else if((Image.offsetLeft) > ScrollElement.offsetWidth && Value > 0)
                {
                    Image.style.left = (MaxLeft - ImageWidth) + "px";
                    MaxLeft -= ImageWidth;
                }
            }
        }
       
        setTimeout("MoveImages(" + Value + ");",0);
    }
}
