
HTTP={};HTTP._factories=[function(){return new XMLHttpRequest();},function(){return new ActiveXObject("Msxml2.XMLHTTP");},function(){return new ActiveXObject("Microsoft.XMLHTTP");}];HTTP._factory=null;HTTP.newRequest=function(){if(HTTP._factory!=null)return HTTP._factory();for(var i=0;i<HTTP._factories.length;i++){try{var factory=HTTP._factories[i];var request=factory();if(request!=null){HTTP._factory=factory;return request;}}
catch(e){continue;}}
HTTP._factory=function(){throw new Error("XMLHttpRequest not supported");}
HTTP._factory();}
var request=HTTP.newRequest();var receive_funcs=[];request.onreadystatechange=function(){if(request.readyState==4){if(request.status==200){if(receive_funcs.length==0){alert(request.responseText);}else{var ret_text="";for(i=0;i<receive_funcs.length;i++){var s=receive_funcs[i].func(request.responseText,receive_funcs[i].param);if(s)ret_text+=s+'\n';}
if(ret_text)alert(ret_text);}}}}
HTTP.getText=function(url,callback){var request=HTTP.newRequest();request.onreadystatechange=function(){if(request.readyState==4&&request.status==200)
if(callback)callback(request.responseText);}
request.open("GET",url);request.send(null);};HTTP.getXML=function(url,callback){var request=HTTP.newRequest();request.onreadystatechange=function(){if(request.readyState==4&&request.status==200)
if(callback)callback(request.responseXML);}
request.open("GET",url);request.send(null);};HTTP.post=function(url,values,callback,errorHandler,ID){var request=HTTP.newRequest();request.onreadystatechange=function(){if(request.readyState==4){if(request.status==200){if(callback)callback(HTTP._getResponse(request));}
else if(request.status==500){if(errorHandler)errorHandler(request.status,"errorHander: "+request.statusText);}
else{if(ID)setCookie("session_id",ID,300);if(callback)callback(null);}}}
request.open("POST",url,true);request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");request.send(HTTP.encodeFormData(values));};HTTP.encodeFormData=function(data){var pairs=[];var regexp=/%20/g;for(var name in data){var value=data[name].toString();var pair=encodeURIComponent(name).replace(regexp,"+")+'='+
encodeURIComponent(value).replace(regexp,"+");pairs.push(pair);}
return pairs.join('&');};HTTP._getResponse=function(request){switch(request.getResponseHeader("Content-Type")){case"text/xml":return request.responseXML;case"text/json":case"application/json":case"text/javascript":case"application/javascript":case"application/x-javascript":return eval(request.responseText);default:return request.responseText;}};