ti commento lo script
codice:
function somma() {
	//metto in c1 il valore di campo1 trasformato in float
	var c1 = parseFloat(document.getElementById("campo1").value);
	//se c1 non è un numero lo imposto a 0
	if(isNaN(c1))c1=0.0
	//metto in c2 il valore di campo2 trasformato in float
	var c2 = parseFloat(document.getElementById("campo2").value);
	//se c2 non è un numero lo imposto a 0
	if(isNaN(c2))c2=0.0
	//sommo i due numeri e trasformo in stringa
	var c7 = (c1 + c2)+'';
	//creo un array splittando sul separatore dei decimali
	var arr = c7.split('.')
	//aggiungo 00 alla parte decimale
	arr[1]=(arr.length>1)?arr[1]+'00':'00';
	//tengo solo i primi due caratteri della parte decimale
	arr[1]=arr[1].substr(0,2);
	//visualizzo in campoRisultato unendo gli elementi dell'array con .
	document.getElementById("campoRisultato").value=arr.join('.');
}
il 10 usato da fcaldera nel parseFloat dev'essere stata una svista. Il parseFloat ha un solo parametro(la stringa da trasfomare)
è nel parseInt che si usa il secondo parametro per indicare se la stringa rappresenta numeri decimali, ottali, ecc..