First, header image - probably because it's the biggest image on the page. Text loads quickly, images take time, the bigger the longer. Anyhow, for me (hi-speed connection) it loaded at the same time as the rest of the page anyway - no problems.
Second, with regard to your header bg image (assuming you mean the background behind "menu header"), here's what you put in your code:
That span tells me (and CSS) that you want a span behind the text "menu header" with a certain background - not that you want a child division filling a certain area of a parent division, regardless of what text you put on top of it. If you change your text to "the menu header goes here", the background (as it is now) will just expand to fill in the area behind the text b/c that's all you've told it to do, so far...
Span by default is an in-line element, therefore width does not apply to it. Besides, semantically it would make more sense to use paragraphs, or an unordered list (and thus LI tags) for the navigation items, not SPAN and BR tags. Then you would apply your class to the P or LI tag, whichever route you take.
"Please give us a simple answer, so that we don't have to think, because if we think, we might find answers that don't fit the way we want the world to be."
~ Terry Pratchett in Nation