cli.lib.namespace("cli.lib.cookie");

cli.lib.cookie.list = new Object();

cli.lib.cookie.getfromstr = function (str, update) {
	var ca = str.split(';');

	for (var i = 0; i < ca.length; i++) {
		var pair = ca[i].split("=");
		var key = cli.lib.chop(pair[0]);
		var val = cli.lib.chop(pair[1]);
		if (update && cli.lib.cookie.list[key] != val) {
			cli.lib.cookie.set(key, val, 365);
		}
		cli.lib.cookie.list[key] = val;
	}
}

cli.lib.cookie.get = function (name) {
	return cli.lib.cookie.list[name];
}

cli.lib.cookie.set = function (name, val, days) {

	var duration = new Date();
	var timespan = duration.getTime() + (days * 24 * 60 * 60 * 1000);
	duration.setTime(timespan);

	document.cookie = name + "=" + val + "; expires=" + duration.toGMTString();

	if (cli.config.user != "guest" && name != "loggedin") {
		var del = "";
		if (days < 0) {
			del = "&del=1";
		}		
	}

	cli.lib.cookie.list[name] = val;
	return val;
}

cli.lib.cookie.del = function (name) {

	cli.lib.cookie.set(name, "", -100);

	cli.lib.cookie.list[name] = null;

}

cli.lib.cookie.getall = function () {
	return cli.lib.cookie.list;
}
