$(document).ready(function() {
	
	// Functions to show/hide stuff on hover
	function slider_mouse_enter(e) {
		if ($(this).find('.fade-cnt:animated').length==0) {
			$(this).find('.fade-cnt').fadeIn(200);
		}
	}
	function slider_mouse_out(e) {
		if ($(this).find('.fade-cnt:animated').length==0) {
			$(this).find('.fade-cnt').fadeOut(150);
			$('#slides-nav').fadeOut(150);
		}	
	}
	
	// Show stuff on hover
	$('#new-slider').hover(slider_mouse_enter, slider_mouse_out);
	
	var slides_idx = 0;
	var slides_interval = null;
	var mouse_in_slider = false;
	
	$('.slide-nav.prev').addClass('disabled');
	$('.slide-page:first').addClass('active');
	
	function move_slider() {
		var slider_width = $('#new-slider').width();
		var pos = slides_idx * slider_width * -1;
		$('#slides').animate({left: pos + "px"},{queue:false,duration:550,easing:'easeOutExpo'});
		$('.slide-nav').removeClass('disabled');
		
		if (slides_idx==0) {
			$('.slide-nav.prev').addClass('disabled');
		} else if (slides_idx==$('#slides > .slide').length - 1) {
			$('.slide-nav.next').addClass('disabled');
		}
		$('.slide-page').removeClass('active');
		$('.slide-page:eq(' + slides_idx + ')').addClass('active');
	}
	
	$('.slide-page').click(function() {
		slides_idx = $('.slide-page').index(this);
		move_slider();
		return false;
	});
	
	$('.slide-nav').click(function() {
		if ($(this).hasClass('disabled')) {
			return false;
		}
		if ($(this).hasClass('prev')) {
			slides_idx--;
		} else if($(this).hasClass('next')) {
			slides_idx++;
		} else {
			throw('This should not happen');
		}
		move_slider();
		return false;
	});
	
	
	// Keyboard Control
	function keyNext() {
		if (slides_idx==$('#slides > .slide').length - 1) {
			// Do nothing
		} else {
			slides_idx++;
			move_slider();
		}
	}
	
	function keyPrev() {
		if (slides_idx == 0) {
			// Do nothing
		} else {
			slides_idx--;
			move_slider();
		}
	}
	
	$(document).keydown(function(e) {
		if(e.which == 39) { keyNext(); }
		if(e.which == 37) { keyPrev(); }
	});
	// END Keyboard control
	
	
	function move_to_next() {
		if (mouse_in_slider) {
			return;
		}
		if (slides_idx==$('#slides > .slide').length - 1) {
			slides_idx = 0;
		} else {
			slides_idx++;
		}
		move_slider();
	}
	
	if (autoRotate == 1){
		// START AUTO-ROTATE CODE
		var timer;
	  	var donext = function (x){ move_to_next(); }
	  
	  	var dotimer = function (){
	    	if(timer != null) {
	      		clearInterval(timer);
	    	}
	  
	    	timer = setInterval(function() {
	      		donext();
	    	}, 4500); // Change the time in between rotations here (in milliseconds)   
	  	}
	  
	  	dotimer();
	  	
	  	$('#new-slider,#slides-list').hover(function(){
	  		clearInterval(timer);
	  	},function(){
	  		dotimer();
	  	});
	  	// END AUTO-ROTATE CODE  	
  	}
  	
});
