function isUndefined(variable){return typeof variable=='undefined'?true:false;};var Ajaxs=new Array();var AjaxStacks=new Array(0,0,0,0,0,0,0,0,0,0);var attackevasive=isUndefined(attackevasive)?0:attackevasive;function $(id){return document.getElementById(id);};function in_array(needle,haystack){if(typeof needle=='string'||typeof needle=='number'){for(var i in haystack){if(haystack[i]==needle){return true;}}};return false;};function changedisplay(obj,display){if(display=='auto'){obj.style.display=obj.style.display==''?'none':'';}else{obj.style.display=display;};return false;};function Ajax(recvType,waitId){for(var stackId=0;stackId<AjaxStacks.length&&AjaxStacks[stackId]!=0;stackId++);AjaxStacks[stackId]=1;var aj=new Object();aj.loading='Loading...';aj.recvType=recvType?recvType:'XML';aj.waitId=waitId?$(waitId):null;aj.resultHandle=null;aj.sendString='';aj.targetUrl='';aj.stackId=0;aj.stackId=stackId;aj.setLoading=function(loading){if(typeof loading!=='undefined'&&loading!==null)aj.loading=loading;};aj.setRecvType=function(recvtype){aj.recvType=recvtype;};aj.setWaitId=function(waitid){aj.waitId=typeof waitid=='object'?waitid:$(waitid);};aj.createXMLHttpRequest=function(){var request=false;if(window.XMLHttpRequest){request=new XMLHttpRequest();if(request.overrideMimeType){request.overrideMimeType('text/xml');}}else if(window.ActiveXObject){var versions=['Microsoft.XMLHTTP','MSXML.XMLHTTP','Microsoft.XMLHTTP','Msxml2.XMLHTTP.7.0','Msxml2.XMLHTTP.6.0','Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP'];for(var i=0;i<versions.length;i++){try{request=new ActiveXObject(versions[i]);if(request){return request;}}catch(e){}}};return request;};aj.XMLHttpRequest=aj.createXMLHttpRequest();aj.showLoading=function(){if(aj.waitId&&(aj.XMLHttpRequest.readyState!=4||aj.XMLHttpRequest.status!=200)){changedisplay(aj.waitId,'');aj.waitId.innerHTML='<span><img src="'+IMGDIR+'/loading.gif"> '+aj.loading+'</span>';}};aj.processHandle=function(){if(aj.XMLHttpRequest.readyState==4&&aj.XMLHttpRequest.status==200){for(k in Ajaxs){if(Ajaxs[k]==aj.targetUrl){Ajaxs[k]=null;}};if(aj.waitId)changedisplay(aj.waitId,'none');if(aj.recvType=='HTML'){aj.resultHandle(aj.XMLHttpRequest.responseText,aj);}else if(aj.recvType=='XML'){aj.resultHandle(aj.XMLHttpRequest.responseXML.lastChild.firstChild.nodeValue,aj);};AjaxStacks[aj.stackId]=0;}};aj.get=function(targetUrl,resultHandle){setTimeout(function(){aj.showLoading()},500);if(in_array(targetUrl,Ajaxs)){return false;}else{Ajaxs.push(targetUrl);};aj.targetUrl=targetUrl;aj.XMLHttpRequest.onreadystatechange=aj.processHandle;aj.resultHandle=resultHandle;var delay=attackevasive&1?(aj.stackId+1)*1001:100;if(window.XMLHttpRequest){setTimeout(function(){aj.XMLHttpRequest.open('GET',aj.targetUrl);aj.XMLHttpRequest.send(null);},delay);}else{setTimeout(function(){aj.XMLHttpRequest.open("GET",targetUrl,true);aj.XMLHttpRequest.send();},delay);}};aj.post=function(targetUrl,sendString,resultHandle){setTimeout(function(){aj.showLoading()},500);if(in_array(targetUrl,Ajaxs)){return false;}else{Ajaxs.push(targetUrl);};aj.targetUrl=targetUrl;aj.sendString=sendString;aj.XMLHttpRequest.onreadystatechange=aj.processHandle;aj.resultHandle=resultHandle;aj.XMLHttpRequest.open('POST',targetUrl);aj.XMLHttpRequest.setRequestHeader('Content-Type','application/x-www-form-urlencoded');aj.XMLHttpRequest.send(aj.sendString);};return aj;}
