
if(typeof(__dnn_m_aNamespaces)=='undefined')
var __dnn_m_aNamespaces=new Array();
function __dnn_getParser()
{
if(dnn_xmlhttp.JsXmlHttpRequest!=null)
return'JS';
if(dnn.dom.browser.isType(dnn.dom.browser.InternetExplorer))
return'ActiveX';
else if(typeof(XMLHttpRequest)!="undefined")
return'Native';
else
return'JS';}
function __dnn_cleanupxmlhttp()
{
for(var i=0;i<dnn.xmlhttp.requests.length;i++)
{
if(dnn.xmlhttp.requests[i]!=null)
{
if(dnn.xmlhttp.requests[i].completed)
{
dnn.xmlhttp.requests[i].dispose();
if(dnn.xmlhttp.requests.length==1)
dnn.xmlhttp.requests=new Array();
else
dnn.xmlhttp.requests.splice(i,i);}}}}
function dnn_xmlhttp()
{
this.pns='dnn';
this.ns='xmlhttp';
this.dependencies='dnn,dnn.dom'.split(',');
this.isLoaded=false;
this.parserName=null;
this.contextId=0;
this.requests=new Array();
this.cleanUpTimer=null;}
dnn_xmlhttp.prototype.init=function()
{
this.parserName=__dnn_getParser();}
dnn_xmlhttp.prototype.doCallBack=function(sControlId,sArg,pSuccessFunc,sContext,pFailureFunc,pStatusFunc,bAsync,sPostChildrenId,iType)
{
var oReq=dnn.xmlhttp.createRequestObject();
var sURL=document.location.href;
oReq.successFunc=pSuccessFunc;
oReq.failureFunc=pFailureFunc;
oReq.statusFunc=pStatusFunc;
oReq.context=sContext;
if(bAsync==null)
bAsync=true;
if(sURL.indexOf('.aspx')==-1)
sURL +='default.aspx';
if(sURL.indexOf('?')==-1)
sURL +='?';
else
sURL +='&';
oReq.open('POST',sURL,bAsync);
sArg=dnn.encode(sArg);
if(sPostChildrenId)
sArg +='&'+ dnn.dom.getFormPostString($(sPostChildrenId));
if(iType!=0)
sArg +='&__DNNCAPISCT='+ iType;
oReq.send('__DNNCAPISCI='+ sControlId +'&__DNNCAPISCP='+ sArg);
return oReq;}
dnn_xmlhttp.prototype.createRequestObject=function()
{
if(this.parserName=='ActiveX')
{
var o=new ActiveXObject('Microsoft.XMLHTTP');
dnn.xmlhttp.requests[dnn.xmlhttp.requests.length]=new dnn.xmlhttp.XmlHttpRequest(o);
return dnn.xmlhttp.requests[dnn.xmlhttp.requests.length-1];}
else if(this.parserName=='Native')
{
return new dnn.xmlhttp.XmlHttpRequest(new XMLHttpRequest());}
else
{
var oReq=new dnn.xmlhttp.XmlHttpRequest(new dnn.xmlhttp.JsXmlHttpRequest());
dnn.xmlhttp.requests[oReq._request.contextId]=oReq;
return oReq;}}
dnn_xmlhttp.prototype.XmlHttpRequest=function(o)
{
this._request=o;
this.successFunc=null;
this.failureFunc=null;
this.statusFunc=null;
this._request.onreadystatechange=dnn.dom.getObjMethRef(this,'onreadystatechange');
this.context=null;
this.completed=false;}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.dispose=function()
{
if(this._request!=null)
{
this._request.onreadystatechange=new function(){};
this._request.abort();
this._request=null;
this.successFunc=null;
this.failureFunc=null;
this.statusFunc=null;
this.context=null;
this.completed=null;
this.postData=null;}}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.open=function(sMethod,sURL,bAsync)
{
this._request.open(sMethod,sURL,bAsync);
if(typeof(this._request.setRequestHeader)!='undefined')
this._request.setRequestHeader("Content-type","application/x-www-form-urlencoded; charset=UTF-8");
return true;}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.send=function(postData)
{
this.postData=postData;
if(dnn.xmlhttp.parserName=='ActiveX')
this._request.send(postData);
else
this._request.send(postData);
return true;}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.onreadystatechange=function()
{
if(this.statusFunc!=null)
this.statusFunc(this._request.readyState,this.context,this);
if(this._request.readyState=='4')
{
this.complete(this._request.responseText);
if(dnn.xmlhttp.parserName=='ActiveX')
window.setTimeout(__dnn_cleanupxmlhttp,1);}}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.complete=function(sRes)
{
var sStatusCode=this.getResponseHeader('__DNNCAPISCSI');
this.completed=true;
if(sStatusCode=='200')
this.successFunc(sRes,this.context,this);
else
{
var sStatusDesc=this.getResponseHeader('__DNNCAPISCSDI');
if(this.failureFunc!=null)
this.failureFunc(sStatusCode +' - '+ sStatusDesc,this.context,this);
else
alert(sStatusCode +' - '+ sStatusDesc);}}
dnn_xmlhttp.prototype.XmlHttpRequest.prototype.getResponseHeader=function(sKey)
{
return this._request.getResponseHeader(sKey);}
dnn_xmlhttp.prototype.dependenciesLoaded=function()
{
return(typeof(dnn)!='undefined'&&typeof(dnn.dom)!='undefined');}
dnn_xmlhttp.prototype.loadNamespace=function()
{
if(this.isLoaded==false)
{
if(this.dependenciesLoaded())
{
dnn.xmlhttp=this;
this.isLoaded=true;
dnn.loadDependencies(this.pns,this.ns);
dnn.xmlhttp.init();}}}
__dnn_m_aNamespaces[__dnn_m_aNamespaces.length]=new dnn_xmlhttp();
for(var i=__dnn_m_aNamespaces.length-1;i>=0;i--)
__dnn_m_aNamespaces[i].loadNamespace();