// FONTIONS STANDARD DE GESTION DE COOKIES

    function setCookie(name, value, expires, path, domain, secure) {
      var curCookie = name + "=" + escape(value) +
          ((expires) ? "; expires=" + expires.toGMTString() : "") +
          ((path) ? "; path=" + path : "") +
          ((domain) ? "; domain=" + domain : "") +
          ((secure) ? "; secure" : "");
          
      document.cookie = curCookie;
    }

    function getCookie(name) {
      var dc = document.cookie;
      var prefix = name + "=";
      var begin = dc.indexOf("; " + prefix);
      if (begin == -1) {
        begin = dc.indexOf(prefix);
        if (begin != 0) return null;
      } else
        begin += 2;
      var end = document.cookie.indexOf(";", begin);
      if (end == -1)
        end = dc.length;
      return unescape(dc.substring(begin + prefix.length, end));
    }

    // name - name of the cookie
    // [path] - path of the cookie (must be same as path used to create cookie)
    // [domain] - domain of the cookie (must be same as domain used to create cookie)
    // * path and domain default if assigned null or omitted if no explicit argument proceeds

    function deleteCookie(name, path, domain) {
      if (getCookie(name)) {
        document.cookie = name + "=" + 
        ((path) ? "; path=" + path : "") +
        ((domain) ? "; domain=" + domain : "") +
        "; expires=Thu, 01-Jan-70 00:00:01 GMT";
      }
    }

    // date - any instance of the Date object
    // * hand all instances of the Date object to this function for "repairs"

    function fixDate(date) {
      var base = new Date(0);
      var skew = base.getTime();
      if (skew > 0)
        date.setTime(date.getTime() - skew);
    }



////////////////////////////////////////////////////////////////////////////////
//
// GESTION DU PANIER


