/*------------------------------------------*/
/* Fonction chargee de l'affichage du titre */
function AnimTitre() {
    /* declaration des variables locales */
    var AffichT;
    /* Si le caractere a afficher est un espace, on passe au suivant */
    if (titre.substring(compteurT-1,compteurT) == ' ')
        compteurT++;
    /* On determine la chaine a afficher */    
    AffichT = titre.substring(0,compteurT);    
    /* On affiche cette chaine */
    document.getElementById("cadretitre").innerHTML = AffichT;
    /* On incremente le compteur, et si il y a encore des caracteres a afficher,
       on appelle de nouveau la fonction */
    compteurT++
    if (compteurT <= tailleT)
        setTimeout(AnimTitre,180);
}

/* ---------------------------------------------------- */
/* Fonction se chargeant d'initier l'affichage du titre */
function AffTitre(niveau1, niveau2) {
    /* On determine le titre a afficher */
    if (niveau2 == 0)
        /* Si il n'y a pas de sous-menu, on affiche l'intitule du premier niveau */
        titre = menu[niveau1][0][0];
    else
        /* Si il y a un sous-menu, on affiche son intiutle */
        titre = menu[niveau1][niveau2][0];
    /* On met le titre en majuscules, et on y ajoute un point */
    titre = titre.toUpperCase()+'.';
    /* On calcul la longueur du titre */
    tailleT = titre.length;
    /* On initialise la compteur */
    compteurT = 1;
    /* On appelle la fonction d'affichage */
    AnimTitre();
}

/*-----------------------------------------------------------------------*/
/* Fonction pour effacer les onglets et les choix du 2eme niveau du menu */ 
function MenuEfface() {
    /* declaration des variables locales */
    var i1, i2;
    /* on parcours tous les choix du menu (au niveau 1) */
    for (i1=1; i1 < menu.length; i1++) {
        if (menu[i1][0][0]) {
            /* Le menu est mis en couleur noire (non selectionne) */
            document.getElementById('menu_n'+i1).style.color = "#000000";
            /* On test si pour ce choix, il y a un menu de niveau 2 */
            if (menu[i1].length > 1) {  /* Dans ce cas : */
                /* On mais les differents choix du sous-menu en noir */
                for (i2=1; i2 < menu[i1].length; i2++) {
                    if (menu[i1][i2][0]) {
                        document.getElementById('menu_n'+i1+'_'+i2).style.color = "#000000";
                    }
                }
                /* On masque le sous-menu */
                document.getElementById('smenu_n'+i1).style.display = "none";
            }
        }
    }
}

/* --------------------------------------------------- */
/* Fonction appellee lorsque l'on clique sur un bouton */
function MenuActive(niveau1, niveau2, niveau3, redirection) {
/* niveau1, niveau2 et niveau 3 : identifie le bouton sur lequel on clique
   redirection : indique si il faut ou non appeler la nouvelle page */
    /* declaration des variables locales */
    var i3;
    /* On efface les sous-menu */
    MenuEfface();
    /* On met le premier niveau (sur lequel on a clique) en rouge */
    document.getElementById("menu_n"+niveau1).style.color = "#FF0000";
    /* Si il y a un sous-menu pour ce choix, on l'affiche */
    if (menu[niveau1].length > 1)
        document.getElementById("smenu_n"+niveau1).style.display = "block";
    /* Si il y a un choix du sous-menu selectionne, on le met en rouge */
    if (niveau2 != 0)
        document.getElementById("menu_n"+niveau1+"_"+niveau2).style.color = "#FF0000";
    /* Si necessaire, on cre les onglets correspondants */
    if ((menu[niveau1][niveau2].length > 1) && !redirection) {
        contenu = '<table><tr>';    /* debut de la table a inserer */
        total=1;                    /* on initialise le compteur */
        /* On selectionne automatiquement le premier onglet si aucun choix n'est fait */
        if (niveau3 == 0) niveau3 = 1;
        /* Pour chaque onglet : */
        for (i3=1; i3 < menu[niveau1][niveau2].length; i3++, total++) {
            if (menu[niveau1][niveau2][i3]) {
                /* Si il y a plus de trois onglets, on va a la ligne */
                if (total > 3) {
                    total=0; contenu += ('</tr><tr>');
                }
                /* On insere les onglets (en affectant le bon style suivant que l'onglet
                   est selectionne ou pas) */
                if (i3 == niveau3)
                    contenu += '<td><a href="javascript:MenuActive('+niveau1+
                    ','+niveau2+','+i3+',true)" class="lienOngletS">';
                else
                    contenu += '<td><a href="javascript:MenuActive('+niveau1+
                    ','+niveau2+','+i3+',true)" class="lienOnglet">';
                /* On insere l'intitule de l'onglet */
                contenu += menu[niveau1][niveau2][i3]+'</a></td>';
            }
        }
        /* On termine la table a afficher */
        contenu += '</tr></table>';
        /* On affiche le tout */
        with (document.getElementById("cadreonglets")) {
            innerHTML = contenu;
            style.display = 'block';
        }
    }
    
    /* On affiche la page correspondant au choix de l'utilisateur */
    if (redirection && (menu_url[niveau1][niveau2][niveau3] != ""))
        location.href = rep_origine + menu_url[niveau1][niveau2][niveau3];
}

/* --------------------------------- */
/* Fonction pour l'affichage du menu */
function AffMenu(niveau1, niveau2, niveau3) {
    /* on declare les variables locales */
    var i1, i2, contenu;
    /* On initialise la variable */
    contenu = "";
    /* On parcourt tous les choix du premier niveau du menu */
    for (i1=1; i1 < menu.length; i1++) {
    	if (menu[i1][0][0]) {
            /* Pour chaque choix on cree le lien correspondant */
            contenu += '<a href="javascript:MenuActive('+i1+',0,0,true)" ' +
                    'class="lienmenu" id="menu_n'+i1+'">'+menu[i1][0][0]+'</a>';
            /* On regarde si il y a un sous-menu */
            if (menu[i1].length > 1) {
                /* On cree le cadre pour le sous-menu */
                contenu += '<div class="cadresousmenu" id="smenu_n'+i1+'">';
                /* Pour chaque choix du sous-menu on cree le lien correspondant */
                for (i2=1; i2 < menu[i1].length; i2++)
    	            if (menu[i1][i2][0]) {
                        contenu += '<a href="javascript:MenuActive('+i1+','+i2+',0,true)" '+
                            'class="liensousmenu"  id="menu_n'+i1+'_'+i2+'">'+
                            menu[i1][i2][0]+'</a>';
                    }
                /* On ferme le cadre du sous-menu */
                contenu += '</div>';    
            }
        }
    }
    /*On affiche le menu (dans le cadre correspondant)*/
    document.getElementById("cadrenav").innerHTML = contenu;
    /*On utilise la fonction MenuActive pour afficher le bon sous-menu et les onglets*/
    if (niveau1==0) 
        MenuEfface();
    else
        MenuActive(niveau1, niveau2, niveau3, false);
}

