Pokaż / Ukryj skrypt za pomocą javascript

Mam skrypt show / hide, którego używam do menu. Po kliknięciu głównego linku wyświetla listę poniżej. Zastanawiałem się, czy istnieje sposób, aby to zmienić, tak że gdy klikam link, otwiera się, ale gdy klikam następny, zamyka drugi, zamiast pozostawiać je wszystkie otwarte, chyba że klikniesz je ponownie, aby zamknąć.

Oto mój skrypt:

<script type="text/javascript">
    function toggle_visibility(id) {
       var e = document.getElementById(id);
       if(e.style.display == 'block')
          e.style.display = 'none';
       else
          e.style.display = 'block';
    }
</script>


<a href="#" onclick="toggle_visibility('list1');">
       <p>List One</p>
       </a>
       <div id="list1" style="display:none;">
         <ul>
           <li>Item One</li>
           <li>Item Two</li>
           <li>Item Three</li>
         </ul>
       </div>

questionAnswers(2)

yourAnswerToTheQuestion