$(function() {
	$("tbody.hover_rowspan td").hover(function() {
		$el = $(this);
		$el.parent().addClass('hover');
		if ($el.parent().has('td[rowspan]').length == 0) {
			$el
				.parent()
				.prevAll('tr:has(td[rowspan]):first')
				.find('td[rowspan]')
				.addClass('hover');
		}
		else if (rowspan = $el.attr('rowspan')) {
			$el.parent().nextAll('tr').slice(0,rowspan-1).addClass('hover');
		}
	}, function() {
		$el
			.parent()
			.removeClass('hover')
			.prevAll('tr:has(td[rowspan]):first')
			.find('td[rowspan]')
			.removeClass('hover');
		if (rowspan = $el.attr('rowspan')) {
			$el.parent().nextAll('tr').slice(0,rowspan-1).removeClass('hover');
		}
	});
});