How do I filter a view page with contextual filter? I have an all events views page where I would like to put the links 'All Events', 'Upcoming Events', 'Past Events' in the header.

I would like to link them to the same views page but show filtered results. It seems possible by looking at contextual filters but not sure which way to go.

Thanks,
You could use this module to set up the date field for the events: http://drupal.org/project/date.

This video explains how to use arguments with the date module:
http://www.drupaltherapy.com/date_d7

Then create 3 view pages, with the only difference being the arguments of each page view to determine if the date is: 
1) in the past 
2) in the future
3) doesn't need to be filtered by date

Each view page would get its own path.
Then you could create a menu with the different paths as links.

Once you have your menu set up, go to Structure- Blocks - and you can configure the menu to be in the content area, and paste the paths of the 3 pages you've created, separated by commas in the section that says SHow Blocks on Specific Pages.

Hopefully that gets you on the right track.