Con la parte del e-mail las neuronas yá no carburaban mucho

, pensaba proponerte una validación más simple con expresiones regulares. Supongo que la que habrás usado de las faqs es la que usa RegExp.
Dos horas más tarde de dejarte el código alguien dejó en las faq una forma mucho más elegante y concisa de poder hacer un trim() a una cadena. He probado con esa forma y no devuelve undefined.
así cámbia la función Trim() por esto otro en su lugar
(sacado de las faq)
Código:
String.prototype.Trim = function(){
return this.replace(/\s+$|^\s+/g,"");
}
y estas dos líneas
clave1 = Trim(document.getElementById("claveuno").value)
clave2 = Trim(document.getElementById("clavedos").value)
cámbialas por esto
clave1 = document.getElementById("claveuno").value.Trim()
clave2 = document.getElementById("clavedos").value.Trim()
Yá me contarás