var ACT_LANG = 'cn';
var ACT_TIMEOUT = 25000;

function Ajax_Handler( server_script )
  {
  this.xmlHttp = new Object();
  this.cache = new Array();
  this.server_script = server_script;
  if (typeof Ajax_Handler._start == "undefined" )
    {
    Ajax_Handler.prototype.create_xmlHttpRequest = function()
      {
      try
        { this.xmlHttp = new XMLHttpRequest(); }
      catch(e)
        {
        var xmlHttpVersions = new Array("Msxml2.XMLHTTP.6.0","Msxml2.XMLHTTP.5.0","Msxml2.XMLHTTP.4.0","Msxml2.XMLHTTP.3.0","Msxml2.XMLHTTP","Microsoft.XMLHTTP");
        for (var i=0; i<xmlHttpVersions.length && typeof this.xmlHttp.readyState == 'undefined'; i++) 
          {
          try 
            { this.xmlHttp = new ActiveXObject(xmlHttpVersions[i]); } 
          catch (e) {}
          }
        }
      if ( typeof this.xmlHttp.readyState == 'undefined' )
        alert('Unable to create XMLHttp object !');
      };
    Ajax_Handler.prototype.func_bind = function(object, func)
      {
      return function () { object[func](); }
      };
    Ajax_Handler.prototype.request_state_handler = function()
      {
      if (this.xmlHttp.readyState == 4) 
        {
        if (this.xmlHttp.status == 200) 
          this.server_answer();
        }
      };
    Ajax_Handler.prototype.server_request = function( data )
      {
      if ( this.xmlHttp && typeof(data) == 'object' )
        {
        request = new String();
        for ( var key in data )
          request += encodeURIComponent( key ) + "=" + encodeURIComponent( data[key] ) + "&";
        request = request.substr( 0, (request.length-1) );
        this.cache.push(request);
        if ( (this.xmlHttp.readyState == 4 || this.xmlHttp.readyState == 0) && this.cache.length > 0 )
          {
          try
            {
            var cache_entry = this.cache.shift();
            this.xmlHttp.open("POST", this.server_script, true);
            this.xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
            this.xmlHttp.onreadystatechange = this.func_bind(this, "request_state_handler");
            this.xmlHttp.send(cache_entry);
            }
          catch (e) {}
          }
        }
      };
    Ajax_Handler.prototype.server_answer = function()
      {
      //alert( this.xmlHttp.responseText );
      var response_xml = this.xmlHttp.responseXML;
      ipoker_response_handler( response_xml );

      if ( this.cache.length > 0 )
        this.server_request();
      };
    Ajax_Handler._start = true;
    }
  this.create_xmlHttpRequest();
  }

var Ajax_Object = new Ajax_Handler( "ipoker_ajax.php" );

function ipoker_start()
  {
  var ipoker_data = new Object();
  ipoker_data.ajax_request_type = 'ipoker_sum_data';
  ipoker_data.ajax_request_lang = ACT_LANG;
  Ajax_Object.server_request( ipoker_data );
  setTimeout('ipoker_start()', ACT_TIMEOUT);
  }

function ipoker_response_handler( response_xml )
  {
  if ( document.getElementById('ipoker_sum_data') )
    {
    var ipoker_sum_data = document.getElementById('ipoker_sum_data');
    var xml_root = response_xml.documentElement;
    var ipoker_result = xml_root.getElementsByTagName("result")[0].firstChild.data;
    ipoker_sum_data.innerHTML = ipoker_result;
    }
  }
