That won't work because if the header and footer are inside the main <div> then their width would be 100% of that <div>, ie 1000px, rather than extending to the full viewport width.
Essentially, you will need to take the header and footer blocks out of the main <div> and then use CSS to make it look as though you haven't. Off the top of my head, you might be able to achieve that with negative margins or by using position:relative to move blocks upwards.
Ugh, just re-read the OP and come up with a different plan. If all you're trying to achieve is for the text in the header to take on the same width and position as the centred 1000px-wide main column then why not just put another <div> inside the header and centre it with a width of 1000px?