var timer;

slideshowIndex = 0;
slideshowScroll = 0;

function getSlideshowIndex() {
    return slideshowIndex;
}
function getSlideshowScroll() {
    return slideshowScroll;
}
function setSlideshowScroll() {
    slideshowScroll = getSlideshowIndex()*940;
}
function incrementSlideshowIndex() {
    if ((slideshowSettings.images.length-1) == slideshowIndex) {
        slideshowIndex = 0;
    } else {
        slideshowIndex += 1;
    }
    
    setSlideshowScroll();
}
function decrementSlideshowIndex() {
    if (slideshowIndex == 0) {
        slideshowIndex = slideshowSettings.images.length-1;
    } else {
        slideshowIndex = slideshowIndex-1;
    }
    
    setSlideshowScroll();
}
function generateSlides() {
    var slides = '';
    
    for (var i=0; i<slideshowSettings.images.length; i++) {
        slides += '<li><img src="' + slideshowSettings.images[i] + '" width="940" height="321" alt=""/></li>';
    }
    
    return slides;
}
function generateSlideFragments() {
    var slideFragments = [];
    
    for (var i=0; i<slideshowSettings.images.length; i++) {
        slideFragments[i] = $('<li><img src="' + slideshowSettings.images[i] + '" width="940" height="321" alt=""/></li>');
    }

    return slideFragments;        
}

function populateSlideContainer() {
    var $slide = $('#slideshow #slide');
    if (getSlideshowIndex() == 0) {
        $slide.html(slideFragments[slideshowSettings.images.length-1]);
    } else {
        $slide.html(slideFragments[getSlideshowIndex()-1]);
    }
    
    $slide.append(slideFragments[getSlideshowIndex()]);
    
    if (getSlideshowIndex() == (slideshowSettings.images.length-1)) {
        $slide.append(slideFragments[0]);
    } else {
        $slide.append(slideFragments[getSlideshowIndex()+1]);
    }
    
    $('#slideshow #slideContainer').scrollLeft(940);
}
function slideLeft() {
    decrementSlideshowIndex();
    clearTimeout(timer);
    $('#slideshow #slideContainer').animate(
        {
            scrollLeft: 0 //getSlideshowScroll()
        },
        slideshowSettings.transitionTime,
        function() {
            populateSlideContainer();
            animateSlides();
        }
    );
}
function slideRight() {
    incrementSlideshowIndex();
    clearTimeout(timer);
    $('#slideshow #slideContainer').animate(
        {
            scrollLeft: 1880 //getSlideshowScroll()
        },
        slideshowSettings.transitionTime,
        function() {
            populateSlideContainer();
            animateSlides();
        }
    );
}

function animateSlides() {
    timer = setTimeout('slideRight();', slideshowSettings.delay);
}

function stopAnimation() {
    clearTimeout(timer);
}

$(document).ready(function() {
    slideFragments = generateSlideFragments();
    
    $('#slideshow #slide').css('width', (3*940));
});
