﻿// JScript 文件

// JScript 文件

function asynSocket()
{
    var url,state="1",msg;
    var param="";
    var yibu=true;
    var splitChar=recordSplitChar;
    var retVal="";
    var paramAry=new Array();
    var content="";    
    var process=new Array();
    var xmlHttp;
    this.setAsync=function(v)
    {
        yibu=v;
    }
    this.setChar=function(c)
    {
        splitChar=c;
    }
    this.getContent=function()
    {
        return content;
    }
    this.setUrl=function(param)
    {
        url=param;
    }
    this.param=function(p)
    {
        param=p;
    }
    this.addParam=function(name,val)
    {
        
        var tmpAry=new Array();
        tmpAry[0]=name;
        tmpAry[1]=val;
        paramAry.push(tmpAry);
    }
    this.clearParam=function()
    {
        for(var i=0;i<paramAry.length;i++)
        {
            paramAry.pop();
        }
    }
    this.action=function()
    {
        xmlHttp=new ActiveXObject("microsoft.XMLHTTP");
        //xmlHttp=new XMLHttpRequest();
        xmlHttp.open("POST",url,yibu);
        xmlHttp.setRequestHeader("CONTENT-TYPE","application/x-www-form-urlencoded;");
        if(param.length==0)
        {
            for(var i=0;i<paramAry.length;i++)
            {
                param+=(paramAry[i][0]+"="+paramAry[i][1]+"&");
            }
            param=param.slice(0,param.length-1);
        }
        xmlHttp.onreadystatechange=afterComplete;
        xmlHttp.send(param);
        
    }
    this.getState=function()
    {
        return state;
    }
    this.getMsg=function()
    {
        return msg;
    }
    this.addProcess=function(f)
    {
        process.push(f);
    }
    function afterComplete()
    {
        if(xmlHttp.readyState==4)
        {
            retVal=xmlHttp.responsetext;
            content=retVal;
            if(retVal.indexOf(splitChar)>-1)
            {
                var tmpAry=retVal.split(splitChar);
                state=tmpAry[0];
                msg=tmpAry[1];
            }
            else
            {
                state="";
                msg=retVal;
            }
            for(var i=0;i<process.length;i++)
            {
                process[i](state,msg,content);
            }
        }
    }
}