Il codice di tutta la pagina? Premetto che qui i comportamenti "scambia immagine" sono 4 per ogni thumbnail (avevo omesso quello relativo alla descrizione ma era ininfluente) e che ho eliminate diverse cose inutili per abbreviare il codice.
<html>
<head>
<title>works</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function MM_nbGroup(event, grpName) { //v6.0
var i,img,nbArr,args=MM_nbGroup.arguments;
if (event == "init" && args.length > 2) {
if ((img = MM_findObj(args[2])) != null && !img.MM_init) {
img.MM_init = true; img.MM_up = args[3]; img.MM_dn = img.src;
if ((nbArr = document[grpName]) == null) nbArr = document[grpName] = new Array();
nbArr[nbArr.length] = img;
for (i=4; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = args[i+1];
nbArr[nbArr.length] = img;
} }
} else if (event == "over") {
document.MM_nbOver = nbArr = new Array();
for (i=1; i < args.length-1; i+=3) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = (img.MM_dn && args[i+2]) ? args[i+2] : ((args[i+1])? args[i+1] : img.MM_up);
nbArr[nbArr.length] = img;
}
} else if (event == "out" ) {
for (i=0; i < document.MM_nbOver.length; i++) {
img = document.MM_nbOver[i]; img.src = (img.MM_dn) ? img.MM_dn : img.MM_up; }
} else if (event == "down") {
nbArr = document[grpName];
if (nbArr)
for (i=0; i < nbArr.length; i++) { img=nbArr[i]; img.src = img.MM_up; img.MM_dn = 0; }
document[grpName] = nbArr = new Array();
for (i=2; i < args.length-1; i+=2) if ((img = MM_findObj(args[i])) != null) {
if (!img.MM_up) img.MM_up = img.src;
img.src = img.MM_dn = (args[i+1])? args[i+1] : img.MM_up;
nbArr[nbArr.length] = img;
} }
}
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
//-->
</script>
</head>
<body background="immagini_generali/sfondo.jpg" topmargin="50 px" marginheight="100 px">
<table width="760" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td bordercolor="#999999"><table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td height="524">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="58%"><table width="56%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td height="36"> <table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>[img]immagini_works/works_45.gif[/img]</td>
<td>[img]immagini_works/works_46.jpg[/img]</td>
<td>[img]immagini_works/works_47.gif[/img]</td>
<td>[img]immagini_works/works_48.jpg[/img]</td>
<td>[img]immagini_works/works_49.gif[/img]</td>
<td>[img]immagini_works/works_50.jpg[/img]</td>
<td>[img]immagini_works/works_51.gif[/img]</td>
</tr>
</table></td>
</tr>
<tr>
<td height="166">
[img]immagini_works/works_61.gif[/img]</p></td>
</tr>
</table></td>
<td width="42%"><table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>[img]immagini_works/works_04.jpg[/img]</td>
</tr>
</table></td>
</tr>
</table></td>
</tr>
</table>
</td>
</tr>
</table></td>
</tr>
</table>
</body>
</html>
Per semplificare: "image54", "image56" e "image58" corrispondono a 3 thumbnail, "image3" alla descrizione e "image1" alle foto intere delle thumbnail.