/*
Un nom et une valeur (nom=valeur): Le nom permet d'identifier le cookie. Sa valeur est un texte qui constitue le contenu du cookie.

• Une date d'expiration (expires=date-au-format-GMT): Au format GMT (ex: Tue, 31-Dec-2002 08:00:00 GMT),
elle est facultative. Si elle est omise, le cookie "meurt" à la fin de la session en cours du navigateur.
Si elle est spécifiée on parle d'un "cookie persistant".

• Un chemin d'accès (path=chemin-d-accès): Il indique la partie de l'URL pour laquelle le cookie est valable.
Une page HTML pourra lire les cookies de ses sur-répertoires jusqu'à la racine du site:
ex: http://www.domaine.com/repertoire/index.htm lira les cookies des répertoires http://www.domaine.com/ et http://www.domaine.com/repertoire/
En revanche, elle ne pourra pas lire les cookies de ses sous-répertoires:
ex: http://www.domaine.com/index.php ne pourra pas lire les cookies du répertoire http://www.domaine.com/repertoire/
Pour qu'un cookie soit accessible depuis tous les répertoires d'un site, il faudra donc spécifier path="/".
Enfin, si le chemin d'accès est omis, il prendra la valeur par défaut du chemin de la page HTML qui écrit le cookie, ce qui est dans bien des cas suffisant.

• Un domaine de validité (domain=domaine-de-validité): Il indique le serveur pour lequel le cookie est valable (ex: www.domaine.com). S'il n'est pas spécifié il prend la valeur par défaut du domaine de la page HTML qui écrit le cookie, ce qui est, dans la grande majorité des cas, l'effet recherché.
Pour des raisons de sécurité, il ne semble cependant pas possible (on a essayé), qu'un site web place des cookies qui seront relus par un autre site.

• Un attribut de sécurité (secure): S'il existe, le cookie ne sera transmis que si la connexion vers le serveur est sécurisée (protocole HTTPS et non HTTP).
*/

function WriteCookie(name, value)
{
	var argv=WriteCookie.arguments;
	var argc=WriteCookie.arguments.length;

	if ((argc>2) && (argv[2]==null)) // Expire dans 1 an (jamais)
	{
		argv[2] = new Date() ;
		argv[2].setTime( (new Date()).getTime() + ( 365*24*60*60*1000 ) );
	}

	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=name+"="+escape(value)+
	((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
	((path==null) ? "" : ("; path="+path))+
	((domain==null) ? "" : ("; domain="+domain))+
	((secure==true) ? "; secure" : "");
}

function getCookieVal(offset)
{
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr));
}

function ReadCookie(name)
{
	var arg=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;
}
