verificação e contando com java script!

Bom dia a todos !

Pessoal,

eu estava fazendo essa função para calcular a media de uns campos do meu formulário

esse formulário tem 8 campos que podem ou não serem preenchidos com notas, então eu preciso varrear os campos para saber se foi preenchido ou não. Porque eu tenho que a minha média tem que ser assim : a soma de todos campos que foram preenchidos divido pelo numero de campos preenchidos.

tipo

dos 8 campos o cara só preencheu 4, então o sistema tem reconhecer e fazer assim

digamos foi 7.0,7.0,10.0, 2.0 então seria seria a soma de todos dividido pelo contador de campos preenchidos

7.0+7.0+10.0+2.0/4 ;

fiz a função

function startCalc(){
interval = setInterval("calc()",1);
}

function calc(){

x=0;

valor=0;

for (i=0;i<=8;i++){

campo_atual=eval("document.form1.av" + (i*10+1));

if (campo_atual.value!=""){

if (isNaN(campo_atual.value)){

//Não é um número válido

alert("Todos os campos devem ser numéricos")
return //Sai da função
}

valor+=parseFloat(campo_atual.value);
x++;
}

}

if (x==0){

alert("Nenhum campo está preenchido")
}else{
document.form1.mp11.value=valor/x;
}

}

function stopCalc(){
clearInterval(interval);
}

eu chamo a função assim

<input name=“av1<?=$cont?>” type=“text” value="<?=$av1?>" size=“1” maxlength=“4” onFocus=“startCalc;” onblur ="stopCalc();"onKeyPress=“return OnlyEspeciais(this,event);” />

alguma luz ?? pq não faz nada !!