function buildFilters( table ) {
        var totalRows = ( table.tBodies[0] && table.tBodies[0].rows.length ) || 0,
        totalCells = ( table.tBodies[0].rows[0] && table.tBodies[0].rows[0].cells.length ) || 0;
        for( var i = 0; i < totalRows; ++i ) {
          // populate filtered values to 0
          table.tBodies[0].rows[i].tablefilters = [];
          for( var j = 0; j < totalCells; ++j ) {
            table.tBodies[0].rows[i].tablefilters[j] = 0;
            }
          }
        for( var j = 0; j < totalCells; ++j ) {
          // determine filter
          if( ! table.filterConfig.headers[j] ) table.filterConfig.headers[j] = {};
          // catch false
          if(( table.filterConfig.headers[j].filter !== false ) && ( ! table.filterConfig.headers[j].filter )) {
            table.filterConfig.headers[j].filter = detectFilterForColumn( table, j );
            }
          }
        }
/*
      ** for tracking which index filters which row
      */
for tracking which index filters which row
for tracking which index filters which row
function buildFilters( table ) {
        var totalRows = ( table.tBodies[0] && table.tBodies[0].rows.length ) || 0,
        totalCells = ( table.tBodies[0].rows[0] && table.tBodies[0].rows[0].cells.length ) || 0;
        for( var i = 0; i < totalRows; ++i ) {
          table.tBodies[0].rows[i].tablefilters = [];
          for( var j = 0; j < totalCells; ++j ) {
            table.tBodies[0].rows[i].tablefilters[j] = 0;
            }
          }
        for( var j = 0; j < totalCells; ++j ) {
          if( ! table.filterConfig.headers[j] ) table.filterConfig.headers[j] = {};
          if(( table.filterConfig.headers[j].filter !== false ) && ( ! table.filterConfig.headers[j].filter )) {
            table.filterConfig.headers[j].filter = detectFilterForColumn( table, j );
            }
          }
        }
function buildFilters ( table ) { var totalRows = ( table . tBodies [ 0 ] && table . tBodies [ 0 ] . rows . length ) || 0 , totalCells = ( table . tBodies [ 0 ] . rows [ 0 ] && table . tBodies [ 0 ] . rows [ 0 ] . cells . length ) || 0 ; for ( var i = 0 ; i < totalRows ; ++ i ) { table . tBodies [ 0 ] . rows [ i ] . tablefilters = [ ] ; for ( var j = 0 ; j < totalCells ; ++ j ) { table . tBodies [ 0 ] . rows [ i ] . tablefilters [ j ] = 0 ; } } for ( var j = 0 ; j < totalCells ; ++ j ) { if ( ! table . filterConfig . headers [ j ] ) table . filterConfig . headers [ j ] = { } ; if ( ( table . filterConfig . headers [ j ] . filter !== false ) && ( ! table . filterConfig . headers [ j ] . filter ) ) { table . filterConfig . headers [ j ] . filter = detectFilterForColumn ( table , j ) ; } } }
for tracking which index filters which row
for tracking which index filters which row
// populate filtered values to 0 // determine filter // catch false