Hola:
A simple vista solo chequea el primero de los radios. Creo que te sobra el else...
O sea le quitas el else, y cambias la condición, pero cuando encuentre un chequed sales sin más, y si termina el bucle muestras la alerta...
radio_group = form1.op;
for(var ctr = 0 ; ctr < 20; ctr++) {
if(radio_group[ctr].checked) return
}
alert ("No has seleccionado radio");
return false;
La lógica sería que si termina el bucle y no hay ninguno chequeado es cuando se debe alertar, pero en cuanto encuentre uno chequeado no hay que poner nada.
Saludos