/* 
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */


window.addEvent('domready', function() {
    /**
     * @var Element
     */
    var slideNode = $('slider');
    var slideList = new Array();
    var idSlideCourant = 0;
    var refreshSlideInterval = 4000;
    var timer = null;
    //sert à changer les caractères spéciaux
    function echapcarac(str) {
        str=str.replace(/'/g,'&apos;');
        str=str.replace(/"/g,'&quot;');
        str=str.replace(/\\/g,'&#47;');
        str = str.replace(/[àâä]/gi,"a");
        str = str.replace(/[éèêë]/gi,"e");
        str = str.replace(/[îï]/gi,"i");
        str = str.replace(/[ôö]/gi,"o");
        str = str.replace(/[ùûü]/gi,"u");
        str = str.replace(/:/g,"\#58;");
        return str;
    }
    var slide = null;
    slideNode.getElements('div').each(function(item, index) {
        item.set('class', 'slideRow');
        item.set('id', 'ongletSlide');
        
        // Initalisation d'un slide
        slide = new Object()
        slide.id = index+1;
        slide.titre = item.getElement('h3').get('text');
        slide.href = item.getElement('p').getElement('a').getProperty('href');
        slide.alt = item.getElement('p').getElement('a').getElement('img').getProperty('src');
        slide.node = item;
        
        // On ajoute du lien à la balise de titre
        var titleNode = new Element('h3');
        titleNode.adopt(new Element('a', {
            href: slide.href,
            html: slide.titre
        }));
        titleNode.replaces(item.getElement('h3'))
    
        item.getElements('a').each(function(item, index) {  
            item.addEvent ("click", function () {
                window.traceGA(this.titre,this.id);
            }.bind(slide));
        });
       

        slideList.push(slide);
        slide = null;
    });


    var tabsNode = new Element('ul', {
        id: 'sliderTab'
    });

    var tab = null;
    slideList.each(function(item, index) {
        tab = new Element('li', {
            id: 'sliderTabRow'+ (index+1),
            html: item.id,
            events: {
                click: function(e) {
                    changerSlideCourant(index);
                }
            }
        });
        
        tabsNode.adopt(tab);
        slideList[index].tab = tab;
    });

    slideNode.getParent('div').grab(tabsNode, 'top');



    /*
     * Démarage de la rotation du slider
     */
    changerSlideCourant(idSlideCourant);


    /**
     * Affiche le slide identifié par idSlide dans le slider
     * 
     * @var idSlide Integer
     */
    function changerSlideCourant(idSlide) {
        slideList.each(function(item, index) {
            item.node.setStyle('visibility', 'hidden');
            item.tab.removeProperty('class');
        });
       
        slideList[idSlide].node.setStyle('visibility', 'visible');
        slideList[idSlide].tab.set('class', 'courant');

        idSlideCourant = idSlide;

        if (timer != null) {
            window.clearTimeout(timer);
        }
        
        timer = window.setTimeout(slideSuivant, refreshSlideInterval);
    }
    

    /**
     * Fait avance le slider d'un slide
     */
    function slideSuivant() {
        var id = idSlideCourant;
        
        if (id < slideList.length-1) {
            id += 1;
        } else {
            id = 0
        }
        
        changerSlideCourant(id);
    }
});
