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).