Penso che dovresti dimenticare l'attributo position. Si puo` fare senza, ed eviti molti problemi.
Poi i vari blocchi che vanno allineati, devono avere tutti un
float: left;
(oppure right, ma inizia con il dare left a tutti).
Il footer, dovra` invece avere
clear: both;
per "chiudere" il float precedente.
Ci sono anche problemi di semantica: il menu` e` una lista, e come tale va realizzato tramite <ul> e[*]
Tra i "link utili", nella sezione layout, ci sono vari esempi di layout, fissi o fluidi, che ti possono servire come guida.