/* =======================================
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);
}
}
}
});
}
|