﻿/**
 *  Contrôle Actualité (public/réservée)
 *  
 */


var actualite_nb = 0;           // Nombre d'actualités
var actualite_current = 0;      // Numéro de l'actualité en cours d'affichage
var actualite_height = 24;      // Hauteur d'une actualité
var rotation = true;            // Autoriser la rotation
var timer_rotation = null;      // Objet contenant le timer
var jActualiteFermer;           // Bouton fermer
var jActualiteSuivant;          // Bouton suivant
var jActualitePrecedent         // Bouton précédent


/**
 * Initialise les variable
 */
function jActualite_Init() {
    actualite_nb = $("#actualites h1").length-1;

    jActualiteFermer = $("#actualites a.jFermer");
    jActualiteSuivant = $("#actualites a.jSuivant");
    jActualitePrecedent = $("#actualites a.jPrecedent");
    
    
    jActualiteFermer.hide();
    if (actualite_nb > 1) {
        rotation_auto();
    } else {
        jActualitePrecedent.hide();
        jActualiteSuivant.hide();
    }
}


/**
 * Actualise la position des actualités
 */
function jActualite_positioner() {
    if (actualite_current > actualite_nb) {
        actualite_current = 0;
    }
    else if (actualite_current < 0) {
        actualite_current = actualite_nb;
    }
    var actualite_position = actualite_current * actualite_height;

    $("#actualites div.content").stop().animate({
        top: -actualite_position
    }, 400);
}


/**
 * Rotation automatique
 */
rotation_auto = function() {
    timer_rotation = setInterval(function() {
        actualite_current++;
        jActualite_positioner();
    }, 3000);
};


/**
 * Change l'actualité en cours d'affichage
 */
bouton_nav_actualite = function(suivant) {
    $("#actualites .detail-actualite").hide();
    rotation = true;

    clearInterval(timer_rotation);

    actualite_current += (suivant) ? 1 : -1;
    jActualite_positioner();
    rotation_auto();
};


$(document).ready(function() {

    jActualite_Init();


    jActualiteSuivant.click(function() {
        bouton_nav_actualite(true);
        return false;
    });

    jActualitePrecedent.click(function() {
        bouton_nav_actualite(false);
        return false;
    });

    jActualiteFermer.click(function() {
        // Boutons
        jActualiteFermer.hide();
        jActualiteSuivant.show();
        jActualitePrecedent.show();

        bouton_nav_actualite(true);
        return false;
    });

    $("#actualites h1").click(function() {
        clearInterval(timer_rotation);
        rotation = false;

        var actualite_id = $(this).attr("actualite-id");

        /// Ouvre l'actualité
        if ($("#actualites .detail-actualite:visible").length == 0) {
            $("#actualites .detail-actualite p").hide();
            $("#actualite_" + actualite_id).show();
            $("#actualites .detail-actualite").slideDown();

            // Boutons
            jActualiteFermer.show();
            jActualiteSuivant.hide();
            jActualitePrecedent.hide();
        }
        return false;
    });

    $("#actualites table").hover(function() {
        if (timer_rotation) {
            clearInterval(timer_rotation);
        }
    }, function() {
        if (rotation) {
            rotation_auto();
        }
    });
});
