/**
 * @author Maxime Perron Caissy
 * @version 1.0
 * @description Little pseudo-plugin for the slideshow
 * @url http://caissy.ca
*/
(function($){
	
	
	// Initalization
	var slidewidth = 950;
	var currentPosition = 1;
	var nbSlides = null;
	var intervalSlideshow = null;
	var intervalSpeed = 10000; 		// Milliseconds
	var slideSpeed = 800;			// Milliseconds
	
	
	fn = {
		initialize : function(){
			nbSlides = $('#viewarea ul li').length;
			$('#left-arrow').bind('click', 		fn.click.leftArrow);
			$('#right-arrow').bind('click', 	fn.click.rightArrow);
			$('.th_slide').bind('click', 		fn.click.thumbnail);
			intervalSlideshow = setInterval(function(){
				fn.slideToPosition(++currentPosition, 1200);
			}, intervalSpeed);
			
		},
		click : {
			leftArrow : function(){
				currentPosition--;
				fn.slideToPosition(currentPosition);
				clearInterval(intervalSlideshow);
				return false;
			},
			rightArrow : function(){
				currentPosition++;
				fn.slideToPosition(currentPosition);
				clearInterval(intervalSlideshow);
				return false;
			},
			thumbnail : function(){
				pos = $(this).attr('id').replace('slide_','');
				fn.slideToPosition(pos);
				clearInterval(intervalSlideshow);
				return false;
			}
		},
		slideToPosition : function(position, speed){
			// Default value
			speed = typeof(speed) != 'undefined' ? speed : slideSpeed;
			
			// If it goes to far
			if (position > nbSlides){
				position = 1;
			}
			//If it goes to before
			if (position < 1){
				position = nbSlides;
			}
			
			// Set selected
			currentPosition = position;
			$('.th_slide').removeClass('selected');
			$('#slide_'+currentPosition).addClass('selected');
			
			// Animate
			value = (position - 1) * -slidewidth;
			$('#viewarea ul').animate({marginLeft: value},speed , 'easeInOutCubic' );
		}
	
	}
	$(document).ready(function(){
		fn.initialize();
	});
	
	
})(jQuery);