// Cette fonction ajoute la valeur dans la liste (chaine avec séparateur ",").
// Elle ne fait rien si la liste contenait déjà la valeur
function ajoutListe(liste,valeur)
{
 // Ajout GF 08.2006 : permet de gerer les articles ayant une ref avec virgule
 valeur = valeur.replace(/#/g, '#1');
 valeur = valeur.replace(/,/g, '#2');
 // Fin ajout GF 08.2006 : permet de gerer les articles ayant une ref avec virgule

 if (liste == null) liste="";
 tableau = liste.split(",");
 dejaPresent=false;

 for (i=0;i<tableau.length;i++)
 {
   if (tableau[i] == valeur) dejaPresent = true;
 }
 if (!dejaPresent)
 {
   if (liste == "") liste = valeur;
   else liste = liste + "," + valeur;
 }
 return liste;
}


function viderPanier()
{
	now = new Date();
        now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    // Modif 15-10-04 : Pas de duree de validite de cookie
    now = "";
	setCookie("panier_ref", "" , now, "/");
	setCookie("panier_desi", "" , now, "/");
	setCookie("panier_prix", "" , now, "/");
	setCookie("panier_prixPar", "" , now, "/");
	setCookie("panier_vl", "" , now, "/");
	setCookie("panier_qte", "" , now, "/");
}

function ajoutPanier(reference,designation,prix,prixPar,vl,qte,msg_debut,msg_fin)
{

	// Code pour éviter que des valeurs vides ne se retrouvent
	// dans les cookies (=> décalage de valeurs dans affichage panier)
	if (reference == "") reference = "&nbsp;";
	if (designation == "") designation = "&nbsp;";
	if (prix == "") prix = "&nbsp;";
	if (prixPar == "") prixPar = "&nbsp;";
	if (vl == "") vl = "&nbsp;";
	if (qte == "") qte = "&nbsp;";


	// Récupération du cookie
	contenuPanier_ref = getCookie("panier_ref");
	contenuPanier_desi = getCookie("panier_desi");
	contenuPanier_prix = getCookie("panier_prix");
	contenuPanier_prixPar = getCookie("panier_prixPar");
	contenuPanier_vl = getCookie("panier_vl");
	contenuPanier_qte = getCookie("panier_qte");

	// Ajout de la référence au cookie
	contenuPanier_ref2 = ajoutListe(contenuPanier_ref,reference);
	
	if (contenuPanier_ref2 == contenuPanier_ref)
	{
	  // Le produit existe déjà dans le panier, ne pas ajouter
	  // dans les autres listes
	}
	else
	{
		contenuPanier_ref = contenuPanier_ref2;

		if (contenuPanier_desi== null || contenuPanier_desi == "") 
		     contenuPanier_desi =  designation;
		else contenuPanier_desi = contenuPanier_desi + "," + designation;

		if (contenuPanier_prix== null || contenuPanier_prix == "") 
		     contenuPanier_prix =  prix;
		else contenuPanier_prix = contenuPanier_prix + "," + prix;

		if (contenuPanier_prixPar== null || contenuPanier_prixPar == "") 
		     contenuPanier_prixPar =  prixPar;
		else contenuPanier_prixPar = contenuPanier_prixPar + "," + prixPar;

		if (contenuPanier_vl== null || contenuPanier_vl == "") 
		     contenuPanier_vl =  vl;
		else contenuPanier_vl = contenuPanier_vl + "," + vl;

		if (contenuPanier_qte== null || contenuPanier_qte == "") 
		     contenuPanier_qte =  qte;
		else contenuPanier_qte = contenuPanier_qte + "," + qte;

	}

	now = new Date();
        now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    // Modif 15-10-04 : Pas de duree de validite de cookie
    now = "";
	setCookie("panier_ref", contenuPanier_ref , now, "/");
	setCookie("panier_desi", contenuPanier_desi , now, "/");
	setCookie("panier_prix", contenuPanier_prix , now, "/");
	setCookie("panier_prixPar", contenuPanier_prixPar , now, "/");
	setCookie("panier_vl", contenuPanier_vl , now, "/");
	setCookie("panier_qte", contenuPanier_qte , now, "/");
	
	alert(msg_debut + reference + msg_fin);
	
}

// Retrait d'une ligne du panier
function retraitPanier(position)
{
	// Récupération du contenu du panier	

	panierTemp_ref = new Array();
	panierTemp_desi = new Array();
	panierTemp_prix = new Array();
	panierTemp_prixPar = new Array();
	panierTemp_vl = new Array();
	panierTemp_qte = new Array();

	contenuPanier_ref = getCookie("panier_ref");
	contenuPanier_desi = getCookie("panier_desi");
	contenuPanier_prix = getCookie("panier_prix");
	contenuPanier_prixPar = getCookie("panier_prixPar");
	contenuPanier_vl = getCookie("panier_vl");
	contenuPanier_qte = getCookie("panier_qte");

	if (contenuPanier_ref == null) contenuPanier_ref="";
	if (contenuPanier_desi == null) contenuPanier_desi="";
	if (contenuPanier_prix == null) contenuPanier_prix="";
	if (contenuPanier_prixPar == null) contenuPanier_prixPar="";
	if (contenuPanier_vl == null) contenuPanier_vl="";
	if (contenuPanier_qte == null) contenuPanier_qte="";

	panierTemp_ref = contenuPanier_ref.split(",");
	panierTemp_desi = contenuPanier_desi.split(",");
	panierTemp_prix = contenuPanier_prix.split(",");
	panierTemp_prixPar = contenuPanier_prixPar.split(",");
	panierTemp_vl = contenuPanier_vl.split(",");
	panierTemp_qte = contenuPanier_qte.split(",");

	contenuPanier_ref = "";
	contenuPanier_desi = "";
	contenuPanier_prix = "";
	contenuPanier_prixPar = "";
	contenuPanier_vl = "";
	contenuPanier_qte = "";

	// Reconstruction du panier
	for (i=0;i<panierTemp_ref.length;i++)
	{
	if (i != position)
	{
		if (i==0)
		{
		  contenuPanier_ref = panierTemp_ref[i];
		  contenuPanier_desi = panierTemp_desi[i];
		  contenuPanier_prix = panierTemp_prix[i];
		  contenuPanier_prixPar = panierTemp_prixPar[i];
		  contenuPanier_vl = panierTemp_vl[i];
		  contenuPanier_qte = panierTemp_qte[i];
		}
		else {
		  contenuPanier_ref = contenuPanier_ref + "," + panierTemp_ref[i];
		  contenuPanier_desi = contenuPanier_desi + "," + panierTemp_desi[i];
		  contenuPanier_prix = contenuPanier_prix + "," + panierTemp_prix[i];
		  contenuPanier_prixPar = contenuPanier_prixPar + "," + panierTemp_prixPar[i];
		  contenuPanier_vl = contenuPanier_vl + "," + panierTemp_vl[i];
		  contenuPanier_qte = contenuPanier_qte + "," + panierTemp_qte[i];
		}
	} // fin if
	} // fin for

	now = new Date();
        now.setTime(now.getTime() + 365 * 24 * 60 * 60 * 1000);
    // Modif 15-10-04 : Pas de duree de validite de cookie
    now = "";
	setCookie("panier_ref", contenuPanier_ref , now, "/");
	setCookie("panier_desi", contenuPanier_desi , now, "/");
	setCookie("panier_prix", contenuPanier_prix , now, "/");
	setCookie("panier_prixPar", contenuPanier_prixPar , now, "/");
	setCookie("panier_vl", contenuPanier_vl , now, "/");
	setCookie("panier_qte", contenuPanier_qte , now, "/");
}



var panier_ref = new Array();
var panier_desi = new Array();
var panier_prix = new Array();
var panier_prixPar = new Array();
var panier_vl = new Array();
var panier_qte = new Array();

// fonction remplissant les tableaux ci-dessus avec les valeurs du cookie
function lirePanier()
{
	contenuPanier_ref = getCookie("panier_ref");
	contenuPanier_desi = getCookie("panier_desi");
	contenuPanier_prix = getCookie("panier_prix");
	contenuPanier_prixPar = getCookie("panier_prixPar");
	contenuPanier_vl = getCookie("panier_vl");
	contenuPanier_qte = getCookie("panier_qte");

	if (contenuPanier_ref == null) contenuPanier_ref="";
	if (contenuPanier_desi == null) contenuPanier_desi="";
	if (contenuPanier_prix == null) contenuPanier_prix="";
	if (contenuPanier_prixPar == null) contenuPanier_prixPar="";
	if (contenuPanier_vl == null) contenuPanier_vl="";
	if (contenuPanier_qte == null) contenuPanier_qte="";

	panier_ref = contenuPanier_ref.split(",");
	panier_desi = contenuPanier_desi.split(",");
	panier_prix = contenuPanier_prix.split(",");
	panier_prixPar = contenuPanier_prixPar.split(",");
	panier_vl = contenuPanier_vl.split(",");
	panier_qte = contenuPanier_qte.split(",");

	// Ajout GF 08.2006 : parcours des ref pour retablir les virgules
	for (var i = 0; i < ((panier_ref) ? panier_ref.length : 0); i++)
	{
		panier_ref[i] = panier_ref[i].replace(/#1/g, '#');
		panier_ref[i] = panier_ref[i].replace(/#2/g, ',');
	}
	// Fin ajout GF
}

