 // _idx = A-Z (or [ for All), the default selected tab (gets changed & returned if empty)
 // _tblArray = ID of a <table> to insert tabs
 // _contentArray = 2D array of content, with [0] element as a String -- uses 1st letter
 //    to determine whether there are any items under a lattered tab -- skips empty tabs
 // _hrefArray = 1D array of Strings: href for the unselected tabs
 function a2zHeader(_idx, _tblLabel, _contentArray, _hrefArray)
 {
  _tbl = document.getElementById(_tblLabel)
  while(_tbl.hasChildNodes()) _tbl.removeChild(_tbl.childNodes.item(0))
  _tbody = document.createElement('TBODY')
  _tbl.appendChild(_tbody)

  // the tab row
  _row = document.createElement('TR')
  _tbody.appendChild(_row)
  _row.className= 'tabbedpane'

  // add the tabs
  _tabselected = false
  for (i = 0; i <= 26; i++) // 26 for All
  {
   c = String.fromCharCode(i + 65) // tab letter (e.g., A)

   // skip if no items in tab
   if ((i < 26) && (_contentArray != null))
   {
    lcl = c.toLowerCase()
    _skip = true
    for (j = 0; _skip && (j < _contentArray.length); j++)
     _skip = (_contentArray[j][0].toLowerCase().indexOf(lcl) != 0) || (_contentArray[j][_useColumn] == 0) // SHOW FLAG IN _useColumn
    if (_skip) continue;
   }

   if ((!_tabselected) && (_idx < c)) _idx = c
   _cell = document.createElement('TH')
   _row.appendChild(_cell)
   if (c == _idx)
   {
    _tabselected = true
    if (c == 'A') _cell.className = 'selectedtab-leftmost'
    else _cell.className = 'selectedtab'
    if (i < 26) _cell.appendChild(document.createTextNode(c))
    else _cell.appendChild(document.createTextNode('All'))
   }
   else
   {
    if (c == 'A') _cell.className = 'tabbedpane-leftmost'
    else _cell.className = 'tabbedpane'
    _anchor = document.createElement('A')
    _cell.appendChild(_anchor)
    if (_hrefArray != null) _anchor.href = _hrefArray[i]
    if (i < 26) _anchor.appendChild(document.createTextNode(c))
    else _anchor.appendChild(document.createTextNode('All'))
  }}
  return _idx
 } 

 // handle the ENTER key press
 // ref: http://www.felgall.com/jstip43.htm, http://www.quirksmode.org/js/events_properties.html
 document.onkeydown = keypressed
 document.onkeypress = keypressed
 function keypressed(_event) // ref: http://www.felgall.com/jstip43.htm
 {
  var _pk;
  if (!_event) var _event = window.event;
  if (_event.keyCode) _pk = _event.keyCode;
  else if (_event.which) _pk = _event.which;
  if (_pk != 13) return true;
  if (_event.ctrlKey) return true;
  setFilter(); return false;
 }
 if (document.layers) document.captureEvents(Event.KEYPRESS);




