Test:
codice:
<script>
function ricalcola(obj) {
		if(isNaN(obj.value))
			window.alert('Errore: inserire solo numeri.\rPer i numeri decimali usare il \".\"');
		else
			with (obj.form) {
				Totale.value = 
					Number(Dr.value) +
					Number(R.value) +
					Number(V.value) +
					Number(S.value) +
					Number(A.value) +
					Number(D.value) + 
					Number(Re.value);
				Disponibili.value = 
					Number(Monte.value) - 
					Number(Totale.value);
			}
	}
</script> 
<form>
dr<input type=text name="Dr" value="0" onchange="ricalcola(this)">

r<input type=text name="R" value="0" onchange="ricalcola(this)">

v<input type=text name="V" value="0" onchange="ricalcola(this)">

s<input type=text name="S" value="0" onchange="ricalcola(this)">

a<input type=text name="A" value="0" onchange="ricalcola(this)">

d<input type=text name="D" value="0" onchange="ricalcola(this)">

re<input type=text name="Re" value="0" onchange="ricalcola(this)">

dis<input type=text name="Disponibili" value="0">

mon<input type=text name="Monte" value="0" onchange="ricalcola(this)">

Totale<input type=text name="Totale" value="0">
</form>
La seconda parte non l'ho capita nemmeno io...
Chi valorizza il campo Monte? quale errore? quale finestra?

ciao