
function Ajax(url,data){var xmlHttp=null;var onSuccessCbF='';var onSuccessMth='';var onFailureCbF='';var onLoadingCbF='';var onLoadedCbF='';var onSuccessArg='';var onFailureArg='';var onLoadingArg='';var onLoadedArg='';var notrun=true;function init(){if(window.XMLHttpRequest){xmlHttp=new XMLHttpRequest();}else if(window.ActiveXObject){xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");}}
this.doRequest=function(){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);xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");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;}
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<length;i+=1){partial[i]=stringify(i,value,replacer)||'null';}return'['+partial.join(',')+']';}if(typeof replacer==='object'){length=replacer.length;for(i=0;i<length;i+=1){k=replacer[i];if(typeof k==='string'){v=stringify(k,value,replacer);if(v){partial.push(quote(k)+':'+v);}}}}else{for(k in value){v=stringify(k,value,replacer);if(v){partial.push(quote(k)+':'+v);}}}return'{'+partial.join(',')+'}';}}return{stringify:function(value,replacer){if(typeof replacer!=='function'){if(!replacer){replacer=function(key,value){if(!Object.hasOwnProperty.call(this,key)){return undefined;}return value;};}else if(typeof replacer!=='object'||typeof replacer.length!=='number'){throw new Error('JSON.stringify');}}return stringify('',{'':value},replacer);},parse:function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==='object'){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v;}else{delete value[k];}}}}return reviver.call(holder,key,value);}if(/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/bfnrtu]/g,'@').replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']').replace(/(?:^|:|,)(?:\s*\[)+/g,''))){j=eval('('+text+')');return typeof reviver==='function'?walk({'':j},''):j;}throw new SyntaxError('JSON.parse');},quote:quote};}();