function hoverOver() {
	this.parentNode.className = "hoverRow";
	
	var rowElements = this.parentNode.parentNode.childNodes;
	// Check in which column the this cell object is at the moment.
	var column = 0;
	var o = this;
	while (o = o.previousSibling) column++;
	for (var row = 0; row < rowElements.length; row++) {
		if (rowElements[row].nodeType != 1) continue;
		rowElements[row].childNodes[column].className = "hoverColumn";
	}
	
	this.className = "hoverCell";
}


function hoverOut() {
	this.parentNode.className = "";
	
	var rowElements = this.parentNode.parentNode.childNodes;
	// Check in which column the this cell object is at the moment.
	var column = 0;
	var o = this;
	while (o = o.previousSibling) column++;
	for (var row = 0; row < rowElements.length; row++) {
		if (rowElements[row].nodeType != 1) continue;
		rowElements[row].childNodes[column].className = "";
	}
}


function tableCrosshairs() {
	var rowElements = document.getElementsByTagName("tr");
	for (var row = 0; row < rowElements.length; row++) {
		columnElements = rowElements[row].childNodes;
		for (var column = 0; column < columnElements.length; column++) {
			columnElements[column].onmouseover = hoverOver;
			columnElements[column].onmouseout = hoverOut;
		}
	}
}
