¡Hola!
¡Qué embrollo de código...!
Hay algunas cosas mejorables... por ejemplo:
en vez de
Código:
while(document.getElementById('campo').childNodes[0]) {
document.getElementById('campo').removeChild(document.getElementById('campo').childNodes[0]);
}
poner
Código:
yo = document.getElementById('campo');
while(yo.hasChildNodes())
yo.removeChild(yo.firstChild)
Pero sobre todo te recomiendo que pongas el código más legible... ganas tiempo luego, cuando te toque hacer algunos retoques.
Saludos