// save_to_cookie
function save_to_cookie(frm, name)
{
	document.cookie = name + '=' + $(frm).serialize() + ';path=/';
}

// load_from_cookie
function load_from_cookie(frm, name)
{
	// initialisation
	var re = new RegExp(name + "=([^;]+)"),
		cookie = document.cookie.match(re);

	// pas de cookie
	if (!cookie)
		return;

	// charger les données du formulaire dans un tableau
	for (var i=0, vals=cookie[1].split('&'), data=new Array(); i<vals.length; i++)
	{
		if ((x = vals[i].split("=")) && (v = unescape(x[1])))
		{
			if (typeof data[x[0]] == "object") 
				data[x[0]].push(v);
			else if (data[x[0]]) 
				data[x[0]] = new Array(data[x[0]], v);
			else 
				data[x[0]] = v;
		}
	}

	// recharger le formulaire
	for(i=0; i<frm.elements.length && (el=frm.elements[i]); i++)
	{
		try {
			switch (el.type)
			{
				case 'checkbox':
					if (data[el.name] == el.value || data[el.name] == el.value)
						el.checked = true;
					break;
				case 'text':
					if (data[el.name]) 
						el.value = data[el.name];
					break;
				case 'select-one':
				case 'select-multiple':
					for(var j=0; j<el.options.length; j++)
						if ( (typeof data[el.name] == 'object') ? (data[el.name].indexOf(el.options[j].value) >= 0) : (data[el.name] == el.options[j].value) ) 
							el.options[j].selected = true;
					break;
			}
		} catch (e) {};
	}
}
