
try{if(undefined==xajax.config)xajax.config={};}catch(e){xajax={};xajax.config={};}
if(undefined==xajax.config.waitCursor)xajax.config.waitCursor=false;if(undefined==xajax.config.statusMessages)xajax.config.statusMessages=false;if(undefined==xajax.config.baseDocument)xajax.config.baseDocument=document;if(undefined==xajax.config.requestURI)xajax.config.requestURI=xajax.config.baseDocument.URL;xajax.css={}
xajax.dom={}
xajax.events={}
xajax.forms={}
xajax.js={}
xajax.tools={}
xajax.tools.queue={}
xajax.tools.queue.create=function(size){var theQ={}
theQ.start=0;theQ.size=size;theQ.end=0;theQ.commands=[];theQ.timeout=null;return theQ;}
xajax.tools.queue.retry=function(obj,count){var retries=obj.retries;if(retries){--retries;if(1 > retries)
return false;}else retries=count;obj.retries=retries;return true;}
xajax.tools.queue.rewind=function(theQ){if(0 < theQ.start)
--theQ.start;else
theQ.start=theQ.size;}
xajax.tools.queue.setWakeup=function(theQ,when){if(null!=theQ.timeout){clearTimeout(theQ.timeout);theQ.timeout=null;}
theQ.timout=setTimeout(function(){xajax.tools.queue.process(theQ);},10);}
xajax.tools.queue.process=function(theQ){if(null!=theQ.timeout){clearTimeout(theQ.timeout);theQ.timeout=null;}
var obj=xajax.tools.queue.pop(theQ);while(null!=obj){try{if(false==xajax.executeCommand(obj))
return false;}catch(e){}
obj=xajax.tools.queue.pop(theQ);}
return true;}
xajax.tools.queue.push=function(theQ,obj){var next=theQ.end+1;if(next > theQ.size)
next=0;if(next!=theQ.start){theQ.commands[theQ.end]=obj;theQ.end=next;}
}
xajax.tools.queue.pushFront=function(theQ,obj){xajax.tools.queue.rewind(theQ);theQ.commands[theQ.start]=obj;}
xajax.tools.queue.pop=function(theQ){var next=theQ.start;if(next==theQ.end)
return null;next++;if(next > theQ.size)
next=0;var obj=theQ.commands[theQ.start];theQ.commands[theQ.start]=null;theQ.start=next;return obj;}
xajax.response=xajax.tools.queue.create(1000);xajax.commands=[];xajax.commands['rcmplt']=function(args){xajax.completeResponse(args.objOptions);return true;}
xajax.responseSuccessCodes=['0','200'];xajax.responseErrorsForAlert=['400','401','402','403','404','500','501','502','503'];xajax.responseRedirectCodes=['301','302','307'];xajax.tools.$=function(sId){if(!sId)
return null;var oDoc=xajax.config.baseDocument;var obj=oDoc.getElementById(sId);if(obj)
return obj;if(oDoc.all)
return oDoc.all[sId];return obj;}
xajax.tools.arrayContainsValue=function(array,valueToCheck){var i=0;var l=array.length;while(i < l){if(array[i]==valueToCheck)
return true;++i;}
return false;}
xajax.tools._objectToXML=function(obj,guard){if(undefined==guard.depth)
guard.depth=0;if(undefined==guard.size)
guard.size=0;if(20 < guard.depth)
return '';if(2000 < guard.size)
return '';var rootLevel=(0==guard.depth);var aXml=[];aXml.push("<xjxobj>");for(var key in obj){++guard.size;if(obj[key]){if("constructor"==key)
continue;if("function"==typeof(obj[key]))
continue;aXml.push("<e><k>");if(rootLevel)aXml.push("<![CDATA[");aXml.push(key);if(rootLevel)aXml.push("]]>");aXml.push("</k><v>");if(rootLevel)aXml.push("<![CDATA[");var value;if("object"==typeof(obj[key])){++guard.depth;try{aXml.push(xajax.tools._objectToXML(obj[key],guard));}catch(e){}
--guard.depth;}else
aXml.push(obj[key]);if(rootLevel)aXml.push("]]>");aXml.push("</v></e>");}
}
aXml.push("</xjxobj>");return aXml.join('');}
xajax.tools._nodeToObject=function(node){if(null==node)
return '';if(undefined!=node.nodeName){if("#cdata-section"==node.nodeName||"#text"==node.nodeName){var data='';if(undefined!=node.data)
data+=node.data;while(node=node.nextSibling){data+=node.data;}
return data;}else if("xjxobj"==node.nodeName){var data=new Array();var children=node.childNodes;var jlen=children.length;for(var j=0;j<jlen;++j){var child=children[j];if("e"==child.nodeName){var grandChildren=child.childNodes;var key=null;var value=null;var klen=grandChildren.length;for(var k=0;k<klen;++k){var grandChild=grandChildren[k];switch(grandChild.nodeName){case "k":
key=xajax.tools._nodeToObject(grandChild.firstChild);break;case "v":
value=xajax.tools._nodeToObject(grandChild.firstChild);break;}
if(null!=key&&null!=value){data[key]=value;key=value=null;}
}
}
}
return data;}else
throw{name:'Invalid XML',message:'The response contains an unknown tag: '+node.nodeName};}else if(undefinded!=node.data){return node.data;}else{return '';}
}
xajax.call=function(sFunction,objOptions){if(undefined==objOptions)
objOptions={};if(true==xajax.config.statusMessages)
window.status="Sending Request...";if(xajax.config.waitCursor)
if(xajax.config.baseDocument.body)
xajax.config.baseDocument.body.style.cursor='wait';var requestType="post";if(objOptions.method){requestType=objOptions.method;if(requestType!=("get"||"post")){requestType="post";}
}
var uri=xajax.config.requestURI;if(objOptions.URI)
uri=objOptions.URI;if(undefined==uri)
throw{name:'Invalid request',message:'Missing requestURI; autodetection failed; please specify a one explicitly.'}
var parameters=[];parameters.push("xajax=");parameters.push(encodeURIComponent(sFunction));parameters.push("&xajaxr=");parameters.push(new Date().getTime());if(objOptions.parameters){var i=0;var l=objOptions.parameters.length;while(i < l){var value=objOptions.parameters[i];if("object"==typeof(value)){try{var value=xajax.tools._objectToXML(value,{});}catch(e){value='';}
}
parameters.push("&xajaxargs[]=");parameters.push(encodeURIComponent(value));++i;}
}
switch(requestType){case "get":{uri+=uri.indexOf("?")==-1?"?":"&";uri+=parameters.join("");parameters=[];}
break;case "post":{}break;default:
throw{name:'Invalid request',message:'Missing or illegal request type: '+requestType}
break;}
var returnValue=xajax.submitRequest(requestType,sFunction,uri,parameters,objOptions);return returnValue;}
xajax.submitRequest=function(requestType,sFunction,uri,parameters,objOptions){var xx=xajax;var xc=xx.config;var xt=xx.tools;var r=xt.getRequestObject();if(null==r)
return false;var mode='asynchronous';if(undefined!=objOptions.mode)
mode=objOptions.mode;r.open(requestType,uri,(mode=='asynchronous'));r.setRequestHeader("If-Modified-Since","Sat, 1 Jan 2000 00:00:00 GMT");if("post"==requestType){try{r.setRequestHeader("Method","POST "+uri+" HTTP/1.1");var contentType="application/x-www-form-urlencoded";if(undefined!=objOptions.contentType)
contentType=objOptions.contentType;r.setRequestHeader("Content-Type",contentType);}catch(e){delete r;r=null;return xx.submitRequest("get",sFunction,uri,parameters,objOptions);}
}
if('asynchronous'==mode){if(true==xc.statusMessages)
window.status='Waiting for response...';r.onreadystatechange=function(){if(r.readyState!=4)
return;xajax.responseReceived(r,objOptions,xajax.responseProcessor.xml);delete r;r=null;}
}
xx._internalSend(r,parameters,objOptions);delete parameters;if('asynchronous'!=mode){return xx.responseReceived(r,objOptions,xx.responseProcessor.xmlSynchronous);}
delete r;return true;}
xajax._internalSend=function(r,parameters,objOptions){r.send(parameters.join(""));return true;}
xajax.responseReceived=function(r,oOpt,fDefProc){var fProc;if(undefined==oOpt.responseProcessor){var contentType=r.getResponseHeader('content-type');if(0 <=contentType.indexOf('text/xml')){fProc=fDefProc;}
}else fProc=oOpt.responseProcessor;if(undefined==fProc)
throw{name:'Invalid response',message:'No response processor is available to process this type of response.'}
return fProc(r,oOpt);}
xajax.responseProcessor={};xajax.responseProcessor.xml=function(r,oOpt){var xx=xajax;var xt=xx.tools;if(xt.arrayContainsValue(xx.responseSuccessCodes,r.status)){if(r.responseXML&&r.responseXML.documentElement){var xml=r.responseXML.documentElement;if(true==xx.config.statusMessages)
window.status='Processing...';var len=xml.childNodes.length;var i=0;while(i < len){var child=xml.childNodes[i];if("cmd"==child.nodeName){var obj={};obj.cmdFullName="*unknown*";xx.parseAttributes(child,obj);xx.parseChildren(child,obj);obj.sequence=i;xt.queue.push(xx.response,obj);}else if('#text'==child.nodeName){throw{name:'Invalid response',message:'The response contains unexpected text: '+child.data}
}
++i;}
var obj={};obj.cmd='rcmplt';obj.objOptions=oOpt;xt.queue.push(xx.response,obj);delete xml;if(null==xx.response.timeout)
xt.queue.process(xx.response);}else if(''!=r.responseText){if(true==xx.config.statusMessages)
window.status='Invalid response error';throw{name:'Invalid response',message:'The response from the server was invalid.'}
}else
xx.completeResponse(oOpt);}else if(xt.arrayContainsValue(xx.responseRedirectCodes,r.status)){window.location=r.getResponseHeader("location");}
return undefined;}
xajax.responseProcessor.xmlSynchronous=function(r,oOpt){var xx=xajax;var xt=xx.tools;if(xt.arrayContainsValue(xx.responseSuccessCodes,r.status)){if(r.responseXML&&r.responseXML.documentElement){xml=r.responseXML.documentElement;if(undefined!=xml.firstChild){var xjxrv=xml.firstChild;if('xjxrv'==xjxrv.nodeName){var returnValue=xt._nodeToObject(xjxrv.firstChild);xml.removeChild(xjxrv);xx.responseProcessor.xml(r,oOpt);return returnValue;}
}
if('xjx'==xml.nodeName){xx.responseProcessor.xml(r,oOpt);}
return undefined;}else if(''!=r.responseText){if(true==xx.config.statusMessages)
window.status='Invalid response error';throw{name:'Invalid response',message:'The response from the server was invalid.'}
}else
xx.completeResponse(oOpt);}else if(xt.arrayContainsValue(xx.responseRedirectCodes,r.status)){window.location=r.getResponseHeader("location");}
return undefined;}
xajax.parseAttributes=function(child,obj){var jlen=child.attributes.length
for(var j=0;j < jlen;++j){var attr=child.attributes[j];switch(attr.name){case "n":
obj.cmd=attr.value;break;case "t":
obj.id=attr.value;break;case "p":
obj.property=attr.value;break;case "c":
obj.type=attr.value;break;case "f":
obj.func=attr.value;break;}
}
}
xajax.parseChildren=function(child,obj){if(0 < child.childNodes.length){if(1 < child.childNodes.length){obj.data='';var gclen=child.childNodes.length;for(var j=0;j < gclen;j++){var gchild=child.childNodes[j];if('#cdata-section'==gchild.nodeName||'#text'==gchild.nodeName){obj.data+=gchild.data;}
}
}else{if('xjxobj'==child.firstChild.nodeName){obj.data=xajax.tools._nodeToObject(child.firstChild);}else{obj.data=child.firstChild.nodeValue;}
}
}else
obj.data=child.data;}
xajax.executeCommand=function(obj){if(xajax.commands[obj.cmd]){if(obj.id)
obj.objElement=xajax.$(obj.id);if(false==xajax.commands[obj.cmd](obj)){xajax.tools.queue.pushFront(xajax.response,obj);return false;}
}
return true;}
xajax.completeResponse=function(objOptions){if(true==xajax.config.waitCursor)
if(xajax.config.baseDocument.body)
xajax.config.baseDocument.body.style.cursor='default';if(true==xajax.config.statusMessages)
window.status="Done";}
xajax.tools.getRequestObject=function(){if("undefined"!=typeof XMLHttpRequest)
return new XMLHttpRequest();if("undefined"!=typeof ActiveXObject){try{return new ActiveXObject("Msxml2.XMLHTTP.4.0");}catch(e){try{return new ActiveXObject("Msxml2.XMLHTTP");}catch(e2){try{}catch(e3){return new ActiveXObject("Microsoft.XMLHTTP");}
}
}
}
if(window.createRequest)
return window.createRequest();return null;}
xajax.tools.getBrowserHTML=function(sValue){var oDoc=xajax.config.baseDocument;if(!oDoc.body)
return '';var elWorkspace=xajax.$('xajax_temp_workspace');if(!elWorkspace){elWorkspace=oDoc.createElement("div");elWorkspace.setAttribute('id','xajax_temp_workspace');elWorkspace.style.display="none";elWorkspace.style.visibility="hidden";oDoc.body.appendChild(elWorkspace);}
elWorkspace.innerHTML=sValue;var browserHTML=elWorkspace.innerHTML;elWorkspace.innerHTML='';return browserHTML;}
xajax.tools.willChange=function(element,attribute,newData){if("string"==typeof(element))
element=xajax.$(element);if(element){var oldData;eval("oldData=element."+attribute);return(newData!==oldData);}
return false;}
xajax.tools.getFormValues=function(element){var submitDisabledElements=false;if(arguments.length > 1&&arguments[1]==true)
submitDisabledElements=true;var prefix="";if(arguments.length > 2)
prefix=arguments[2];if("string"==typeof(element))
element=xajax.$(element);var aXml=[];aXml.push("<xjxquery><q>");if(element&&element.tagName&&"FORM"==element.tagName.toUpperCase()){var formElements=element.elements;for(var i=0;i < formElements.length;i++){var child=formElements[i];if(!child.name)
continue;if(prefix!=child.name.substring(0,prefix.length))
continue;if(child.type&&(child.type=='radio'||child.type=='checkbox')&&child.checked==false)
continue;if(child.disabled&&true==child.disabled&&false==submitDisabledElements)
continue;var name=child.name;if(name){if(1 < aXml.length)
aXml.push('&');if('select-multiple'==child.type){if(name.substr(name.length-2,2)!='[]')
name+='[]';for(var j=0;j < child.length;j++){var option=child.options[j];if(true==option.selected){aXml.push(name);aXml.push("=");aXml.push(encodeURIComponent(option.value));aXml.push("&");}
}
}else{aXml.push(name);aXml.push("=");aXml.push(encodeURIComponent(child.value));}
}
}
}
aXml.push("</q></xjxquery>");return aXml.join('');}
xajax.tools.stripOnPrefix=function(sEventName){sEventName=sEventName.toLowerCase();if(0==sEventName.indexOf('on'))
sEventName=sEventName.replace(/on/,'');return sEventName;}
xajax.tools.addOnPrefix=function(sEventName){sEventName=sEventName.toLowerCase();if(0!=sEventName.indexOf('on'))
sEventName='on'+sEventName;return sEventName;}
xajax.commands["css"]=function(args){args.cmdFullName="includeCSS";return xajax.css.add(args.data);}
xajax.commands["rcss"]=function(args){args.cmdFullName="removeCSS";return xajax.css.remove(args.data);}
xajax.commands["wcss"]=function(args){args.cmdFullName="waitForCSS";var oDocSS=xajax.config.baseDocument.styleSheets;var ssEnabled=[];for(var i=0;i < oDocSS.length;i++){ssEnabled[i]=0;try{ssEnabled[i]=oDocSS[i].cssRules.length;}catch(e){try{ssEnabled[i]=oDocSS[i].rules.length;}catch(e){}
}
}
var ssLoaded=true;for(var i=0;i < ssEnabled.length;++i)
if(0==ssEnabled[i])
ssLoaded=false;if(false==ssLoaded){if(xajax.tools.queue.retry(args,600)){xajax.tools.queue.setWakeup(xajax.response,10);return false;}
}
return true;}
xajax.commands["as"]=function(args){args.cmdFullName="assign/clear";try{return xajax.dom.assign(args.objElement,args.property,args.data);}catch(e){}
return true;}
xajax.commands["ap"]=function(args){args.cmdFullName="append";eval("args.objElement."+args.property+" += args.data;");return true;}
xajax.commands["pp"]=function(args){args.cmdFullName="prepend";eval("args.objElement."+args.property+" = args.data + args.objElement."+args.property);return true;}
xajax.commands["rp"]=function(args){args.cmdFullName="replace";return xajax.dom.replace(args.id,args.property,args.data);}
xajax.commands["rm"]=function(args){args.cmdFullName="remove";return xajax.dom.remove(args.id);}
xajax.commands["ce"]=function(args){args.cmdFullName="create";return xajax.dom.create(args.id,args.data,args.property);}
xajax.commands["ie"]=function(args){args.cmdFullName="insert";return xajax.dom.insert(args.id,args.data,args.property);}
xajax.commands["ia"]=function(args){args.cmdFullName="insertAfter";return xajax.dom.insertAfter(args.id,args.data,args.property);}
xajax.commands["ino"]=function(args){args.cmdFullName="includeScriptOnce";return xajax.js.includeOnce(args.data);}
xajax.commands["in"]=xajax.commands["ino"];xajax.commands["js"]=function(args){args.cmdFullName="execute Javascript";var returnValue=true;eval(args.data);return returnValue;}
xajax.commands['jc']=function(args){args.cmdFullName='call js function';return xajax.js.call(args.func,args.data);}
xajax.commands["al"]=function(args){args.cmdFullName="alert";alert(args.data);return true;}
xajax.commands["cc"]=function(args){args.cmdFullName="confirmCommands";return xajax.js.confirmCommands(args.data,args.id);}
xajax.commands["ci"]=function(args){args.cmdFullName="createInput";return xajax.forms.createInput(args.id,args.type,args.data,args.property);}
xajax.commands["ii"]=function(args){args.cmdFullName="insertInput";return xajax.forms.insertInput(args.id,args.type,args.data,args.property);}
xajax.commands["iia"]=function(args){args.cmdFullName="insertInputAfter";return xajax.forms.insertInputAfter(args.id,args.type,args.data,args.property);}
xajax.commands["ev"]=function(args){args.cmdFullName="addEvent";args.property=xajax.tools.addOnPrefix(args.property);eval("xajax.$('"+args.id+"')."+args.property+" = function(){"+args.data+";}");return true;}
xajax.commands["ah"]=function(args){args.cmdFullName="addHandler";xajax.events.addHandler(args.id,args.property,args.data);return true;}
xajax.commands["rh"]=function(args){args.cmdFullName="removeHandler";xajax.events.removeHandler(args.id,args.property,args.data);return true;}
xajax.css.add=function(sFileName){var oDoc=xajax.config.baseDocument;var objHead=oDoc.getElementsByTagName('head');var objLink=objHead[0].getElementsByTagName('link');var found=false;for(var i=0;i < objLink.length;i++){if(0 < objLink[i].href.indexOf(sFileName))
found=true;}
if(false==found){var objCSS=oDoc.createElement('link');objCSS.rel='stylesheet';objCSS.type='text/css';objCSS.href=sFileName;objHead[0].appendChild(objCSS);}
return true;}
xajax.css.remove=function(sFileName){var oDoc=xajax.config.baseDocument;var objHead=oDoc.getElementsByTagName('head');var objLink=objHead[0].getElementsByTagName('link');for(var i=0;i < objLink.length;i++){if(-1!=objLink[i].href.indexOf(sFileName)){objHead[0].removeChild(objLink[i]);}
}
return true;}
xajax.dom.assign=function(element,property,data){switch(property){case "innerHTML":
element.innerHTML=data;break;case "outerHTML":
if("Microsoft Internet Explorer"!=navigator.appName){var r=xajax.config.baseDocument.createRange();r.setStartBefore(element);var df=r.createContextualFragment(data);element.parentNode.replaceChild(df,element);}else{element.outerHTML=data;}
break;default:
if(xajax.tools.willChange(element,property,data)){eval("element."+property+" = data;");}
break;}
return true;}
xajax.dom.replace=function(element,sAttribute,aData){var sSearch=aData['s'];var sReplace=aData['r'];if(sAttribute=="innerHTML")
sSearch=xajax.tools.getBrowserHTML(sSearch);if("string"==typeof(element))
element=xajax.$(element);eval("var txt = element."+sAttribute);var bFunction=false;if("function"==typeof(txt)){txt=txt.toString();bFunction=true;}
var start=txt.indexOf(sSearch);if(start >-1){var newTxt=[];while(start >-1){var end=start+sSearch.length;newTxt.push(txt.substr(0,start));newTxt.push(sReplace);txt=txt.substr(end,txt.length-end);start=txt.indexOf(sSearch);}
newTxt.push(txt);newTxt=newTxt.join('');if(bFunction){eval('element.'+sAttribute+'=newTxt;');}else if(xajax.tools.willChange(element,sAttribute,newTxt)){eval('element.'+sAttribute+'=newTxt;');}
}
return true;}
xajax.dom.remove=function(element){if("string"==typeof(element))
element=xajax.$(element);if(element&&element.parentNode&&element.parentNode.removeChild){element.parentNode.removeChild(element);}
return true;}
xajax.dom.create=function(sParentId,sTag,sId){var objParent=xajax.$(sParentId);objElement=xajax.config.baseDocument.createElement(sTag);objElement.setAttribute('id',sId);if(objParent)
objParent.appendChild(objElement);return true;}
xajax.dom.insert=function(sBeforeId,sTag,sId){var objSibling=xajax.$(sBeforeId);objElement=xajax.config.baseDocument.createElement(sTag);objElement.setAttribute('id',sId);objSibling.parentNode.insertBefore(objElement,objSibling);return true;}
xajax.dom.insertAfter=function(sAfterId,sTag,sId){var objSibling=xajax.$(sAfterId);objElement=xajax.config.baseDocument.createElement(sTag);objElement.setAttribute('id',sId);objSibling.parentNode.insertBefore(objElement,objSibling.nextSibling);return true;}
xajax.js.includeOnce=function(fileName){var oDoc=xajax.config.baseDocument;var loadedScripts=oDoc.getElementsByTagName('script');for(var i=0;i < loadedScripts.length;i++){if(loadedScripts[i].src&&0==loadedScripts[i].src.indexOf(fileName))
return;}
var objHead=oDoc.getElementsByTagName('head');var objScript=oDoc.createElement('script');objScript.type='text/javascript';objScript.src=fileName;objHead[0].appendChild(objScript);return true;}
xajax.js.call=function(func,parameters){var scr=new Array();scr.push(func);scr.push('(');if(0 < parameters.length){scr.push('parameters[0]');for(var i=1;i < parameters.length;++i)
scr.push(', parameters['+i+']');}
scr.push(');');eval(scr.join(''));return true;}
xajax.js.confirmCommands=function(msg,numberOfCommands){if(false==confirm(msg)){while(0 < numberOfCommands){xajax.tools.queue.pop(xajax.response);--numberOfCommands;}
}
return true;}
xajax.forms.getInput=function(sType,sName,sId){var oDoc=xajax.config.baseDocument;var Obj;if(!window.addEventListener){Obj=oDoc.createElement('<input type="'+sType+'" id="'+sId+'" name="'+sName+'">');}else{Obj=oDoc.createElement('input');Obj.setAttribute('type',sType);Obj.setAttribute('name',sName);Obj.setAttribute('id',sId);}
return Obj;}
xajax.forms.createInput=function(sParentId,sType,sName,sId){var objParent=xajax.$(sParentId);var objElement=xajax.forms.getInput(sType,sName,sId);if(objParent&&objElement)
objParent.appendChild(objElement);return true;}
xajax.forms.insertInput=function(sBeforeId,sType,sName,sId){var objSibling=xajax.$(sBeforeId);var objElement=xajax.forms.getInput(sType,sName,sId);if(objElement&&objSibling&&objSibling.parentNode)
objSibling.parentNode.insertBefore(objElement,objSibling);return true;}
xajax.forms.insertInputAfter=function(sAfterId,sType,sName,sId){var objSibling=xajax.$(sAfterId);var objElement=xajax.forms.getInput(sType,sName,sId);if(objElement&&objSibling&&objSibling.parentNode){objSibling.parentNode.insertBefore(objElement,objSibling.nextSibling);}
return true;}
xajax.events.addHandler=function(sElementId,sEvent,sFunctionName){if(window.addEventListener){sEvent=xajax.tools.stripOnPrefix(sEvent);eval("xajax.$('"+sElementId+"').addEventListener('"+sEvent+"',"+sFunctionName+",false);");}else{sAltEvent=xajax.tools.addOnPrefix(sEvent);eval("xajax.$('"+sElementId+"').attachEvent('"+sAltEvent+"',"+sFunctionName+",false);");}
}
xajax.events.removeHandler=function(sElementId,sEvent,sFunctionName){if(window.addEventListener){sEvent=xajax.tools.stripOnPrefix(sEvent);eval("xajax.$('"+sElementId+"').removeEventListener('"+sEvent+"',"+sFunctionName+",false);");}else{sAltEvent=xajax.tools.addOnPrefix(sEvent);eval("xajax.$('"+sElementId+"').detachEvent('"+sAltEvent+"',"+sFunctionName+",false);");}
}
xajax.delay={}
xajax.delay.create=function(delay,abortDelay){var theDelay={}
theDelay.timeout=null;theDelay.delay=delay;theDelay.startedEvent=function(){}
theDelay.completedEvent=function(){}
theDelay.abort={}
theDelay.abort.timeout=null;theDelay.abort.expiredEvent=function(){}
theDelay.abort.killEvent=function(){var theAbort=theDelay.abort;var r=theAbort.request;var objOptions=theAbort.objOptions;if(1==r.readyState)
r.abort();theAbort.expiredEvent();xajax.completeResponse(objOptions);theAbort.objOptions=null;}
theDelay.abort.delay=abortDelay;return theDelay;}
xajax.delay.global=xajax.delay.create(400,10000);xajax.delay.start=function(what,r,o){var xd=xajax.delay;xd.clear(what);what.timeout=setTimeout(what.startedEvent,what.delay);if(what.abort){xd.clear(what.abort);what.abort.timeout=setTimeout(what.abort.killEvent,what.abort.delay);what.abort.request=r;what.abort.objOptions=o;}
}
xajax.delay.complete=function(what){xajax.delay.clear(what);if(what.abort)
xajax.delay.clear(what.abort);what.completedEvent();}
xajax.delay.clear=function(what){if(null!=what.timeout){clearTimeout(what.timeout);what.timeout=null;}
}
xajax.delay._internalSend=xajax._internalSend;xajax._internalSend=function(r,p,o){var mode='asynchronous';if(undefined!=o.mode)
mode=o.mode;var xd=xajax.delay;if(xd.global)
xd.start(xd.global,r,o);if(o.delay)
xd.start(o.delay,r,o);if("asynchronous"!=mode){if(xd.global){xd.clear(xd.global);xd.global.startedEvent();}
if(o.delay){xd.clear(o.delay);o.delay.startedEvent();}
}
return xd._internalSend(r,p,o);}
xajax.delay.processSynchronousResponse=xajax.processSynchronousResponse;xajax.processSynchronousResponse=function(r,o){var xd=xajax.delay;if(xd.global){xd.clear(xd.global);if(xd.global.abort)
xd.clear(xd.global.abort);}
if(o.delay){xd.clear(o.delay);if(o.delay.abort)
xd.clear(o.delay.abort);}
return xd.processSynchronousResponse(r,o);}
xajax.delay.responseProcessor={};xajax.delay.responseProcessor.xml=xajax.responseProcessor.xml;xajax.responseProcessor.xml=function(xml,o){var xd=xajax.delay;if(xd.global){xd.clear(xd.global);if(xd.global.abort)
xd.clear(xd.global.abort);}
if(o.delay){xd.clear(o.delay);if(o.delay.abort)
xd.clear(o.delay.abort);}
return xd.responseProcessor.xml(xml,o);}
xajax.delay.completeResponse=xajax.completeResponse;xajax.completeResponse=function(o){var xd=xajax.delay;if(xd.global)
xd.complete(xd.global);if(o.delay)
xd.complete(o.delay);return xd.completeResponse(o);}
xjx={}
xjx.$=xajax.tools.$;xjx.getFormValues=xajax.tools.getFormValues;xajax.$=xajax.tools.$;xajax.getFormValues=xajax.tools.getFormValues;xajaxLoaded=true;
