Hola!
 
Pues la verdad es que no he leido el cñodigo que has puesto por vago que soy xD, pero aquí te dejo el código que utilizo yo y que espero que te sirva.
Se entiende que aunque aquí ponga PHP es en realidad JavaScript, es que quedaba más mono xD 
Un saludo y ya me dirás que tal te fue todo  
 Código PHP:
     
function fnBuscaOpt()
{
    //Si no hay registros no hace nada
    if (!document.frmResultados.optCodigo)
    {
        return -1;
    }
 
    
    //Si hay un solo elemento js no hace un array
    if (!(document.frmResultados.optCodigo.length))
    {
        //El que este seleccionado devuelve su valor
        if (document.frmResultados.optCodigo.checked)
        {
            return frmResultados.optCodigo.value;
        }
        else
        {
            return null;
        }
    }
    else
    {
        //Si es un array lo recorre
        for (i=0;i<document.frmResultados.optCodigo.length;i++)
        {
        
            //Si esta marcado ese se devuelve
             if(document.frmResultados.optCodigo[i].checked)
            {
                //Devuelve si lo encuentra
                return frmResultados.optCodigo[i].value;
            }
        }// for
    }
    //devuelve null si no ha encontrado nada
    return null;
 
}