

	function applyDynamicStyles() 
	{
		var tableRows = document.getElementsByTagName("tr");
		for (i = 0; i < tableRows.length; i++) 
		{
			if (tableRows[i].className == "grid" || tableRows[i].className == "gridAlt") 
			{
				tableRows[i].onmouseover = hoverGridRow;
				tableRows[i].onmouseout = normalizeGridRow;
			}
		}
	}

	function getHoveredTableRow(theEvent)
	{
		var elem = null;
		if ( ! isIE )	{ elem = theEvent.currentTarget;	} else { elem = theEvent.srcElement; }

		if ( isIE )
		{
			//in IE, find the surrounding TR
			while (elem.parentNode != null)
			{
				elem = elem.parentNode;
				if (elem.tagName == "TR")
				{
					break;
				}
			}
		}

		return elem;
	}

	function hoverGridRow(e) 
	{
		var elem = null;
		if ( ! isIE ) { elem = getHoveredTableRow(e); } else { elem = getHoveredTableRow(event); }

		if (elem)
		{
			var cells = elem.childNodes;
			for (i = 0; i < cells.length ; i++)
			{
				if (cells[i].className == "grid")
				{
					cells[i].className = "gridActive";
				}
				else if (cells[i].className == "gridAlt")
				{
					cells[i].className = "gridAltActive";
				}
			}
		}
	}
	function normalizeGridRow(e)
	{
		var elem = null;
		if ( ! isIE ) { elem = getHoveredTableRow(e); } else { elem = getHoveredTableRow(event); }

		if (elem)
		{

			var cells = elem.childNodes;
			for (i = 0; i < cells.length ; i++)
			{
				if (cells[i].className == "gridActive")
				{
					cells[i].className = "grid";
				}
				else if (cells[i].className == "gridAltActive")
				{
					cells[i].className = "gridAlt";
				}
			}
		}
	}

