la variabile email dentro il primo if non e` definita prima, quindi e` sempre vero che email=="" .
Forse volevi scrivere:
if (!email_reg_exp.test(to) || (to == ""))
che sarebbe espresso piu` correttamente:
if ((to == "") || !email_reg_exp.test(to) )
(la differenza e` la logica che sta sotto all'ordine dei confronti).