Hola otra vez.
Puedes hacerlo como dices, pero la función chequeo es recurrente, y podría darte más problemas de los necesarios.
Las 2 opciones que te recomiendo es que foto2 la declares de forma global, o que asignes la imagen a la imágen de la página y chequees esa imagen.
Tal vez sea mejor que usaras el primer método, porque incluso no haría falta que llegases a hacer la asignación, y el mensaje lo podrías mostrar en un popup... Aunque son cosas que debes decidir tu mismo...
En realidad, lo único que tendrías que hacer es declarar la variable foto2 fuera de las funciones:
var foto2;
function chequeo() {
if (foto2.complete) {
if (foto2.width != 460 || foto2.height != 280)
document.location ='error.asp?op=tamf';
}
else setTimeout("chequeo()", 100);
}
function cambia(foto){
if (document.forms[0].elements['FILE1'].value != "") {
foto2 = new Image();
foto2.src = 'file:///' + foto;
document.foto.src='file:///' + foto;
chequeo();
}
}
Saludos