function visibilitytoggle()
{
  for (var i = 0; i < hotspots.length; i++)
  {
  hotspots[i].someProperty = i;
  hotspots[i].onclick = function() {toggle(this.someProperty)};
  }

  for (var i = 0; i < toggles.length; i++)
  {
  toggles[i].style.display = 'none';
  }
  i=0; //content
  toggles[i].style.display = 'none';
  i++; //news
  toggles[i].style.display = '';
  i++; //older news
  toggles[i].style.display = '';
  i++; //abbreviations
  toggles[i].style.display = 'none';
  i++; //system rules and guidelines
  toggles[i].style.display = 'none';
  i++; //leads
  toggles[i].style.display = '';
  i++; //VINJE leads
  toggles[i].style.display = '';
  i++; //VINJE signals
  toggles[i].style.display = '';
  i++; //Standard 3/5 leads and signals
  toggles[i].style.display = 'none';
  i++; //openings in short
  toggles[i].style.display = 'none';
  i++; //General conventions
  toggles[i].style.display = '';
  i++; //Uncontested bidding
  toggles[i].style.display = '';
  i++; //1NT
  toggles[i].style.display = '';
  i++; //Top honors after MSS
  toggles[i].style.display = '';
  i++; //2NT
  toggles[i].style.display = '';
  i++; //3NT gambling
  toggles[i].style.display = 'none';
  i++; //3NT Namyats
  toggles[i].style.display = '';
  i++; //1 club
  toggles[i].style.display = '';
  i++; //1 diamond
  toggles[i].style.display = '';
  i++; //1 heart
  toggles[i].style.display = '';
  i++; //Meckstroth Adjunct
  toggles[i].style.display = '';
  i++; //Strong jumps without Meckstroth
  toggles[i].style.display = 'none';
  i++; //Bergen Raises
  toggles[i].style.display = 'none';
  i++; //Hardy Raises
  toggles[i].style.display = '';
  i++; //1 spade
  toggles[i].style.display = '';
  i++; //2 clubs
  toggles[i].style.display = '';
  i++; //2 diamonds
  toggles[i].style.display = '';
  i++; //2 major
  toggles[i].style.display = '';
  i++; //2 major 4th place
  toggles[i].style.display = '';
  i++; //2 major alternative
  toggles[i].style.display = 'none';
  i++; // natural preempts
  toggles[i].style.display = 'none';
  i++; // preempts with Namyats
  toggles[i].style.display = '';
  i++; // Overcalls
  toggles[i].style.display = '';
  i++; // overcall over suit
  toggles[i].style.display = '';
  i++; // overcall by strong NT
  toggles[i].style.display = 'none';
  i++; // overcall by Polish NT
  toggles[i].style.display = '';
  i++; // overcall over preempt
  toggles[i].style.display = '';
  i++; // overcall over weak NT
  toggles[i].style.display = '';
  i++; // overcall over strong NT
  toggles[i].style.display = '';
  i++; // Bidding after opponents overcall
  toggles[i].style.display = '';
  i++; // double on major
  toggles[i].style.display = '';
  i++; // double on minor
  toggles[i].style.display = '';
  i++; // suit overcall
  toggles[i].style.display = '';
  i++; // overcall over our NT
  toggles[i].style.display = '';
  i++; // two-suiter overcall - simple
  toggles[i].style.display = 'none';
  i++; // two-suiter overcall - sophisticated
  toggles[i].style.display = '';
  i++; // Special bidding conventions
  toggles[i].style.display = '';
  i++; // x-y-NT (Sort of Checkback Stayman)
  toggles[i].style.display = '';
  i++; // x-y-2NT (Wolff signoff)
  toggles[i].style.display = '';
  i++; //Kokish Game tries
  toggles[i].style.display = '';
  i++; //Natural game tries
  toggles[i].style.display = 'none';
  i++; // Gameforce 1H-1S-2H-2S
  toggles[i].style.display = 'none';
  i++; // Two way reverse Drury
  toggles[i].style.display = '';
  i++; // Structured reverse (Lebensohl in attack)
  toggles[i].style.display = '';
  i++; // Defense against multi
  toggles[i].style.display = '';
  i++; // Defense against strong club
  toggles[i].style.display = '';
  for (var i = 0; i < toggles.length; i++)
  { 
    if (toggles[i].style.display == '') {
      hotspots[i].style.borderColor='green';
    } else {  
      hotspots[i].style.borderColor='blue';
    }
  }
}
