/*
	tableruler()
	written by Chris Heilmann for alistapart.
	enables a rollover of rows for each table with the classname "hlrows"
*/

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')					
					{
						// make exceptions for our classes 
						if  (! ( (trs[j].className == 'needs-refunded' ) || (trs[j].className == 'pending' ) || (trs[j].className == 'partial' )  || (trs[j].className == 'refunded' ) || (trs[j].className == 'declined' ) ) ) 
						{
						// trs[j].onmouseover=function(){this.className += ' ruled';return false}
						// trs[j].onmouseout=function(){this.className += ' unruled';return false}							
							trs[j].onmouseover = function() { highlight(this, true); return false }
							trs[j].onmouseout = function() { highlight(this, false); return false }							
						} 
					}
				}
			}
		}
	}
}


// Append 'ruled' or 'unruled' to the class name (but only once)
// Doesn't work if there are more than two class names or if 'ruled'/'unruled' comes first.
function highlight(element, highlighted)
{
	if (highlighted)
		class_name = 'ruled';
	else
		class_name = 'unruled';
	
	var names = element.className.split(' ');
	
	if (names.length == 1)
	{
		if (names[0].indexOf('ruled') >= 0)
			element.className = class_name;
		else
			element.className += ' ' + class_name;
	}
	else // 2 classes -- assume the second one is 'ruled' or 'unruled'
			element.className = names[0] + ' ' + class_name;
}

