Modifying login/user panel position in a theme For our site, we're looking at designing a relatively simple log-in widget/panel. We want it to be in the header of our site (for reference, we're modifying the excellent "Orange" Drupal theme), and we want to design it in the following way:


When a user is logged out, it merely shows the log-in form. It would sit in the upper right-hand corner, embedded in a rectangular shape.
When a user is logged in, it would show a "Welcome Back, $USERNAME$!", with an avatar, a message counter for private messages, and a few links for managing a profile, accessing a shopping cart, etc.


My question is, where do I start with all of this? As far as I'm aware, documentation for this type of thing appears to be a little bit sparse. What do I need to do in order to set up this small widget so that it:


Sits in the correct position.
Displays the user avatar, links, etc.
Replaces the default log-in form?


Do I need to go into Panels and Views and try to build a custom log-in form there? Do I need to write it all in CSS and jQuery? What's the best way to approach this?
The user login form is a core block you can position. The other bit you'll have to write in a custom module as a custom block. The menu links part should be a menu block.