And... this is why I wish they would take that "Blink" sketch out of the examples. Teaching us to use delay() to time events first, is like teaching a student driver to brake by using the emergency brake.
Have you taken a look at "Blink Without Delay" and "Debounce" in the Examples?