/*
Funktion zum Aufrufen einer HTML/XML Seite per Javascript.
<script language="javascript" type="text/javascript">
 gm('http://www.xyz.com/testseite.html','divid');
</script>
<div id="divid"></div>
Wenn die einzubindende Seite Javascript enthält, muss in diesem die Kommentare in der form /* Kommentar * / 
geschrieben werden, da durch die Eval Function alle Javascriptstatements als eine Zeile behandelt werden.
----------------------------------
(C) 2006 by Lukas Dorn-Fussenegger

*/
function gm(uri,eCon)
{
 var execJavaScriptAfterTransfer = true;
 var Xreq = getNewHttpObject();
 Xreq.onreadystatechange = function() {processAXAH(eCon);};
 if (uri.indexOf('?') == -1)
 {uri=uri+'?x'+ Math.floor(Math.random()*1024*1024) + "=" + Math.floor(Math.random()*1024*1024) + Math.floor(Math.random()*1024*1024);}
 else {uri=uri+'&x'+ Math.floor(Math.random()*1024*1024) + "=" + Math.floor(Math.random()*1024*1024) + Math.floor(Math.random()*1024*1024);}
 Xreq.open("POST", uri, true);
 Xreq.send(false);
 
 function processAXAH(eCon)
 {
  if (Xreq.readyState == 4)
  {if (Xreq.status == 200)
   {document.getElementById(eCon).innerHTML = Xreq.responseText;
    if (execJavaScriptAfterTransfer == true) { execJS(document.getElementById(eCon));}}
    else {document.getElementById(eCon).innerHTML="Error! Fehler: " + Xreq.statusText;}}
 }
}

function getNewHttpObject() {var objType = false; try {objType = new ActiveXObject('Msxml2.XMLHTTP');}
 catch(e) {try{objType = new ActiveXObject('Microsoft.XMLHTTP');} catch(e) {objType = new XMLHttpRequest();}}
 return objType; }

function execJS(node)
{var bSaf = (navigator.userAgent.indexOf('Safari') != -1);
 var bOpera = (navigator.userAgent.indexOf('Opera') != -1);
 var bMoz = (navigator.appName == 'Netscape');
 var st = node.getElementsByTagName('script'); var strExec;
 for(var i=0;i<st.length; i++) {if(bSaf) {strExec = st[i].innerHTML;} else if (bOpera) {strExec = st[i].text;}
 else if(bMoz) {strExec = st[i].textContent;} else {strExec = st[i].text;} try {eval(strExec);} catch(e) {alert(e);}}
}

