/*
* XMLHttpRequest Object Pool
*/ 
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 do not suppert 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)
                {
                }
            }
         }          
        // some mozilla version have not the property of 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;
    },
    // send request
    sendReq: function (method, url, data, obj)
    {
        var objXMLHttp = this._getInstance();
		if(url.indexOf("menu")=="-1" && obj){
			var returnObj = document.getElementById(obj);
			if(typeof(eval("window."+ obj +"load"))=="object"){
				eval("window."+ obj +"load").innerHTML="<img src='/images/loading.gif' align=absmiddle hspace=2 vspace=2>Loading...";
			}else{
				if(typeof(returnObj)=="object") returnObj.innerHTML="<img src='/images/loading.gif' align=absmiddle hspace=2 vspace=2>Loading...";
			}
		}

        with(objXMLHttp)
        {
            try
            {
                // add random number to stop cache
                if (url.indexOf("?") > 0)
                {
                    url += "&randnum=" + Math.random();
                }
                else
                {
                    url += "?randnum=" + Math.random();
                }
                open(method, url, true);
                // set encodeing
                setRequestHeader("Content-Type", "application/x-www-form-urlencoded;");
				//setRequestHeader("Content-Type","gb2312");
                send(data);
                onreadystatechange = function ()
                {
					if(document.cform){
					if(typeof(document.cform.aid)=="object"){document.cform.aid.disabled=false;}
					if(typeof(document.cform.t)=="object"){document.cform.t.disabled=false;}
					}
                    if (objXMLHttp.readyState == 4 && (objXMLHttp.status == 200 || objXMLHttp.status == 304))
                    { 
						

					   //if (objXMLHttp.responseText!=""){
						   if(url.indexOf("menu")=="-1" && obj){
							   
								if(typeof(returnObj)=="object") returnObj.innerHTML = unescape(objXMLHttp.responseText);
								if(typeof(eval("window."+ obj +"load"))=="object") eval("window."+ obj +"load").innerHTML="";
						   }else{
							   
							if(url.indexOf("aboutus")=="-1" && obj){
								obj.ok.disabled=true;
								obj.ok.value="数据处理中...";
								obj.xmlvalue.value=unescape(objXMLHttp.responseText);
								obj.submit();
							}else{
								if(obj){
									obj=eval(obj)
									var pform=obj.parentNode.parentNode.parentNode;
									if(pform.tagName!="FORM") pform=obj.parentNode;
									obj.value=unescape(objXMLHttp.responseText);
									if(typeof(pform.ids)=="object"){
										pform.ids.value=Number(pform.ids.value)-1;
										pform.make.disabled=true;
										pform.make.value="数据处理中("+ pform.ids.value +")...";
										if(Number(pform.ids.value)<=0){
										pform.make.value="准备生成..."
										pform.menu.value="make";
										pform.submit();
										}
									}
								}
							}
						   }
					  // }else{
						//	returnObj.style.visibility="hidden";
					  // };
                    }
                }
            }
            catch(e)
            {
                alert(e);
            }
        }
    }
}; 