// Gestion des onglets
function initTab(p_sTabId)
{
    var navTab = document.getElementById(p_sTabId).getElementsByTagName('ul');
    if ( navTab.lenth == 0)
    {
        alert('Impossible de trouver un élément "UL" dans le webget.');
        return;
    }
    var navTabElements = navTab[0].getElementsByTagName('li');
    YAHOO.util.Dom.addClass(navTabElements[0], 'first');
    YAHOO.util.Dom.addClass(navTabElements[navTabElements.length - 1], 'last');
    var tabView = new YAHOO.widget.TabView(p_sTabId);
    for(tab in tabView._configs.tabs.value)
    {
        tabView._configs.tabs.value[tab].ACTIVE_TITLE = '';
    }
    tabView.set('activeIndex', 0);
}

function initActuPreHome(p_sActuId)
{
    var blocs = YAHOO.util.Selector.query('li', p_sActuId);
    var index = 0;
    var next = YAHOO.util.Selector.query('.skip_links .skip_right', p_sActuId)[0];
    var prev = YAHOO.util.Selector.query('.skip_links .skip_left', p_sActuId)[0];
    var focus = function(n){
        YAHOO.util.Dom.removeClass(blocs, 'on');
        YAHOO.util.Dom.addClass(blocs[n], 'on');
        index = n;
    }
    YAHOO.util.Event.on(next, 'click', function(e){
        var to;
        index > blocs.length-2 ? to=0 : to=index+1;
        focus(to);
        return false;
    });
    YAHOO.util.Event.on(prev, 'click', function(e){
        var to;
        index < 1 ? to=blocs.length-1 : to=index-1;
        focus(to);
        return false;
    });
    focus(0);
}

// Gestion des select appliquant un filtre
function filterBySelect(p_oSelectItem)
{
    var url = '' + document.location;
    if (url.indexOf("?") == -1)
    {
        url += '?';
    }

    var reg    = new RegExp(p_oSelectItem.name + '=[0-9]+', 'g');
    var ancor = new RegExp('(#.*)$', 'g');

    var subUrl = p_oSelectItem.name + '=' + p_oSelectItem.options[p_oSelectItem.selectedIndex].value;
    if (ancoreValue = ancor.exec(url))
    {
        subUrl += ancoreValue[0];
        url = url.replace(ancor, '');
    }
    if (url != url.replace(reg, ''))
    {
        url = url.replace(reg, '');
        if (url.substring(url.indexOf("?",7)) != '?')
        {
            url +='&';
        }
    }
    window.location.replace(url + (p_oSelectItem.options[p_oSelectItem.selectedIndex].value?subUrl:''));
}

// Gestion des codes postaux
function initContactCp(p_sSelector, p_sBlockId)
{
    var fields = YAHOO.util.Selector.query(p_sSelector, p_sBlockId);
    var initField = function(el){
        if(el.value == ''){
            el.value = el.title;
        }else if(el.value != el.title){
           YAHOO.util.Dom.setStyle(el, 'color', 'black');
        }
        var color = YAHOO.util.Dom.getStyle(el, 'color');
        YAHOO.util.Event.on(el, 'focus', function(e){
            if(el.value == el.title){
                el.value = '';
            }
            YAHOO.util.Dom.setStyle(el, 'color', 'black');
        });
        YAHOO.util.Event.on(el, 'blur', function(e){
            if(el.value == ''){
                el.value = el.title;
                YAHOO.util.Dom.setStyle(el, 'color', color);
            }
        });
    }
    for(var i=0; i<fields.length; i++){
        initField(fields[i]);
    }
}
function initPlierDeplier(p_sId){
    var el = YAHOO.util.Selector.query('a.link', p_sId);
    var div = YAHOO.util.Selector.query('div.plier_deplier_elem', p_sId);
    YAHOO.util.Event.on(el, 'click', function(e){
        if(YAHOO.util.Dom.getStyle(div, 'display') == 'none'){
            YAHOO.util.Dom.addClass(this, 'on');
            YAHOO.util.Dom.setStyle(div, 'display', 'block');
        }else{
            YAHOO.util.Dom.removeClass(this, 'on');
            YAHOO.util.Dom.setStyle(div, 'display', 'none');
        }
        return false;
    });
    YAHOO.util.Event.on(el, 'mouseover', function(e){
        this.getElementsByTagName('img')[0].style.display = 'block';
    });
    YAHOO.util.Event.on(el, 'mouseout', function(e){
        this.getElementsByTagName('img')[0].style.display = 'none';
    });
}

