var deb = {
	_container : null,
	log : function()
	{
		var aReturn = [];
		for(var i=0;i<arguments.length;i++)
			aReturn.push('###arg['+i+']: ('+typeof(arguments[i])+') '+arguments[i]);
		this._add(aReturn.join("\n"));
	},
	dump : function()
	{
		var aReturn = [];
		for(var i=0;i<arguments.length;i++)
		{
			var o = arguments[i];
			var aRow = [ '###arg['+i+']: ('+typeof(o)+') '+o ];
			if(typeof(o)=='object')
				for(x in o)
					aRow.push(x+' ('+typeof(o[x])+'): '+o[x]);

			aReturn.push(aRow.join("\n"));
		};
		this._add(aReturn.join("\n"));
	},
	_add : function(sContent)
	{
		if(null == this._container)
			this._init();

		var li = document.createElement("LI");
		var pre = document.createElement("PRE");
		pre.appendChild(document.createTextNode('Timestamp: '+(new Date).getTime()+"\n"));
		pre.appendChild(document.createTextNode(sContent));

		li.appendChild(pre);

		if(null == this._container.firstChild)
			this._container.appendChild(li);
		else
			this._container.insertBefore(li,this._container.firstChild);
	},
	_init : function()
	{
		this._container = document.createElement("UL");
		document.body.appendChild(this._container);
	}
};

