// JavaScript Document
/**
 * Запрос на сервер
 * 
 * Скрипт является частью программы AJAX.
 * @ displayError - отвечает за вывод сообщения об ошибке
 * @ process - отвечает за отправку данных на сервер.
 *             Первый параметр: адрес скрипта на сервере, 
 *                              отвечающего за обработку данных
 *             Второй параметр: переменные и их значения, 
 *                              передаваемые скрипту на сервере
 */
                                     
var showErrors = true;
var cache = new Array();
function displayError(message)
{
    if( showErrors )
    {
        showErrors = false;
        alert("Произошла ошибка: \n" + message);
    }
}
function process( url, stringParams )
{
    if( xmlHttp )
    {
        var params = "";
        //params = encodeURIComponent(stringParams);
        params = "?" + stringParams;
        if( params )
        {
             cache.push(params);
             
        }
        try
        {
              if( (xmlHttp.readyState == 4 || xmlHttp.readyState == 0) && cache.length > 0 )
              {
                    var cacheEntry = cache.shift();
                   // alert(cacheEntry)
                    xmlHttp.open("GET", url + cacheEntry, true);
                    xmlHttp.setRequestHeader("Content-Type",
                                             "application/x-www-form-urlencoded");
                    xmlHttp.onreadystatechange = handleRequestStateChange;
                    xmlHttp.send(null);
              } 
              else 
              {
                    setTimeout("process();", 1000);
              }
        } 
        catch(e)
        {
              displayError(e.toString());
        }
    }
}
