devi metterci i TAG per escludere lo script dalla validazione HTML.
codice:
//<![CDATA[
var tot_foto = 5;
var width = 100;
var height = 66;
for(var i=1; i <= tot_foto ; i++)
document.write("<a href=\"foto/"+i+".jpg\" rel=\"lightbox[roadtrip]\"><img src=\"foto/"+i+".jpg\" width=\""+width+"px\" height=\""+height+"px\" alt=\"1\"/></a>");
//]]>
Quel testo, messo sotto commento per non disturbare il JS, indica che il contenuto nelle parentesi quadre è testo CDATA, quindi non viene sottoposto alla validazione XHTML.
In alternativa devi rimuovere i caratteri che hanno un valore particolare nel HTML (il che è però un problema dato che anche il < deve essere sostituito).
Oppure, puoi, semplicemente, mettere il JS in un file .js richiamandolo con il tag script esternamente:
1- Metti il contenuto del tag <script> in una file links.js nella stessa directory della pagina
2- Cancella il contenuto del tag <script> fino ad ottenere: <script type="text/javascript"></script>
3- Aggiungici l'attributo src che punta al file .js: <script type="text/javascript" src="links.js"></script>
il funzionamento è lo stesso, ma dato che è un file esterno non viene visto a livello validazione.