var current_index_cv = -1 ;
var current_index_card = -1 ;
var previousLink = false;

var clickedleft = false;
var clickedright = false;
var goingleft = false;
var goingright = false;

function changeCard( index ,  linkNode ) {
    var infoText = $('#infotext');
    var insideCv = $('#inside_cv');
    
    if(current_index_card != index ) {
        currentLi = $(linkNode.parentNode.parentNode);
        currentUl =  currentLi.parent(); 

        newPosLeft = currentLi.position().left + currentUl.position().left;
        newPosLeft = newPosLeft - 14;
        
        infoText.html( $('#photo_' + index ).attr('alt') );     
        infoText.fadeIn(200);
        infoText.parent().animate( { marginLeft : newPosLeft } , 200 );
        
        current_index = index;
    }
    
    if( index != current_index_cv && current_index_cv != -1 ) {
        insideCv.slideUp(400);
        $(".carousel li.encour").removeClass('encour');
    }
}

function cvShow( index , url , linkNode ) {
    /* Modifications du script pour qu'il ne déroule pas le script si le survol se fait sur l'élément en cours */
    if ( !previousLink || (index != (previousLink - 1) ) ) {
        var insideCv = $('#inside_cv');
        
        current_index_cv = index;
        
        insideCv.slideUp(400);
        
        $(".carousel li.encour").removeClass('encour');
        $(linkNode.parentNode.parentNode).addClass('encour');
        
        $.get( url , {} , function(data) {
            insideCv.html(data);
            insideCv.slideDown(400);
        } ); 
    }
    
    previousLink = index + 1;
        
    return false;
} 



