How to add tabs to a form? On a node add/edit form I have "upload file" and "link to url" form fields. I would like to create tabs for "upload file" and "link to url" for each field.

I would like ajax style tabs that don't require a reload of the page. Is there a solution for that in Drupal or do I need some css magic?
Use the Field Group Module. It comes with default HTML wrappers like vertical tabs, horizontal tabs, accordions, fieldsets or div wrappers.
Field Group:

Fieldgroup will, as the name implies, group fields together. All fieldable entities will have the possibility to add groups to wrap their fields together. Fieldgroup comes with default HTML wrappers like vertical tabs, horizontal tabs, accordions, fieldsets or div wrappers.
The field group project is a follow-up on the field group module in CCK. The release will only exist for Drupal 7 release and higher, so since the existence of the Fields API in core.
By moving field group to a separate module, this may open some new perspectives.