Non essendo molto pratico vorrei sapere perchè questo script non funziona (non mostra il messaggio)

Codice HTML:
<body>
<form id="Iscrizioni" name="Iscrizioni" method="post" action="">
<table width="298" border="0">
<tr>
<td width="139"><label for="label">Nome Utente</label></td>
<td width="149"><input type="text" name="username" id="username" /></td>
</tr>
<tr>
<td><label for="label">Password</label></td>
<td><input type="text" name="key" id="key" /></td>
</tr>
<tr>
<td><label for="label">Reinserisci Password</label></td>
<td><input type="text" name="rekey" id="rekey" /></td>
</tr>
<tr>
<td><label for="label">E-Mail</label></td>
<td><input name="txtEmail" type="text" id="txtEmail" onblur="ControlloEmail ()" /></td>
</tr>
</table>


</form>
<div id="messaggio">




Email Non valida</p>
</div>
</body>


Codice Javascript:

function ControlloEmail ()
{
var emailPattern =
/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9\-]{2,4})+$/;
var emValore =
document.Iscrizioni.txtEmail.value;

if(emailPattern.test(EmValore)) {
return true;
} else {
messaggio.p.style.visibility = "visible";
return false;
}

}


Mi scuso per il disturbo e grazie Mille