function ajax(){this.xml_http=null;this.interval=null;this.init=function(interval){this.xml_http=this.getXmlHttp();if(!this.xml_http)throw'XMLHttp is null';this.interval=interval||100;}
this.getXmlHttp=function(){if(window.ActiveXObject){if(!(xml_http=new ActiveXObject('Microsoft.XMLHTTP'))){var versions=new Array('MSXML2.XMLHTTP.6.0','MSXML2.XMLHTTP.5.0','MSXML2.XMLHTTP.4.0','MSXML2.XMLHTTP.3.0','MSXML2.XMLHTTP','Microsoft.XMLHTTP');for(var i=0;i<versions.length&&!xml_http;i++){if(xml_http=new ActiveXObject(versions[i]))break;}}}else{xml_http=new XMLHttpRequest();}
return xml_http;}
this.get=function(uri_handler,data,callback,param){this.xml_http.open('GET',uri_handler+'?'+data,true);this.handleReadyState(callback,param);this.xml_http.send(null);}
this.post=function(uri_handler,data,callback,param){this.xml_http.open('POST',uri_handler,true);this.xml_http.setRequestHeader('Content-Type','application/x-www-form-urlencoded');this.handleReadyState(callback,param||null);this.xml_http.send(data);}
this.handleReadyState=function(callback,param){var call=setInterval(function(){if(this.xml_http.readyState==4&&this.xml_http.status==200){clearInterval(call);if(callback)callback(this.xml_http,param||null);}},this.interval);}}
