﻿// Fonction invoquée lors de l'initialisation du carousel «exposants vedettes».
function carousselVedette_initCallback(carousel) {
    // Disable autoscrolling if the user clicks the prev or next button.
    carousel.buttonNext.bind('click', function() {
        carousel.startAuto(0);
    });

    carousel.buttonPrev.bind('click', function() {
        carousel.startAuto(0);
    });

    // Pause autoscrolling if the user moves with the cursor over the clip.
    carousel.clip.hover(function() {
        carousel.stopAuto();
    }, function() {
        carousel.startAuto();
    });

    // Disable autoscrolling if the user clicks a clip.
    carousel.clip.click(function() {
        carousel.startAuto(0);
    });

    
};

//Fonction invoquée lorsqu'un item devient visible dans le carrousel
function carousselVedette_itemVisibleInCallback(carousel, item, i, state, evt) {
    // The index() method calculates the index from a
    // given index who is out of the actual item range.
    var idx = carousel.index(i, carousselVedette_itemList.length);
    carousel.add(i, carousselVedette_getItemHTML(carousselVedette_itemList[idx - 1]));

    // Associe un event «click» aux items du carrousel
    $(item).bind("click", function() {
        // Retire la classe «jcarousel-item-selected» de tous les items du carrousel
        $('.jcarousel-item-selected').removeClass("jcarousel-item-selected");

        // Ajoute la classe «jcarousel-item-selected» à l'item cliqué
        $(item).addClass("jcarousel-item-selected");

        //Modifie les détails de l'exposant en vedette
        setExposantEnVedetteInfos(carousselVedette_itemList[idx - 1]);
    });
};

//Fonction invoquée lorsqu'un item n'est plus visible dans le carrousel
function carousselVedette_itemVisibleOutCallback(carousel, item, i, state, evt) {
    // Retire un item lorsqu'il sort de la zone visible du carrousel
    carousel.remove(i);
};

//Fonction invoquée lorsqu'un item arrive à la première position dans le carrousel
function carousselVedette_itemFirstInCallback(carousel, item, i, state) {

    // Retire la classe «jcarousel-item-selected» de tous les items du carrousel
    $('.jcarousel-item-selected').removeClass("jcarousel-item-selected");

    // Ajoute la classe «jcarousel-item-selected» à l'item qui arrive en première position
    $(item).addClass("jcarousel-item-selected");

    // Récupère l'index de l'image
    var idx = carousel.index(i, carousselVedette_itemList.length);

    //Modifie les détails de l'exposant en vedette
    setExposantEnVedetteInfos(carousselVedette_itemList[idx - 1]);

};

//Fonction invoquée lorsqu'un item perd la première position dans le carrousel
function carousselVedette_itemFirstOutCallback(carousel, item, idx, state) {
    // Retire la classe «jcarousel-item-selected» de item qui perd la première position
    $(item).removeClass("jcarousel-item-selected");
};

// Item html creation helper.
function carousselVedette_getItemHTML(item) {
    return '<img src="' + item.thumbnail + '" alt="' + item.nom + '" title="' + item.nom + '" />';
};


//Change les détails de l'exposant en vedette

//lien idExp
function setExposantEnVedetteInfos(objExposant) {

    $("#enVedetteFiche").fadeOut("1500", function() {
        $("#enVedetteImage").attr({ src: objExposant.image, title: objExposant.nom });
        if (langue == "fr") {
            $("#enVedetteLienImage").attr({ href: '/exposants/exposant.aspx?id=' + objExposant.idExp });
            $("#enVedetteNom").html("<a href='/exposants/exposant.aspx?id=" + objExposant.idExp + "'>" + objExposant.nom + "</a>");
        }
        else {
            $("#enVedetteLienImage").attr({ href: '/exhibitors/exhibitor.aspx?id=' + objExposant.idExp });
            $("#enVedetteNom").html("<a href='/exhibitors/exhibitor.aspx?id=" + objExposant.idExp + "'>" + objExposant.nom + "</a>");
        }


        $("#enVedetteSousTitre").html(objExposant.sousTitre);
        $("#enVedettePays").html(objExposant.pays);

        if ($("#enVedetteInfo").css("visibility") == "hidden") {
            $("#enVedetteInfo").css("visibility", "visible");
        }

    });

    $("#enVedetteFiche").fadeIn("1500");

}

//Fonction de préchargement des images de la zone des exposants vedettes
function preloadEnVedetteImage(vedetteArray) {
    var imagesCache = new Array();
    for (i = 0; i < vedetteArray.length; i++) {
        newImage = new Image();
        newImage.src = vedetteArray[i].image;
        imagesCache.push(newImage);
    }
}
