//jQuery's noConflict mode
jQuery.noConflict();

jQuery(document).ready(function(){
    initLevel2Menu();
    
    if(jQuery('#indicatorsSlideshow')) {
        jQuery('#indicatorsSlideshow .groupBrowser li a').click(initMultiSlideShow);
        jQuery('#indicatorsSlideshow .groupBrowser li:first a').trigger('click');
        
    }
    
    if(jQuery('#homeNews')) {
        initNewsSlideshow();
    }
});

/**
 * Gestion du multi slideshow
 */
var msCurrentGroup;
var msCurrentImages;
var msCurrentImageName = -1;
function initMultiSlideShow() {
    msCurrentGroup = jQuery(this).parent();
    var conteneurImage =  jQuery('#indicatorsSlideshow .slide .images');
    var browser = jQuery('#indicatorsSlideshow .slide .browser');
    
    //on reset les  valeurs
    msCurrentImageName = -1
    msCurrentImages = null
    conteneurImage.children('img').remove();
    browser.children('.puce').children('a').remove();
     jQuery('#indicatorsSlideshow .groupBrowser li a').removeClass('active');
      jQuery('#indicatorsSlideshow .slide .arrow .prev').unbind('click');
      jQuery('#indicatorsSlideshow .slide .arrow .next').unbind('click');
    
    
    //on ajoute le style sur le lien
    jQuery(this).addClass('active');
    
    //copie des images dans le conteneur
    jQuery(this).next().children('img').clone().appendTo(conteneurImage);
    
    //préparation du slideshow
    msCurrentImages = conteneurImage.children('img');
    var cpt = 0;
    var a;
    msCurrentImages.each(function(){
        jQuery(this).addClass('item_'+cpt);
        
        //on ajoute la puce
        a =jQuery('<a/>').attr('href','javascript:;')
                            .addClass('item_'+cpt)
                            .html('&nbsp;');
       a.appendTo(browser.children('.puce'));
       a.click(function(){
           msTimer(parseInt(jQuery(this).attr('class').substr(5)));
       })
        
        cpt++;
    })
    
    //on prépare les flêches
    jQuery('#indicatorsSlideshow .slide .arrow .prev').click(function(){
        if(jQuery(this).hasClass('activePrev')) {
            msTimer(msCurrentImageName-1);
        }
    })
    jQuery('#indicatorsSlideshow .slide .arrow .next').click(function(){
        if(jQuery(this).hasClass('activeNext')) {
            msTimer();
        }
    })
    
    //lancement du slideshow
    msTimer();
}

function msTimer(newName) {
    var conteneurImage =  jQuery('#indicatorsSlideshow .slide .images');
    var browser = jQuery('#indicatorsSlideshow .slide .browser');
    
    //on reset tous les autres en dehors du current
    conteneurImage.children('img').fadeOut('slow');
    browser.children('.puce').children('a').removeClass('active');
    
    //on cherche le nom de la nouvelle image
    if(newName != null) {
        if(newName >= 0) {
            msCurrentImageName = newName;
        }else{
            msCurrentImageName = 0; 
        }
    }else {
        msCurrentImageName++; 
        if(msCurrentImageName >= browser.children('.puce').children('a').length) {
            msCurrentImageName = 0;
        }
    }
    
    //on replace l'image courante
    var img =  conteneurImage.children('.item_'+msCurrentImageName);
    img.css({left:parseInt((510-parseInt(img.width()))/2)+'px', top:parseInt((330-parseInt(img.height()))/2)+'px'});
    
    //on active la courante
   img.fadeIn('slow');
    browser.children('.puce').children('.item_'+msCurrentImageName).addClass('active');
    
    //on change l'affichage de l'état
    browser.children('.state').html((msCurrentImageName+1)+' / '+conteneurImage.children('img').length);
    
    //on gère les flêches
    if(msCurrentImageName == 0) {
        jQuery('#indicatorsSlideshow .slide .arrow .prev').removeClass('activePrev');
    }else {
        jQuery('#indicatorsSlideshow .slide .arrow .prev').addClass('activePrev');
    }
    if(msCurrentImageName >= (browser.children('.puce').children('a').length-1)) {
        jQuery('#indicatorsSlideshow .slide .arrow .next').removeClass('activeNext');
    }else {
        jQuery('#indicatorsSlideshow .slide .arrow .next').addClass('activeNext');
    }
}


/**
 * Gestion du slideshow de news sur la home
 */
var timerNews = -1;
var timerHomeNews;
var timerDurationNews = 5000;
function initNewsSlideshow() {
    var slide = jQuery('#homeNews');
    var list = slide.children('.list');
    var browse = jQuery('<ul />').addClass('browse')
    list.append(browse);
                                               
    list.css('height','132px');
    var li;
    var a;
    var i = 0;
    list.children('.item').each(function() {
        //on change le style de la news
        jQuery(this).addClass('jsStyle');
        
        //on remplit le browser de news
        a = jQuery('<a/>').attr('href','javascript:;')
                                            .addClass('item'+i)
                                            .html('&nbsp;')
        li = jQuery('<li />').append(a);        
        a.click(function(){
            homeNewsTimer(jQuery(this).attr('class').substr(4));
        });
                                                    
        browse.append(li);
        
        i++;
    });
    
    //on lance le timer
    homeNewsTimer();
    //timerHomeNews = setInterval('homeNewsTimer()',timerDurationNews);
    
}

function homeNewsTimer(newCount) {
    clearInterval(timerHomeNews);
    
    var slide = jQuery('#homeNews');
    var list = slide.children('.list');
    var browse = list.children('.browse');
    
    //on cache la puce précédente
    if(browse.children('li').children('.item'+timerNews)) {
        browse.children('li').children('.item'+timerNews).parent().removeClass('active');
    }
    
    //on gère le nouvel item
    if(newCount) {
        timerNews  = newCount;
    }else {
        timerNews++; 
        if(timerNews >= list.children('.item').length) {
            timerNews = 0;
        }
    }
    
    //on affiche la nouvelle en cours
    if(browse.children('li').children('.item'+timerNews)) {
        browse.children('li').children('.item'+timerNews).parent().addClass('active');
    }
    
    //on affiche la news
    var i = 0;
    list.children('.item').each(function() {
        if(i == timerNews) {
            jQuery(this).fadeIn('slow');
        }else {
            jQuery(this).fadeOut('slow');
        }
        i++;
    });
    
    timerHomeNews = setInterval('homeNewsTimer()',timerDurationNews);
}

/**
 * Gestion de l'affichage du menu de second niveau
 */
function initLevel2Menu() {
    jQuery('#mainMenu .level1 li .level2').hide();
    jQuery('#mainMenu .level1 li a').mouseenter(showThisMenu);
    jQuery('#mainMenu .level1 li').mouseleave(hideThisMenu);
}

function showThisMenu() {
    jQuery(this).next().show();
}

function hideThisMenu() {
    jQuery(this).children('.level2').hide();
}
