/* JavaScript-Bibliothek f�r Debugging Hilfsfunktionen */

/*
 [13.03.2009] lo: Erstellung
 */
 
__DEBUG_TRACE = false;

function dump(obj, recurse, methods) {
	if(typeof(obj) == "object") {
		var str = "{ ";
		for(attr in obj) {
			str += "\"" + attr + "\": ";
			var value = typeof(obj[attr]) == "function" && !methods ? "function() {...}" : obj[attr];
			if(recurse)
				str += dump(value, recurse);
			else
				str += value;
			str += ", ";
		}
		str += " }";
		return str;
	}
	return obj;
}

function trace(txt) {
	if(__DEBUG_TRACE) {
		var msg = (new Date()) + ": " + txt;
		if(typeof(console) != "undefined")
			console.log(msg);
		/*else if($("help"))
			$("help").innerHTML = msg + "<br>" + $("help").innerHTML;
		else
			alert(msg);*/
	}
}

function iterate(array, callback) {
	var key;
	for(key in array) {
		callback(array[key], key);
	}
}
