/*
 * Bespoke content slider for the home page.
 */

(function(){
       
      var contentSlider = function(opts, c){

         var that = {};
         var opts = opts || {};
		 var currentPos = 0;
		 var timer;
		 var tickTime = 10;
		 var $sliderContainer = $('.slide-show');
		 $sliderContainer.animate({'opacity':1},1500);
		 var $slides = $sliderContainer.find('.slide');
		 var moveDis = $slides.width();
		 var numberOfSlides = $slides.length;
		 var pause = false;
		 $sliderContainer.width($sliderContainer.width()*numberOfSlides);
		 //console.log(numberOfSlides);
         
         // Stop sliding on hover
         $('.presentation').mouseenter(
  			function () {
    			clearTimeout(timer);
  			}).mouseleave( 
  			function () {
    			clearTimeout(timer);
    			timer = setTimeout(tick,tickTime*1000);
  			}
  		);
         
         var addControls = function(pos){
         	for(var i=0; i<numberOfSlides; i++){
         		$('.slide-show-controls').append('<div class="slide-show-control"></div>');
         	}
         	
         	// Add click events
         	$('.slide-show-control').click(function(){
         		moveTo($(this).index(), true);
         	});
         };
         
         var moveTo = function(pos, stop){
         	$sliderContainer.animate({'left':-moveDis*pos+'px'},function(){
         		if(stop)return;
         		timer = setTimeout(tick,tickTime*1000);
         	});
         	currentPos = pos;
         	$('#slide-show-control-sel').attr("id","");
         	$($('.slide-show-control')[pos]).attr("id","slide-show-control-sel");
         };

         var tick = function(){
         	if(!pause){
			 	clearTimeout(timer);
				moveTo(currentPos);
			    currentPos++;
			 	if(currentPos>=numberOfSlides) currentPos = 0; //Reset
         	}
         }
         
         //start
         addControls();
         tick();
      };
      
      window[namespace].contentSlider = contentSlider;
      
})();
