First, the method of doing is based upon an important question. Do you want a specific banner image for a specific Day of the Week (like it says "Thursday" on the Thursday banner), or are you just happy rotating your 7 banners randomly per day?
You are talking about changing the CSS when all that needs to be changed is the header image, right? Keep the banners about the same shape and size and the CSS will take care of itself. You just want to change the image. Please clarify this if it is wrong.
The random rotating script mentioned up above involve putting the images in their own folder along with the script. Instead of linking to an image, you link to the script like this:
<img src="/images/header/rotator.php" alt="blah" title="blah" />
Then the images in the /images/header/` folder would just randomly generate WITH EVERY PAGE VIEW. Not by date. I use it on my site - just click my name here and go to any post and then refresh the screen and you will see the photograph in the sidebar change.
There is a LOT more information on this in the article on WordPress headers at:
Your issue is the "by day" not by refresh. There are a TON of similar scripts at any of the following spots that will do what you want. You should be able to use them like the one mentioned above.
If the only change you are making is with the CSS, you have a different problem. But if the only change you want is with the graphic, then you use this information.