var currentPosition;
var slideWidth = 640; // slide width is based off jpg dimensions plus padding
var slideOffsetX = 0; // this offsets the position of the slides, so you don't have to crop them funny ;)
var currentPosition = 2; // starting position is offset to include 'loop image'
var slideTransitTime = 800; //in milliseconds
var numberOfSlides;
$(document).ready(function(){
						   
	
	var arrowFadeTime = 150; //in milliseconds		
	
	
	
	
	
	
	var slides = $('.slide');
	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);
	
	// Set starting position to 2nd slide + slideOffsetX
	$('#slideInner').css('marginLeft', (slideWidth*(-currentPosition))+slideOffsetX);
	
	// 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>');
	
	startSlideTimer();
	manageControls(currentPosition);
	
	// Create event listeners for .controls clicks
	$('.control')
	.bind('click', function(){
	// Determine new position
	currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
	
	// Hide / show controls
	manageControls(currentPosition);
	
	// Move slideInner using margin-left
	$('#slideInner').animate({'marginLeft' : (slideWidth*(-currentPosition))+slideOffsetX}, slideTransitTime);
	
	
	});
  
	function startSlideTimer(){
	  triggerTimeLeft = 10000;
	  delayTriggerLeft = setInterval("autoRotateSlide()",triggerTimeLeft);
	}
		
	
	// manageControls: Hides and Shows controls depending on currentPosition - nope, now it loops
	function manageControls(position){
		if(position==numberOfSlides-1){
			currentPosition = 0;
			$('#slideInner').css('marginLeft', (slideWidth*(-currentPosition)+slideOffsetX));
			currentPosition = 1;
		}
		
		if(position==0){
			currentPosition = (numberOfSlides-1);
			$('#slideInner').css('marginLeft', (slideWidth*(-currentPosition)+slideOffsetX));
			currentPosition = (numberOfSlides-2);
		}
	}	
	  
});

function autoRotateSlide(){
  //alert('trigger');
	currentPosition++;
	//manageControls(currentPosition);
	if(currentPosition==numberOfSlides-1){
		currentPosition = 0;
		$('#slideInner').css('marginLeft', (slideWidth*(-currentPosition)+slideOffsetX));
		currentPosition = 1;
	}
	$('#slideInner').animate({'marginLeft' : (slideWidth*(-currentPosition))+slideOffsetX}, slideTransitTime);
}
