1. Tur notiek nevis kā kuro reizi, bet tieši tā, ka menu pirmo reizi parādās uz otrā klikšķa, pēc tam gan pareizi rādās. Tas tāpēc, ka #32 rindā x.style.display pirmo reizi nav vienāds 'none', jo css atribūti neskaitās (skaitās tikai inline atribūti. Iesaku pārbaudīt, nevis uz vienādību ar 'none', bet uz nevienādību ar 'block'
2. atceries pēdējā atvērtā menu id kādā globālajā mainīgajā. un tad tai pašā showHide funkcijā pirms rādi jauno menu, noslēp veco (un atceries jaunā atvērtā menu id)
3. window.onclick laikam bija (vai body.onclick..)
4. Te priekš kam tas? vai tad kāds taisās atvērt menu un tad resaizot browseri? Ja nu ļoti gribās, tad uz tā onresize īventa skaties tā atvērtā menu id (tas kas ir iegaumēts 1. punktā) un izdari uz tā tādus pašus style. top/left vērtību piešķiršanu kā tai showHide funkcijā. Tam vajadzētu strādāt.
Edit: btw semantiskāk būtu nevis tam span iedot klasi lilMenu, bet gan span vietā izmantot ul, un katru no <a> linkiem likt iekš li itema.