﻿
function OnAutoSlideTimerTimeOut()
{
    
    if(autoSlideEnabled)
    {
        SetSmoothSlide();               
    }
}

function SetSmoothSlide()
{
    var currentBannerSlideCount = 0;
        if(currentBannerIndex == 0)
        {
            currentSlideDirection = 1;                                                 
        }
        else if(currentBannerIndex == maxBannerIndex)
        {
            currentSlideDirection = -1;        
        }
        
        var targetBannerIndex = currentBannerIndex + currentSlideDirection * maxBannerSlideCount;
        
        if (targetBannerIndex < 0 )
        {
            targetBannerIndex = 0;               
        }
        else if (targetBannerIndex > maxBannerIndex)
        {
            targetBannerIndex = maxBannerIndex;                        
        }
        
        
        pixelsToSlide = -1 * (targetBannerIndex - currentBannerIndex) * spacePerBanner;
        currentBannerIndex = targetBannerIndex;
        smoothSlideTimer = setTimeout(OnSmoothSliderTimerTimeOut, delay); 
}


function OnSmoothSliderTimerTimeOut()
{
    if(smoothSlideEnabled)
    {
        var currentSlidePixelCount = slideSpeed;
        
        if(Math.abs(pixelsToSlide) < currentSlidePixelCount)
        {
            currentSlidePixelCount = Math.abs(pixelsToSlide);
        }
        
        if(pixelsToSlide < 0)
        {
            currentSlidePixelCount = currentSlidePixelCount * -1;    
        }
        
        pixelsToSlide = pixelsToSlide - currentSlidePixelCount;
        
        slideDivCurrentMargin = slideDivCurrentMargin + currentSlidePixelCount;
        SetSlideDivMargin();
        
        if(pixelsToSlide != 0)
        {
            smoothSlideTimer = setTimeout(OnSmoothSliderTimerTimeOut, delay);        
        }
        else
        {
            autoSlideTimer = setTimeout(OnAutoSlideTimerTimeOut, autoSlideDelay);        
        }
    }
}

function OnbtnPreviousClick()
{   
    pixelsToSlide = -6 * spacePerBanner;
    FastSlide();
}

function OnbtnNextClick()
{    
    pixelsToSlide = 6* spacePerBanner;      
    FastSlide();
}

function FastSlide()
{
    clearTimeout(autoSlideTimer);
    clearTimeout(smoothSlideTimer);
    
    autoSlideEnabled = false;    
    slideDivTargetMargin = slideDivCurrentMargin + pixelsToSlide;
    var minCarouselMargin = -1 * totalCarouselWidth + spacePerBanner * bannersPerImpression;
    
    if(slideDivTargetMargin <= (minCarouselMargin))
    {
        pixelsToSlide = minCarouselMargin - slideDivCurrentMargin;        
    }
    else if (slideDivTargetMargin >= 0)
    {
        pixelsToSlide = 0 - slideDivCurrentMargin;        
    }
    if(pixelsToSlide != 0)
    {
        OnFastSliderTimerTimeOut();
    }           
}

function OnFastSliderTimerTimeOut()
{   
    var currentSlidePixelCount = 100;
    
    if(Math.abs(pixelsToSlide) < currentSlidePixelCount)
    {
        currentSlidePixelCount = Math.abs(pixelsToSlide);
    }
    
    if(pixelsToSlide < 0)
    {
        currentSlidePixelCount = currentSlidePixelCount * -1;    
    }
    
    pixelsToSlide = pixelsToSlide - currentSlidePixelCount;
    
    slideDivCurrentMargin = slideDivCurrentMargin + currentSlidePixelCount;
    SetSlideDivMargin();
    
    if(pixelsToSlide != 0)
    {
        smoothSlideTimer = setTimeout(OnFastSliderTimerTimeOut, delay);        
    }
}

function SetSlideDivMargin()
{
    document.getElementById('slideDiv').style.marginLeft = slideDivCurrentMargin + "px";
}