
var Cookie = {
	set: function(name, value, options) {
		options = $H(options || {});
		var expires = options.get("expires") || false;
		var domain = options.get("domain") || false;
		var path = options.get("path") || false;
		var c = "";
		if (name) c = name + "=";
		if (value) c += encodeURIComponent(value); // Note : "!~*'()" ne sont pas encodes !
		if (expires) c += "; expires=" + expires.toGMTString();
		if (domain) c += "; domain=" + domain;
		if (path) c += "; path=" + path;
		if (options.get("secure")) c += "; secure";
		if (options.get("HttpOnly")) c += "; HttpOnly";
		document.cookie = c;
	},
	get: function(name) {
		var pairs = document.cookie.split(";"), list = {}, pair;
		document.cookie.split(";").each(function(pair) {
			if (pair) {
				pair = pair.strip().replace(/\+/g, '%20').split("=");
				list[pair[0]] = (pair.length < 2) ? true : decodeURIComponent(pair[1]);
			}
		});
		return name ? (list[name] || false) : list;
	},
	del: function(name, options) {
		options = $H(options || {});
		var expiresSaved = options.get("expires") || false;
		var expires = new Date();
		expires.setYear(expires.getFullYear() - 1);
		options.set("expires", expires);
		this.set(name || "", "", options);
		options.set("expires", expiresSaved);
	}
};


