var diapoCourante = new Array();
var classe = new Array();
var nbDiapos = new Array();
var interval = new Array();

$(function(){

    sfHover();
  
    i=0;
    $(".boxproduct").each(function(){
		
        //selection de la classe diff�rente selon les widget
        var classes = $(this).attr("class");
        var tab_classes = classes.split(" ");
        classe[i] = tab_classes[2];
		
        //calcul du nombre d'item
        var items = $("." + classe[i] + " .short_product");
        nbDiapos[i] = items.length;
		
        //num�ro de diapo courante, 0 au d�but
        diapoCourante[i] = 0;
		
		
        interval[i] = setInterval("diapoSuivante(" + i + ", null)", 5000);
		
        i++;
    
    });
	
    $(".div_occasions_or").mouseover(function(){
        clearInterval(interval[0]);
    });
    $(".div_occasions_or").mouseout(function(){
        interval[0] = setInterval("diapoSuivante(0,  null)", 5000);
    });
	
    $(".div_prix_futes").mouseover(function(){
        clearInterval(interval[1]);
    });
    $(".div_prix_futes").mouseout(function(){
        interval[1] = setInterval("diapoSuivante(1,  null)", 5000);
    });
	
    $(".div_occasions_or .nav-gauche").click(function(){
        diapoPrecedente(0, null);
    });
    $(".div_occasions_or .nav-droite").click(function(){
        diapoSuivante(0, null);
    });
  
    $(".div_prix_futes .nav-gauche").click(function(){
        diapoPrecedente(1, null);
    });
    $(".div_prix_futes .nav-droite").click(function(){
        diapoSuivante(1, null);
    });
	
    //execution du redimensionnement des ronds
    modifNbRond($(".div_occasions_or"));
    modifNbRond($(".div_prix_futes"));
    
    $(".div_occasions_or .link_list").attr("href", "/les-occasions-en-or/");
    $(".div_prix_futes .link_list").attr("href", "/occasions-prix-futes/");

    $(".menu_nos_concession > a").attr("href", "javascript:void(0)");
});

sfHover = function(){
    if (document.getElementById("not_nested")) {
        var sfEls = document.getElementById("not_nested").getElementsByTagName("LI");
        if (sfEls) {
            for (var i = 0; i < sfEls.length; i++) {
                sfEls[i].onmouseover = function(){
                    var classValue = this.className;
                    classValue += ' sfhover';
                    this.className = classValue.replace(/^\s+/g, '').replace(/\s+$/g, '');
                }
                sfEls[i].onmouseout = function(){
                    this.className = this.className.replace(/sfhover/g, '').replace(/^\s+/g, '').replace(/\s+$/g, '');
                }
            }
        }
    }
}


function diapoPrecedente(i, diapoSelection) {

    if ((diapoSelection !== diapoCourante[i]) && (nbDiapos[i] > 3)) {
		
        // On d�place les 3 (ou moins) diapos courantes vers la droite
        $("." + classe[i] + " .short_product:eq(" + diapoCourante[i] + ")").animate({
            left: '300px'
        });
        if (nbDiapos[i] - diapoCourante[i] > 1) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 1) + ")").animate({
                left: '300px'
            });
        }
        if (nbDiapos[i] - diapoCourante[i] > 2) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 2) + ")").animate({
                left: '300px'
            });
        }
		
        // On d�termine s'il y a d'autres diapos avant celles courantes
        if (diapoSelection !== null) {
            diapoCourante[i] = diapoSelection;
        } else {
            diapoCourante[i] -= 3;
            if (diapoCourante[i] < 0) {
                diapoCourante[i] = 3 * Math.floor(nbDiapos[i] / 3);
                if (Math.floor(nbDiapos[i] / 3) == (nbDiapos[i] / 3))
                    diapoCourante[i] -= 3;
            //numDiapoCourante = 3 * Math.floor(nbDiapos / 3); alert(numDiapoCourante+" OK");
            }
        }
		
        // On remet les voitures � l'�cran avec une animation de la gauche vers la droite
        // (alors qu'en fait, elles viennent de la droite)
        $("." + classe[i] + " .short_product:eq(" + diapoCourante[i] + ")").css("left", "-300px");
        $("." + classe[i] + " .short_product:eq(" + diapoCourante[i]+ ")").animate({
            left: '0px'
        });
        // On teste s'il y a une 2� et 3� voiture � afficher
        if (nbDiapos[i] - diapoCourante[i] > 1) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 1) + ")").css("left", "-300px");
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 1) + ")").animate({
                left: '0px'
            });
        }
        if (nbDiapos[i] - diapoCourante[i] > 2) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 2) + ")").css("left", "-300px");
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 2) + ")").animate({
                left: '0px'
            });
        }
		
        deplacementRondCourant(diapoCourante[i], classe[i]);
	
    }
	
}

function diapoSuivante(i, diapoSelection) {
  
    if ((diapoSelection !== diapoCourante[i]) && (nbDiapos[i] > 3)) {
        // On d�place les 3 (ou moins) diapos courantes vers la gauche
        $("." + classe[i] + " .short_product:eq(" + diapoCourante[i] + ")").animate({
            left: '-300px'
        });
        if (nbDiapos[i] - diapoCourante[i] > 1) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 1) + ")").animate({
                left: '-300px'
            });
        }
        if (nbDiapos[i] - diapoCourante[i] > 2) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 2) + ")").animate({
                left: '-300px'
            });
        }
        // On d�termine s'il y a d'autres diapos apr�s celles courantes
        if(diapoSelection !== null){
            diapoCourante[i] = diapoSelection;
        }else{
            diapoCourante[i] += 3;
            if (diapoCourante[i] >= nbDiapos[i]) {
                diapoCourante[i] = 0;
            }
        }
		
        // On remet les voitures � l'�cran avec une animation de la droite vers la gauche
        // (alors qu'en fait, elles viennent de la gauche)
        $("." + classe[i] + " .short_product:eq(" + diapoCourante[i] + ")").css("left", "300px");
        $("." + classe[i] + " .short_product:eq(" + diapoCourante[i] + ")").animate({
            left: '0px'
        });
        // On teste s'il y a une 2� et 3� voiture � afficher
        if (nbDiapos[i] - diapoCourante[i] > 1) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 1) + ")").css("left", "300px");
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 1) + ")").animate({
                left: '0px'
            });
        }
        if (nbDiapos[i] - diapoCourante[i] > 2) {
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 2) + ")").css("left", "300px");
            $("." + classe[i] + " .short_product:eq(" + (diapoCourante[i] + 2) + ")").animate({
                left: '0px'
            });
        }
		
        deplacementRondCourant(diapoCourante[i], classe[i]);
		
    }

}


/** Changement de position du rond courant selon la diapo courante
*/
function deplacementRondCourant(numDiapoCourante, nomBoxproduct) {
    var positionRondCourant = 15 * (numDiapoCourante / 3); // Distance entre chaque d�but de ronds
    positionRondCourant += 18; // A cause de la position de d�part
    $("." + nomBoxproduct + " .rond-courant").css("left", positionRondCourant+"px"); // D�placement
}

//Modification du nombre de rond en fonction du nombre de produits
function modifNbRond($class){
    var nb = $class.find(".short_product").length;
    var nb_rond = Math.ceil(nb/3);
    var width = nb_rond * 15;
    $class.find(".ronds").width(width);
}
