/** 
 * Copyright (c) 2003 Agglo. de Rouen
 *
 * File : javascript/agglo_cookie.js
 *
 * Fonction : gestion des cookies
 *
 * @author Gilles PARROT 
 *
 **/
 
/************************************************************************************
Ecriture du cookie
nom    --> nom de la variable stockee dans le cookie
valeur --> valeur de cette variable

var date_exp = new Date();
date_exp.setTime(date_exp.getTime()+(365*24*3600*1000));
// Ici on définit une durée de vie de 365 jours
************************************************************************************/
function setAggloCookie (nom, valeur) {
	
	var argv = setAggloCookie.arguments;
	var argc = setAggloCookie.arguments.length;
	
	// Date d'expiration du cookie
	var expires = (argc > 2) ? argv[2] : null;
	
	// Chemin de stockage du cookie
	var path    = (argc > 3) ? argv[3] : null;
	
	
	var domain=(argc > 4) ? argv[4] : null;
	
	var secure=(argc > 5) ? argv[5] : false;
	
	strCookie  = nom + "=" + escape(valeur);
	strCookie += ((expires==null) ? "" : ("; expires="+expires.toGMTString()));
	strCookie += ((path==null) ? "" : ("; path="+path));
	strCookie += ((domain==null) ? "" : ("; domain="+domain));
	strCookie += ((secure==true) ? "; secure" : "");
		
	document.cookie = strCookie;
}


/************************************************************************************
Extraction de la valeur d'une variable
offset --> décalage à partir du début
************************************************************************************/
function getAggloCookieValeur(offset) {
	var endstr = document.cookie.indexOf (";", offset);
	if (endstr==-1) {
  		endstr=document.cookie.length;
	}
	return unescape(document.cookie.substring(offset, endstr));
}


/************************************************************************************
Lecture du cookie
nom    --> nom de la variable stockee dans le cookie
************************************************************************************/
function getAggloCookie (nom) {
	var arg  = nom + "=";
	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 getAggloCookieValeur (j);
        i = document.cookie.indexOf(" ",i)+1;
        if (i==0) {
			break;
		}
	}
	return null;
}

