/*! Widget: vertical-group (BETA) - updated 9/27/2017 (v2.29.0) */
/* Requires tablesorter and jQuery 
 * Originally by @aavmurphy (Andrew Murphy)
 * Adapted for tablesorter by xxxxxx
 *
 * This widget is licensed under the same terms at mottie/tablesorter itself, i.e. free to use
 */

/*

$.tablesorter.addWidget( { 
	id: 'vertical_group', 
	priority:99, 
	format: vertically_group 
	} ) ;
	
vertical_group = function ( table, config, widget_options, init_flag )
	{
	// -------------------------------------------------------------------------------------------------
	// loop thru the header row,
	//		- look for .vertical-group
	//
	// loop thru the rows
	//
	//		set ALWAYS_SHOW = FALSE
	//
	//		loop thru the 1st 4 columns
	//
	//			if this cell does not exist, skip to next row
	//
	//			if ALWAYS_SHOW, then this cell is SHOW
	//
	//			else if this column does not have '.vertical-group', then this cell is SHOW
	//
	//			else if this cell is NOT the same as the cell-above, then this cell is SHOW
	//
	//			else this cell is HIDE
	//
	//			if this cell is SHOW, set ALWAYS_SHOW 
	//			
	//			if this cell is SHOW, 
	//			then 
	//				set the cell class to .vertical_group_show
	//			else
	//				set the cell class to vertical_group_show
	//
	//			TO DO add/remove classes so as not to clobber other existing classes
	//
	//
	//			TO DO add classes
	//
	//				.vertical-group-show { background-color: white !important; }
	//				.vertical-group-hide { visibility: hidden; border-top: white !important;background-color: white !important; }
	//
	//				this is all because of stripped tables
	//					- background-colour show be the table's background colour (or the first row's)
	//					- the border-color needs to be the same
	//
	// ------------------------------------------------------------------------------------------------

	//console.groupCollapsed( 'EVENT widget tablesorter : group rows vertically' );

	var	rows					= table.tBodies[0].rows,
		header					= table.tHead.rows,
		is_vertical_group_col	= [],
		last_row				= [ 'xxx', 'xxx', 'xxx', 'xxx' ] ;

	//console.info( 'vertical cols widget' );
	//console.info( ' . rows: ' + rows.length );

	if ( table.vertical_group_lock )
		{
		console.info( '. STOP lock found' );
		return;
		}

	table.vertical_group_lock = true;

	for (var k = 0 ; k < 4; k++ )
		{
		if ( header[0].cells[ k ] && header[0].cells[ k ].className && header[0].cells[ k ].className.match( /vertical-group/i )  )
			{
			is_vertical_group_col[ k ] = true;
			}
		else
			{
			is_vertical_group_col[ k ] = false ;
			}
		}

	for (var i = 0; i < rows.length; i++)
		{
		var always_show_cell = false ;

		for (var j = 0 ; j < 4; j++ )
			{
			if ( ! is_vertical_group_col[ j ]  ) continue;

			if ( ! rows[ i ].cells[ j ] ) continue; 		// check 1st 4 cols .. unless it doesnt have 4 cols

			//console.info( '. . row: ' + i + ' = ' + region + ' from ' + rows[ i ].cells[ 0 ].className );

			var cell_data	= rows[ i ].cells[ j ].innerHTML,
				cell_class	= rows[ i ].cells[ j ].className ;

			if ( ! always_show_cell && cell_data == last_row[j] )
				{
				if ( cell_class != 'vertical-group-hide' ) 	rows[ i ].cells[ j ].className 	= 'vertical-group-hide';
				}
			else
				{
				always_show_cell = true ; // show

				if ( cell_class != 'vertical-group-show' ) 	rows[ i ].cells[ j ].className	= 'vertical-group-show';
				}

			//console.info( '. .     = ' + rows[ i ].cells[ 0 ].className );

			last_row[j] = cell_data ;
			}
		}

	//console.info( '. done' );

	table.vertical_group_lock = false;

	//console.groupEnd();
	};
	
*/
