function d(str) {
	if ($('debug').style.visibility == 'hidden') {
		$('debug').style.visibility = 'visible';
	}
	document.getElementById('debug').innerHTML += str + '<BR>';
}
function d2(str) {
	if ($('debug').style.visibility == 'hidden') {
		$('debug').style.visibility = 'visible';
	}
	document.getElementById('debug').innerHTML = str;
}
function d3(str) {
	if ($('debug').style.visibility == 'hidden') {
		$('debug').style.visibility = 'visible';
	}
	document.getElementById('debug').innerHTML += '<PRE>' + str + '</PRE>';
}
function vardump(o) {
	out = '';
	for(i in o){
		//		out += i + " " + typeof o[i] + ": ";
		out += i + " = ";
		if (typeof o[i] == 'object')
		out += vardump(o[i])
		else
		out += o[i];

		out += "\n";
	}
	return out;
}
function dump(arr,level) {
	var dumped_text = "";
	if(!level) level = 0;

	//The padding given at the beginning of the line.
	var level_padding = "";
	for(var j=0;j<level+1;j++) level_padding += "    ";

	if(typeof(arr) == 'object') { //Array/Hashes/Objects
		for(var item in arr) {
			var value = arr[item];

			if(typeof(value) == 'object') { //If it is an array,
				dumped_text += level_padding + "'" + item + "' ...\n";
				dumped_text += dump(value,level+1);
			} else {
				dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
			}
		}
	} else { //Stings/Chars/Numbers etc.
		dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
	}
	return dumped_text;
}
var ___debug_div = document.createElement('DIV');
___debug_div.style.position = 'absolute';
___debug_div.id = 'debug';
___debug_div.style.visibility = 'hidden';
___debug_div.style.zIndex = "1000000";
___debug_div.style.width = "700px";
___debug_div.style.height = "200px";
___debug_div.style.bottom = "4px";
___debug_div.style.left = "4px";
___debug_div.style.background = "#FFFFFF";
___debug_div.style.overflow = "scroll";
___debug_div.style.fontFamily = "Verdana";
___debug_div.style.fontSize = "10px";
___debug_div.style.border = "1px solid #000000";
___debug_div.style.opacity = "0.7";
___debug_div.style.whiteSpace = 'nowrap';
document.body.appendChild(___debug_div);