/* 
	Living Language
	Created by Corentin Hatte (http://viki53.eu/) in July 2010
*/

$(document).ready(function(){
	// Configuration
	var retour = true;
	var tempsTransition = 2000;
	var affichePlayPause = true;
	var lectureAutomatique = true;
	var tempsAttente = 6000;
	
	var icones = new Array();
	icones['play'] = '/images/icons/play_slider.png';
	icones['pause'] = '/images/icons/pause_slider.png';
	
	var currentPosition = 0;
	var slideWidth = 400;
	var slides = $('.slide');
	var numberOfSlides = slides.length;
	var interval;
	var lectureEnCours = false;
	
	// Deletes the ScrollBar with JS
	$('#slides-container').css('overflow', 'hidden');
	
	// Attributes  #slide-inner  to all the .slide div
	slides.wrapAll('<div id="slide-inner"></div>')
	// Float left to display horizontally, readjust .slides width
	.css({
      'float' : 'left',
      'width' : slideWidth
    });

	// Longueur de #slide-inner égale au total de la longueur de tous les slides
	$('#slide-inner').css('width', slideWidth * numberOfSlides);
	
	// Insert controls in the DOM
	$('#header-quote').prepend('<span class="control" id="left-control">Previous</span>').append('<span class="control" id="right-control">Next</span>');
	
	// Hide left arrow control on first load
	manageControls(currentPosition);
	
	// Create an event listener of clic type on .control spans
	$('.control').bind('click', function(){
		// Get the new position
		currentPosition = ($(this).attr('id')=='right-control') ? currentPosition+1 : currentPosition-1;
		
		if(currentPosition == numberOfSlides && retour == false ){
			currentPosition--;
			pause();
		}
		
		// Hides or shows the controls
		manageControls(currentPosition);
		// Makes a loop with the slide
		$('#slide-inner').fadeOut(tempsTransition/2, function () {
			$('#slide-inner').animate({
				'marginLeft' : slideWidth*(-currentPosition)
			},
			0, function () {
				$('#slide-inner').fadeIn(tempsTransition/2);
			});
		});
		
	});
	
	// manageControls: Hides ou shows the controls arrows, depending on the current position
	function manageControls(position){
		// Hides "Previous" arrow if on first slide
		if(position==0){ $('#left-control').hide() } else{ $('#left-control').show() }
		// Hides "Next" arrow if on last slide (and automatic come-back is deactivated)
		if(position==numberOfSlides-1 && retour == false){
			$('#right-control').hide();
		}
		else {
			$('#right-control').show();
		}
		if(position == numberOfSlides && retour == true){
			currentPosition = 0;
			$('#left-control').hide();
		}
	}
	function suivant(){
		$('#right-control').click();
	}
	function start() {
		lectureEnCours = true;
		interval = setInterval(suivant, tempsAttente );
	}
	function pause() {
		lectureEnCours = false;
		clearInterval(interval);
	}
	
	// If slideshow is activated
	if(lectureAutomatique == true){
		start();
	}
	if(affichePlayPause == true){
			$('#slides-container').prepend('<img id="quote-nav" src="" alt="Slideshow Navigation" />');
		if(lectureAutomatique == true){
			$('#quote-nav').attr('src',icones['pause']);
		}
		else{
			$('#quote-nav').attr('src',icones['play']);	
		}
		$('#quote-nav').bind('click', function(){
			if(lectureEnCours == true){
				$(this).attr('src',icones['play']);
				pause();
			}else{
				$(this).attr('src',icones['pause']);
				start();
			}
		});
	}
});

