Il Javascript di quella pagina è abbastanza k@zzuto, in pratica funziona così:
1) Viene importato uno script che definisce un prototipo Javascript di una classe (un po come verrebbe fatto in C++ o Java)
http://www.robgalbraith.com/bins/script/prototype.js
2) Viene definita a questo punto una classe FeatureViewer con una serie di metodi tra i quali il famoso swapImage che serve a cambiare l'immagine corrente con un'altra, tutto questo tramite quest'altro script
http://www.robgalbraith.com/bins/script/main.js
3) A questo punto nella pagina (dopo aver importato i due script) dichiara un blocco javascript "al volo" nel quale crea un'istanza di FeatureViewer accessibile da tutta la pagina (la variabile fv appunto)
<script type="text/javascript">
fv = new FeatureViewer(); fv.arrLinks.push("http://www.robgalbraith.com/bins/content_page.asp?cid=7-8736-8829"); fv.arrLinks.push("http://www.robgalbraith.com/bins/content_page.asp?cid=7-8735-8802"); fv.arrLinks.push("http://www.robgalbraith.com/bins/multi_page.asp?cid=7-6468-7844");
fv.start();
</script>
4) Ora che il FeatureViewer è stato definito, istanziato e startato, ne usa le caratteristiche dove serve:
...
<a onmouseout="fv.startIdle()" onmouseover="fv.swapItem(1)" href="http://www.robgalbraith.com/bins/content_page.asp?cid=7-8736-8829"><img src="../imgs/feature_button1a.jpg" border="0" name="fbut1"></a>
...
Spero di essermi fatto capire
