//使用Ajax类发送信息
//vUrl				处理地址
//ElementID			处理结果容器
//CallBackFunction	对AJAX结果进行处理的函数名,限定为三个参数，为空则使用本JS文件中的ResponseFunction
//Method			Ajax发送数据的方法
function SentInfoByAjax(vUrl,ElementID,CallBackFunction,Method,oPara) {
	var AjaxObj = new Ajax();
	AjaxObj.RequestURL = vUrl;
	AjaxObj.RelativeElement = ElementID;
	AjaxObj.CallBackFunction = CallBackFunction;
	AjaxObj.Method = Method;
	AjaxObj.OtherPara = oPara;
	AjaxObj.ExeCute();
}

//当处理完毕后，将处理结果交给此函数（未指定情况下，也可以自定义）
//BackString			Ajax返回结果
//IsSuccess				成功与否
//ElementID				结果容器
function ResponseFunction(BackString,IsSuccess,ElementID,oPara){
	if (IsSuccess==true)
	{
		document.getElementById(ElementID).innerHTML = BackString;
	}else{
		document.getElementById(ElementID).innerHTML = BackString;
	}
}

//Ajax类
//作者：NetFog
function Ajax(){
	this.RequestURL;
	this.RelativeElement;
	this.CallBackFunction;
	this.Method;
	this.IsSuccess;
	this.BackString;
	this.OtherPara;

	//创建ajax对象的方法
	this.AjaxObj = function() {
		try { return new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) {}
		try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {}
		try { return new XMLHttpRequest(); } catch(e) {}
		return null;
	}

	//下面是执行请求的方法
	Ajax.prototype.ExeCute = function() {
		if (this.Method==""||this.Method==null)
		{
			this.Method = "post";
		}
		if (this.CallBackFunction==""||this.CallBackFunction==null)
		{
			this.CallBackFunction = "ResponseFunction";
		}
		var Obj = this.AjaxObj();
		Obj.onreadystatechange = this.processAjaxResponse(Obj,this.RelativeElement,this.CallBackFunction,this.OtherPara);
		Obj.open(this.Method, this.RequestURL, true);
		Obj.send(null);
	}

	//返回状态
	this.processAjaxResponse = function(oAjaxObj,oEle,oBcf,oPara) {
		return function() {
			if (oAjaxObj.readyState == 4) {
				if (oAjaxObj.status == 200) {
					this.IsSuccess = true;
					this.BackString = oAjaxObj.responseText;
				} else {
					this.IsSuccess = false;
					this.BackString = oAjaxObj.statusText;
				}
				eval(oBcf + "('" + this.BackString + "'," + this.IsSuccess + ",'" + String(oEle) + "','" + oPara + "');");
			}
		}
	} 
}