var timeout = 5000;
var currentPosition = 0;
var slideWidth = 900;
var slides;
var numberOfSlides;
var sentido = 'rightControl';
var reset_auto = false;

function auto_slide() {
    if (!reset_auto && numberOfSlides != 0) {
		if (currentPosition == numberOfSlides - 1) sentido = 'leftControl';
		else if (currentPosition == 0) sentido = 'rightControl';

		slide(sentido);
	}
	else reset_auto = false;
	
    setTimeout("auto_slide();", timeout);
}
// manageControls: Hides and Shows controls depending on currentPosition
function manageControls(position) {
    // Hide left arrow if position is first slide
    if (position == 0) { $('#leftControl').hide() } else { $('#leftControl').show() }
    // Hide right arrow if position is last slide
    if (position == numberOfSlides - 1 || numberOfSlides == 0) { $('#rightControl').hide() } else { $('#rightControl').show() }
}

function slide(id) {
	reset_auto = true;
    // Determine new position
    currentPosition = (id == 'rightControl') ? currentPosition + 1 : currentPosition - 1;

    // Hide / show controls
    manageControls(currentPosition);
    // Move slideInner using margin-left
    $('#slideInner').animate({
        'marginLeft': slideWidth * (-currentPosition)
    });
}

$(document).ready(function() {
    slides = $('.slide');
    numberOfSlides = slides.length;
    setTimeout("auto_slide();", timeout);

    // Remove scrollbar in JS
    $('#slidesContainer').css('overflow', 'hidden');

    // Wrap all .slides with #slideInner div
    slides
      .wrapAll('<div id="slideInner"></div>')
    // Float left to display horizontally, readjust .slides width
      .css({
          'float': 'left',
          'width': slideWidth
      });

    // Set #slideInner width equal to total width of all slides
    $('#slideInner').css('width', slideWidth * numberOfSlides);

    // Insert controls in the DOM
    $('#slideshow')
      .prepend('<span class="control" id="leftControl">Clicking moves left</span>')
      .append('<span class="control" id="rightControl">Clicking moves right</span>');

    // Hide left arrow control on first load
    manageControls(currentPosition);

    // Create event listeners for .controls clicks
    $('.control')
      .bind('click', function() {
          slide($(this).attr('id'));
      });
});
