function newAjax(){
	this.ver = 1.0;
	this.response = '';
	this.status = 0;
	var xmlobj = getxmlobj();
	var params = new Array();
	var OnError;
	var OnSuccess;

	//获得XML对象
	function getxmlobj(){		
		var A;		
		var msxmlobj = new Array('Msxml2.XMLHTTP.5.0','Msxml2.XMLHTTP.4.0','Msxml2.XMLHTTP.3.0','Msxml2.XMLHTTP','Microsoft.XMLHTTP');
		for (var i = 0; i < msxmlobj.length; i++) {
			try {
				A = new ActiveXObject(msxmlobj[i]);
			} catch (e) {
				A = null;
			}
		}		
		if(!A && typeof XMLHttpRequest != "undefined")
			A = new XMLHttpRequest();
		if (!A)
			window.alert("Sorry,can not create connect object");
		return A;
	}

	//处理XML对象的状态改变
	function processStateChange(){
		if (xmlobj.readyState != 4)return;
		if (xmlobj.status == 200){
			response = xmlobj.responseText;
			if(typeof OnSuccess != "function") OnSuccess=DefSuccess;
			OnSuccess(response);
		}else{
			if(typeof OnError != "function") OnError=DefError;
			OnError(xmlobj.status);
		}
	}	

	//返回URI
	function GetQueryStr(){
		arrs=new Array();
		for(i=0;i<params.length;i++){
			arrs.push(params[i].join("="));
		}
		return arrs.join("&");
	}

	function DefSuccess(response){
		alert(response);
	}

	function DefError(errs){
		onAjxError(errs);
	}

	//设置数据获取成功后执行的JS函数，原形 function(data) data 是所获得的网页数据
	this.Set_OnSuccess=function(functions){
		if(typeof functions == "function"){
			OnSuccess=functions;	
			return true;
		}else{
			OnSuccess=DefSuccess;
			return false;
		}
	}

	//设置数据获取发生错误后执行的JS函数，原形 function(code) code 是状态代码
	this.Set_OnError=function(functions){
		if(typeof functions == "function"){
			OnError=functions;
			return true;
		}else{
			OnError=DefError;
			return false;
		}
	}

	//使用GET方法获取数据的对象
	this.GET_Data=function(URI){
		if(!URI)return;
		xmlobj.onreadystatechange=processStateChange;
		paramstr=GetQueryStr();
		if(URI.indexOf("?")>0){URI+="&"+paramstr;}else{URI+="?"+paramstr;}		
		xmlobj.open("GET", URI, true);
		xmlobj.send(null);	
	}

	//使用POST方法获取数据的对象
	this.POST_Data=function(URI){
		if(!URI)return;
		xmlobj.onreadystatechange=processStateChange;
		paramstr=GetQueryStr();
		xmlobj.open("POST", URI, true);
		//xmlobj.setRequestHeader("Method", "POST " + URI + " HTTP/1.1");
		if(paramstr)xmlobj.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
		xmlobj.send(paramstr);	
	}

	//设置传递的参数，key 参数名称，val 参数数值，如果参数已经存在，将被替换
	this.setParameter =function(key,val){
		for(i=0;i<params.length;i++){
			if(params[i][0]==key){
				if(val){
					params[i][1]=encodeURIComponent(val);
				}else{
					params[i][1]="";
				}
				return;
			}
		}
		if(val){
			params.push(Array(key,encodeURIComponent(val)));
		}else{
			params.push(Array(key,val));
		}
	}

	//删除一个参数
	this.DelParameter=function(key){
		k=0;
		for(i=0;i<params.length;i++){
			if(params[i][0]!=key){
				if(k<i){
					params[k]=params[i];
				}
				k=k+1;
			}
		}
		params.length=k;
	}
}

function onAjxError(errs){
	if(errs=='403'){
		window.alert('Sorry,you do not have enforcement authority');
	}else if(errs=='404'){
		window.alert('The requested page was not found on this server');
	}else{
		window.alert('Sorry, operation failure, please contact managers');
	}
}