var xAjaxStack=new Array();var xAjaxAsync=true;var xForm=null;var isAjaxCall=new Array();var detailedErrors=true;var xAjaxAccept=false;var xAjaxTimer=null;var xAjaxInitialTimeOut=30000;var xAjaxTimeOut=30000;var xAjaxLoaderTimer=200;var xAjaxLang='ro';var xAjaxPingRetry=5;var xAjaxErrors=new Array()
if(xAjaxLang=='ro'){xAjaxErrors['timeout']='Serverul nu raspunde. Va rugam verificati conexiunea si reincercati.';xAjaxErrors['browsererror']='Eroare: browserul dvs. nu este suportat de aplicatie, sau este configurat incorect.'
xAjaxErrors['invalid']='Eroare: raspunsul primit de la server este invalid.';xAjaxErrors['invaliddetailes']='Eroare: raspunsul primit de la server este invalid.'+"\n"+'Doriti detalii?';xAjaxErrors['errordetailes']="\n"+'Raspunsul a fost:'+"\n";xAjaxErrors['errorspaces']="\n"+'Raspunsul contine caractere invalide:'+"\n";xAjaxErrors['errorstatus']='Eroare: raspunsul are statusul HTTP :';xAjaxErrors['pingnoreply']='Serverul nu raspunde. Va rugam asteptati.';xAjaxErrors['serveroffline']='Serverul nu raspunde. Va rugam verificati conexiunea si reincercati.';xAjaxErrors['pingonline']='Se proceseaza, va rugam asteptati... (Server online)';xAjaxErrors['pingoffline']='Incercarea [%1]/[%2]. Va rugam nu dati Refresh! (Server offline)';}else{xAjaxErrors['timeout']='Error: the server did not respond. Check network status.';xAjaxErrors['browsererror']='Error: your browser does not appear to  support asynchronous requests using POST.'
xAjaxErrors['invalid']='Error: the XML response that was returned from the server is invalid.';xAjaxErrors['invaliddetailes']='Error: the XML response that was returned from the server is invalid.'+"\n"+'Show detailes?';xAjaxErrors['errordetailes']="\n"+'Received:'+"\n";xAjaxErrors['errorspaces']="\n"+'You have whitespace in your response.';xAjaxErrors['errorstatus']='Error: the server returned the following HTTP status:';xAjaxErrors['pingnoreply']='No response from the server. Plese wait.';xAjaxErrors['serveroffline']='No response from the server. Please check your connection and retry.';xAjaxErrors['pingonline']='Processing, please wait... (Server online)';xAjaxErrors['pingoffline']='Retry [%1]/[%2]. Please do NOT Refresh this page. (Server offline)';}
Array.prototype.containsValue=function(valueToCheck){for(var i=0;i<this.length;i++){if(this[i]==valueToCheck)return true;}
return false;}
String.prototype.wordWrap=function(m,b,c){var i,j,s,r=this.split("\n");if(m > 0)for(i in r){for(s=r[i],r[i]="";s.length > m;j=c ? m:(j=s.substr(0,m).match(/\S*$/)).input.length-j[0].length
||j.input.length+(j=s.substr(m).match(/^\S*/)).input.length+j[0].length,
r[i]+=s.substr(0,j)+((s=s.substr(j)).length ? b:"")
);r[i]+=s;}
return r.join("\n");};function Xajax(){this.workId='xajaxWork'+new Date().getTime();this.depth=0;this.responseErrorsForAlert=["400","401","402","403","404","500","501","502","503"];this.getRequestObject=function(){var req=null;if(typeof XMLHttpRequest!="undefined")
req=new XMLHttpRequest();if(!req&&typeof ActiveXObject!="undefined"){try{req=new ActiveXObject("Msxml2.XMLHTTP");}
catch(e){try{req=new ActiveXObject("Microsoft.XMLHTTP");}
catch(e2){try{req=new ActiveXObject("Msxml2.XMLHTTP.4.0");}
catch(e3){req=null;}
}
}
}
if(!req&&window.createRequest)
req=window.createRequest();return req;}
this.$=function(sId){if(!sId){return null;}
var returnObj=document.getElementById(sId);if(!returnObj&&document.all){returnObj=document.all[sId];}
return returnObj;}
this.include=function(sFileName){var objHead=document.getElementsByTagName('head');var objScript=document.createElement('script');objScript.type='text/javascript';objScript.src=sFileName;objHead[0].appendChild(objScript);}
this.stripOnPrefix=function(sEventName){sEventName=sEventName.toLowerCase();if(sEventName.indexOf('on')==0){sEventName=sEventName.replace(/on/,'');}
return sEventName;}
this.addOnPrefix=function(sEventName){sEventName=sEventName.toLowerCase();if(sEventName.indexOf('on')!=0){sEventName='on'+sEventName;}
return sEventName;}
this.addHandler=function(sElementId,sEvent,sFunctionName){if(window.addEventListener){sEvent=this.stripOnPrefix(sEvent);eval("this.$('"+sElementId+"').addEventListener('"+sEvent+"',"+sFunctionName+",false);");}
else{sAltEvent=this.addOnPrefix(sEvent);eval("this.$('"+sElementId+"').attachEvent('"+sAltEvent+"',"+sFunctionName+",false);");}
}
this.removeHandler=function(sElementId,sEvent,sFunctionName){if(window.addEventListener){sEvent=this.stripOnPrefix(sEvent);eval("this.$('"+sElementId+"').removeEventListener('"+sEvent+"',"+sFunctionName+",false);");}
else{sAltEvent=this.addOnPrefix(sEvent);eval("this.$('"+sElementId+"').detachEvent('"+sAltEvent+"',"+sFunctionName+",false);");}
}
this.create=function(sParentId,sTag,sId){var objParent=this.$(sParentId);objElement=document.createElement(sTag);objElement.setAttribute('id',sId);if(objParent)
objParent.appendChild(objElement);}
this.insert=function(sBeforeId,sTag,sId){var objSibling=this.$(sBeforeId);objElement=document.createElement(sTag);objElement.setAttribute('id',sId);objSibling.parentNode.insertBefore(objElement,objSibling);}
this.insertAfter=function(sAfterId,sTag,sId){var objSibling=this.$(sAfterId);objElement=document.createElement(sTag);objElement.setAttribute('id',sId);objSibling.parentNode.insertBefore(objElement,objSibling.nextSibling);}
this.getInput=function(sType,sName,sId){var Obj;if(!window.addEventListener){Obj=document.createElement('<input type="'+sType+'" id="'+sId+'" name="'+sName+'">');}
else{Obj=document.createElement('input');Obj.setAttribute('type',sType);Obj.setAttribute('name',sName);Obj.setAttribute('id',sId);}
return Obj;}
this.createInput=function(sParentId,sType,sName,sId){var objParent=this.$(sParentId);var objElement=this.getInput(sType,sName,sId);if(objParent&&objElement)
objParent.appendChild(objElement);}
this.insertInput=function(sBeforeId,sType,sName,sId){var objSibling=this.$(sBeforeId);var objElement=this.getInput(sType,sName,sId);if(objElement&&objSibling&&objSibling.parentNode)
objSibling.parentNode.insertBefore(objElement,objSibling);}
this.insertInputAfter=function(sAfterId,sType,sName,sId){var objSibling=this.$(sAfterId);var objElement=this.getInput(sType,sName,sId);if(objElement&&objSibling&&objSibling.parentNode){objSibling.parentNode.insertBefore(objElement,objSibling.nextSibling);}
}
this.remove=function(sId){objElement=this.$(sId);if(objElement&&objElement.parentNode&&objElement.parentNode.removeChild){objElement.parentNode.removeChild(objElement);}
}
this.replace=function(sId,sAttribute,sSearch,sReplace){var bFunction=false;if(sAttribute=="innerHTML")
sSearch=this.getBrowserHTML(sSearch);eval("var txt=this.$('"+sId+"')."+sAttribute);if(typeof txt=="function"){txt=txt.toString();bFunction=true;}
if(txt.indexOf(sSearch)>-1){var newTxt='';while(txt.indexOf(sSearch)>-1){x=txt.indexOf(sSearch)+sSearch.length+1;newTxt+=txt.substr(0,x).replace(sSearch,sReplace);txt=txt.substr(x,txt.length-x);}
newTxt+=txt;if(bFunction){eval('this.$("'+sId+'").'+sAttribute+'=newTxt;');}
else if(this.willChange(sId,sAttribute,newTxt)){eval('this.$("'+sId+'").'+sAttribute+'=newTxt;');}
}
}
this.getFormValues=function(frm){var objForm;xForm=frm;var pattern='.*';if(arguments.length > 1)
pattern=arguments[1];var searchRE=new RegExp(pattern,"gi");var submitDisabledElements=false;if(arguments.length > 2&&arguments[2]==true)
submitDisabledElements=true;var prefix="";if(arguments.length > 3)
prefix=arguments[3];if(typeof(frm)=="string")
objForm=this.$(frm);else
objForm=frm;var sXml="<xjxquery><q>";if(objForm&&objForm.tagName=='FORM'){var formElements=objForm.elements;for(var i=0;i < formElements.length;i++){if(!formElements[i].name)
continue;if(formElements[i].name.substring(0,prefix.length)!=prefix)
continue;if(formElements[i].type&&(formElements[i].type=='radio'||formElements[i].type=='checkbox')&&formElements[i].checked==false)
continue;if(formElements[i].disabled&&formElements[i].disabled==true&&submitDisabledElements==false)
continue;if(formElements[i].name.search(searchRE)!=0)
continue;var name=formElements[i].name;if(name){if(sXml!='<xjxquery><q>')
sXml+='&';if(formElements[i].type=='select-multiple'){for(var j=0;j < formElements[i].length;j++){if(formElements[i].options[j].selected==true)
sXml+=name+"="+encodeURIComponent(formElements[i].options[j].value)+"&";}
}
else{sXml+=name+"="+encodeURIComponent(formElements[i].value)+'&';}
}
}
}
sXml+="xAjaxID="+encodeURIComponent(new Date().getTime()+new Date().getMilliseconds());sXml+="</q></xjxquery>";return sXml;}
this.objectToXML=function(obj){var sXml="<xjxobj>";for(i in obj){try{if(i=='constructor')
continue;if(obj[i]&&typeof(obj[i])=='function')
continue;var key=i;var value=obj[i];if(value&&typeof(value)=="object"&&this.depth <=50){this.depth++;value=this.objectToXML(value);this.depth--;}
sXml+="<e><k>"+key+"</k><v>"+value+"</v></e>";}
catch(e){}
}
sXml+="</xjxobj>";return sXml;}
this._nodeToObject=function(node){if(node.nodeName=='#cdata-section'){var data="";for(var j=0;j<node.parentNode.childNodes.length;j++){data+=node.parentNode.childNodes[j].data;}
return data;}
else if(node.nodeName=='xjxobj'){var data=new Array();for(var j=0;j<node.childNodes.length;j++){var child=node.childNodes[j];var key;var value;if(child.nodeName=='e'){for(var k=0;k<child.childNodes.length;k++){if(child.childNodes[k].nodeName=='k'){key=child.childNodes[k].firstChild.data;}
else if(child.childNodes[k].nodeName=='v'){value=this._nodeToObject(child.childNodes[k].firstChild);}
}
if(key!=null&&value!=null){data[key]=value;key=value=null;}
}
}
return data;}
}
this.loadingFunction=function(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,xajaxRequestType){var loaderObj=xajax.$('xajax_loader_'+xAjaxCallForm);if(loaderObj){loaderObj.className='loaderon';}else{loaderObj=xajax.$('xajax_loader_default');if(loaderObj){loaderObj.className='loaderon';}
}
var closeObj=xajax.$('xajax_close_'+xAjaxCallForm);if(closeObj){closeObj.className='closeoff';}
var modalObj=xajax.$('xajax_modal_'+xAjaxCallForm);if(modalObj){modalObj.className='modalon';modalObj.innerHTML='';}
};this.addModalMsg=function(xAjaxCallForm,msg){var modalObj=xajax.$('xajax_modal_'+xAjaxCallForm);if(modalObj){var d=new Date();var time='';var h=d.getHours();if(h < 10){time=time+"0"+h+":";}
else{time=time+h+":";}
var m=d.getMinutes();if(m < 10){time=time+"0"+m+":";}
else{time=time+m+":";}
var s=d.getSeconds();if(s < 10){time=time+"0"+s;}
else{time=time+s;}
var newMsg=document.createElement('b');newMsg.innerHTML=time+" - "+msg+'<br/>';modalObj.appendChild(newMsg);}else{alert(msg);}
}
this.doneLoadingFunction=function(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,xajaxRequestType){if(typeof(loadingTimeout[xAjaxCallForm])!='undefined'){clearTimeout(loadingTimeout[xAjaxCallForm]);delete(loadingTimeout[xAjaxCallForm]);}
var loaderObj=xajax.$('xajax_loader_'+xAjaxCallForm);if(loaderObj&&loaderObj.className){loaderObj.className='loaderoff';}
loaderObj=xajax.$('xajax_loader_default');if(loaderObj&&loaderObj.className){loaderObj.className='loaderoff';}
var closeObj=xajax.$('xajax_close_'+xAjaxCallForm);if(closeObj){closeObj.className='closeon';}
var modalObj=xajax.$('xajax_modal_'+xAjaxCallForm);if(modalObj){modalObj.className='modaloff';}
if(typeof pings[xAjaxCallID]!='undefined'){delete(pings[xAjaxCallID]);}
if(typeof pingFails[xAjaxCallID]!='undefined'){delete(pingFails[xAjaxCallID]);}
};this.noConnectionFunction=function(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod){var errorString=xAjaxErrors['timeout'];alert(errorString);document.body.style.cursor='default';if(xajaxStatusMessages==true)window.status='Invalid XML response error';xAjaxStack.length=0;isAjaxCall=new Array();delete r;r=null;if(typeof(loadingTimeout[xAjaxCallForm])!='undefined'){clearTimeout(loadingTimeout[xAjaxCallForm]);}
this.doneLoadingFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);isAjaxCall[xAjaxCallForm]=false;if(currentTab!=null){tab_close(currentTab);}
return false;}
var loadingTimeout=new Array();var responseTimeout=new Array();this.call=function(sFunction,aArgs,sRequestType){var xAjaxCallForm='default';var xAjaxCallClass='default';var xAjaxCallMethod='default';var xAjaxCallField='default';var aEnv=new Array();if(typeof aArgs[1]!='undefined'){var aEnv=xajax.xmlToArray(aArgs[1]);if(typeof aEnv['form']!='undefined'){xAjaxCallForm=aEnv['form'];}
if(typeof aEnv['class']!='undefined'){xAjaxCallClass=aEnv['class'];}
if(typeof aEnv['method']!='undefined'){xAjaxCallMethod=aEnv['method'];}
if(typeof aEnv['field']!='undefined'){xAjaxCallField=aEnv['field'];}
}
if(typeof isAjaxCall[xAjaxCallForm]!='undefined'){if(isAjaxCall[xAjaxCallForm]==true){if(typeof xAjaxStack[xAjaxCallForm]=='undefined'){xAjaxStack[xAjaxCallForm]=new Array();}
this.addDebug('callAddToStack',xAjaxCallForm+','+xAjaxCallClass+','+xAjaxCallMethod+','+xAjaxCallField);var xAjaxCallItem=new Array();xAjaxCallItem['sFunction']=sFunction;xAjaxCallItem['aArgs']=aArgs;xAjaxCallItem['sRequestType']=sRequestType;xAjaxCallItem['xForm']=xAjaxCallForm;var newItemOrder=xAjaxStack[xAjaxCallForm].length;xAjaxStack[xAjaxCallForm][newItemOrder]=xAjaxCallItem;return false;}
else{}
}
if(xAjaxCallClass=='ajax_js'){isAjaxCall[xAjaxCallForm]=true;eval('var ret = '+xAjaxCallMethod+'(xAjaxCallForm, aArgs[1]);');isAjaxCall[xAjaxCallForm]=false;if(ret){if(typeof xAjaxStack[xAjaxCallForm]!='undefined'&&xAjaxStack[xAjaxCallForm].length > 0){var xAjaxCallItem=xAjaxStack[xAjaxCallForm].shift();var aArgs=xAjaxCallItem['aArgs'];var xForm=xAjaxCallItem['xForm'];if(typeof aArgs[0]!='undefined'&&aArgs[0].length > 0){var doRebuild=true;var xAjaxCallField='';if(typeof aArgs[1]!='undefined'&&aArgs[1].length > 0){var aEnv=xajax.xmlToArray(aArgs[1]);if(typeof aEnv['_rebuild']!='undefined'&&aEnv['_rebuild']==0){doRebuild=false;}
if(typeof aEnv['field']!='undefined'){xAjaxCallField=aEnv['field'];}
}
this.addDebug('callStack',xAjaxCallForm+','+xAjaxCallClass+','+xAjaxCallMethod+','+xAjaxCallField);isAjaxCall[xAjaxCallForm]=false;xajax.call(xAjaxCallItem['sFunction'],xAjaxCallItem['aArgs'],xAjaxCallItem['sRequestType']);}
}
return false;}
else{this.removeFromStack(xAjaxCallForm);return false;}
}
isAjaxCall[xAjaxCallForm]=true;var i,r,postData;if(document.body&&xajaxWaitCursor)
document.body.style.cursor='wait';if(sRequestType==null){var xajaxRequestType=xajaxDefinedPost;}else{var xajaxRequestType=sRequestType;}
var uri=xajaxRequestUri;var pinguri=xajaxPingRequestUri;var value;var d=new Date();var xAjaxCallID=d.getTime()+d.getMilliseconds()+'_'+(100000+parseInt(Math.random()*899999));var xAjaxCallType='call';this.addDebug('call',xAjaxCallForm+','+xAjaxCallClass+','+xAjaxCallMethod+','+xAjaxCallField+','+xAjaxCallID);switch(xajaxRequestType){case xajaxDefinedGet:{var uriGet=uri.indexOf("?")==-1?"?xajax="+encodeURIComponent(sFunction):"&xajax="+encodeURIComponent(sFunction);if(aArgs){for(i=0;i<aArgs.length;i++){value=aArgs[i];if(typeof(value)=="object")
value=this.objectToXML(value);uriGet+="&xajaxargs[]="+encodeURIComponent(value);}
}
uriGet=uriGet+"&xajaxargs[]="+encodeURIComponent("<xjxquery><q>xAjaxCallID="+xAjaxCallID+"&xAjaxCallType="+xAjaxCallType+"</q></xjxquery>");uriGet+="&xajaxr="+new Date().getTime();uri+=uriGet;postData=null;}break;case xajaxDefinedPost:{postData="xajax="+encodeURIComponent(sFunction);uriGet+="&xajaxr="+new Date().getTime();if(aArgs){for(i=0;i <aArgs.length;i++){value=aArgs[i];if(typeof(value)=="object")
value=this.objectToXML(value);postData=postData+"&xajaxargs[]="+encodeURIComponent(value);}
}
postData=postData+"&xajaxargs[]="+encodeURIComponent("<xjxquery><q>xAjaxCallID="+xAjaxCallID+"&xAjaxCallType="+xAjaxCallType+"</q></xjxquery>");}break;default:
alert("Illegal request type: "+xajaxRequestType);return false;break;}
if(xAjaxAsync==false){if(typeof(loadingTimeout[xAjaxCallForm])!='undefined'){clearTimeout(loadingTimeout[xAjaxCallForm]);}
}else{if(typeof(loadingTimeout[xAjaxCallForm])!='undefined'){clearTimeout(loadingTimeout[xAjaxCallForm]);}
loadingTimeout[xAjaxCallForm]=setTimeout("xajax.loadingFunction('"+xAjaxCallForm+"', '"+xAjaxCallClass+"', '"+xAjaxCallMethod+"', '"+xAjaxCallID+"', "+xajaxRequestType+");",xAjaxLoaderTimer);}
r=this.getRequestObject();if(!r){var errormsg=xAjaxErrors['browsererror'];alert(errormsg);this.doneLoadingFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);return false;}
/*
		r.open('POST', pinguri, false);
		try {
			r.setRequestHeader("Method", "POST " + pinguri + " HTTP/1.1");
			r.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
			r.setRequestHeader("Connection", "Keep-Alive");
			r.send('ping=' + xAjaxCallID);
			if (r.responseText != xAjaxCallID) {
				alert ("Invalid ping");
			}
		} catch(err) {
			alert (xAjaxErrors['serveroffline']);
			this.doneLoadingFunction(xAjaxCallForm, xAjaxCallClass, xAjaxCallMethod);
			isAjaxCall[xAjaxCallForm] = false;
			return false;
		}
		*/
