Photo Gallery users can sign up for and upload images


I am looking for something that will help accomplish the following:

Nice Photo Gallery
Multiple Filters (ideally with nested/layered filtering - Ex. If I choose the filter RED, all other filters should go away. Then I can choose the filter TRUCK, and now I only see pictures of RED TRUCKS)
User System where you can upload photos to the gallery and choose from the tags to add.

Basically I want a website for customers to upload photos of their car with approved tags (color, make, model) and then have a photo gallery page where visitors can filter or search through the gallery.