/**
 * @author uloydl
 */

if (typeof(mobile) == "undefined") var mobile = {};

mobile.Cookie = Class.create({
	
	_options: null,
	_name: null,
	
	initialize: function(name, options){
		this._options = Object.extend({
			path: false,
			duration: false
		}, options);
		
		this._name = name;
	},
	
	set: function(value){
		value = encodeURIComponent(value);
		if (this._options.path) value += '; path=' + this._options.path;
		if (this._options.duration){
			var date = new Date();
			date.setTime(date.getTime() + this._options.duration * 24 * 60 * 60 * 1000);
			value += '; expires=' + date.toGMTString();
		}
		document.cookie = this._name + '=' + value;
	},
	
	get: function(){
		var value = document.cookie.match('(?:^|;)\\s*' + RegExp.escape(this._name) + '=([^;]*)');
		return (value) ? decodeURIComponent(value[1]) : null;
	},

	unset: function(){
		this._options.duration = -1;
		this.set("");
	}
});

mobile.Cookie.cookiesAllowed = function(){ 
	var testCookie = new mobile.Cookie("testCookie");
	testCookie.set("null");
	if(testCookie.get() !== null){ testCookie.unset(); return true; } 
	else return false;
}

