Object.extend(Framework.Configuration, {
	
	get: function(key, subkey)
	{
		if (subkey && (subkey.length > 0))
		{
			if (this._data[key] && this._data[key][subkey])
			{
				return this._data[key][subkey];
			}
			return false;
		}
		else if (this._data[key])
		{
			return this._data[key];
		}
		return false;
	},
	
	set: function(key, subkey, value)
	{
		if (subkey && (subkey.length > 0))
		{
			this._data[key][subkey] = value;
		}
		else
		{
			this._data[key] = value;
		}
		
		this._data[key] = value;
		
		return true;
	},
	
	isEnabled: function(feature)
	{
		var result = false;
		try
		{
			if (this._data.features && (typeof this._data.features === 'string'))
			{
				this._data.features = this._data.features.evalJSON();
			}
			result = (this._data.features[feature] === true);
		}
		catch(ex)
		{
			debug(ex);
		}
		// debug("Framework.Configuration.isEnabled(" + feature + ") > " + ((result) ? "true" : "false"));
		return result;
	},

	_eoo: true
});