
var divbanniere = 0;
var listbanniere = new Array();
var idbanniere = 0;
var oldbanniere = -1;
var _fadetime = 1.3;
var activebanniere = 1;
var attentebanniere = 0;
var user_online = 0;

function hlPictoBanniere(obj, val) {
    if ((obj) && (obj.id != 'banniere_picto'+oldbanniere)) {
        obj.style.opacity = val;
        obj.style.filter = "alpha(opacity="+(val*100)+")";
    }
}

function displayBanniere() {
    if (oldbanniere > -1) {
        var b = document.getElementById('banniere_div'+oldbanniere);
        if (listbanniere[idbanniere].fade) Effect.Fade('banniere_div'+oldbanniere, { duration: _fadetime });
            else b.style.display = 'none';
    }
    
    hlPictoBanniere(document.getElementById('banniere_picto'+idbanniere),1);
    attentebanniere = listbanniere[idbanniere].temps;
    Effect.Appear('banniere_div'+idbanniere, { duration: _fadetime });
    
    var ob = oldbanniere;
    oldbanniere = idbanniere;
    if (ob > -1) hlPictoBanniere(document.getElementById('banniere_picto'+ob),0.5);
    
    idbanniere += 1;
    if (idbanniere >= listbanniere.length) idbanniere = 0;
}

// C'est cette fonction qui va laisser une pause pour afficher la bannière.
function skipBanniere() {
    if (activebanniere == 0) attentebanniere = listbanniere[idbanniere].temps;
        else attentebanniere -= 500;
    if (attentebanniere <= 0) displayBanniere();
    if (listbanniere.length > 1) window.setTimeout("skipBanniere()",500);
}

function chooseBanniere(num) {
    idbanniere = num;
    displayBanniere();
}

function loadBanniere() {
    divbanniere.style.height = "268px";
    divbanniere.style.backgroundColor = "#FFF";
    var rand=Math.random();
    new Ajax.Request(
        '/php/banniere.php',
        {
        	method: 'get',
        	parameters: {rand:rand},
            onSuccess: function(transport,json) {
                divbanniere.innerHTML = transport.responseText;
                listbanniere = json.liste;
                divbanniere.onmouseover = function(){activebanniere = 0};
                divbanniere.onmousemove = function(){activebanniere = 0};
                divbanniere.onmouseout = function(){activebanniere = 1};
                skipBanniere();
            }
        }
    );
}

function runBanHomeConnecte() {
    if (document.getElementById('banhome').style.display != 'none') {
        new Marquee('marquee', {speed : 3,dirc : 'left'});
        window.setTimeout('loadBanniereConnecte()',60000*4);
    } else window.setTimeout('runBanHomeConnecte()',500);
}

function loadBanniereConnecte() {
    user_online = 1;
    divbanniere.style.backgroundColor = "#FFF";
    var rand=Math.random();
    new Ajax.Updater(
        'banniere',
        '/php/banniere_connecte.php',
        {
        	method: 'get',
        	parameters: {rand:rand},
            evalScripts: true
        }
    );
}

function checkLoggedIn(){
		var rand=Math.random();
    new Ajax.Request(
        '/php/userinfos.php',
        {
        	method: 'get',
        	parameters: {rand:rand},
            onSuccess: function(transport,json) {if (json.online) {if (json.banhome) loadBanniereConnecte(); else window.setTimeout('checkLoggedIn()',60000);} else loadBanniere()}
        }
    );
}

// *** FONCTIONS DE CHARGEMENT DE LA BANNIERE
// Tentatives de chargement toutes les 2 secondes, au maximum 10 fois (si pas chargé pendant tout ce temps,
// c'est soit absence de bannière soit connexion trop lente, donc on abandonne).

var maxBanniereAttempts = 10;

function waitBanniere() {
    divbanniere = document.getElementById('banniere');
    if (!divbanniere) {
        maxBanniereAttempts--;
        if (maxBanniereAttempts > 0) window.setTimeout("waitBanniere()",2000);
        return false;
    }
    checkLoggedIn();
}

waitBanniere();

