//ecrire un cookie (remplacer le contenu)
function EcrireCookie(nom, valeur){
	var argv=EcrireCookie.arguments;
	var argc=EcrireCookie.arguments.length;
	var expires=(argc > 2) ? argv[2] : null;
	var path=(argc > 3) ? argv[3] : "/";//accessible pour tous les répertoires du site
	var domain=(argc > 4) ? argv[4] : null;
	var secure=(argc > 5) ? argv[5] : false;
	document.cookie=nom+"="+escape(valeur)+((expires==null) ? "" : ("; expires="+expires.toGMTString()))+((path==null) ? "" : ("; path="+path))+((domain==null) ? "" : ("; domain="+domain))+((secure==true) ? "; secure" : "");
}

//lire un cookie, null si il n'existe pas
function getCookieVal(offset){
	var endstr=document.cookie.indexOf (";", offset);
	if (endstr==-1) endstr=document.cookie.length;
	return unescape(document.cookie.substring(offset, endstr)); 
}

function LireCookie(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 getCookieVal(j);
		i=document.cookie.indexOf(" ",i)+1;
		if (i==0) break;
	}
	return ""; 
}

function chaine2array(laChaine, leSep) { // eclate une chaine ayant des separateurs en un tableau
	var r = new Array;
	//var reg = new RegExp(leSep);
	r = laChaine.split(leSep);
	return r;
}

function getValParam(laChaine, nomParam) { // equiv queryString
	var lParams = new Array;
	var leParam = new Array;
	var reg = new RegExp("[?&]");
	lParams = chaine2array(laChaine, reg);  
	for (var i=0; i<lParams.length; i++) {
		leParam = chaine2array(lParams[i], "="); 
		if (leParam[0] == nomParam) {
			return(leParam[1]);
			}
	}
	return("");
}

function setValParam(laChaine, nomParam, valeur) { // change la valeur du parametre
	var lParams = new Array;
	var leParam = new Array;
	var reg = new RegExp("[?&]");
	lParams = chaine2array(laChaine, reg);  
	var sNew = "?";
	var sep = "";
	for (var i=0; i<lParams.length; i++) {
		sNew += sep
		leParam = chaine2array(lParams[i], "="); 
		if (leParam[0] == nomParam) {
			sNew += leParam[0] + "=" + valeur;
		}
		else {
			sNew += lParams[i];			
		}
		sep = "&";
	}
	//alert(laChaine + String.fromCharCode(13) + sNew);
	return(sNew);
}
