$(document).ready(function(){
    
        $("#languages span:last").css("border","0");
        
        //Configuration        
        var retour = true;
        var tempsTransition = 1500;
        var affichePlayPause = false;
        
        var lectureAutomatique = true;
        var tempsAttente = 6000;

        var icones = new Array();
        icones['play'] = '/fileadmin/templates/images/play_slider.png';
        icones['pause'] = '/fileadmin/templates/images/pause_slider.png';    

        var currentPosition = 0;
        var slideWidth = 907;
        var slides = $('#slideshow dl.csc-textpic-image');
        var numberOfSlides = slides.length;
        var interval;
        var lectureEnCours = false;
        
        // Supprime la scrollbar en JS
        $('#slideshow').css('overflow', 'hidden');
        
        /** un peu de nettoyage **/
        $('#slideshow div.csc-textpic-clear').remove();
        
        /** texte des slides **/
        $(slides).each(function(){
           var text =  $(this).children().children().children().attr("alt");           
           var link = $(this).children().children().attr("href");
           
           var dd = $(this).find('dd');           
           var title = $(dd).text();
           
           dd.html('<h3>'+ title +'</h3><p>'+ text +' <a href="'+ link +'">[+]</a></p>');
           
        });
        

        // Attribue  #slideInner  à toutes les div .slide
        //slides
        $('#slideshow dl')
        .wrapAll('<div id="slideInner"></div>')        
        .css({  // Float left to display horizontally, readjust .slides width
          'float' : 'left',
          'width' : slideWidth
        });

        // Longueur de #slideInner égale au total de la longueur de tous les slides
        $('#slideInner').css('width', slideWidth * numberOfSlides);

        // Insert controls in the DOM
        $('#slideshow')
        .prepend('<span class="control" id="leftControl" style="display:none;">Précédent</span>')
        .append('<span class="control" id="rightControl" style="display:none;">Suivant</span>');
        
        // Hide left arrow control on first load
        manageControls(currentPosition);

        //Crée un écouteur d'évènement de type clic sur les classes .control
        $('.control')
        .bind('click', function(){
                
            // Determine la nouvelle position
            currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;
            if(currentPosition == numberOfSlides && retour == false ){
                currentPosition--;
                pause();
            }

            // Cache ou montre les controles
            manageControls(currentPosition);
            // Fais bouger le slide
            $('#slideInner').animate({
              'marginLeft' : slideWidth*(-currentPosition)
            },tempsTransition);
            
        });

        // manageControls: Cache ou montre les flêches de controle en fonction de la position courante
        function manageControls(position){
            // Cache la fleche "précédent" si on est sur le premier slide
            if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
            // Cache la fleche "suivant" si on est sur le dernier slide (et que le retour automatique n'est pas activé)
            if(position==numberOfSlides-1 && retour == false){
                $('#rightControl').hide();
            } else {
                $('#rightControl').show();
            }
            if(position == numberOfSlides && retour == true){
                currentPosition = 0;
                 $('#leftControl').hide();
            }
            
            
            if($('img.cursors[rel="'+ position +'"]').length == 0){
                $('img.cursors[rel="0"]').attr("rel",numberOfSlides);
            }
            
            $('img.cursors.on').removeClass("on").attr("src","/fileadmin/templates/images/puce_slide_off.png");
            $('img.cursors[rel="'+ position +'"]').attr("src","/fileadmin/templates/images/puce_slide_on.png").addClass("on");
            
            
        }
        
        function suivant(){
            $('#rightControl').click();
        }
        
        function start() {
            lectureEnCours = true;
            interval = setInterval(suivant, tempsAttente );
        }
        
        function pause() {
            lectureEnCours = false;
            clearInterval(interval);
        }
  
        //Si le diapo est activé 
        if(lectureAutomatique == true){
            start();
        }
        
        if(affichePlayPause == true){
            $('#slideshow').prepend('<img id="navDiapo" src="" alt="Navigation diaporama" style="display:none" />');
            if(lectureAutomatique == true){
                $('#navDiapo').attr('src',icones['pause']);
            }else{
                $('#navDiapo').attr('src',icones['play']);    
            }
            $('#navDiapo').bind('click', function(){
                if(lectureEnCours == true){
                    $(this).attr('src',icones['play']);
                    pause();
                }else{
                    $(this).attr('src',icones['pause']);
                    start();
                }
            });            
        }

        
        
        /*** les carrés **/
        $('#slideshow').prepend('<div id="navCursors"></div>');
        for(i=0; i!=numberOfSlides; i++ ){
            
            $("#navCursors").append('<img src="/fileadmin/templates/images/puce_slide_off.png" class="cursors" rel="'+ i +'" />');                
        }
        
        $('img.cursors[rel="0"]').attr("src","/fileadmin/templates/images/puce_slide_on.png").addClass("on");
        
        $("img.cursors").click(function(){
            if($(this).attr("class") != 'cursors on'){
                pause();
                // Determine la nouvelle position
                currentPosition = eval($(this).attr("rel"));
                if(currentPosition == numberOfSlides && retour == false ){
                    currentPosition--;
                    pause();
                }

                // Cache ou montre les controles
                manageControls(currentPosition);
                // Fais bouger le slide
                $('#slideInner').animate({
                  'marginLeft' : slideWidth*(-currentPosition)
                },tempsTransition);
                
                
                
            }
        });

        
        if(numberOfSlides <= 1){
            $('img.cursors').css("display","none");
        }
      
});
