/**
 * @description
 * Zebrafilter plugin, only applies on tr's that have attribute 'active'.
 * ZebraProject plugin, general zebra funcionality for tables.
 *
 * class ==
 * odd rows  : zebra_odd
 * even rows : zebra_even
 * hover     : zebra_over
 *
 * @author Sebastiano Bellinzis
 */


$.tablesorter.defaults.widgets = ['zebraFilter, zebraProject'];
$.tablesorter.defaults.widgetZebra  = {css: ["zebra_odd", "zebra_even", "zebra_over"]}

$.tablesorter.addWidget({
	id: "zebraFilter",
	format: function(table)
	{
		$("tr[active=yes]",table.tBodies[0])
		.filter(':even')
		.removeClass(table.config.widgetZebra.css[1])
		.addClass(table.config.widgetZebra.css[0])
		.end()
		.filter(':odd')
		.removeClass(table.config.widgetZebra.css[0])
		.addClass(table.config.widgetZebra.css[1])
		.end()
		.filter(':even, :odd')
		.mouseover(function(){
			$(this).addClass( table.config.widgetZebra.css[2] );
		})
		.mouseout( function(){
			$(this).removeClass( table.config.widgetZebra.css[2] );
		})
		.end();
	}
});

$.tablesorter.addWidget({
	id: "zebraProject",
	format: function(table)
	{
		$("tr:visible",table.tBodies[0])
		.filter(':even')
		.removeClass(table.config.widgetZebra.css[1])
		.addClass(table.config.widgetZebra.css[0])
		.end()
		.filter(':odd')
		.removeClass(table.config.widgetZebra.css[0])
		.addClass(table.config.widgetZebra.css[1])
		.end()
		.filter(':even, :odd')
		.mouseover(function(){
			$(this).addClass( table.config.widgetZebra.css[2] );
		})
		.mouseout( function(){
			$(this).removeClass( table.config.widgetZebra.css[2] );
		})
		.end();
	}
});
