/*
   Wire up gallery for rent2ski photos
*/
$(document).ready(function() {
    $thumbnails = $('#thumbnails');
    var currentSlide = 0;
    var slideCount = $thumbnails.children('li').size();
    var timer;

    var showSlide = function(slideIndex) {
        clearTimeout(timer);
        $('li', $thumbnails).removeClass('selected');
        $listItem = $thumbnails.index(slideIndex);
        $listItem = $('li:eq(' + slideIndex + ')', $thumbnails);
        $listItem.addClass('selected');
        currentSlide = slideIndex;
        var caption = $('img', $listItem).attr('alt');
        var src = $('a', $listItem).attr('href');

        // fade out caption, change text, fade in
        $('#caption').fadeOut('fast', function() {
            $('#caption').text(caption);
            $('#caption').fadeIn('fast');
        });

        // fade out photo, change src, fade in
        $('#stage img').fadeOut('fast', function() {
            $('#stage img').attr("src", src);
            $('#stage img').fadeIn('fast');
        });

        var nextSlide = slideIndex + 1;
        if (nextSlide >= slideCount) { nextSlide = 0; }
        timer = window.setTimeout(function() { showSlide(nextSlide); }, 6000);
    };

    // wire up click handler for gallery thumbnails
    $('#slideshow #thumbnails a').click(function(event) {
        event.preventDefault();
        showSlide($(this).closest('li').index());
    });

    // start slide show with image index 0
    showSlide(0);

    // pre-load each gallery image
    $('li', $thumbnails).each(function() {
        var imgsrc = $('a', $(this)).attr('href');
        $('<img/>')[0].src = imgsrc;
    });

});
