| 
/*    =======================================
Copyright 1998 - 2010 - E Net Arch
 This program is distributed under the terms of the GNU
 General Public License (or the Lesser GPL).
 www.ENetArch.net
 ======================================= */
 
 function AJAX ()
 { return (
 {
 request : null,
 divTarget: null,
 szRandom : parseInt (Math.random()*9999999999999),
 szURL : "",
 
 Get : function (szPage, thsDiv, szParams)
 {
 var thsInstance = this;
 thsInstance.divTarget = thsDiv;
 var callback = function () { thsInstance.Response (thsInstance); };
 
 thsInstance.szURL = szPage + "?" + thsInstance.szRandom +"&" + szParams;
 
 thsInstance.request = new XMLHttpRequest();
 thsInstance.request.open ("GET", thsInstance.szURL, true);
 thsInstance.request.onreadystatechange = callback;
 thsInstance.request.send (null);
 },
 
 Post : function (szPage, thsDiv, szParams)
 {
 var thsInstance = this;
 thsInstance.divTarget = thsDiv;
 var callback = function () { thsInstance.Response (thsInstance); };
 
 thsInstance.szURL = szPage + "?" + thsInstance.szRandom +"&";
 
 thsInstance.request = new XMLHttpRequest();
 thsInstance.request.open ("POST", thsInstance.szURL, true);
 thsInstance.request.onreadystatechange = callback;
 thsInstance.request.setRequestHeader ("Content-type", "application/x-www-form-urlencoded");
 thsInstance.request.setRequestHeader ("Content-length", szParams.length);
 // thsInstance.request.setRequestHeader ("Connection", "close");
 thsInstance.request.send (szParams);
 },
 
 Response : function (thsInst)
 {
 if (thsInst.request.readyState != 4) return;
 if (thsInst.request.status != 200)
 {
 window.alert ("error occured! \n" +
 "URL = "+ thsInst.szURL + "\n"+
 thsInst.request.status + " - "    +
 thsInst.request.statusText);
 return;
 }
 
 if (thsInst.divTarget == null) return;
 
 var szText = thsInst.request.responseText;
 thsInst.divTarget.innerHTML = szText;
 thsInst.add_Script_Tags (thsInst.divTarget);
 
 if (thsInst.divTarget.onUpdate != null)
 thsInst.divTarget.onUpdate();
 },
 
 add_Script_Tags : function (thsTag)
 {
 var codeText = thsTag.getElementsByTagName ('script');
 
 for (var t=0; t<codeText.length; t++)
 {
 var szCode = codeText[t].text;
 
 if (szCode.length != 0)
 { window.eval (szCode); }
 else
 {
 var szSrc = codeText[t].src;
 var oScript = document.createElement ("script");
 oScript.src = szSrc;
 document.body.appendChild (oScript);
 }
 }
 }
 });
 }
 
 
 
 |