Intanto complimenti per il titolo: potrebbe andar bene per circa l'80% dei post in questo forum. (Leggi il regolamento!!!)

Comunque non mi piace il nome radio per una variabile in un contesto di form (radio e` parola riservata)

Inoltre manca una graffa nell'if:
codice:
for(i=0; i<radio.length; i++){
  if(radio[i].checked) {
    valore = radio[i].value;
    flag = true;
    break;
  }
}
Ciao
Michele