r=this.getRequestObject();if(!r){var errormsg=xAjaxErrors['browsererror'];alert(errormsg);this.doneLoadingFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);return false;}
r.open(xajaxRequestType==xajaxDefinedGet?"GET":"POST",uri,xAjaxAsync);if(xajaxRequestType==xajaxDefinedPost){try{r.setRequestHeader("Method","POST "+uri+" HTTP/1.1");r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");r.setRequestHeader("Connection","Keep-Alive");}
catch(e){var errormsg=xAjaxErrors['browsererror'];alert(errormsg);this.doneLoadingFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);return false;}
}
r.onreadystatechange=function(){xajax.evalResponse(r,xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,postData,xajaxRequestType,false);}
try{r.send(postData);}catch(err){this.noConnectionFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);return false;}
if(xAjaxAsync==false){return this.evalResponse(r,xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,postData,xajaxRequestType,false);}else{if(xajaxStatusMessages==true)window.status='Waiting for data...';if(typeof responseTimeout[xAjaxCallID]!='undefined'){clearTimeout(responseTimeout[xAjaxCallID]);}
responseTimeout[xAjaxCallID]=setTimeout('xajax.xajaxPing(\''+xAjaxCallForm+'\', \''+xAjaxCallClass+'\', \''+xAjaxCallMethod+'\', \''+xAjaxCallID+'\', '+xajaxRequestType+');',xAjaxInitialTimeOut);delete r;return true;}
}
this.evalResponse=function(r,xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,postData,xajaxRequestType,isPing){try{if(r.readyState!=4||r.status!=200){return;}
}catch(e){return;}
if(isPing){if(typeof r.responseText=='undefined'||r.responseText.length==0){return;}
if(r.responseText==xAjaxCallID){return;}
if(r.responseText.indexOf('xAjaxPingResponse')==-1){isPing=false;}
}
if(!isPing){if(typeof pings[xAjaxCallID]!='undefined'){delete(pings[xAjaxCallID]);}
if(typeof pingFails[xAjaxCallID]!='undefined'){delete(pingFails[xAjaxCallID]);}
if(typeof responseTimeout[xAjaxCallID]!='undefined'){clearTimeout(responseTimeout[xAjaxCallID]);delete(responseTimeout[xAjaxCallID]);}
this.xajaxConfirm(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,xajaxRequestType);}else{xajax.addModalMsg(xAjaxCallForm,xAjaxErrors['pingonline']);return;}
if(r.responseXML){var rExp=/<\?xml/gi;var XMLstart=r.responseText.search(rExp);if(XMLstart!=0){if(XMLstart > 0){var errorText=r.responseText.substr(0,XMLstart);}else{var errorText=r.responseText;}
if(detailedErrors){var rExp2=/SWERROR/gi;var swErrorStart=errorText.search(rExp2);if(swErrorStart >=0){swErrorStart=swErrorStart+8;var swError=errorText.substr(swErrorStart);alert(swError);}else{var errorString=xAjaxErrors['invaliddetailes'];var errorDetailes=xAjaxErrors['errordetailes']+errorText;var doDetailes=confirm(errorString);if(doDetailes){alert(errorDetailes);}
}
}else{var errorString=xAjaxErrors['invalid'];alert(errorString);}
this.logError(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,errorText,postData);var xmlString=r.responseText.substr(XMLstart);if(document.implementation.createDocument){var xmlObject=(new DOMParser()).parseFromString(xmlString,"text/xml");}else if(window.ActiveXObject){var xmlObject=new ActiveXObject("Microsoft.XMLDOM");xmlObject.loadXML(xmlString);}
}else{xmlObject=r.responseXML;}
xajax.processResponse(xmlObject,xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,!isPing);}else{if(detailedErrors){var rExp2=/SWERROR/gi;var swErrorStart=r.responseText.search(rExp2);if(swErrorStart >=0){swErrorStart=swErrorStart+8;var swError=r.responseText.substr(swErrorStart);alert(swError);}else{var errorString=xAjaxErrors['invaliddetailes'];var errorDetailes=xAjaxErrors['errordetailes']+r.responseText;trimmedResponseText=r.responseText.replace(/^\s+/g,"");trimmedResponseText=trimmedResponseText.replace(/\s+$/g,"");if(trimmedResponseText!=r.responseText)
errorDetailes=xAjaxErrors['errorspaces']+errorDetailes;var doDetailes=confirm(errorString);if(doDetailes){alert(errorDetailes);}
}
}else{var errorString=xAjaxErrors['invalid'];alert(errorString);}
document.body.style.cursor='default';if(xajaxStatusMessages==true)window.status='Invalid XML response error';if(typeof(loadingTimeout[xAjaxCallForm])!='undefined'){clearTimeout(loadingTimeout[xAjaxCallForm]);}
this.doneLoadingFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);this.removeFromStack(xAjaxCallForm);isAjaxCall[xAjaxCallForm]=false;}
delete r;r=null;}
var pings=new Array();var pingFails=new Array();this.xajaxPing=function(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,xajaxRequestType){this.addDebug('xajaxPing',xAjaxCallForm+','+xAjaxCallClass+','+xAjaxCallMethod);var uri=xajaxRequestUri;var pinguri=xajaxPingRequestUri;var postData=null;var xAjaxCallType='ping';switch(xajaxRequestType){case xajaxDefinedGet:{var uriGet=uri.indexOf("?")==-1?"?xajax="+encodeURIComponent("ajax_call"):"&xajax="+encodeURIComponent("ajax_call");for(i=0;i<2;i++){uriGet+="&xajaxargs[]="+encodeURIComponent("<xjxquery><q></q></xjxquery>");}
uriGet=uriGet+"&xajaxargs[]="+encodeURIComponent("<xjxquery><q>xAjaxCallID="+xAjaxCallID+"&xAjaxCallType="+xAjaxCallType+"</q></xjxquery>");uriGet+="&xajaxr="+new Date().getTime();uri+=uriGet;postData=null;}break;case xajaxDefinedPost:{postData="xajax="+encodeURIComponent("ajax_call");uriGet+="&xajaxr="+new Date().getTime();for(i=0;i<2;i++){postData=postData+"&xajaxargs[]="+encodeURIComponent("<xjxquery><q></q></xjxquery>");}
postData=postData+"&xajaxargs[]="+encodeURIComponent("<xjxquery><q>xAjaxCallID="+xAjaxCallID+"&xAjaxCallType="+xAjaxCallType+"</q></xjxquery>");}break;default:
alert("Illegal request type: "+xajaxRequestType);return false;break;}
r.open('POST',pinguri,false);try{r.setRequestHeader("Method","POST "+pinguri+" HTTP/1.1");r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");r.setRequestHeader("Connection","Keep-Alive");r.send('ping='+xAjaxCallID);if(r.responseText!=xAjaxCallID){var errMsg='Ping invalid for ping id '+xAjaxCallID+':'+r.responseText;this.logError(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,encodeURIComponent(errMsg),"");}
if(typeof responseTimeout[xAjaxCallID]!='undefined'){clearTimeout(responseTimeout[xAjaxCallID]);}
responseTimeout[xAjaxCallID]=setTimeout('xajax.xajaxPing(\''+xAjaxCallForm+'\', \''+xAjaxCallClass+'\', \''+xAjaxCallMethod+'\', \''+xAjaxCallID+'\', '+xajaxRequestType+');',xAjaxTimeOut);}catch(err){if(typeof pingFails[xAjaxCallID]=="undefined"||isNaN(pingFails[xAjaxCallID])){pingFails[xAjaxCallID]=1;}else{pingFails[xAjaxCallID]=pingFails[xAjaxCallID]+1;}
if(pingFails[xAjaxCallID] > xAjaxPingRetry){isAjaxCall[xAjaxCallForm]=false;if(typeof responseTimeout[xAjaxCallID]!='undefined'){clearTimeout(responseTimeout[xAjaxCallID]);delete(responseTimeout[xAjaxCallID]);}
xajax.noConnectionFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);}else{var offlineMsg=xAjaxErrors['pingoffline'];offlineMsg=offlineMsg.replace(/\[%1\]/,pingFails[xAjaxCallID]);offlineMsg=offlineMsg.replace(/\[%2\]/,xAjaxPingRetry);xajax.addModalMsg(xAjaxCallForm,offlineMsg);if(typeof responseTimeout[xAjaxCallID]!='undefined'){clearTimeout(responseTimeout[xAjaxCallID]);}
responseTimeout[xAjaxCallID]=setTimeout('xajax.xajaxPing("'+xAjaxCallForm+'", "'+xAjaxCallClass+'", "'+xAjaxCallMethod+'", "'+xAjaxCallID+'", '+xajaxRequestType+');',xAjaxTimeOut);}
return false;}
pingFails[xAjaxCallID]=0;r=xajax.getRequestObject();if(r){r.open(xajaxRequestType==xajaxDefinedGet?"GET":"POST",uri,xAjaxAsync);if(xajaxRequestType==xajaxDefinedPost){try{r.setRequestHeader("Method","POST "+uri+" HTTP/1.1");r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");r.setRequestHeader("Connection","Keep-Alive");}
catch(e){}
}
}
r.onreadystatechange=function(){if(typeof pings[xAjaxCallID]!='undefined'&&pings[xAjaxCallID]){xajax.evalResponse(r,xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,postData,xajaxRequestType,true);}
}
pings[xAjaxCallID]=true;r.send(postData);}
this.xajaxConfirm=function(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,xAjaxCallID,xajaxRequestType){this.addDebug('xajaxConfirm',xAjaxCallForm+','+xAjaxCallClass+','+xAjaxCallMethod+','+xAjaxCallID);var uri=xajaxConfirmRequestUri;var postData=null;switch(xajaxRequestType){case xajaxDefinedGet:{var uriGet=uriGet+"?xAjaxCallID="+xAjaxCallID;uri+=uriGet;postData=null;}break;case xajaxDefinedPost:{postData="xAjaxCallID="+xAjaxCallID;}break;default:
alert("Illegal request type: "+xajaxRequestType);return false;break;}
r=xajax.getRequestObject();if(r){r.open(xajaxRequestType==xajaxDefinedGet?"GET":"POST",uri,xAjaxAsync);if(xajaxRequestType==xajaxDefinedPost){try{r.setRequestHeader("Method","POST "+uri+" HTTP/1.1");r.setRequestHeader("Content-Type","application/x-www-form-urlencoded");r.setRequestHeader("Connection","Keep-Alive");}
catch(e){}
}
}
r.send(postData);}
this.logError=function(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,errMsg,postData){var env_xml='<xjxquery><q>';env_xml=env_xml+'class='+'ajax_ajax';env_xml=env_xml+'&';env_xml=env_xml+'method='+'report';env_xml=env_xml+'&';env_xml=env_xml+'form='+xAjaxCallForm;env_xml=env_xml+'&';env_xml=env_xml+'reqclass='+xAjaxCallClass;env_xml=env_xml+'&';env_xml=env_xml+'reqmethod='+xAjaxCallMethod;env_xml=env_xml+'&';env_xml=env_xml+'error='+errMsg;env_xml=env_xml+'&';env_xml=env_xml+'postData='+encodeURIComponent(postData);env_xml=env_xml+'</q></xjxquery>';xajax_ajax_call('<xjxquery><q></q></xjxquery>',env_xml);}
this.getBrowserHTML=function(html){tmpXajax=this.$(this.workId);if(!tmpXajax){tmpXajax=document.createElement("div");tmpXajax.setAttribute('id',this.workId);tmpXajax.style.display="none";tmpXajax.style.visibility="hidden";document.body.appendChild(tmpXajax);}
tmpXajax.innerHTML=html;var browserHTML=tmpXajax.innerHTML;tmpXajax.innerHTML='';return browserHTML;}
this.willChange=function(element,attribute,newData){if(!document.body){return true;}
if(attribute=="innerHTML"){newData=this.getBrowserHTML(newData);}
elementObject=this.$(element);if(elementObject){var oldData;eval("oldData=this.$('"+element+"')."+attribute);if(newData!==oldData)
return true;}
return false;}
this.viewSource=function(){return "<html>"+document.getElementsByTagName("HTML")[0].innerHTML+"</html>";}
this.processResponse=function(xml,xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod,syncLoader){this.addDebug('processResponse',xAjaxCallForm+','+xAjaxCallClass+','+xAjaxCallMethod);if(xajaxStatusMessages==true)window.status='Processing...';var tmpXajax=null;xml=xml.documentElement;if(xml==null){if(syncLoader){if(typeof(loadingTimeout[xAjaxCallForm])!='undefined'){clearTimeout(loadingTimeout[xAjaxCallForm]);}
this.doneLoadingFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);}
return;}
var skipCommands=0;var skipCommandsAfter=0;for(var i=0;i<xml.childNodes.length;i++){if(skipCommandsAfter > 0){skipCommandsAfter--;}else{if(skipCommands > 0){skipCommands--;continue;}
}
if(xml.childNodes[i].nodeName=="cmd"){var cmd;var id;var property;var data;var search;var type;var before;var objElement=null;for(var j=0;j<xml.childNodes[i].attributes.length;j++){if(xml.childNodes[i].attributes[j].name=="n"){cmd=xml.childNodes[i].attributes[j].value;}
else if(xml.childNodes[i].attributes[j].name=="t"){id=xml.childNodes[i].attributes[j].value;}
else if(xml.childNodes[i].attributes[j].name=="p"){property=xml.childNodes[i].attributes[j].value;}
else if(xml.childNodes[i].attributes[j].name=="c"){type=xml.childNodes[i].attributes[j].value;}
}
if(xml.childNodes[i].childNodes.length > 1&&xml.childNodes[i].firstChild.nodeName=="#cdata-section"){data="";for(var j=0;j<xml.childNodes[i].childNodes.length;j++){data+=xml.childNodes[i].childNodes[j].data;}
}
else if(xml.childNodes[i].firstChild&&xml.childNodes[i].firstChild.nodeName=='xjxobj'){data=this._nodeToObject(xml.childNodes[i].firstChild);objElement="XJX_SKIP";}
else if(xml.childNodes[i].childNodes.length > 1){for(var j=0;j<xml.childNodes[i].childNodes.length;j++){if(xml.childNodes[i].childNodes[j].childNodes.length > 1&&xml.childNodes[i].childNodes[j].firstChild.nodeName=="#cdata-section"){var internalData="";for(var k=0;k<xml.childNodes[i].childNodes[j].childNodes.length;k++){internalData+=xml.childNodes[i].childNodes[j].childNodes[k].nodeValue;}
}else{var internalData=xml.childNodes[i].childNodes[j].firstChild.nodeValue;}
if(xml.childNodes[i].childNodes[j].nodeName=="s"){search=internalData;}
if(xml.childNodes[i].childNodes[j].nodeName=="r"){data=internalData;}
}
}
else if(xml.childNodes[i].firstChild)
data=xml.childNodes[i].firstChild.nodeValue;else
data="";if(objElement!="XJX_SKIP")objElement=this.$(id);var cmdFullname;try{if(cmd=="cc"){cmdFullname="addConfirmCommands";var confirmResult=confirm(data);if(!confirmResult){skipCommands=id;}else{skipCommands=property;skipCommandsAfter=id;}
}
if(cmd=="al"&&data.length > 0){cmdFullname="addAlert";alert(data);}
else if(cmd=="js"){cmdFullname="addScript/addRedirect";eval(data);}
else if(cmd=="jc"){cmdFullname="addScriptCall";var scr=id+'(';if(data[0]!=null){scr+='data[0]';for(var l=1;l<data.length;l++){scr+=',data['+l+']';}
}
scr+=');';eval(scr);}
else if(cmd=="in"){cmdFullname="addIncludeScript";this.include(data);}
else if(cmd=="as"){cmdFullname="addAssign/addClear";if(this.willChange(id,property,data)){eval("objElement."+property+"=data;");}
}
else if(cmd=="ap"){cmdFullname="addAppend";eval("objElement."+property+"+=data;");}
else if(cmd=="pp"){cmdFullname="addPrepend";eval("objElement."+property+"=data+objElement."+property);}
else if(cmd=="rp"){cmdFullname="addReplace";this.replace(id,property,search,data)
}
else if(cmd=="rm"){cmdFullname="addRemove";this.remove(id);}
else if(cmd=="ce"){cmdFullname="addCreate";this.create(id,data,property);}
else if(cmd=="ie"){cmdFullname="addInsert";this.insert(id,data,property);}
else if(cmd=="ia"){cmdFullname="addInsertAfter";this.insertAfter(id,data,property);}
else if(cmd=="ci"){cmdFullname="addCreateInput";this.createInput(id,type,data,property);}
else if(cmd=="ii"){cmdFullname="addInsertInput";this.insertInput(id,type,data,property);}
else if(cmd=="iia"){cmdFullname="addInsertInputAfter";this.insertInputAfter(id,type,data,property);}
else if(cmd=="ev"){cmdFullname="addEvent";property=this.addOnPrefix(property);eval("this.$('"+id+"')."+property+"= function(){"+data+";}");}
else if(cmd=="ah"){cmdFullname="addHandler";this.addHandler(id,property,data);}
else if(cmd=="rh"){cmdFullname="addRemoveHandler";this.removeHandler(id,property,data);}
}
catch(e){}
delete objElement;delete cmd;delete cmdFullname;delete id;delete property;delete search;delete data;delete type;delete before;delete internalData;delete j;delete k;}
}
delete xml;delete i;document.body.style.cursor='default';if(syncLoader){if(xajaxStatusMessages==true)window.status='Done';if(typeof(loadingTimeout[xAjaxCallForm])!='undefined'){clearTimeout(loadingTimeout[xAjaxCallForm]);}
this.doneLoadingFunction(xAjaxCallForm,xAjaxCallClass,xAjaxCallMethod);}
if(typeof xAjaxStack[xAjaxCallForm]!='undefined'&&xAjaxStack[xAjaxCallForm].length > 0){var xAjaxCallItem=xAjaxStack[xAjaxCallForm].shift();var aArgs=xAjaxCallItem['aArgs'];var xForm=xAjaxCallItem['xForm'];var xPrefix='';if(typeof aArgs[0]!='undefined'&&aArgs[0].length > 0){var doRebuild=true;var xAjaxCallField='';if(typeof aArgs[1]!='undefined'&&aArgs[1].length > 0){var aEnv=xajax.xmlToArray(aArgs[1]);if(typeof aEnv['_rebuild']!='undefined'&&aEnv['_rebuild']==0){doRebuild=false;}
if(typeof aEnv['field']!='undefined'){xAjaxCallField=aEnv['field'];}
if(typeof aEnv['form']!='undefined'){xForm=aEnv['form'];}
if(typeof aEnv['_prefix']!='undefined'){xPrefix=aEnv['_prefix'];}
}
if(doRebuild){aArgs[0]=xajax.getFormValues(xForm);xAjaxCallItem['aArgs']=aArgs;}
this.addDebug('callStack',xAjaxCallForm+','+xAjaxCallClass+','+xAjaxCallMethod+','+xAjaxCallField);isAjaxCall[xAjaxCallForm]=false;xajax.call(xAjaxCallItem['sFunction'],xAjaxCallItem['aArgs'],xAjaxCallItem['sRequestType']);}
}
isAjaxCall[xAjaxCallForm]=false;}
this.removeFromStack=function(xAjaxCallForm){if(typeof xAjaxStack[xAjaxCallForm]!='undefined'){if(xAjaxStack[xAjaxCallForm].length > 0){isAjaxCall[xAjaxCallForm]=false;xAjaxStack[xAjaxCallForm]=new Array();}
}
this.addDebug('removeFromStack',xAjaxCallForm);}
this.xmlToArray=function(xmlString){var data=new Array();if(xmlString.indexOf('<xjxquery><q>')!=-1&&xmlString.indexOf('</q></xjxquery>')!=-1){var strippedXmlString=xmlString.substr(13,xmlString.length-28);}else{var strippedXmlString=xmlString;}
var xmlDataArray=strippedXmlString.split("&");for(var j=0;j<xmlDataArray.length;j++){var xmlDataItemString=xmlDataArray[j];var xmlDataItemData=xmlDataItemString.split("=");if(typeof xmlDataItemData[0]!='undefined'){var xmlDataItemName=xmlDataItemData[0];if(typeof xmlDataItemData[1]!='undefined'){var xmlDataItemValue=xmlDataItemData[1];}else{var xmlDataItemValue='';}
var aBraq=xmlDataItemName.indexOf('[');if(aBraq!=-1){var rBraqRE=/\[/g;var lBraqRE=/\]/g;xmlDataItemName=xmlDataItemName.replace(rBraqRE,"['");xmlDataItemName=xmlDataItemName.replace(lBraqRE,"']");var bfBraq=xmlDataItemName.substr(0,aBraq);var afBraq=xmlDataItemName.substr(aBraq);eval("data['"+bfBraq+"']"+afBraq+" = xmlDataItemValue;");}else{data[xmlDataItemName]=xmlDataItemValue;}
}
}
return data;}
this.addDebug=function(name,str){if(!xajaxDebug){return true;}
str=new Date().getSeconds()+':'+new Date().getMilliseconds()+' '+name+' '+str+'<br/>';var div_debug=document.getElementById('layout_debug');if(div_debug){div_debug.innerHTML=div_debug.innerHTML+str;}
}
}
var xajax=new Xajax();xajaxLoaded=true;
