//create a Microsoft XML Document Object
/*
 * Returns an new XMLHttpRequest object, or false if the browser
 * doesn't support it
 */

function createXMLHttpRequest() {
  var xhq = false;
  // Create XMLHttpRequest object in non-Microsoft browsers
  if(window.XMLHttpRequest) {
    xhq = new XMLHttpRequest();
  } else if (window.ActiveXObject) {
    try {
      // Try to create XMLHttpRequest in later versions
      // of Internet Explorer
      xhq = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e1) {
      // Failed to create required ActiveXObject
      try {
        // Try version supported by older versions
        // of Internet Explorer
        xhq = new ActiveXObject("Microsoft.XMLHTTP");
      } catch (e2) {
        // Unable to create an XMLHttpRequest by any means
        xhq = false;
      }
    }
  }
  return xhq;
}
//var xmlHttp=createXMLHttpRequest();
/*
var XReqPool = new Object();   
  
// XMLHttpRequest pool globals   
XReqPool.reqSpare = [];   
XReqPool.reqMaxSpare = 8; 

XReqPool.createRequest = function(){

	createXMLHttpRequest();
}

XReqPool.getRequest = function() {   //获取XmlHttpRequest对象
    if (XReqPool.reqSpare.length > 0) {   
        return XReqPool.reqSpare.pop();   
    }   
    return XReqPool.createRequest();   
} 

XReqPool.freeRequest = function(req) {   //销毁XmlHttpRequest对象
    if (XReqPool.reqSpare.length >= XReqPool.reqMaxSpare)   
        delete req;   
    XReqPool.reqSpare.push(req);   
} 
*/
// XMLHttpRequest Object Pool  
// @author     legend <legendsky@hotmail.com> 
// @link       http://www.ugia.cn/?p=85 
// @Copyright www.ugia.cn 
/* 
var XMLHttp = { 
    _objPool: [], 
    _getInstance: function () 
     { 
         for (var i = 0; i < this._objPool.length; i ++) 
         { 
             if (this._objPool[i].readyState == 0 || this._objPool[i].readyState == 4) 
             { 
                 return this._objPool[i]; 
             } 
         } 
        // IE5中不支持push方法 
        this._objPool[this._objPool.length] = this._createObj(); 
         return this._objPool[this._objPool.length - 1]; 
     }, 
    _createObj: function () 
     { 
         if (window.XMLHttpRequest) 
         { 
             var objXMLHttp = new XMLHttpRequest(); 
         } 
         else 
         { 
             var MSXML = ['MSXML2.XMLHTTP.5.0', 'MSXML2.XMLHTTP.4.0', 'MSXML2.XMLHTTP.3.0', 'MSXML2.XMLHTTP', 'Microsoft.XMLHTTP']; 
             for(var n = 0; n < MSXML.length; n ++) 
             { 
                try 
                { 
                     var objXMLHttp = new ActiveXObject(MSXML[n]); 
                     break; 
                 } 
                catch(e) 
                 { 
                 } 
             } 
          }          
        // mozilla某些版本没有readyState属性 
        if (objXMLHttp.readyState == null) 
         { 
            objXMLHttp.readyState = 0; 
            objXMLHttp.addEventListener("load", function () 
                 { 
                    objXMLHttp.readyState = 4; 
                     if (typeof objXMLHttp.onreadystatechange == "function") 
                     { 
                        objXMLHttp.onreadystatechange(); 
                     } 
                 },  false); 
         } 
         return objXMLHttp; 
     }, 
    // 发送请求(方法[post,get], 地址, 数据, 回调函数) 
    sendReq: function (method, url, data, callback) 
     { 
         var objXMLHttp = this._getInstance(); 
        with(objXMLHttp) 
         { 
            try 
            { 
                // 加随机数防止缓存 
                if (url.indexOf("?") > 0) 
                 { 
                    url += "&randnum=" + Math.random(); 
                 } 
                 else 
                 { 
                    url += "?randnum=" + Math.random(); 
                 } 
                open(method, url, true); 
                // 设定请求编码方式 
                setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset=UTF-8'); 
                send(data); 
                onreadystatechange = function () 
                 { 
                     if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304)) 
                     { 
                        callback(objXMLHttp); 
                     } 
                 } 
             } 
            catch(e) 
             { 
                alert(e); 
             } 
         } 
     } 
} 

 */

  
  
