// Durée du cookie avant expiration en jours
var panierDuree = 90*24*60*60*1000 ;
var panierSeparateur = ',' ;
var panierProduits = ['location','vente','commerce','vacances','vide-grenier'] ;
var panierMode = null ;

// Ajoute une référence au panier
function panierAjouter(produit, referenceUrl)
{
	// Lit le panier
	panier = getCookie('panier['+produit+']') ;
	if(panier == null)
		panier = '' ;
	// Ajout de la référence
	var references = panier.split(panierSeparateur) ;
	references.push(referenceUrl) ;
	panier = arrayUnique(arrayFilter(references)).join(panierSeparateur) ;
	// Mise à jour du cookie
	expires = new Date ;
	expires.setTime(expires.getTime()+panierDuree) ;
	setCookie('panier['+produit+']', panier, expires, "/") ;
	// Mise à jour du style
	var eAnnonce = document.getElementById('annonce_'+referenceUrl.replace(/-/, '_')) ;
	if(eAnnonce != null)
		classAdd(eAnnonce, 'panier') ;
}

// Supprime une référence du panier
function panierSupprimer(produit, referenceUrl)
{
	// Lit le panier
	panier = getCookie('panier['+produit+']') ;
	if(panier == null)
		panier = '' ;
	// Suppression de la référence ;
	var references = panier.split(panierSeparateur) ;
	panier = arrayUnique(arrayFilter(arrayUnset(referenceUrl, references))) ;
	// Mise à jour du cookie
	if(panier.length > 0)
	{
		expires = new Date ;
		expires.setTime(expires.getTime()+panierDuree) ;
		setCookie('panier['+produit+']', panier.join(panierSeparateur), expires, "/") ;
	}
	// Suppression du cookie si plus aucune référence
	else
	{
		unsetCookie('panier['+produit+']', "/") ;
	}
	// Selon la page...
	if(panierMode == 'panier')
	{
		// Recharchement de la page si nécessaire
		document.location.reload() ;
	}
	else
	{
		// Mise à jour du style
		var eAnnonce = document.getElementById('annonce_'+referenceUrl.replace(/-/, '_')) ;
		if(eAnnonce != null)
			classRemove(eAnnonce, 'panier') ;
	}
}

// Vide le panier
function panierVider(produit)
{
	//  Aucun produit précisé, suppression de tous les produits
	if(produit == null)
	{
		for(i = 0 ; i < panierProduits.length ; i++)
			panierVider(panierProduits[i]) ;
	}
	//  Suppression d'un seul produit
	else
	{
		unsetCookie('panier['+produit+']', "/") ;
	}
	document.location.reload() ;
}

function panierMontrer(produit)
{
	//  Aucun produit précisé, affichage de tous les produits
	if(produit == null)
	{
		s = '' ;
		for(i = 0 ; i < panierProduits.length ; i++)
			s += panierMontrer(panierProduits[i]) + '\n' ;
		return s ;
	}
	//  Suppression d'un seul produit
	else
	{
		panier = getCookie('panier['+produit+']') ;
		if(panier == null)
			return produit+': null' ;
		else
			return produit+': '+panier.split(panierSeparateur).toSource() ;
	}
}
