Código javascript
:
Ver originalcampo.options[el.options.length]=o;
  
¿Qué es ese "el"?. No tiene sentido en ese contexto. Probablemente se refiera a la longitud de "campo", reemplaza "el" por "campo" y mira si es el resultado que esperas. 
Lo mismo sucede aquí:  
Código javascript
:
Ver originalfunction agegaopt(campo){ // agregando opciones 
    if(campo.value=='otra') {addoption(el);}
}