var allsendxmlurlcount = 0;
var allloadxmlcount = 0;
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];		//由于部分ie不支持，暂时注释，留待技术委员会解决
 }
 }
 
 // IE5中不支持push方法
 this._objPool[this._objPool.length] = this._createObj();
  return this._objPool[this._objPool.length - 1];
 },
 _createObj: function ()
 {
 if (window.ActiveXObject)
 {
 var objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
 else 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, objid, xslfile)
 {
//调试程序
allsendxmlurlcount = allsendxmlurlcount + 1;
window.status = allsendxmlurlcount + "_" + allloadxmlcount + "debug1"

 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=gb2312');
 send(data);
 onreadystatechange = function ()
 {
 
 if (objXMLHttp.readyState == 4)
 {
//调试程序
 allloadxmlcount = allloadxmlcount + 1;
window.status = allsendxmlurlcount + "_" + allloadxmlcount + "debug2"
if (objXMLHttp.status == 200 || objXMLHttp.status == 304)
{
callback(objXMLHttp,objid,xslfile);
}
else 
{
callback(null,objid,xslfile);
}
 }
 }
 }
 catch(e)
 {
 alert("error:"+e);
 }
 }
 }
}; 
//缓冲池2
var OtherXMLHttp = {
 _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];		//由于部分ie不支持，暂时注释，留待技术委员会解决
 }
 }
 // IE5中不支持push方法
 this._objPool[this._objPool.length] = this._createObj();
 return this._objPool[this._objPool.length - 1];
 },

 _createObj: function ()
 {
 if (window.ActiveXObject)
 {
 var objXMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
 }
 else 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, objid, xslfile)
 {
//调试程序
allsendxmlurlcount = allsendxmlurlcount + 1;
window.status = allsendxmlurlcount + "_" + allloadxmlcount + "debug3"
 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=gb2312');
 send(data);
 onreadystatechange = function ()
 {
 
 if (objXMLHttp.readyState == 4)
 {
//调试程序
allloadxmlcount = allloadxmlcount + 1;
window.status = allsendxmlurlcount + "_" + allloadxmlcount + "debug4"

if (objXMLHttp.status == 200 || objXMLHttp.status == 304)
{
callback(objXMLHttp,objid,xslfile);
}
else 
{
callback(null,objid,xslfile);
}
 }
 }
 }
 catch(e)
 {
 alert("error:"+e);
 }
 }
 }
}; 

function $(id)
{
return document.getElementById(id);
}
//改写一个对象的内部文本
function echo(obj1,html)
{
$(obj1).innerHTML=html;  
}

function readrss(url,obj)
{ 
XMLHttp.sendReq('GET', url , '', OutResultXml,obj,"EditHelp.xsl");
}
function readXmlToDiv(url,divid,xslfile)
{ 
XMLHttp.sendReq('GET', url , '', OutResultXml,divid,xslfile);
}

function OutResultXml(getxmlobj,divid,xslfile) {
var htmlCode = "";

if ("" == xslfile)
{
htmlCode = getxmlobj.responseTEXT;
}
else
{
var xml = getxmlobj.responseXML;
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load( _Get_XML_Url + xslfile);
CheckXslVar(xsl);
try
{
var htmlCode = xml.transformNode(xsl);
}
catch(e)
{
window.status += divid + "_" + e;
}
}
echo(divid,htmlCode);
}
function readXmlToDivHelp(url,divid,xslfile)
{ 
XMLHttp.sendReq('GET', url , '', OutResultXmlHelp,divid,xslfile);
}
function OutResultXmlHelp(getxmlobj,divid,xslfile) {
var htmlCode = "";
if ("" == xslfile)
{
htmlCode = getxmlobj.responseTEXT;
}
else
{
var xml = getxmlobj.responseXML;
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xsl.async = false
xsl.load( _Get_XML_Url_HELP + xslfile);
CheckXslVar(xsl);
try
{
var htmlCode = xml.transformNode(xsl);
}
catch(e)
{
window.status += divid + "_" + e;
}
}
echo(divid,htmlCode);
}
function CheckXslVar(xsl) {
var obj;
try
{
obj = xsl.getElementsByTagName("xsl:variable");
if (0 < obj.length)
{
for(i=0;i<obj.length;i++)
{
tmpobj = obj[i];
var tmpval = "";
try 
{
eval("tmpval = " + tmpobj.getAttribute("name") + ";"); 
tmpobj.text = tmpval;
}
catch(e)
{
}
}
}
}
catch(e)
{
window.status += objno + "_OnLoadResultXml_" + xslfile + "_"+ e.message + xml;
}
}