/* Function : SetCookie

nom         : nom du cookie
valeur      : valeur du cookie (ecrase la valeur precedente)
dureeExpire : en millieme de seconde ex: 24h => 24*60*60*1000, -1 => session
path        : racine arbo ou le cookie est accessible
*/
function SetCookie(nom,valeur,dureeExpire,path)
{

   var expire = ''; //;expires=';

   // positionnement du délai d'expiration du cookie (apres inactivité du client)
   // (-1 => fin de session)
   if (dureeExpire != -1)
   { 
      var demain = new Date();
      demain.setTime(demain.getTime()+dureeExpire);
      var expiration = demain.toGMTString();
      expire = ';expires='+ expiration
   } 

   document.cookie = nom + '=' + valeur + expire + ';path=' + path ;
}

function GetCookie(nom)
{
   var cookieTrouve = false;
   var debut=0;
   var fin =0;
   var chaineDeCookie = document.cookie;
   var i = 0;
   
   // Cherche le cookie
   while (i<=chaineDeCookie.length)
     {
      debut = i;
      fin = debut + nom.length;
      if (chaineDeCookie.substring(debut,fin) == nom)
        {
         cookieTrouve = true;
         break;          
        }
      i++;
     }
     if (cookieTrouve)
        {
        debut = fin + 1;
        fin = document.cookie.indexOf(";",debut)
        if (fin < debut)
        {
           fin = document.cookie.length;
        }
     return document.cookie.substring(debut,fin);
   }
   return "";
}

function AddValueInCookie(nomCookie,valeur,separateur,dureeExpire,path)
{
   var valCookie;
   valCookie = GetCookie(nomCookie) + valeur + separateur;
   SetCookie(nomCookie,valCookie,dureeExpire,path);
}

function DelValueInCookie(nomCookie,valeur,separateur,dureeExpire,path)
{
   var valCookie;
   valCookie = GetCookie(nomCookie);
   valCookie = valCookie.replace(valeur + separateur, '');
   SetCookie(nomCookie,valCookie,dureeExpire,path);
}

function IsInCookie(nomCookie,valeur,separateur)
{
   if (document.cookie.indexOf(valeur+separateur) == -1)
   {
      return false;
   } 
   else
   {
      return true;
   }
}
    