$(document).ready(function(){


// Pour sélectionner / désélectionner ttes les cases à cocher

$("#banTous, #typeTous").click(function () {

    if ( $(this).is(":checked") )
    {
        $(this).parents(".blocEtape").find("input").attr("checked","checked");
    }
    else
    {
        $(this).parents(".blocEtape").find("input").removeAttr("checked");
    }

});


// Réplie les sous menus
$("#menu>li:not(.current)>a").next().hide();


// Fonction  pour déplier les menus

$("#menu>li>a").click(function () {

    $("#menu>li.current>a").next().slideToggle("normal", function() { $(this).parent().toggleClass('current'); } );

    if( !$(this).parent().hasClass('current') )
    {
        $(this).next().slideToggle().parent().toggleClass('current');
    }

    this.blur();
    return false;
});



// Fonction pour gérer les rollovers

function srcRollOnPicto(src) {
  var string = src.replace("-t", "-o");
  return string;
}

function srcRollOffPicto(src) {
  var string = src.replace("-o", "-t");
  return string;
}

function srcRollOn(src) {
    var posPoint = src.lastIndexOf(".");
    return src.substring(0,posPoint)+"-on"+src.substring(posPoint);
}

function srcRollOff(src) {
    var posPoint = src.lastIndexOf(".");
    return src.substring(0,posPoint-3)+src.substring(posPoint);
}


$("img.pictogram_icon").hover(
  function () {
    $("div.equipement .infobulle", $(this).parent().parent().parent()).html($(this).attr('alt'));
    $(this).attr('src', srcRollOnPicto($(this).attr('src')));
  },
  function () {
    $("div.equipement .infobulle").html("");
    $(this).attr('src', srcRollOffPicto($(this).attr('src')));
  }
);

$("img.boutonRoll, input.boutonRoll").hover(
  function () {
    $(this).attr('src', srcRollOn($(this).attr('src')));
  },
  function () {
    $(this).attr('src', srcRollOff($(this).attr('src')));
  }
);






// *****  Fonctions pour carroussels ****** //


$("#content .blocPhotoAnnonce").each(function() {

    // initialisation variables
    var nbItemsVisible = 4;
    var animationActive = false;
    var posCurrent = 0;


    var nbItemImg = $(this).find(".carroussel .slider img").length;

    // Passe à l'image précédente et déplace le slider si besoin
    $(this).find(".photoBig a.prec").click(function () {

        var nbItem = $(this).parent().find("img").length;
        var current = $(this).parent().find(".current");

        if ( posCurrent == 0 ) posCurrent = nbItemsVisible - 1;
        else posCurrent--;

        if ( nbItem > nbItemsVisible && posCurrent == (nbItemsVisible - 1) && !animationActive )
        {
            var animationActive = true;
            var indexLien = nbItem - nbItemsVisible - 1;

            var blocCurrent = $(this).parents(".blocPhotoAnnonce");
            var marge = blocCurrent.find(".carroussel .slider a").outerWidth(true) * nbItemsVisible;

            blocCurrent.find(".carroussel .slider a:gt("+indexLien+")").clone(true).insertBefore(blocCurrent.find(".carroussel .slider a:first"));
            blocCurrent.find(".carroussel .slider").css("left", "-"+marge+"px");
            blocCurrent.find(".carroussel .slider").animate({"left": "+="+marge+"px"}, 500, "swing", function() {
                for ( i = 0; i < nbItemsVisible; i++) blocCurrent.find(".carroussel .slider a:last").remove();
                animationActive = false;
            });
        }

        if ( current.prev().is("img") ) {
            current.removeClass("current").prev().addClass("current");
        } else if (nbItem > 1) {
            current.removeClass("current").nextAll("img:last").addClass("current");
        }


        $(this).parents('.blocPhotoAnnonce').find('.infoCarroussel').text('photo '+($(this).parent().find('.current').prevAll().length)+' sur '+nbItemImg);

        this.blur();
        return false;
    });


    // Passe à l'image suivante et déplace le slider si besoin
    $(this).find(".photoBig a.suiv").click(function () {

        var nbItem = $(this).parent().find("img").length;
        var current = $(this).parent().find(".current");

        if ( posCurrent == (nbItemsVisible - 1) ) posCurrent = 0;
        else posCurrent++;

        if ( nbItem > nbItemsVisible && posCurrent == 0 && !animationActive )
        {
            var animationActive = true;
            var indexLien = nbItemsVisible;

            var blocCurrent = $(this).parents(".blocPhotoAnnonce");
            var marge = blocCurrent.find(".carroussel .slider a").outerWidth(true) * nbItemsVisible;

            blocCurrent.find(".carroussel .slider a:lt("+indexLien+")").clone(true).insertAfter(blocCurrent.find(".carroussel .slider a:last"));
            blocCurrent.find(".carroussel .slider").animate({"left": "-="+marge+"px"}, 500, "swing", function() {
                for ( i = 0; i < nbItemsVisible; i++) blocCurrent.find(".carroussel .slider a:first").remove();
                blocCurrent.find(".carroussel .slider").css("left", "0px");
                animationActive = false;
            });
        }

        if ( current.next().is("img") ) {
            current.removeClass("current").next().addClass("current");
        } else if (nbItem > 1) {
            current.removeClass("current").prevAll("img:last").addClass("current");
        }

        $(this).parents('.blocPhotoAnnonce').find('.infoCarroussel').text('photo '+($(this).parent().find('.current').prevAll().length)+' sur '+nbItemImg);

        this.blur();
        return false;

    });

    // Fonctions pour attribuer index aux liens
    $(this).find(".carroussel .slider a").each(function() {
        $(this).addClass("i"+$(this).parent().find("a").index(this));
    });

    // Fonction pour afficher la miniature en grand lors du clic
    $(this).find(".carroussel .slider a").hover(function () {

        posCurrent = $(this).parent().find("a").index(this);

        numImg = parseInt($(this).attr("class").substr(1));

        $(this).parents(".blocPhotoAnnonce").find(".photoBig img").removeClass("current").eq(numImg).addClass("current");

        $(this).parents('.blocPhotoAnnonce').find('.infoCarroussel').text('photo '+(numImg+1)+' sur '+nbItemImg);

        this.blur();
        return false;

    });

    // au départ on affiche la photo 1
    $(this).find('.infoCarroussel').text('photo 1 sur '+nbItemImg);

});


});