/*if ( typeof(Prototype) == 'undefined' )
{
	throw "Cookie depends on Prototype Javascript framework.";
}*/
      
var Cookie =
{
	set: function (name, value, daysToExpire)
	{
		var expire = '';
		
		if ( daysToExpire !== undefined )
		{
			var d  = new Date();
			d.setTime( d.getTime() + (86400000 * parseFloat(daysToExpire)) );
			expire = '; expires=' + d.toGMTString() ;
		}
				
		return (document.cookie = escape(name) + '=' + escape(value || '') + expire);
	},
  
	get: function (name)
	{
		var cookie = document.cookie.match(new RegExp('(^|;)\\s*' + escape(name) + '=([^;\\s]*)'));
		return (cookie ? unescape(cookie[2]) : null);
	},
	
	erase: function (name)
	{
		var cookie = Cookie.get(name) || true;
		Cookie.set(name, '', -1);
		return cookie;
	},
	
	test: function ()
	{
		if ( typeof(navigator.cookieEnabled) == 'boolean')
		{
			return navigator.cookieEnabled;
		}
		
		Cookie.set('__test', '1');
		
		return (Cookie.erase('__test') == '1');
	}
};