var initFAQ = function(p_sFAQId){
    var el = YAHOO.util.Selector.query('a.question_link', p_sFAQId);
    YAHOO.util.Event.on(el, 'click', function(e){
        if(YAHOO.util.Dom.hasClass(this.parentNode, 'on')){
            YAHOO.util.Dom.removeClass(this.parentNode, 'on');
            YAHOO.util.Dom.setStyle(YAHOO.util.Selector.query('div', this.parentNode), 'display', 'none');
        }else{
            this.parentNode.className = 'on';
            YAHOO.util.Dom.setStyle(YAHOO.util.Selector.query('div', this.parentNode), 'display', 'block');
        }
        return false;
    });
    YAHOO.util.Dom.setStyle(YAHOO.util.Selector.query('ul > li .deplier img', p_sFAQId), 'display', 'none');
    YAHOO.util.Event.on(el, 'mouseover', function(e){
        this.parentNode.getElementsByTagName('img')[0].style.display = 'block';
    });
    YAHOO.util.Event.on(el, 'mouseout', function(e){
        this.parentNode.getElementsByTagName('img')[0].style.display = 'none';
    });
}

var netmedia = function(){

    var patchInputIE6 = function(){
        var inputs = document.getElementsByTagName('input');
        var btn = YAHOO.util.Selector.filter(inputs, '[type=submit]');
        YAHOO.util.Event.on(btn, 'mouseover', function(e){
            YAHOO.util.Dom.addClass(this, 'hover');
        });
        YAHOO.util.Event.on(btn, 'mouseout', function(e){
            YAHOO.util.Dom.removeClass(this, 'hover');
        });
    }
    if(YAHOO.env.ua.ie < 7) new patchInputIE6();


    var visio = function(){
        var img = YAHOO.util.Selector.query('.bg_home img');
        var nav = YAHOO.util.Selector.query('.bg_home .nav a');

        var timer;
        var oldVisu;
        var next;

        var focusNext = function(){
            focus(next);
        }

        var focus = function(n){
            n > img.length-2 ? next = 0 : next = n+1 ;
            if(timer != null)
                clearInterval(timer);
            timer = setTimeout(focusNext, 4000);
            var visu = img[n];
            var a = nav[n]
            YAHOO.util.Dom.removeClass(YAHOO.util.Selector.query('.bg_home .nav a.on'), 'on');

               YAHOO.util.Dom.addClass(a, 'on');
               var fadein = new YAHOO.util.Anim(visu, {opacity:{to:1}});
               fadein.animate();
               if(oldVisu != null){
                   var fadeout = new YAHOO.util.Anim(oldVisu, {opacity:{to:0}});
                   fadeout.animate();
               }

            oldVisu = visu;
        }
        var add = function(visu, a, n){
            YAHOO.util.Dom.removeClass(visu, 'hide');
            if(n>0)YAHOO.util.Dom.setStyle(visu, 'opacity', 0)
            YAHOO.util.Event.on(a, 'click', function(e){
               focus(n);
            });
        }
        for(var i=0; i<img.length; i++){
            add(img[i],nav[i],i)
        }
        focus(0);
    }
    if(YAHOO.util.Selector.query('.bg_home').length > 0) new visio();

    var zebra = function(zebraItems){

        // pour chaque item ayant la classe zebra
        for (zebraItem in zebraItems)
        {
            var element = zebraItems[zebraItem];
            // si l'élément n'est pas une balise <table> ou <tbody>, on continu
            if (element.tagName.toLowerCase() != 'table' && element.tagName.toLowerCase() != 'tbody') continue;
            
            // on récupère toutes les lignes du tableau
            var rowsElements = YAHOO.util.Selector.query('tr', element);
            for (rowsElement in rowsElements)
            {
                // si ligne d'entête
                if (rowsElement == 0)
                {
                    var cellElements = YAHOO.util.Selector.query('td', rowsElements[rowsElement]);
                    YAHOO.util.Dom.addClass(cellElements, 'zebra-header');
                }

                // si ligne des titres
                if (rowsElement == 1)
                {
                    var cellElements = YAHOO.util.Selector.query('td', rowsElements[rowsElement]);
                    YAHOO.util.Dom.addClass(cellElements, 'zebra-title');
                }

                // si la ligne est paire ou si n°ligne inférieur à 2, on continu la navigation dans le tableau
                if (!(rowsElement % 2) || rowsElement < 2) continue;

                // on recherche toutes les cellules
                var cellElements = YAHOO.util.Selector.query('td', rowsElements[rowsElement]);

                // et on applique le style zebra-green
                YAHOO.util.Dom.addClass(cellElements, 'zebra-green');
            }
        }
    }
    var zebraItems = YAHOO.util.Selector.query('.zebra');
    if(zebraItems.length > 0) new zebra(zebraItems);
}
YAHOO.util.Event.on(window, 'load', netmedia);