Vi posto subito lo script:

codice:
fotozoom._alpha = 0;
fotozoom._y = 25;
larghezzazoom = 120;
altezzazoom = 180;
//
preload_imgzoom = function () {
	bytescaricatizoom = fotozoom.getBytesLoaded();
	bytestotalizoom = fotozoom.getBytesTotal();
	percentualezoom = int((bytescaricatizoom/bytestotalizoom)*100) add "%";
	
	if ((bytescaricatizoom>=bytestotalizoom) && bytestotalizoom>2096) {
		if (fotozoom._width>larghezzazoom) {
			trace("1");
			fotow_ratio = fotozoom._width/fotozoom._height;
			fotozoom._width = larghezzazoom;
			fotozoom._height = larghezzazoom/fotow_ratio;
		}
		if (fotozoom._height>altezzazoom) {
			trace("2");
			fotoh_ratio = fotozoom._height/fotozoom._width;
			fotozoom._height = altezzazoom;
			fotozoom._width = altezzazoom/fotoh_ratio;
		}
		
		fotozoom._alpha = 100;
		clearInterval(preload_zoom);
	}
};
//
function chiamazoom() {
	if ((_root.immagini[_root.idglobale] != undefined) && (_root.immagini[_root.idglobale] != "")) {
		fotozoom.loadMovie("public/foto/" add _root.immagini[_root.idglobale]);
	} else {
		fotozoom.loadMovie("nofoto.jpg");
	}
	preload_zoom = setInterval(preload_imgzoom, 40);
}
Allora, tramite un pulsante chiamo la funzione "chiamazoom", senza intervallo.
Questa funzione mi chiama un'immagine in un target che ho chiamato "fotozoom".

Fin quì tutto ok.
Il problema è che se seleziono alcune foto, dando lo stesso script, non mi esegue le if in cui traccio 1 e 2, però le foto me le cambia, e cambia anche le dimensioni.
Ovvio che non si verificano quelle 2 condizioni ma, perchè?
Perchè fotozoom._width rimane minore di larghezzazoom?

C'è un modo per azzerare questo valore conservando la funzionalità dello script?

Addirittura se imposto "fotozoom._width = undefined" prima di eseguire questo script, il risultato è sempre lo stesso.

Qualcuno ha capito cosa intendo?

Io non ne vengo a capo!

grazie