// Slide position
var slideTiming = 8000;
var slideInterval;
var slidePos = 1;
var numSlides = 0;

// If DOM ready
$(function() {
    
    // Get number of slides
    numSlides = parseInt($('#slides div').length);
    
    // Hide all slides except first
    $('#slides div').hide();
    $('#slides div:first-child').show();    
    
    // Create cursors span
    $('#slides').append($('<span />').attr('id', 'slideCursors'));
    
    // Loop number of slides
    for (i = 1; i <= numSlides; i++) {
    
        // Add slide cursor
        $('#slideCursors').append($('<span></span>').attr('id', 'slideCursor' + i));
        $('#slideCursor' + i).addClass('slideCursor');
        $('#slideCursor' + i).bind('click', changeSlide);
        $('#slideCursor' + i).html('&nbsp;');
        
    }
    
    // Set first slide cursor to active
    $('#slideCursors span:first-child').addClass('slideCursorActive');
    
    // Set interval for slides
    slideInterval = setInterval(rotateSlide, slideTiming);
    
});

// Rotate slide
function rotateSlide()
{

    // Set next slide position to first by default
    nextSlidePos = 1;

    // Check if slide not last
    if (slidePos < numSlides) {
        
        // Get next slide position
        nextSlidePos = slidePos + 1; 
        
    }
    
    // Get currrent and next slide cursor/slide ids
    currentSlide = 'slide' + slidePos;
    currentCursor = 'slideCursor' + slidePos;
    nextSlide = 'slide' + nextSlidePos;
    nextCursor = 'slideCursor' + nextSlidePos;
    
    // Hide all slides
    $('#slides div').hide();
    
    // Show next slide
    $('#' + nextSlide).fadeIn();
    
    // Update cursors
    $('#slideCursors span').removeClass('slideCursorActive');
    $('#' + nextCursor).addClass('slideCursorActive');
    
    // Update slide position
    slidePos = nextSlidePos;
    
}

// Change slide
function changeSlide(e)
{
    
    // Clear slide interval
    clearInterval(slideInterval);
    
    // Get selected slide id
    selectedSlideId = $(this).attr('id');
    selectedSlide = parseInt(selectedSlideId.substring(11));
    
    // Get slide before selected slide id
    if (selectedSlide > 1) {
    
        // Set slide position to selected minus one
        slidePos = selectedSlide - 1;
    
    } else {
    
        // Set slide position to last
        slidePos = numSlides;
        
    }
    
    // Rotate slide
    rotateSlide();
    
    // Set new interval for slides
    slideInterval = setInterval(rotateSlide, slideTiming);
    
}
