Buongiorno a tutti voi esperti di javascript,

io purtroppo non ci capisco molto .
Ho il seguente problema inspiegabile a mio avviso.

Ho un form di selezione foto.
Alla selezione della foto voglio che appaia l'anteprima e un alert che indichi la risoluzione della foto stessa.

vi posto il codice da me utilizzato, è poco non disperate.

codice:
<html>
<head>
<title>Inserimento Fotografie da sviluppare</title>
<script language="JavaScript"> 
function preview(n, up) {
  var Img2 = new Image();
  Img2.src = document.inserimento.elements[up].value;
  var wid = Img2.width;
  var hei = Img2.height; 
  alert("larghezza"+wid+" altezza"+hei+" immagine"+Img2.src);

  var imm = document.images[n];
  imm.style.width = 140;
  imm.style.height = 95;
  imm.src = Img2.src;
  imm.style.borderWidth = 8; // spessore bordo
  imm.style.borderColor = col;
  return true;
} </script> 

</head>

<body>
<form name="inserimento">
  <table width="799" border="0" cellspacing="0" cellpadding="10">
    <tr> 
      <td width="49"></td>
      <td width="364" bgcolor="#EAEAEA">
	<input style="WIDTH: 300 px" type="file" name="upfile" size="40" onChange= "preview('swap','upfile')">
	   </td>
      <td width="256" bgcolor="#EAEAEA"> <div align="center"> 
	    [img]pixel.jpg[/img]</div></td>
      <td width="50"></td>
    </tr>
  </table>
</form>
come potete facilmente notare l'alert produce in visualizzazione l'altezza e la larghezza della foto.

Il mistero è il seguente: a volte appaiono altezza e larghezza corretti, altre volte appaiono altezza e larghezza a 0. Come se non venisse presa l'immagine e venisse considerata solo l'istruzione:

codice:
var Img2 = new Image();
mi potete aiutare???