X.createSingleton('X.ConfigTemplate',
	// Constructor
	function ConfigTemplate()
	{
		this.re = new RegExp();
		this.re.compile('({[^}]*})', 'g');
	},
	// Prototype Members
	{
		parse: function(url, params)
		{
			var keys = url.match(this.re);
			if (!keys || keys.length === 0) { return url; }
			
			if (!params) { params = {}; }
			
			var returnVal = url;
			for (var idx = 0, len = keys.length, key; idx < len; idx++)
			{
				key = keys[idx].substr(1, keys[idx].length-2);
				returnVal = returnVal.replace(keys[idx], params[key]||'');
			}
			return returnVal;
		}
	}
);