Ciao fcaldera, ciao a tutti
sto usando il metodo classico che descrivi in alto per ottenere il preload delle immagini.

Preferirei non ricorrere ad ajax visto che devo precaricare appunto delle immagini.

se uso questo sistema tutto funziona

codice:
function change(img){
	var el=document.getElementById("fotoplace");
	el.src="images/load.gif"; //prima della nuova immagine mostro il preload


	var obj = new Image();
	obj.src=img;
	obj.onload=rimpiazza(img);
}
function rimpiazza(img){
        var el=document.getElementById("fotoplace");
	el.src=img;
}
purtroppo non posso usare questo sistema per vari motivi, ho quindi buttato giù questa variante:

codice:
function change(img){
//mostro il div preload
	var el=document.getElementById("preload");
	el.style.visibility="visible";

//carico l'immagine
	var obj = new Image();
	obj.src=img;
	obj.onload=rimpiazza(img);
}
function rimpiazza(img){
//nascondo il preload
	var el1=document.getElementById("preload");
	el1.style.visibility="hidden";
//mostro la nuova immagine
	var el=document.getElementById("fotoplace");
	el.src=img;
}
Con questo sistema il div contenente il preload non viene mai mostrato, si passa dalla vecchia alla nuova immagine e basta.........

Come si spiega?

Grazie
Luca