var lastVisibleRow = null;

function makeIndPickBox(tbl) {
   
   var AllNames = new Array();
   var lastName = '';
   
   var rows = tbl.getElementsByTagName('tr');
   for (var i=1; i < rows.length; i++) {
      var name = rows[i].getElementsByTagName('td')[1].innerHTML;
      if (name != '&nbsp;') AllNames.push(name);  
   }
   AllNames.sort();

   var DistinctNames = new Array();
   for (var i=0; i < AllNames.length; i++) {
      var name = AllNames[i];
      if (name != lastName) DistinctNames.push(name);
      lastName = name;
   }
 
   var sel = document.createElement('select');
   document.getElementById('boxdiv').appendChild(sel);

   addOpt(sel, '(all schools)', '');  
   for (var i=0; i < DistinctNames.length; i++) {
     addOpt(sel, DistinctNames[i], DistinctNames[i]);   
   }
   attachEventListener(sel, 'change', selChanged); 
}

function setLVR(thick){
  
   if (lastVisibleRow != null) {
     var cells = lastVisibleRow.getElementsByTagName('td');
     for (var i=0; i < cells.length; i++)
        cells[i].style.borderBottomWidth = thick ;     
   }
}

function selChanged(e) {
    setLVR(1)
    var sel = document.getElementsByTagName('select')[0];
    var rows = document.getElementsByTagName('table')[0].getElementsByTagName('tr');

   var nam = sel.options[sel.selectedIndex].value;
   var altRow = true;
   var lastRank = '';
   
   for (var i = 1; i < rows.length; i++) {
       if (rows[i].getElementsByTagName('td')[1].innerHTML == nam || sel.selectedIndex == 0) {
          rows[i].style.display = '';
          if (rows[i].getElementsByTagName('td')[0].innerHTML != lastRank) altRow = !(altRow);
          if (altRow) rows[i].className = 'A'; else rows[i].className = '';
          lastRank = rows[i].getElementsByTagName('td')[0].innerHTML ;
          lastVisibleRow = rows[i];
       }  
       else
          rows[i].style.display = 'none';
   }
   
   setLVR(2);
      
   var tail = document.getElementById('tail');
   if (sel.selectedIndex == 0) {
     tail.innerHTML = ''; 
   }
   else {
      tail.innerHTML = '<br />A total of ' + 
                 //rows[rows.length - 1].getElementsByTagName('td')[0].innerHTML.match(/[0-9]+/) 
                 (rows.length - 1)                 + ' students took this test.';
   }
}

function addOpt(sel, optText, optValue) {
    var opt = document.createElement('option');
    opt.text = optText;
    opt.value = optValue;
    try{
        sel.add(opt);
     }
     catch (eXcpt) {
        sel.add(opt, null); 
     } 
}


 function attachEventListener(target, eventType, functionRef, capture) { 
   if (typeof target.addEventListener != "undefined")  { 
     target.addEventListener(eventType, functionRef, capture); 
   } 
   else  
     if (typeof target.attachEvent != "undefined")  { 
       target.attachEvent("on" + eventType, functionRef); 
     }
     else  { 
       eventType = "on" + eventType; 
       if (typeof target[eventType] == "function") { 
         var oldListener = target[eventType]; 
         target[eventType] = function() { 
           oldListener(); 
           return functionRef(); 
         }; 
       } 
     else { 
       target[eventType] = functionRef; 
     } 
   } 
 }
