Firebug or FirebugLite consoles are needed in this example to log events in various phases.
Event listeners are registered on each of the form elements ancestor's, both in the capturing and bubbling phases.
This is the reason you will see a lot of events logged, sometimes it seems there are duplicates, but there are not.
A "focus" event on INPUT will travel this way (the number is the eventPhase):