// JavaScript Document
function filter()
{
var table = document.getElementById('plist');

// load filter box values into variables filter1, 2, 3
var filter1 = document.getElementById('col1').value;
var filter2 = document.getElementById('col2').value;
var filter3 = document.getElementById('col3').value;

var decision1 = false;
var decision2 = false;
var decision3 = false;
    
for (var i = 0; i < table.rows.length; i++)
  {
    var mycell = document.getElementById('plist').rows[i].cells;
    
    // load HTML table values for this row into variables compare1, 2, 3
    var compare1 = mycell[0].innerHTML;
    var compare2 = mycell[1].innerHTML;
    var compare3 = mycell[2].innerHTML;
    //alert(compare1);
    //alert(compare2);
    //alert(compare3);

    // check filter box 1: col1
    decision1 = false;
    if (compare1.indexOf('XXX') != -1)
    {
      decision1 = true;
    }
    if (filter1 == 'All')
    {
      decision1 = true;
    }
    else
    {
      if (compare1.indexOf(filter1) != -1)
      {
        decision1 = true;
      }
    }      
    
    // check filter box 2: col2
    decision2 = false;
    if (compare2.indexOf('XXX') != -1)
    {
      decision2 = true;
    }
    if (filter2 == 'All')
    {
      decision2 = true;
    }
    else
    {
      if (compare2.indexOf(filter2) != -1)
      {
        decision2 = true;
      }
    }      
    
    // check filter box 3: col3
    decision3 = false;
    if (compare3.indexOf('XXX') != -1)
    {
      decision3 = true;
    }
    if (filter3 == 'All')
    {
      decision3 = true;
    }
    else
    {
      if (compare3.indexOf(filter3) != -1)
      {
        decision3 = true;
      }
    }      
    
    // set the row to display as default
    table.rows[i].style.display = '';
    
    // then apply the filter for each of the selections in turn
    // apply the filter for col1
    if (!decision1)
    {
      table.rows[i].style.display = 'none';
    }  
    // apply the filter for col2
    if (!decision2)
    {
      table.rows[i].style.display = 'none';
    }  
    // apply the filter for col3
    if (!decision3)
    {
      table.rows[i].style.display = 'none';
    }  
  }
}
