var debug = 0;
var nodebug = 0;
var http = new Array();
var l;
	
function sndReq(mode, param) 
{
  if ((nodebug) || (debug != 2))
  {
    if (http)
    {
      l=http.length;
      http[l] = createRequestObject();
    }
    else
    {
      http[0] = createRequestObject();
      l = 0;
    } 

    http[l].open('GET', '/visit_ajax.php?&mode='+mode+'&'+param, true);

    http[l].setRequestHeader("If-Modified-Since", "Sat, 1 Jan 2000 00:00:00 GMT");
    
    http[l].onreadystatechange = handleResponse;
    
    http[l].send(null);
  }
  else
  {
    window.location.href='/ajax.php?&back='+window.location.href+'&mode='+mode+'&'+param;
  }
}

function createRequestObject() 
{
  var xmlhttp;
  try 
  {
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } 
  catch (e)
  {
    try 
    {
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } 
    catch (E) 
    {
      xmlhttp = false;
    }
  }
  
  if (!xmlhttp && typeof XMLHttpRequest!='undefined') 
  {
    xmlhttp = new XMLHttpRequest();
  }

  return xmlhttp;
}


function handleResponse() 
{
  if(http[l].readyState == 4)
  {
    var response = http[l].responseText;
    
    if ((!nodebug) && (debug)) {alert (response);}

    var update = new Array();

    $k = 0;
    $script = new Array();
    $sleep = new Array();

    if(response.indexOf('|') != -1) 
    {
      update = response.split('|');

      $i=0;
      while (update[$i])
      {
        switch (update[$i])
        {
          case 'javascript' :
            $k++;
            $script[$k] = update[$i+1];
            $sleep[$k] = 0;
            $i+=2;
          break;

          case 'sleep' :
            $sleep[$k] = update[$i+1];
            $i+=2;
          break;
          
          case 'exec' :
            if (update[$i+1]) {eval(update[$i+1]);}
            $i+=2;
          break;

          default : {if (top.document.getElementById(update[$i])) {top.document.getElementById(update[$i]).innerHTML = update[$i+1];}$i+=2;}
        }
      }

      for ($i=1; $i<=$k; $i++)
      {
        if ($script[$i])
        {
          if ($sleep[$i])
          {
            setTimeout ($script[$i], $sleep[$i]*1000);
          }
          else
          {
            eval ($script[$i]);
          }
        }
      }
    }

    nodebug = 0;
    
    window.status = "Готово";
  }
}

function showpopup(m, d, id, name1)
{
  document.getElementById('popupmode').value = m;
  document.getElementById('popupdo').value = d;
  document.getElementById('popupid').value = id;

  document.getElementById('popupfield1name').innerHTML = name1;

  document.getElementById('popup').style.display = "block";
}

function hidepopup()
{
  document.getElementById('popup').style.display = "none";
}

function sendpopup()
{
  sndReq (document.getElementById('popupmode').value, 'do='+document.getElementById('popupdo').value+'&id='+document.getElementById('popupid').value+'&field1='+document.getElementById('popupfield1').value);
  hidepopup();
}
