var Con_MaxThreadCount = 5;//同时与服务器进行通讯的最大线程数
var Con_ThreadCount = 0;//正在与后台进行通讯的线程数
//======================通讯部分代码=====================
function AjaxThread()
{
    this.Request = false;
    this.Url = "/KAjax.aspx";
    this.Action = "";
    this.Data = "";
    this.ErrorMethod = "location.reload();";
    this.Init(); 
}

AjaxThread.prototype.Init = function()
{
	try{this.Request = new ActiveXObject("Msxml2.XMLHTTP");} 
	catch (e) 
	{
		try{this.Request = new ActiveXObject("Microsoft.XMLHTTP");}
		catch (e2){this.Request = false;}
	}

    if (!this.Request && typeof XMLHttpRequest != 'undefined') 
    {this.Request = new XMLHttpRequest();} 
}

AjaxThread.prototype.Send = function()
{  
    this.Url += "?randomStr=" + (new Date().getHours()) + "" +(new Date().getMinutes()) + "" + (new Date().getSeconds());
    var e = this.Request;
    var obj = this;
    var errMethod = this.ErrorMethod;
    this.Request.open("POST", this.Url, true);
    this.Request.onreadystatechange = function()
    {
        if (e.readyState != 4){return;}
        if (e.statusText != "OK"){eval(errMethod);document.write(e.responseText);return;}//服务器返回错误信息
                
        try{eval(e.responseText);Con_ThreadCount--;e=null;obj=null;}
        catch(err){alert(err.message+"\r\n"+e.responseText);Con_ThreadCount--;e=null;obj=null;}
    }
    this.Request.setRequestHeader("content-length",this.Data.length); 
    this.Request.setRequestHeader("content-type","application/x-www-form-urlencoded");     
    this.Request.send(this.Data);
}

function SendToServer(action, data, errorMethod)
{
    if(Con_ThreadCount>=Con_MaxThreadCount){alert("您的操作太频繁了，稍微休息一下吧。");return;}
    Con_ThreadCount++;
    var ajax = new AjaxThread();
    ajax.ErrorMethod = errorMethod;
    ajax.Data = "data=" + escape(action + ":" + data);
    ajax.Send();
}
var http_request = false;
function makeRequest(id,url) {
    url += url.indexOf("?")?"&":"?";
    url+="randomStr=" + (new Date().getHours()) + "" +(new Date().getMinutes()) + "" + (new Date().getSeconds());
        http_request = false;

        if (window.XMLHttpRequest) { // Mozilla, Safari,...
            http_request = new XMLHttpRequest();
            if (http_request.overrideMimeType) {
                http_request.overrideMimeType('text/xml');
            }
        } else if (window.ActiveXObject) { // IE
            try {
                http_request = new ActiveXObject("Msxml2.XMLHTTP");
            } catch (e) {
                try {
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");
                } catch (e) {}
            }
        }

        if (!http_request) {
            alert('Giving up :( Cannot create an XMLHTTP instance');
            return false;
        }
        http_request.onreadystatechange =function(){alertContents(id)};
        http_request.open('GET', url, true);
        http_request.send(null);
}
function alertContents(id) 
{
        if (http_request.readyState == 4) {
             if (http_request.status == 200) {
                 document.getElementById(id).innerHTML=GetText(http_request.responseText);
            } else {
                alert('There was a problem with the request.');
            }
        }
    }
function GetText(text)
{
   var s=text.split("<div id=\"split%&^%&%&\"></div>")[1].split("<div id=\"ggg&&&&&\"></div>")[0];

   return s;
}
