$(document).ready(function(){
  var currentPosition = 0;
  var slideWidth = 565;
  var slides = $('.slide');
  var numberOfSlides = slides.length;

  // 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 left and right arrow controls in the DOM
  $('#slideshow')
    .prepend('<span class="control" id="leftControl">Move left</span>')
    .append('<span class="control" id="rightControl">Move right</span>');

  // Hide left arrow control on first load
  manageControls(currentPosition);
  
  // Create event listeners for .controls clicks
  $('.control')
    .bind('click', function changeSlide(){
    // Determine new position
      currentPosition = ($(this).attr('id')=='leftControl')
    ? currentPosition-1 : currentPosition+1; 

		if (currentPosition < 0) currentPosition = 0;
		if (currentPosition > numberOfSlides-1) currentPosition = numberOfSlides-1;
      // Hide / show controls
      manageControls(currentPosition);
      // Move slideInner using margin-left
      $('#slideInner').animate({
        'marginLeft' : slideWidth*(-currentPosition)
      },1800,"swing");
    });

  // 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){ $('#rightControl').hide() }
    else{ $('#rightControl').show() }
    }
	
		var chSld = null;
		var slideDirection = 1;
		var slidYet = false;

	theInterval = function(cur){
		clearInterval(chSld);
		
		if(typeof cur != 'undefined' )
			currentPosition = cur;
		
    // Determine new position
//      currentPosition = (currentPosition == numberOfSlides-1)
//    ? 0 : currentPosition+slideDirection;

      // Hide / show controls
	  chSld = setInterval(function(){
		if (currentPosition < 0) currentPosition = 0;
		if (currentPosition > numberOfSlides-1) currentPosition = numberOfSlides-1;
		  currentPosition = currentPosition + slideDirection;
	      manageControls(currentPosition);
	      // Move slideInner using margin-left
	      $('#slideInner').animate({
	        'marginLeft' : slideWidth*(-currentPosition)
	      },1800,"swing");
		  if (0 >= currentPosition) slideDirection = 1;
		  if (numberOfSlides-1 <= currentPosition) slideDirection = -1;
	   }, 8000);
    }
});
