/**
 * Animate one bloc in home page
 * Change item every 6s
 */
function bloc_alaune() {
    var current = 1;
    var size = 0;
    var timer = null;
    var can = true; // can click on item

    if($$("#une > div > ul > li:nth-child("+ current +")").first())
        $$("#une > div > ul > li:nth-child("+ current +")").first().addClassName("active");
    size = $$("#une > div > ul > li").size();

    function select(current, n) {
        if (n == current) {
            return;
        }
        $$("#une > div > ul > li:nth-child("+ current +")").first().removeClassName("active");
        $$("#une > div > ul > li:nth-child("+ n +")").first().addClassName("active");

        $$("#une .content")[current - 1].fade({duration: 1.0});
        $$("#une .content")[n - 1].appear({duration: 1.0});
    }
    /**
     * Slideshow mode
     */
    function next() {
        var n = current + 1;
        if (n > size) {
           n = 1;
        }
        select(current, n);
        current = n;
    }
    function stopTimer() {
        timer.stop();
    }
    function startTimer() {
        timer = new PeriodicalExecuter(next, 6);
    }
    startTimer();
    /**
     * Click on item
     */
    function uneClick(element, index) {
        $(element).observe('click', function(el) {
            if (!can) {
                return;
            }
            can = false;
            var n = index + 1;
            stopTimer();
            select(current, n);
            current = n;
            startTimer();
            // appear / fade in took 1s, desactivate click 1s
            setTimeout(
                function() {
                    can = true;
                }, 1000);
        });
    }
    $$("#une > div > ul > li").each(uneClick);
};
/**
 * Show/Hide Tabs in an incredible bling-bling effect
 */
function bloc_indispensable() {
    var current = $$("#indispensable > ul li a").first();
    if(!current) return;
    function getBloc(tab) {
        var href = tab.readAttribute("href");
        return $$(href).first();
    }
    function tabClick(element, index) {
        $(element).observe('click', function() {
            if (current == element) {
                return false;
            }
            current.up().removeClassName("active");
            getBloc(current).slideUp();
            current = element;
            current.up().addClassName("active");
            getBloc(current).slideDown({queue:'end'});
            return false;
        });
    }
    $$("#indispensable > ul li a").each(tabClick);
    $$("#indispensable > div.backWhite").each(function(element) {element.hide();});
    getBloc(current).show();
    current.up().addClassName("active");
}

document.observe("dom:loaded", bloc_alaune);
document.observe("dom:loaded", bloc_indispensable);
