I'm building a site with a few forms, and two of them have date fields, one for the user's birth date (for liability waiver reasons) and one to pick a date sometime in the future.

I was pondering the best way to have a date picker. A <select> element is fine for the month, as there are only 12, but what about day (31 is sort of a long drop-down) and for year, well the person could be 80 years old, so that's an even longer drop-down.

If I have the user type a date, that leaves the field open to different date formats (d-m-yy, d/m/yy, m-d-yy, 2 and 4-digit years, etc). I want to make it easiest for the user to enter multiple dates, and switch between mouse and keyboard as little as possible.

What sort of date fields do you use on your forms, and why?