// Duree de validite du cookie par defaut
var VALIDITE_COOKIE = "62";
// Chaine de caracteres qui va prefixer le nom de tous les cookies poses
var PREFIX_COOKIE = "COF_";
// Nom par defaut du cookie
var NOM_COOKIE = "provenance";


// Pose un cookie sur le poste client, contenant la valeur 'value'
function setCookie (value) 
{
	// Par defaut le cookie portera le nom NOM_COOKIE
	setCookieName (NOM_COOKIE, value);
}


// Pose un cookie sur le poste client, dont le nom est 'name' et contenant la valeur 'value'
function setCookieName (name, value) 
{
	
	setCookieNameExpire (name, value, VALIDITE_COOKIE);
}

// Pose un cookie valide pendant 'nbjours' jours sur le poste client, dont le nom est 'name' et contenant la valeur 'value'
function setCookieNameExpire (name, value, nbjours) 
{
	// On calcule la date d'expiration
	var date = new Date();
	date.setTime(date.getTime()+(nbjours*24*60*60*1000));
	
	// On pose le cookie
	cookieValue = PREFIX_COOKIE + name + "=" + 
						escape (value) +
						"; " +	"expires=" + date.toGMTString()+";path=/";
	// Le probleme est ici avec la date d'expiration
	document.cookie = 	cookieValue;
}

// Retourne le cookie correspondant au nom 'name'
// null si cookie non trouve ou expire
function getCookie () 
{
	return (getCookieName(NOM_COOKIE));
}

// Retourne le cookie correspondant au nom 'name'
// null si cookie non trouve ou expire
function getCookieName (name) 
{
	var arg = PREFIX_COOKIE + name + "=";
	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;
}

// Supprime le cookie par defaut
function deleteCookie () 
{
	deleteCookieName(NOM_COOKIE);
}

// Supprime le cookie de nom 'name' s'il existe
function deleteCookieName (name) 
{
	var exp = new Date();
	exp.setTime (exp.getTime() - 1);
	var supval = getCookieName (name);
	if (supval != null)
		document.cookie = PREFIX_COOKIE + name + "=" + supval + "; expires=" + exp.toGMTString(); 
}



// Calcule la date d'expiration : date actuelle + nbjours
function getDateExpiration (nbjours)
{
	// date expiration dans nbjours
	var expdate = new Date();
	var dateExp = expdate.toGMTString() + (nbjours*24*60*60*1000);
	return dateExp;
}


// Recupere la valeur du cookie 'offset'
function getCookieVal (offset) 
{ 
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr == -1) endstr = document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr)); 
}




