/** 
* @ 作者
* 姓名: 肖炯
* 性别：男
* 生日：1980-05-16
* Q Q : 570659699
* MSN ：crazyroar@hotmail.com
* 
* @ Create On 2006-06-06
*/

/**
* Ajax
*/
function AjaxXml(url,method,callback4,callback3,callback2,callback1,callback0){
	var request;
	
	//创建XMLHttpRequest,发送请求
	this.send=function(){	
		request=this.createXMLHttpRequest();
		request.onreadystatechange=this.statechange;
		request.open(method,url,false);
        request.setRequestHeader("If-Modified-Since","0");
        request.setRequestHeader('Content-type', 'text/xml;charset=utf8');
        request.send();
	}
	
	this.createXMLHttpRequest=function() {
	    try{
	    	return new ActiveXObject('Msxml2.XMLHTTP');
		}catch(e1){
			try{
	    		return new ActiveXObject('Microsoft.XMLHTTP');
			}catch(e2){
				try{
		    		return new XMLHttpRequest();
				}catch(e3){
					return false;
				}			
			}
		}
	}
	
	//与XMLHttpRequest对应的getter和setter
	this.getReadyState=function(){
		return request.readyState;
	}
	
	this.getDocumentElement=function(){
		return request.responseXML.documentElement;	
	}
	
	this.getStatus=function(){
		return request.status;
	}
	
	this.getStatusText=function(){
		return request.statusText;
	}
	
	this.getResponseXML=function(){
		return request.responseXML;
	}
	
	this.getResponseText=function(){
		return request.responseText;
	}
	
	this.getAllHeaders=function(){
		return request.getAllResponseHeaders();
	}
	
	this.getHeader=function(headerName){
		return request.getResponseHeader(headerName);
	}
	
	this.setHeader=function(headerName,headerValue){
		request.setRequestHeader(heaerName,headerValue);
	}
	
	this.abort=function(){
		request.abort();
	}
	
	//回调方法
	this.statechange=function(){
		if(request.readyState==0){
			if(callback0){
				callback0();
			}
		}else if(request.readyState==1){
			if(callback1){
				callback1();
			}			
		}else if(request.readyState==2){
			if(callback2){
				callback2();
			}			
		}else if(request.readyState==3){
			if(callback3){
				callback3();
			}			
		}else if(request.readyState==4){
			if(callback4){
				callback4();
			}			
		}
	}
}
