Hola:
Me temo que por cada grupo de radios debas recorrer cada elemento y consultar que haya un checked...
<form onsubmit="return chequearRadios(this, 'valor', 'tipo')"...
<input type="radio" name="valor" value="100" />
<input type="radio" name="valor" value="200" />
<input type="radio" name="valor" value="300" />
<input type="radio" name="valor" value="500" />
<input type="radio" name="tipo" value="A" />
<input type="radio" name="tipo" value="B" />
<input type="radio" name="tipo" value="C" />
<input type="radio" name="tipo" value="D" />
Y la función:
function chequearRadios() {
function chek(f, g) {
var vale = false;
for (var i = 0, grupo = f[g], total = grupo.length; i < total; i ++)
vale = vale | grupo[i].checked;
return vale;
}
var vale = true;
ar = chequearRadios.arguments;
for (i = 1, formu = ar[0];grup = ar[i], i < ar.length; i ++)
vale = vale & check(formu, grup);
return vale;
}
Lo puse a pelo, y me parece que algo rebuscado... pruébalo y nos cuentas.
Saludos