ciao sono abbastanza ignorante in JS, facendo moltissime prove dopo molto tempo sono rieuscito a far funzionare con ie questo JS, qualcuno ha idea perchè con firefox non funzioni

<script>
<!--
var nomi_ditte = new Array();
var id_ditte = new Array();

function carica_valori() {
<%
dim cont
cont = 0
while (NOT ditte.EOF)
%>
nomi_ditte[<%=Cstr(cont)%>] = "<%=Replace((ditte.Fields.Item("ragione_sociale"). Value),"""","'")%>";
id_ditte[<%=Cstr(cont)%>] = <%=ditte.Fields.Item("ID").Value%>;
email_ditte[<%=Cstr(cont)%>] = "<%=ditte.Fields.Item("email").Value%>";
piva_ditte[<%=Cstr(cont)%>] = "<%=ditte.Fields.Item("partita_iva").Value%>";
<%
ditte.MoveNext()
cont = cont +1
wend
ditte.Requery
%>
}

function ric_nome_ditta()
{
testo = document.form1.ric_nome.value;
if (testo=="")
{
document.form1.ID_ditta.value = 0;
return;
}
var nome_ris = new Array();
var id_ris = new Array();
cont2 = 0;
for (cont = 0; cont< nomi_ditte.length; cont++)
{
if (testo.toLowerCase() == (nomi_ditte[cont].substring(0,testo.length).toLowerCase()))
{
nome_ris[cont2]=nomi_ditte[cont];
id_ris[cont2]=id_ditte[cont];
cont2++;
}
}
if (nome_ris.length>0)
document.form1.ID_ditta.value = id_ris[0];
else
document.form1.ID_ditta.value = 0;
}