window.onload = function(){ tableruler(); }

function hasClass(ele, cls) {
	return ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));
}

function addClass(ele, cls) {
	if (!this.hasClass(ele, cls)) ele.className += " " + cls;
}

function removeClass(ele, cls) {
	if (hasClass(ele, cls)) {
		var reg = new RegExp('(\\s|^)'+cls+'(\\s|$)');
		ele.className=ele.className.replace(reg,' ');
	}
}

function tableruler() {
	if (document.getElementById && document.createTextNode)	{
		var tables=document.getElementsByTagName('table');
		for (var i=0;i<tables.length;i++)	{
			if(tables[i].className=='ruler') {
				var trs=tables[i].getElementsByTagName('tr');
				for(var j=0;j<trs.length;j++) {
					if(trs[j].parentNode.nodeName=='TBODY')	{
						trs[j].onmouseover=function(){addClass(this, 'ruled');return false}
						trs[j].onmouseout=function(){removeClass(this, 'ruled');return false}
					}
				}
			}
		}
	}
}