Hi scacom, ich hab da ne Idee.
Wenn Javascript auf deiner Seite erlaubt ist, könntest du einen Ajax-Loader benutzen. (Das geht natürlich nur, wenn der User Javascript erlaubt hat, ansonsten ist das, was du da gecoded hast, schon ziemlich gut.)
Der Code:
function ajaxpage(url, containerid, loadgif){
document.getElementById(containerid).innerHTML = '<img src="'+loadgif+'" id="loadgif" />';
var bustcachevar=1
var loadedobjects=""
var rootdomain="http://"+window.location.hostname
var bustcacheparameter=""
var page_request = false
if (window.XMLHttpRequest)
page_request = new XMLHttpRequest()
else if (window.ActiveXObject){
try {
page_request = new ActiveXObject("Msxml2.XMLHTTP")
}
catch (e){
try{
page_request = new ActiveXObject("Microsoft.XMLHTTP")
}
catch (e){}
}
}
else
return false
page_request.onreadystatechange=function(){
loadpage(page_request, containerid)
}
if (bustcachevar)
bustcacheparameter=(url.indexOf("?")!=-1)? "&"+new Date().getTime() : "?"+new Date().getTime()
page_request.open('GET', url+bustcacheparameter, true)
page_request.send(null)
}
function loadpage(page_request, containerid){
if (page_request.readyState == 4 && (page_request.status==200 || window.location.href.indexOf("http")==-1))
document.getElementById(containerid).innerHTML=page_request.responseText
}
function loadobjs(){
if (!document.getElementById)
return
for (i=0; i<arguments.length; i++){
var file=arguments[i]
var fileref=""
if (loadedobjects.indexOf(file)==-1){
if (file.indexOf(".js")!=-1){
fileref=document.createElement('script')
fileref.setAttribute("type","text/javascript");
fileref.setAttribute("src", file);
}
else if (file.indexOf(".css")!=-1){
fileref=document.createElement("link")
fileref.setAttribute("rel", "stylesheet");
fileref.setAttribute("type", "text/css");
fileref.setAttribute("href", file);
}
}
if (fileref!=""){
document.getElementsByTagName("head").item(0).appendChild(fileref)
loadedobjects+=file+" "
}
}
}
PS: Hab ich nicht selbst geschrieben ich weiß nur nicht mehr von welcher Seite ich das hab 
Du könntest es dann so realisieren:
Zuerst bindest du das Script ein.
Dann hast du deinen Link im Menü - anstelle des href-Attributs benötigst du dann das onclick-Event, um den gleichen Effekt wie bei einem normalem Link zu erzeugen. Insgesamt würde ich das dann so aufbauen:
<div id="menu">
<a onclick="ajaxpage('deine_url.php', 'content', 'load.gif');">
<!-- Hier kommen alle weitere Links im gleichem Schema -->
</div>
<div id="content"><!-- Hier wird dann deine Seite reingeladen --></div>
deine_url ersetzt du durch eine Datei, welche die Daten beinhaltet, welche geladen werden sollen, d.h. für home benötigst du eine weitere Seite, z.B. ajaxpage_home.php, aus der dann alles included wird.
load.gif ersetzt du durch eine Animation, die gezeigt werden soll, wenn der Inhalt noch geladen wird.
Ich hoffe das ich das anschaulich gestaltet habe, aber falls du noch Fragen hast, stell sie einfach 
LG Webfreak