// config
var tempsAffiche = 4000;
var vitesseFade = 1000;
var url = '/images/accueil/';
var premiere = 'photo01.jpg';
var section = 'accueil';

// reste du code
var loaded = new Array(false);
var $photos = new Array();
var actuelle = 0;
var fichiers = new Array(premiere);

$(function()
{
    $('#contenu img').hide();
    $loading = $('<div style="color:#fff"><img src="/images/loading.gif" style="position:relative;top:3px;margin-right:10px">Chargement</div>').css({top: '140px', left: '250px', position: 'absolute'}).appendTo('#contenu');
    var img0 = new Image();
    $photos[0] = $(img0).load(function()
    {
        $(this).hide().appendTo('#contenu').fadeIn(vitesseFade);
        $loading.fadeOut(vitesseFade);
        loaded[0] = true;
        preload();      
        setTimeout('rotate()', tempsAffiche);
    }).attr('src', url+premiere);
});

function preload()
{
    $.getJSON('/ajax.php', {section: section}, function(data){
        fichiers = data
        var old_loaded = loaded;
        loaded = new Array(fichiers.length);
        loaded[0] = old_loaded[0];
        for (var i = 1; i < loaded.length; i++)
        {
            loaded[i] = false;
        }
        
        setTimeout('loadNext()', 500);   
    });
}

function loadNext()
{
    var next = -1;
    var i = 0;
    
    while (next == -1 && i < fichiers.length)
    {
        if (loaded[i] == false)
        {
            next = i;
        }
        i++;
    }
    
    if (next != -1)
        loadImage(next);    
}

function loadImage(indice)
{
    var img = new Image();
    $photos[indice] = $(img).load(function(){
        $(this).hide();
        $(this).appendTo('#contenu');
        loaded[indice] = true;
        loadNext();
    }).attr('src', url + fichiers[indice]);
}

function rotate()
{
    prochaine = actuelle + 1;
    prochaine = prochaine >= fichiers.length ? 0 : prochaine;
    if (loaded[prochaine])
    {
        $photos[actuelle].fadeOut(vitesseFade);
        $photos[prochaine].fadeIn(vitesseFade);
        actuelle = prochaine;
    }
    setTimeout('rotate()', tempsAffiche);
}

