User must enter one or other field's value. I think that having single field called "E-mail or Username" will be more intuitive. When user has entered @ then it's e-mail. If not, then it's username.
Less controls on a form = less thinking for user = more intuitive website.