﻿/*

[readyState]
0 = 未初始化uninitialized;
1 = 正在加载loading;
2 = 加载完毕loaded;
3 = 交互interactive;
4 = 完成complete

[status]
200 = 就绪OK
404 = 未找到Not Found
500 = Internal Server Error

req.statusText = 状态码对应的字符串信息
req.responseText = 将响应信息作为字符串返回
req.responseXML = 将响应信息格式化为Xml Document对象并返回
req.responseBody = 将响应信息正文以unsigned byte数组形式返回
req.responseStream = 以Ado Stream对象的形式返回响应信息

[其他方法]
req.abort() 取消当前请求
req.getAllResponseHeaders() 获取响应的所有http头（labels and values），类型string
-----------------------------
Server:Microsoft-IIS/5.1
X-Powered-By:ASP.NET
Date:Sat, 07 Jun 2003 23:23:06 GMT
Content-Type:text/xml
Accept-Ranges:bytes
Last Modified:Sat, 06 Jun 2003 17:19:04 GMT
ETag:"a0e2eeba4f2cc31:97f"
Content-Length:9
-----------------------------

req.getResponseHeader("headerLabel") 返回响应的头部"headerLabel"的值，类型string
req.setRequestHeader("label", "value") 设置请求的头部信息
*/

function loadXMLDoc(ajax){
	ajax.req = false;
	if(window.XMLHttpRequest){
		try{
			ajax.req = new XMLHttpRequest();
		}catch(e){
			ajax.req = false;
		}
	}else if(window.ActiveXObject){
		try{
			ajax.req = new ActiveXObject("Msxml2.XMLHTTP");
		}catch(e){
			try{
				ajax.req = new ActiveXObject("Microsoft.XMLHTTP");
			}catch(e){
				ajax.req = false;
			}
		}
	}
	if(ajax.req){
		ajax.req.onreadystatechange = function(){
			if(ajax.req.readyState == 4){
				if(ajax.req.status == 200){
					MyProcessing(ajax.req.responseText);
				}
				else{
					MyProcessing("载入信息失败！");
				}
			}
		}
		ajax.req.open("GET", ajax.url, true);
		ajax.req.send();
	}
}

function $() {
  var elements = new Array();
  
  for (var i = 0; i < arguments.length; i++) {
    var element = arguments[i];
    if (typeof element == 'string')
      element = document.getElementById(element);

    if (arguments.length == 1) 
      return element;
      
    elements.push(element);
  }
  
  return elements;
}