Se po' fà così, è migliorabilissimo , l'ho buttato giù in 10 minuti!
Ad esempio si può nascondere l'immagine piccola e inserire il percorso di queste in una array. A questo punto si può generare tutta la galleria in un for.
Oggi non c'hovvoglia di fare una mazza...
codice:
<style>
.nascosta {display:none;}
.visibile {display:block;}
</style>
<script>
  var visualizzata = "img0";
  var immagini = new Array ("imggrande0.jpg" ,
                            "imggrande1.jpg" ,
                            "imggrande2.jpg" ,
                            "imggrande3.jpg")
  
function Visualizza(daVisualizzare) {
  if (visualizzata==daVisualizzare) return true;
  document.getElementById(visualizzata).className = "nascosta";
  
  if (document.getElementById(daVisualizzare).src=="")
    document.getElementById(daVisualizzare).src = immagini[0];
  document.getElementById(daVisualizzare).className = "visibile";

  visualizzata = daVisualizzare;
}
</script>

<body>
  <div>
    [img]imggrande0.jpg[/img]
    [img]imgpiccola0.jpg[/img]testo
  </div>
  
  <div>
    <img class="nascosta" id="img1" />
    [img]imgpiccola1.jpg[/img]testo
  </div>
  
  <div>
    <img class="nascosta" id="img2" />
    [img]imgpiccola2.jpg[/img]testo
  </div>

  <div>
    <img class="nascosta" id="img3" />
    [img]imgpiccola2.jpg[/img]testo
  </div>
</body>