$(document).ready(function(){
    var currentPosition = 0;
    var slideWidth = 240;
    var slides = $('.slide');
    var numberOfSlides = slides.length;

    // Remove scrollbar in JS
    $('#slidesContainer').css('overflow', 'hidden');

    // Wrap all .slides with #slideInner div
    slides.wrapAll('<div id="slideInner"></div>')
    // Float left to display horizontally, readjust .slides width
        .css({
          'float' : 'left',
          'width' : slideWidth
        });

    // Set #slideInner width equal to total width of all slides
    $('#slideInner').css('width', slideWidth * numberOfSlides);

    // Insert controls in the DOM
    $('#slideshow')
    .prepend('<span class="control" id="leftControl" title="accèder à l\'élement précédent">Element précédent</span>')
    .append('<span class="control" id="rightControl" title="accèder à l\'élement suivant">Element suivant</span>');

    // Hide left arrow control on first load
    manageControls(currentPosition);

    // Create event listeners for .controls clicks
    $('.control').bind('click', function(){
        // Determine new position
        currentPosition = ($(this).attr('id')=='rightControl') ? currentPosition+1 : currentPosition-1;

        // Hide / show controls
        manageControls(currentPosition);
        // Move slideInner using margin-left
        $('#slideInner').animate({'marginLeft' : slideWidth*(-currentPosition)});
    });

    // manageControls: Hides and Shows controls depending on currentPosition
    function manageControls(position){
        // Hide left arrow if position is first slide
        if(position==0){ $('#leftControl').hide() } else{ $('#leftControl').show() }
        // Hide right arrow if position is last slide
        if(position==numberOfSlides-1){ $('#rightControl').hide() } else{ $('#rightControl').show() }
    } 
    


/*
Ephemeride controls
*/

    timerEphemeride('start'); // Run timer
    updateEphemerideLink('#ephe_', iCurrentEphemeride) ;// init "Lire la suite" href

    // Attach event on previous link 
    $('.ephe-prev').click(function(){
        
        timerEphemeride('stop'); // Stop sliding
        
        // Load previous slide
        switchEphemerideOff( '#ephe_'+iCurrentEphemeride ) ; // hide selected div

        if ( $('#ephe_'+(iCurrentEphemeride-1)).length > 0 )  {
            iCurrentEphemeride-- ;
        }
        else {
            iCurrentEphemeride = 1 ;
        }
        switchEphemerideOn( '#ephe_'+iCurrentEphemeride ) ; // activate selected div
        updateEphemerideLink( '#ephe_', iCurrentEphemeride ) ; // update "Lire la suite" link

        return false;
    });
    
    // Attach event on next link 
    $('.ephe-next').click(function(){
        
        runEphemeride() ; // Load next slide

        timerEphemeride('stop'); // Stop sliding

        return false;
    });
    

    // Attach event on pause/stop link 
    $('#ephe-restart').click(function(){
        if (bEpheTimer==true) {
            bEpheTimer = false ;
            timerEphemeride('stop') // Stop timer
        }
        else {
            bEpheTimer = true ;
            timerEphemeride('start') // Run timer
        }

        return false;
    });

/*
SEARCH FORM FUNCTIONS ______________ */
    $("#recherche-home").submit(function (){
        var sKeyword = $("#q").val() ;
        sKeyword.replace(/^\s+/g,'').replace(/\s+$/g,'') ;

        if (sKeyword!='') {
            return true;
        }
        alert("Veuillez saisir un mot clé");
        return false ;
    });

});


/*
functions to manipulate Ephemeride events
*/
// init value
var iCurrentEphemeride = 1 ;
var bEpheTimer = true;
var iEpheTimerSeconde = 15000;
var oEpheTimer = '';

function runEphemeride() {

    switchEphemerideOff( '#ephe_'+iCurrentEphemeride ) ; // hide selected div

    if ( $('#ephe_'+(iCurrentEphemeride+1)).length > 0 )  {
        iCurrentEphemeride = iCurrentEphemeride + 1 ;
    }
    else {
        iCurrentEphemeride = 1 ;
    }

    switchEphemerideOn( '#ephe_'+iCurrentEphemeride ) ; // activate selected div
    updateEphemerideLink( '#ephe_', iCurrentEphemeride ) ; // update "Lire la suite" link
}

function switchEphemerideOn(ps_element) {
    $(ps_element).css('display', 'block');
}

function switchEphemerideOff(ps_element) {
    $(ps_element).css('display', 'none');
}

function updateEphemerideLink(ps_element, pi_id) {
    sUrl = $(ps_element+pi_id+' .ephe-illutration').attr('href') ;
    $('#ephe-suite_'+pi_id).attr('href', sUrl) ;
}

function timerEphemeride(ps_action) {
    if (ps_action=='start') {
        oEpheTimer = window.setInterval ( "runEphemeride()", iEpheTimerSeconde );
        bEpheTimer = true;
    }

    if (ps_action=='stop') {
        window.clearInterval(oEpheTimer) ;
        bEpheTimer = false;
    }
}
