// Fonctions pour la gestion des cookies ///////////////////////////////////////

// Ecriture
function EcrireCookie(nom, valeur)
{
  var argv=EcrireCookie.arguments;
  var argc=EcrireCookie.arguments.length;
  var expires=(argc > 2) ? argv[2] : null;
  var path=(argc > 3) ? argv[3] : null;
  var domain=(argc > 4) ? argv[4] : null;
  var secure=(argc > 5) ? argv[5] : false;
  
  document.cookie=nom+"="+escape(valeur)+
  ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
  ((path==null) ? "" : ("; path="+path))+
  ((domain==null) ? "" : ("; domain="+domain))+
  ((secure==true) ? "; secure" : "");
}

// Lecture
function getCookieVal(offset)
{
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1) endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function LireCookie(nom)
{
var arg=nom+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen)
{
var j=i+alen;
if (document.cookie.substring(i, j)==arg) return getCookieVal(j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;

}
return null;
}

// Suppression
function EffaceCookie(nom)
{
date=new Date;
date.setFullYear(date.getFullYear()-1);
EcrireCookie(nom,null,date);
}

////////////////////////////////////////////////////////////////////////////////

// Affichage/Masquage de blocs DIV /////////////////////////////////////////////
function afficher(baliseId)
{
  if (document.getElementById && document.getElementById(baliseId) != null)
  {
    document.getElementById(baliseId).style.visibility ='visible';
    document.getElementById(baliseId).style.display='block';
  }
}
        
function cacher(baliseId)
{
  if (document.getElementById && document.getElementById(baliseId) != null)
  {
    document.getElementById(baliseId).style.visibility='hidden';
    document.getElementById(baliseId).style.display='none';
  }
}

function montrerPage(numPage, nbPages)
{
  //alert("numPage="+numPage+", nbPages="+nbPages);
  var i = 1;
  while(i <= nbPages)
  {
    if(i != numPage)
    {
      cacher("page" + i);
      document.getElementById("boutonBas" + i).className='boutonPage';
      document.getElementById("boutonHaut" + i).className='boutonPage';
      //alert("cacher(resArtp" + i + ")");
    }
    else
    {
      afficher("page" + i);
      document.getElementById("boutonBas" + i).className='boutonPageSel';
      document.getElementById("boutonHaut" + i).className='boutonPageSel';
      //alert("afficher(resArtp" + i + ")");
    }
    i++;
  }
}

function mini()
{
  cacher('bandeau_max');
  afficher('bandeau_min');
  
  // Ecrire le cookie, valide 6 mois
  date=new Date;
  date.setMonth(date.getMonth()+6);
  EcrireCookie("taille_bandeau", "min", date);
}
function max()
{
  cacher('bandeau_min');
  afficher('bandeau_max');
  
  // Ecrire le cookie, valide 6 mois
  date=new Date;
  date.setMonth(date.getMonth()+6);
  EcrireCookie("taille_bandeau", "max", date);
}

////////////////////////////////////////////////////////////////////////////////

// Gestion du changement de couleur du site ////////////////////////////////////

function EnregistrerCouleur(couleur)
{
  // Ecrire le cookie, valide 6 mois
  date=new Date;
  date.setMonth(date.getMonth()+6);
  EcrireCookie("couleur_site", couleur, date);
}

function ChangerCouleur(couleur)
{
  EnregistrerCouleur(couleur);
  location.reload();
}

function RecupererCouleur()
{
  var couleur = LireCookie("couleur_site");
  var rep_couleur = "";
  
  if(couleur == null)
  {
    rep_couleur = "COULEUR/BLEU"
  }
  else
  {
    rep_couleur = "COULEUR/" + couleur;
  }
  
  return rep_couleur;
}

////////////////////////////////////////////////////////////////////////////////

// Gestion du changement du nombre de résultats par page pour la recherche /////

function ChangerNbResParPage()
{
  // recuperation du nombre d'elements a afficher
  var indexSel = document.getElementById("nbResParPages").selectedIndex;
  var nbAff = document.getElementById("nbResParPages").options[indexSel].value;
  
  // Ecrire le cookie, valide 6 mois
  date=new Date;
  date.setMonth(date.getMonth()+6);
  EcrireCookie("resultats_par_page", nbAff, date);
  
  // rechargement de la page
  location.reload();
}

////////////////////////////////////////////////////////////////////////////////

// Gestion du curseur de la souris /////////////////////////////////////////////

function CurseurMain(objet)
{
  objet.style.cursor = 'pointer';
}
////////////////////////////////////////////////////////////////////////////////

// Gestion de la barre visuel //////////////////////////////////////////////////

