// *******************************************
// ** Procedures de gestion des pages de liens
// *******************************************
// - DefMenuLiens(rang,lien,libelle)
// - DefLienSite(lien,libelleg,libellem)
// - DefLienSiteB(lien,libelleg,libellem,banniere)
// - Haut2Page_Liens(nom)
var RangReserveLien = 9;

// --------------------------------------------------
// primitives de construction pour les pages de liens
// --------------------------------------------------
// - Haut2PageLiens_Std(nom)
// - MenuLiens_Std()
// - ListeLiens_Std()
// - Bas2Page_Liens()

// Fonction standard d'affichage du haut de page d'une page de liens
function Haut2PageLiens_Std(nom)
{
   Haut2Page_Std();
   Aff("<center>"+DTb({L:"100%"})+DLigA("","M","C"));
   Aff(DCas());
   LogoPage("Logo.gif","","","");
   Aff(CCas("")+"<b><font color=\"#000000\"><font size=+3>Liens vers des sites sur "+nom+"</font></font></b>");
   Aff(CCas(""));
   LogoPage("Logo.gif","","","");
   Aff(FTableau());
   CartoucheArrondi("CBleu","","<b>&nbsp;Vous trouverez ici une liste de liens permettant d'en savoir plus.&nbsp;</b>","80%");
   Aff("</center>");
}

// Affiche le menu d'une page de liens
function MenuLiens_Std()
{
   while (LLiens.NbList<LLiens.NbDecl)
   {
      if (LLiens.E[LLiens.NbList].Rang==1)
      {
         Aff("<br><b><font size=+1>");
         Aff(Lien(LLiens.E[LLiens.NbList].Libe,"#"+LLiens.E[LLiens.NbList].Lien));
         Aff("</font></b>");
      }
      LLiens.NbList++;
   }
}

// Affiche un en tete de chapitre d'une page de liens
function AfficheLiens_Chapitre()
{
   Aff("<p>");

   if (LLiens.E[LLiens.NbUtil].Rang==1)
   {
      Aff("<hr width=\"100%\">");
      Aff("<font size=+1>");
   }

   Aff("<b><font color=\"#000099\">");  
   DefBalise(LLiens.E[LLiens.NbUtil].Lien);
   Aff(LLiens.E[LLiens.NbUtil].Libe+" :");
   Aff("</font></b>");     

   if (LLiens.E[LLiens.NbUtil].Rang==1) Aff("</font>");
}

// Affiche un cartouche de lien d'une page de liens
function AfficheLiens_Lien()
{
   Aff(DTb()+DLigA("","M","")+DCasD("40",""));
   Aff(CCas(""));
   Aff(DL({I:DI({F:"Ordinateur.gif",T:LLiens.E[LLiens.NbUtil].Libe,H:"20",L:"16"}),
           L:LLiens.E[LLiens.NbUtil].Lien,C:"_blank"}));
   Aff(CCas("")+"&nbsp;"+LLiens.E[LLiens.NbUtil].Libe);
   Aff(FTableau());
   if (LLiens.E[LLiens.NbUtil].Bann!="")
   {
   // Ligne d'espacement
   Aff(DTb()+DLig()+DCasD("","3")+FTableau());
      Aff("<center>");
	  Aff(DL({I:DI({F:LLiens.E[LLiens.NbUtil].Bann,T:LLiens.E[LLiens.NbUtil].Libe}),
	          L:LLiens.E[LLiens.NbUtil].Lien,C:"_blank"}));
      Aff("</center>");
   }
   // Ligne d'espacement
   Aff(DTb()+DLig()+DCasD("","3")+FTableau());
}

// Affiche le corps de la page de liens (chapitres et liens)
function ListeLiens_Std()
{
   while (LLiens.NbUtil<LLiens.NbDecl)
   {
      if (LLiens.E[LLiens.NbUtil].Rang==RangReserveLien)
	         AfficheLiens_Lien();
        else AfficheLiens_Chapitre();
	  LLiens.NbUtil++;
   }
}

// Bas de page pour liens
function Bas2Page_Liens()
{
   Bas2Page_Std();
}

// ------------------------------------
// fonctions simplifiées pour les liens
// ------------------------------------
// - DefMenuLiens(rang,lien,libelle)
// - DefLienSite(lien,libelleg,libellem)
// - DefLienSiteB(lien,libelleg,libellem,banniere)
// - Haut2Page_Liens(nom)

function DefListeLiens(rang,lien,libelle,banniere)
{
    if (!window.LLiens) window.LLiens=DeclListe();
    LLiens.E[LLiens.NbDecl] = {Rang:rang,Lien:lien,Libe:libelle,Bann:banniere};
    LLiens.NbDecl++;
}

// Declaration d'une ligne de menu pour les liens
function DefMenuLiens(rang,lien,libelle)
{
   DefListeLiens(rang,lien,libelle,"");
}

// Declaration d'un lien sans banniere
function DefLienSite(lien,libelleg,libellem)
{
   DefListeLiens(RangReserveLien,lien,"<b>"+libelleg+"</b>"+libellem,"");
}

// Declaration d'un lien avec banniere
function DefLienSiteB(lien,libelleg,libellem,banniere)
{
   DefListeLiens(RangReserveLien,lien,"<b>"+libelleg+"</b>"+libellem,banniere);
}

// Affichage de la page complete
function Haut2Page_Liens(nom)
{
   DefPagesAssociees("","","","","");
   Haut2PageLiens_Std(nom);
   MenuLiens_Std();
   ListeLiens_Std();
   Bas2Page_Liens();
}
