/**
 * FOX Cookies manager
 *
 * @package FOX
 * @subpackage JavaScript Library
 */

if (typeof Fox == 'undefined') {
	Fox = {};
}

Fox.Cookies = Class.create({
	initialize: function() {
		this.cookies = $A(document.cookie.split(';')).inject({}, function(cookies, cookie) {
			cookie = cookie.strip().split('=');
			cookies[cookie[0]] = cookie[1];
			return cookies;
		});
	},
	
	get: function(name) {
		return this.cookies[name];
	},
	
	set: function(name, value, lifetime, path) {
		if (lifetime) {
			var expire = new Date;
			expire.setTime(expire.getTime() + lifetime);
		}
		document.cookie = name + "=" + escape(value) + ((lifetime) ? "; expires=" + expire.toGMTString() : "") + ("; path=" + (path ? path : '/'));
		this.cookies[name] = value;
	},
	
	unset: function(name) {
		document.cookie = name + "=; expires=Thu, 01-Jan-1970 00:00:01 GMT";
		delete this.cookies[name];
	},
	
	empty: function(name) {
		return this.cookies[name] == undefined || this.cookies[name] == false;
	}
});
Fox.Cookies = new Fox.Cookies;

