////////////////////////////////
// Logging-related functionality
////////////////////////////////

	qcodo.loadFirebugLite = function() {
		this.loadJavaScriptFile('https://getfirebug.com/firebug-lite.js');
	};

	qcodo.log = function(strMessage) {
		console.log(strMessage);
	};

	qcodo.logEventStats = function(objEvent) {
		objEvent = this.handleEvent(objEvent);

		if(console.group) console.group("Event Stats"); 

		console.log('Client');
		this.logObject(qcodo.client);

		console.log('Page');
		this.logObject(qcodo.page);
		
		console.log('Mouse');
		this.logObject(qcodo.page);
				
		if(console.groupEnd) console.groupEnd();
	};
	
	qcodo.logObject = function(objObject) {
		if (console.dir) 
			console.dir(objObject);
		else {
			var strDump = "";

			for (var strKey in objObject) {
				var strData = objObject[strKey];

				strDump += strKey + ": ";
				if (typeof strData == 'function')
					strDump += "<FUNCTION>";
				else if (typeof strData == 'object')
					strDump += "<OBJECT>";
				else
					strDump += strData;
				
				strDump += " ";
			};

			qcodo.log("--- Object dump ---");
			qcodo.log(strDump);
		}
	};
	
	qcodo.logDimensionsOverlay = function(event) {
		var intScale = 10;
		var createDiv = function(id, name, color, z) {
			var obj = document.createElement("div");
			obj.id = id;
			obj.style.position = "fixed";
			obj.style.backgroundColor = color;
			obj.style.zIndex = z;
			obj.innerHTML = name;
			qcodo.setOpacity(obj, 0.4);
			document.body.appendChild(obj);
			return obj;
		}
		var page = qc.getC('qpage');
		var client = qc.getC('qclient');
		var mousepage = qc.getC('qmpage');
		var mouseclient = qc.getC('qmclient');

		if (!page) page = createDiv('qpage', 'qcodo.page', '#f00', 9990);
		if (!client) client = createDiv('qclient', 'qcodo.client', '#0f0', 9993);
		if (!mousepage) {
			mousepage = createDiv('qmpage', '', '#00f', 9996);
			mousepage.style.width = '20px';
			mousepage.style.height = '20px';
		}
		if (!mouseclient) {
			mouseclient = createDiv('qmclient', '', '#000', 9999);
			mouseclient.style.width = '10px';
			mouseclient.style.height = '10px';
		}

		page.style.left = '0px';
		page.style.top = '0px';
		page.style.width = qcodo.page.width / intScale + 'px';
		page.style.height = qcodo.page.height / intScale + 'px';

		client.style.left = qcodo.client.x / intScale + 'px';
		client.style.top = qcodo.client.y / intScale + 'px';
		client.style.width = qcodo.client.width / intScale + 'px';
		client.style.height = qcodo.client.height / intScale + 'px';

		mouseclient.style.left = (qcodo.mouse.clientX + qcodo.client.x) / intScale + 'px';
		mouseclient.style.top = (qcodo.mouse.clientY + qcodo.client.y) / intScale + 'px';

		mousepage.style.left = qcodo.mouse.pageX / intScale + 'px';
		mousepage.style.top = qcodo.mouse.pageY / intScale + 'px'
	}