function ChangerVisuel()
{
  var idVisuelCourant = 0;
  var cookie_visuel = LireCookie("visuel");
  if(cookie_visuel != null && cookie_visuel < nbVisuels)
  {
    idVisuelCourant = cookie_visuel;
  }
    
  var idNouveauVisuel = parseInt(idVisuelCourant) + 1;
  if (idNouveauVisuel >= nbVisuels)
  {
    idNouveauVisuel = 0;
  }
  
  // Ecrire le cookie, valide 6 mois
  date=new Date;
  date.setMonth(date.getMonth()+6);
  EcrireCookie("visuel", idNouveauVisuel, date);
  
  document.getElementById("visuel").style.backgroundImage = 'url('+jListeVisuels[idNouveauVisuel] + ')';
}

////////////////////////////////////////////////////////////////////////////////

// Gestion du défilement du menu horizontal ////////////////////////////////////

var Timer;
var Pas = 5; // vitesse défilement texte

function moveLayer(Sens) 
{
  var Objet;
  if(document.getElementById)
  {
    Objet = document.getElementById("contenu_menu_h");
  }
  else
  {
    Objet = document.all["contenu_menu_h"];
  }
  
  var gauche = parseInt(Objet.style.left);
  if(isNaN(gauche))
  {
    gauche = 0;
  }
  
  var largeur_div = parseInt(Objet.style.width);
  
  // pour que Firefox calcule la valeur d'offsetWidth, on doit vider la valeur du width
  Objet.style.width = '';
  var largeur_contenu = parseInt(Objet.offsetWidth);
  // on remet la valeur de width
  Objet.style.width = largeur_div + 'px';
  var gauche_min = largeur_div - largeur_contenu;
  
  var gauche_calcul = gauche + (Pas*Sens);
  
  if(gauche_calcul > 10)
  {
    Objet.style.left = "10px";
  }
  else if(gauche_calcul < gauche_min)
  {
    Objet.style.left = gauche_min;
  }
  else
  {
    Objet.style.left = gauche_calcul + "px";
  }
  Timer = setTimeout("moveLayer(" + Sens + ");", 50);
}

function besoin_defil()
{
  var Objet;
  if(document.getElementById)
  {
    Objet = document.getElementById("contenu_menu_h");
  }
  else
  {
    Objet = document.all["contenu_menu_h"];
  }
  
  var largeur_div = parseInt(Objet.style.width);
  
  // pour que Firefox calcule la valeur d'offsetWidth, on doit vider la valeur du width
  Objet.style.width = '';
  var largeur_contenu = parseInt(Objet.offsetWidth);
  // on remet la valeur de width
  Objet.style.width = largeur_div + 'px';
  
  return (largeur_contenu > largeur_div);
}

function defil_droite()
{
  moveLayer(1);
}

function defil_gauche()
{
  moveLayer(-1);
}

function arret_defil()
{
  clearTimeout(Timer);
}

////////////////////////////////////////////////////////////////////////////////

// Gestion du masquage/affichage des éléments du menu à la manière de la barre
// des tâches de Windows XP

function animer_menu(deplier)
{
  var menu;
  var cadre_menu;
  var div_navhaut;
  if(document.getElementById)
  {
    menu = document.getElementById("contenu_menu_h");
    cadre_menu = document.getElementById("cadre_menu_h");
    div_navhaut = document.getElementById("navhautltest");
  }
  else
  {
    menu = document.all["contenu_menu_h"];
    cadre_menu = document.all["cadre_menu_h"];
    div_navhaut = document.all["navhautltest"];
  }
  
  if(menu != null)
  {
    var largeur_div = parseInt(menu.style.width);
  
    // pour que Firefox calcule la valeur d'offsetWidth, on doit vider la valeur du width
    menu.style.width = '';
    var largeur_contenu = parseInt(menu.scrollWidth);
    // on remet la valeur de width
    menu.style.width = largeur_div + 'px';
    
    if(deplier == 1)
    {
      if(largeur_div < largeur_contenu)
      {
        largeur_div += Pas;
        menu.style.width = largeur_div + "px";
        //alert("largeur menu : " + parseInt(menu.style.width));
        cadre_menu.style.width = largeur_div + "px";
        //alert("largeur cadre_menu : " + parseInt(cadre_menu.style.width));
        largeur_navhaut = parseInt(div_navhaut.style.width);
        largeur_navhaut += Pas;
        div_navhaut.style.width = largeur_navhaut + "px";
        //alert("largeur navhaut : " + parseInt(div_navhaut.style.width));
        Timer = setTimeout("animer_menu(" + deplier + ");", 50);
      }
      else
      {
        clearTimeout(Timer);
      }
    }
    else
    {
      if(largeur_div > 600)
      {
        largeur_div -= Pas;
        //alert("largeur : " + largeur_div);
        menu.style.width = largeur_div + "px";
        cadre_menu.style.width = largeur_div + "px";
        largeur_navhaut = parseInt(div_navhaut.style.width);
        largeur_navhaut -= Pas;
        div_navhaut.style.width = largeur_navhaut + "px";
        Timer = setTimeout("animer_menu(" + deplier + ");", 50);
      }
      else
      {
        clearTimeout(Timer);
      }
    }
  }
}

