/**
 * @author lance
 */
Ajax={};
/**
 * 向服务器发送请求
 * @param {Object} method
 * @param {Object} url
 * @param {Object} callbackMethod
 */
Ajax.makeRequest=function(method,url,callbackMethod)
{
	if(window.ActiveXObject)
	{
     this.request=new ActiveXObject("Microsoft.XMLHttp");
    }
   else if (window.XMLHttpRequest)
   {
     this.request=new XMLHttpRequest();
   }
	this.request.onreadystatechange=callbackMethod;
	this.request.open(method,url,true);
	this.request.send(url);
}
/**
 * 检查就绪状态
 * 0:未初始化(就是open方法还没有被调用)
 * 1:正在加载(此状态对应于调用send方法之前,请求已经初始化但还没有发出)
 * 2:完成数据加载(请求已经发出并正在处理中,此时通常是得到响应的首部)
 * 3:交互中(响应虽然未完成,但已经可以和用户交互了,此时响应中已经有部分数据可用,但是服务器还没有完成响应)
 * 4:完成(响应已完成,此时可以访问服务器响应并使用它)
 * @param {Object} _id
 */
Ajax.checkReadyState=function(_id)
{
	switch(this.request.readyState)
	{
		case 1:
		 document.getElementById(_id).innerHTML="";
		 break;
		case 2:
		 document.getElementById(_id).innerHTML="";
		 break;
		case 3:
		 document.getElementById(_id).innerHTML="";
		 break;
	    case 4:
		 document.getElementById(_id).innerHTML='';
		 AjaxUpdater.isUpdating=false;
		 return HTTP.status(this.request.status);
		 break;
		default:
		 document.getElementById(_id).innerHTML="An unexpected error has occurred.";
		 
	}
}
/**
 * 返回服务器的响应数据
 */
Ajax.getResponse=function()
{
	
	if(this.request.getResponseHeader('Content-Type').indexOf('xml')!=-1)
	{
		//alert(this.request.responseXML);
		return this.request.responseXML.documentElement;
	}
	else
	{
		return this.request.responseText;
	}
}
