    var url_root=GetServerRoot(); var url_dest=GetServerDest(); var code_dir=GetCodeDir();       var global_socket; var pendingTX=[];   var response_timeout=0; var response_timeout_max=20;   var dbg_str='';   function ShowDebug()  {  alert(dbg_str); }    function sukit()  {   if(window.XMLHttpRequest)    {       try     {     global_socket=new XMLHttpRequest();         }    catch(e)    {     global_socket=false;         }            }    else if(window.ActiveXObject)   {            try     {           global_socket=new ActiveXObject("Msxml2.XMLHTTP");        }    catch(e)    {           try     {              global_socket=new ActiveXObject("Microsoft.XMLHTTP");          }      catch(e)      {              global_socket=false;          }    }      }     if (!global_socket)    alert('xmlhttp problem'); }    function mxt()  {     if (pendingTX.length)   {    if (!pendingTX[0].waiting_response)    {     var url_addr=url_root + code_dir + url_dest;      sukit();    if (global_socket)     {      pendingTX[0].waiting_response=true;     global_socket.onreadystatechange=pendingTX[0].serv_off;     global_socket.open("POST", url_addr, true);     global_socket.setRequestHeader('Content-Type','application/x-www-form-urlencoded');     global_socket.send(pendingTX[0].message_object.get_request() );       response_timeout=0;     setTimeout("mxt()", 1000);    }    }    else    {     response_timeout++;        }   }  }    function ResponseValidator()  {   var stat=0;  try   {    if (global_socket.readyState==4)      stat=4;  }   catch(e)   {    return false;  }     if (stat == 4)   {    if (global_socket.status==200)    {     return true;   }       else    {     return false;   }   }   else    return false;   }      fromserv.prototype=new fromserv; fromserv.prototype.constructor=fromserv; fromserv.prototype.TX=fromserv_TX; fromserv.prototype.serv_off=fromserv_serv_off;   function fromserv(message_object)  {   this.waiting_response=false;  this.message_object=message_object; }    function fromserv_TX()  {   mxt(); }      function fromserv_serv_off()  {   if (ResponseValidator() )   {    if (pendingTX.length)    {    pendingTX[0].message_object.serv_off(global_socket.responseText);   pendingTX.splice(0, 1);   global_socket=null;   response_timeout=0;   if (pendingTX.length)     mxt();   }   }  }          