addEvent(window,"load",addEventListeners,false);

function cellOver(e){
	var el;
	
	if(window.event && window.event.srcElement)
		el = window.event.srcElement;
	else if(e && e.target)
		el = e.target;
		
	if(!el) return;


	//Get parent row
	var parentRow = ascendDom(el, "tr");
	if(parentRow == null) return;

	
	//Row style
	parentRow.className = "cell_over";
}

function cellOut(e){
	var el;
	
	if(window.event && window.event.srcElement)
		el = window.event.srcElement;
	else if(e && e.target)
		el = e.target;
		
	if(!el) return;

	var parentRow = ascendDom(el, "tr");
	if(parentRow == null) return;


	parentRow.className = parentRow.className.replace(/\bcell_over\b/, "");
}

function addEventListeners(e){
	var els = document.getElementsByTagName("td");
	
	for(var i = 0; i < els.length; i++){
		addEvent(els[i], "mouseout", cellOut, false);
		addEvent(els[i], "mouseover", cellOver, false);
	}
}

function ascendDom(e, target){
	while(e.nodeName.toLowerCase() != target &&
		e.nodeName.toLowerCase() != "html")
		e = e.parentNode;
		
	return (e.nodeName.toLowerCase() =="html") ? null : e;
}

function addEvent(el, evType, fun, cap){
	if(el.addEventListener){
		el.addEventListener(evType, fun, cap);
		return true;
	}else if(el.attachEvent){
		var r = el.attachEvent("on" + evType, fun);
		return r;
	}else
		el["on" + evType] = fun;
}