function Ajax(url,data,raw){var xmlHttp=null;var onSuccessCbF='';var onSuccessMth='';var onFailureCbF='';var onLoadingCbF='';var onLoadedCbF='';var onSuccessArg='';var onFailureArg='';var onLoadingArg='';var onLoadedArg='';var notrun=true;if(typeof(raw)=="undefined"){raw=false;} function init(){if(window.XMLHttpRequest){xmlHttp=new XMLHttpRequest();}else if(window.ActiveXObject){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}} this.doRequest=function(nodes){init();var encoded=JSON.stringify(data);var method=getMethod(encoded,url);if(method=="GET"){encoded=_URLEncode(encoded);if(url.indexOf("?")>=0){url=url+"&ajaxget="+encoded;}else{url=url+"?ajaxget="+encoded;}} xmlHttp.onreadystatechange=getResponse;xmlHttp.open(method,url,true);if(!this.raw){xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");} if(typeof(nodes)=="object"&&typeof(nodes.join)!="undefined"){xmlHttp.setRequestHeader("HTML-Nodes",nodes.join(";"));} if(method!="GET"){xmlHttp.send(encoded);}else{xmlHttp.send(null);}};function getMethod(data,url){if(data.length>800){return"POST";} var encoded=_URLEncode(data);var length=encoded.length+url.length;if(length>1000){return"POST";} return"GET";} function _URLEncode(str){var histogram={},tmp_arr=[];var ret=str.toString();var replacer=function(search,replace,str){var tmp_arr=[];tmp_arr=str.split(search);return tmp_arr.join(replace);};histogram["'"]='%27';histogram['(']='%28';histogram[')']='%29';histogram['*']='%2A';histogram['~']='%7E';histogram['!']='%21';histogram['%20']='+';ret=encodeURIComponent(ret);for(search in histogram){replace=histogram[search];ret=replacer(search,replace,ret);} return ret.replace(/(\%([a-z0-9]{2}))/g,function(full,m1,m2){return"%"+m2.toUpperCase();});return ret;} function getResponse(){switch(xmlHttp.readyState){case 1:_onLoading();break;case 2:_onLoaded();break;case 4:if(xmlHttp.status==200){_onSuccess();}else{_onFailure();} break;default:break;}} function getXmlResponse(){return xmlHttp.responseXML;} function getTextResponse(){return xmlHttp.responseText;} function _onSuccess(){if(onSuccessCbF==''){delete xmlHttp;return false;} var output='';switch(onSuccessMth){default:case"text":output=getTextResponse();break;case"xml":output=getXmlResponse();break;} if(!raw){output=eval("("+output+")");} eval("onSuccessCbF(output,onSuccessArg)");delete xmlHttp;return true;} function _onFailure(){var output=getTextResponse();if(onFailureCbF==''){alert(output);}else{eval("onFailureCbF(output,onFailureArg)");}delete xmlHttp;return true;} function _onLoading(){if(notrun){notrun=false;if(onLoadingCbF==''){delete xmlHttp;return false;} eval("onLoadingCbF(onLoadingArg)");delete xmlHttp;return true;}} function _onLoaded(){if(onLoadedCbF==''){delete xmlHttp;return false;} eval("onLoadedCbF(onLoadedArg)");delete xmlHttp;return true;};this.onSuccess=function(callback_fce,arg){if(typeof callback_fce=="string"){callback_fce=eval(callback_fce);} onSuccessCbF=callback_fce;onSuccessMth="text";onSuccessArg=arg;};this.onFailure=function(callback_fce,arg){if(typeof callback_fce=="string"){callback_fce=eval(callback_fce);} onFailureCbF=callback_fce;onFailureArg=arg;};this.onLoading=function(callback_fce,arg){if(typeof callback_fce=="string"){callback_fce=eval(callback_fce);} onLoadingCbF=callback_fce;onLoadingArg=arg;};this.onLoaded=function(callback_fce,arg){if(typeof callback_fce=="string"){callback_fce=eval(callback_fce);} onLoadedCbF=callback_fce;onLoadedArg=arg;}} JSON=function(){function f(n){return n<10?'0'+n:n;} Date.prototype.toJSON=function(){return this.getUTCFullYear()+'-'+f(this.getUTCMonth()+1)+'-'+f(this.getUTCDate())+'T'+f(this.getUTCHours())+':'+f(this.getUTCMinutes())+':'+f(this.getUTCSeconds())+'Z';};var meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'},escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;function quote(string){return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==='string'){return c;} c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"':'"'+string+'"';} function is_assoc(array){var len=array.length;var real_len=0;for(var key in array){real_len++;}if(len==real_len){return false;}else{return true;}}function stringify(key,holder,replacer){var i,k,v,length,partial,value=holder[key];if(value&&typeof value==='object'&&typeof value.toJSON==='function'){value=value.toJSON(key);}if(typeof replacer==='function'){value=replacer.call(holder,key,value);}switch(typeof value){case'string':return quote(value);case'number':return isFinite(value)?String(value):'null';case'boolean':case'null':return String(value);case'object':if(!value){return'null';}partial=[];if(!is_assoc(value)){length=value.length;for(i=0;i