(function($){
        
    $.fn.carousel = function(options) {
        var etat = 0;
        var li = $(this).find('li');
        var nbli = li.length;
        var liMarge = 28;
                
        var d = {'btnLeft' : 'move-left', 'btnRight' : 'move-right', 'nbViewItems' : 1, 'nbScrollItems' : 1, 'imgWidth' : 160, 'speed' : 1.5E3};
        
        var p = $.extend(d, options), action = false, start;
        
        var button_left_cb = function () {
            
            $(this).unbind();
            $(this).click(function(){return false;})
                        
            if (nbli > 6 &&  action === false) {
                start = parseInt(ul.css('left'), 10);
                action = true;
                
                if (etat<=0) {
                    var litmp = ul.children().slice(nbli-1, nbli).clone();
                    litmp.click(function(){
                        ul.children().each(function(){
                            $(this).removeClass('encour');
                        });
                        ul.children().slice(nbli, nbli+1).addClass('encour');
                        $(this).addClass('encour');
                        $('#infotext').html($(this).find('img').attr('alt'));
                    });
                    
                    
                    start = parseInt(ul.css('left'), 10)-115;
                                       
                    ul.css({'left':start});   
                    ul.prepend(litmp); 
                    ul.animate({'left': (start + s) + 'px'}, p.speed, 'swing', function(){
                        action = false;
                        $('.' + p.btnLeft).click(button_left_cb);
                    });
                    ulWidth =  parseInt( ul.css('width') ) + 2 * ( liW + liMarge );
                    ul.css( { width :  ulWidth + 'px' } );
                }
                else {
                    ul.animate({'left': (start + s) + 'px'}, p.speed, 'swing', function(){
                        ul.children().slice(nbli+etat, nbli+etat+1).remove(); action = false;
                        $('.' + p.btnLeft).click(button_left_cb);
                    });
                }                 
                etat--;
            }
            
                       
            if( parseInt( $('.item_infos_carousel').css('marginLeft') ) < 500 ) {
                newPosLeft = (parseInt($('.item_infos_carousel').css('marginLeft')) - s);
                $('.item_infos_carousel').animate( { 'marginLeft' : newPosLeft + "px" } , p.speed , 'swing');
            } else {
                $('#infotext').slideUp(200);
            }
            $(this).find('ul').css( { 'width' : ulWidth } );
            
            if (goingleft == false)
            {
                clickedleft=true;
                clickLeft();
            }
            
            return false;
        }; 
        
        var button_right_cb = function() {
            $(this).unbind();
            $(this).click(function(){return false;})
                        
            if (nbli > 6 && action === false) {
                start = parseInt(ul.css('left'), 10);
                action = true;
                
                if (etat>=0) {
                    var litmp = ul.children().slice(etat, etat+1).clone();
                    litmp.click(function(){
                        ul.children().each(function(){
                            $(this).removeClass('encour');
                        });
                        ul.children().slice(etat-1, etat).addClass('encour');
                        $(this).addClass('encour');
                        $('#infotext').html($(this).find('img').attr('alt'));
                    });
                                        
                    ul.css({'left':start});
                    ul.append(litmp);
                    ul.animate({'left': (start - s) + 'px'}, p.speed, 'swing', function(){
                        action = false;
                        $('.' + p.btnRight).click(button_right_cb);
                    });
                    
                    ulWidth =  parseInt( ul.css('width') ) + 2 * ( liW + liMarge );
                    ul.css( { width :  ulWidth + 'px' } );
                }
                
                else {
                    ul.animate({'left': (start - s) + 'px'}, p.speed, 'swing', function(){
                        ul.children().slice(0, 1).remove(); 
                        ul.css({'left':start}); 
                        action = false;
                        $('.' + p.btnRight).click(button_right_cb);
                    });
                }
                etat++;
            }
            
            
            if( parseInt( $('.item_infos_carousel').css('marginLeft') ) > 0 ) {
                newPosLeft = (parseInt($('.item_infos_carousel').css('marginLeft')) - s);
                $('.item_infos_carousel').animate( { 'marginLeft' : newPosLeft + "px" } , p.speed , 'swing');
            } else {
                $('#infotext').slideUp(200);
            }
                
            if (goingright == false)
            {
                clickedright=true;
                clickRight();
            }
            return false;
            
        };
        
        $('.' + p.btnLeft).click(button_left_cb);
        $('.' + p.btnRight).click(button_right_cb);

        var cnt = 0;
        
        li.css({'float':'left', 'margin':'0 '+ (liMarge / 2) +'px', 'padding':'1px', 'overflow':'hidden'});
        var liW = li.width() + 2 + liMarge;
       
        
        $(this).find('img').each(function(){
            cnt++;
            $(this).css({'width':p.imgWidth + 'px', 'margin':'0 auto', 'padding':'1px'});
        });
        
        li.each(function(){
            $(this).click(function(){
                ul.children().each(function(){
                    $(this).removeClass('encour');
                });
                $(this).addClass('encour');
                $('#infotext').html($(this).find('img').attr('alt'));
            });

        });
        
        ulWidth = ( nbli * ( liW + liMarge ) ) + 'px';
        
        var ul = $(this).find('ul').css( { 'position' : 'relative', 
                                           'left': '0px' , 
                                           'margin': '0 auto',
                                           'padding' : '0',
                                           'overflow' : 'hidden', 
                                           'list-style' : 'none' ,
                                           'width' : ulWidth
                                          } );
        
        var w  = (li.length - p.nbViewItems) * liW;
        var s  = p.nbScrollItems * liW;
        $(this).css({'position':'relative', 'margin':'0', 'overflow':'hidden', 'width': (p.nbViewItems * liW - 5) + 'px'});
        
    };
}
)(jQuery);

function clickLeft() {
    if ((clickedleft==true && goingleft==false) || (clickedleft == false && goingleft == true))
    {
        clickedright=false;
        if (goingleft == true)
        {
            try {
                document.getElementById("move-left").click();
            }
            catch(e) {
                var evt = document.createEvent("MouseEvents"); // créer un évenement souris
                evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);  // intialiser l'évenement déja créé par un click
                var cb = document.getElementById("move-left"); // pointe sur l'élement
                cb.dispatchEvent(evt);  // envoyer l'évenement vers l'élément
            }
        }
        goingleft = true;
        goingright = false;
        clickedleft = false;
        setTimeout("clickLeft()", 3000);
    }
    else
    {
        clickedleft = false;
    }
}

function clickRight() {
    if ((clickedright==true && goingright==false) || (clickedright == false && goingright == true))
    {
        clickedleft=false;
        if (goingright == true)
        {
            try {
                document.getElementById("move-right").click();
            }
            catch(e) {
                var evt = document.createEvent("MouseEvents");
                evt.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
                var cb = document.getElementById("move-right");
                cb.dispatchEvent(evt);
            }
        }
        goingleft = false;
        goingright = true;
        clickedright = false;
        setTimeout("clickRight()", 3000);
    }
    else
    {
        clickedright = false;
    }
}

function clickStop() {
    goingright = false;
    goingleft = false;
}
