var domL2Event = 0;
var domL2Style = 0;

var selected = null;

function deselect_all() {
	var divs = document.getElementsByTagName('div');
	for (var i = 0; i < divs.length; i++) {
		var name = divs[i].className;
		if (name == 'hackholder')
			divs[i].style.backgroundColor = 'inherit';
		if (name == 'subhacks')
			divs[i].style.display = 'none';
	}
	selected = null;
}

function hackselect(title, e) {
	if (!domL2Event) return false;
	deselect_all();

	var id = title.replace(/\s/, "_");

	var holder = document.getElementById(id);
	holder.style.backgroundColor = '#606060';
	var subhack = document.getElementById('subhacks.' + id);
	subhack.style.top = holder.offsetTop + 'px';
	subhack.style.left = holder.offsetLeft + 148 + 'px';
	subhack.style.display = 'block';

	selected = holder;
	e.stopPropagation();
}

var console = document.getElementById('console');
while (console.firstChild)
	console.removeChild(console.firstChild);
function debug(msg) {
	var div = document.createElement('div');
	div.appendChild(document.createTextNode(msg));
	console.appendChild(div);
	console.scrollTop = console.scrollHeight;
}

debug("Console initialized.");

if (document.body.style.height == undefined) {
	debug("Your browser doesn't seem to support DOM Level 2 Style.");
} else {
	domL2Style = 1;
}

if (document.addEventListener) {
	document.addEventListener('mousedown',deselect_all,false);
	domL2Event = 1;
} else {
	debug("Your browser doesn't support DOM Level 2 Events. Nearly everything will be broken, including this page.");
}