function deplier_menu()
{
  animer_menu(1);
}

function replier_menu()
{
  animer_menu(-1);
}

////////////////////////////////////////////////////////////////////////////////

// Gestion du développement vertical du menu en cas de longueur excessive //////

function largeurContenuDiv(nomDiv)
{
  if(document.getElementById)
  {
    div = document.getElementById(nomDiv+"");
  }
  else
  {
    div = document.all[nomDiv+""];
  }

  var largeur_div = parseInt(div.style.width);
  
  // pour que Firefox calcule la valeur d'offsetWidth, on doit vider la valeur du width
  div.style.width = '';
  var largeur_contenu = parseInt(div.scrollWidth);
  // on remet la valeur de width
  div.style.width = largeur_div + 'px';
  
  return largeur_contenu;
}

function largeurDiv(nomDiv)
{
  if(document.getElementById)
  {
    div = document.getElementById(nomDiv+"");
  }
  else
  {
    div = document.all[nomDiv+""];
  }

  var largeur_div = parseInt(div.style.width);
  
  return largeur_div;
}

function developperMenu(deplier, nbDiv)
{
  var cadre_menu;
  var div_navhaut;
  var cadre_btn_dev;
  var Pas = 33;
  
  if(document.getElementById)
  {
    cadre_menu = document.getElementById("cadre_menu_h");
    div_navhaut = document.getElementById("navhautltest");
    cadre_btn_dev = document.getElementById("divBtnDev");
  }
  else
  {
    cadre_menu = document.all["cadre_menu_h"];
    div_navhaut = document.all["navhautltest"];
    cadre_btn_dev = document.all["divBtnDev"];
  }
  
  if(cadre_menu != null && div_navhaut != null && cadre_btn_dev != null)
  {
    var hauteur_div = parseInt(cadre_menu.style.height);
    //alert("hauteur cadre_menu : " + parseInt(cadre_menu.style.height));
    // pour que Firefox calcule la valeur d'offsetHeight, on doit vider la valeur du height
    cadre_menu.style.height = '';
    var hauteur_contenu = parseInt(cadre_menu.scrollHeight);
    //alert("hauteur contenu : " + parseInt(cadre_menu.scrollHeight));
    // on remet la valeur de height
    cadre_menu.style.height = hauteur_div + 'px';
    
    if(deplier == 1)
    {
//      if(hauteur_div < hauteur_contenu)
      if(hauteur_div < (nbDiv * 33))
      {
        hauteur_div += Pas;
        cadre_menu.style.height = hauteur_div + "px";
        //alert("hauteur cadre_menu : " + parseInt(cadre_menu.style.height));
        hauteur_navhaut = parseInt(div_navhaut.style.height);
        hauteur_navhaut += Pas;
        div_navhaut.style.height = hauteur_navhaut + "px";
        //alert("hauteur navhaut : " + parseInt(div_navhaut.style.height));
        Timer = setTimeout("developperMenu(" + deplier + "," + nbDiv + ");", 50);
      }
      else
      {
        var htmlReplier = '<input type="image" src="' + rep_couleur_commun + '/dev_haut2.gif" name="dev_haut" value="dev_haut" alt="Replier le menu" title="Replier le menu" onClick="javascript:developperMenu(-1,' + nbDivMenu + ')">';
        htmlReplier += '<a href="javascript:developperMenu(-1,' + nbDivMenu + ')" alt="Replier le menu" title="Replier le menu" class="liensMenuH">';
        htmlReplier += '&nbsp;Replier&nbsp;</a>';
        cadre_btn_dev.innerHTML = htmlReplier;
        clearTimeout(Timer);
      }
    }
    else
    {
      if(hauteur_div > 33)
      {
        hauteur_div -= Pas;
        //alert("hauteur : " + hauteur_div);
        cadre_menu.style.height = hauteur_div + "px";
        hauteur_navhaut = parseInt(div_navhaut.style.height);
        hauteur_navhaut -= Pas;
        div_navhaut.style.height = hauteur_navhaut + "px";
        Timer = setTimeout("developperMenu(" + deplier + "," + nbDivMenu + ");", 50);
      }
      else
      {
        var htmlDeplier = '<input type="image" src="' + rep_couleur_commun + '/dev_bas2.gif" name="dev_bas" value="dev_bas" alt="D&eacute;velopper le menu" title="D&eacute;velopper le menu" onClick="javascript:developperMenu(1,' + nbDivMenu + ')">';
        htmlDeplier += '<a href="javascript:developperMenu(1,' + nbDivMenu + ')" alt="D&eacute;velopper le menu" title="D&eacute;velopper le menu" class="liensMenuH">';
        htmlDeplier += '&nbsp;Suite...&nbsp;</a>';
        cadre_btn_dev.innerHTML = htmlDeplier;
        clearTimeout(Timer);
      }
    }
  }
}







////////////////////////////////////////////////////////////////////////////////
