$(function(){
    var base = $('div.baseDiaporama');
    if (base.length == 0) {
        return;
    }
    var border = 0;
    var courant = 0;
    var timer = null;
    var elements = $('div.elementDiaporama');
    $('div.affichage').parent().css('display','none');
    timer = setInterval(function(){
        changer(1);
    }, 5000);
    $('div.imageElementDiaporama img', elements.get(0)).load(function(){
        clearInterval(timer);
        timer = setInterval(function(){
            changer(1);
        }, 5000);
    });
    elements.each(function(i, e){
        var e = $(e);
        e.remove().appendTo(base).fadeOut(0);
        var img = $('div.imageElementDiaporama img', e);
        $('div.imageElementDiaporama', e).css('background-image', 'url(' + img.attr('src') + ')');
        img.hide();
        var a = $('a', e);
        $('div.contenuElementDiaporama', e).data('lien', a.attr('href')).click(function(){
            if ($(this).data('click')) {
                $(this).data('click')();
                return;
            }
            window.location = $(this).data('lien');
        }).attr('title', a.text()).fadeTo(0, .7);
        if (a.attr('onclick')) {
            $('div.contenuElementDiaporama', e).data('click', a.attr('onclick'));
        }
        a.parent('p').remove();
    });
    if (elements.length > 1) {
        var precedent = $('<div class="precedentDiaporama" />');
        precedent.hover(boutonOver, boutonOut).click(elementPrecedent);
        var suivant = $('<div class="suivantDiaporama" />');
        suivant.hover(boutonOver, boutonOut).click(elementSuivant);
        base.prepend(precedent).prepend(suivant);
        precedent.fadeTo(0, .5);
        suivant.fadeTo(0, .5);
        base.hover(function(){
            clearInterval(timer);
        }, function(){
            timer = setInterval(function(){
                changer(1);
            }, 5000);
        });
    }
    $('div.elementDiaporama:first').fadeIn(0).css('z-index', 2);
    $('div.elementDiaporama:first div.contenuElementDiaporama').fadeTo(0, 0).fadeTo(1000, .7);
    function elementPrecedent(){
        changer(-1);
    };
    function elementSuivant(){
        changer(1)
    };
    function boutonOver(){
        $(this).stop(true).fadeTo(200, .8);
    };
    function boutonOut(){
        $(this).stop(true).fadeTo(200, .5);
    };
    function changer(sens){
        var ancien = courant;
        courant += sens;
        if (courant < 0) {
            courant = elements.length - 1;
        }
        else 
            if (courant > elements.length - 1) {
                courant = 0;
            }
        $(elements[courant]).css('z-index', 1).fadeIn(0);
        $('div.contenuElementDiaporama', elements[courant]).fadeTo(0, 0);
        $(elements[ancien]).css('z-index', 2).fadeOut(500, function(){
            $('div.contenuElementDiaporama', elements[courant]).fadeTo(1000, .7);
        });
    }
    function placer(){
        var pos = base.offset();
        elements.css({
            'top': pos.top + border,
            'left': pos.left + border
        });
        if (elements.length > 1) {
            var posBoutons = pos.top + (base.height() / 2) + border - (precedent.height() / 2);
            precedent.css({
                'top': posBoutons,
                'left': pos.left + border
            });
            suivant.css({
                'top': posBoutons,
                'left': pos.left + base.outerWidth() - border - suivant.outerWidth()
            });
        }
    }
    $(window).resize(placer);
    placer();
});

