//
// Copyright (C) 2008-2009 by Dr. Manfred Schneider / www.manfred-schneider.de
//
// Last update: 2009-03-13
//

////////////////////////////////////////////////////////////////////////////////
//
// Debugging
//
////////////////////////////////////////////////////////////////////////////////

function convertObjectToSortedArray(anObject){

	var members = new Array();
	var i = 0;
	for (var member in anObject) {
		members[i] = member;
		i++;
	}
	return members.sort();
}

function dumpAllMembersOfObject(anObject){

	// Write name of object
	document.write('<p>');
	document.write(anObject.toString());
	document.write('</p>');
	
	// Write all member names and values
	document.write('<ul>');
	var anArray = convertObjectToSortedArray(anObject);
	for (var i = 0; i < anArray.length; i++) {
		var member = anArray[i];
		try {
			var value = anObject[member];
		} 
		catch (exp) {
			value = '--- EXCEPTION --- ' + exp.message + ' --- EXCEPTION ---';
		}
		if (value && (typeof(value) != "function")) {
			document.write('<li>');
			document.writeln(member + ": " + value);
			document.write('</li>');
		}
	}
	document.write('</ul>');
}

function dumpDebugInfo(){

	dumpAllMembersOfObject(this.window);
	dumpAllMembersOfObject(this.navigator);
	dumpAllMembersOfObject(this.screen);
	dumpAllMembersOfObject(this.location);
	dumpAllMembersOfObject(this.document);
	dumpAllMembersOfObject(document.cookie);
}

////////////////////////////////////////////////////////////////////////////////
// Do the work
////////////////////////////////////////////////////////////////////////////////

