var dbg_enabled = false;

var dbg_buffer = '';
var dbg_timer = null;

function dbg(msg)
{
	if (! dbg_enabled)
		return;
	msg += '<br />';
	if (dbg_buffer !== null) {
		dbg_buffer += msg;
	} else {
		var d = document.getElementById('dbg_div');
		d.innerHTML += msg;
		d.scrollTop = 1000000;
	}
}

function dbg_obj(obj) {
	if (! dbg_enabled)
		return;

	var msg = '{';
	for (key in obj) {
		msg += '  ' + key + ' => ' + obj[key] + '<br>\n';
	}
	msg += '}\n';
	dbg(msg);
}

function dbg_toggle() {
	var e = document.getElementById('dbg_div');
	
	var display = e.style.display;
	display = (display == 'block') ? 'none' : 'block';
	e.style.display = display;
	if (display == 'block')
		e.scrollTop = 1000000;
}


function dbg_init() {
	// as long as body element is not available do nothing
	if (! document.body || ! document.body.firstChild)
		return;

	// clear timer
	clearTimeout(dbg_timer);
	dbg_timer = null;

	var target = document.body;
	var div = document.createElement('div');
	div.innerHTML =
		'<div style="position:absolute; top:0px; left:100px;">'+
			'<a href="#" style="position:absolute; top:0px; left:0px; z-index:1000; color:red;" onclick="dbg_toggle(); return false">+</a>'+
			'<a href="#" style="position:absolute; top:16px; left:0px; z-index:1000; color:red;" onclick="dbg_clear(); return false">C</a>'+
			'<div id="dbg_div" style="position:absolute; top:0px; left:0px; background-color:#FFAAAA; border:1px solid blue; color:black; width:800px; height:80px; overflow-y:auto; padding-left:20px; display:none"></div>'+
		'</div>';

	target.insertBefore(div, target.firstChild);

	// insert collected debug content
	document.getElementById('dbg_div').innerHTML = dbg_buffer;
	dbg_buffer = null;
}

function dbg_clear() {
	document.getElementById('dbg_div').innerHTML = '';
}

var dbg_timer;
if (dbg_enabled)
	dbg_timer = setInterval('dbg_init()', 500);


