/* Данный файл должен быть отдельным для каждой формы. */

  var wait = 0; /* переменная содержит количество незавершенных запросов к серверу через ajax. */
  var session_code = false; /* переменная содержит результат проверки введенного числового кода. */
  var ajax_filename = "ajax_check_code.php"; /* содержит путь к php-файлу, который выполняет функции проверки и изменения числового кода. */
  var img_id = "code_img"; /* id тега img, на котором отображается картинка с числовым кодом. */
  var img_filename = "stsc/register.php"; /* путь к файлу, который генерирует картинку с числовым кодом. */

  var Client = new CFlashAJAX(ajax_filename);
  CreateConnector("flashajax/FLASHAJAX.swf");

  /* Функция сверяет значение введенного кода со значением соответствующей переменной сессии. */
  function check_code(code){
    if (code != ''){
      wait++;
      var Param = new Object();
      Param.code = code;
      Client.Execute('check_code', Param, 'check_codeCallback');
    } else {
      session_code = false;
    }
  }

  /* Ответ от сервера по запросу, выполненному функцией check_code. Содержит результат проверки кода. */
  function check_codeCallback(AResponse){
    if (AResponse['result']){
      session_code = true;
    } else {
      session_code = false;
    }
    wait--;
  }

  /* Запрос на изменение проверочного кода */
  function change_code(){
    var Param = new Object();
    Client.Execute('change_code', Param, 'change_codeCallback');
  }

  /* Подмена captcha-картинки в соответствиии с измененным кодом */
  function change_codeCallback(AResponse){
    img = document.getElementById(img_id);
    if (img){
      var random_var = new Date().getTime();
      img.src = img_filename + "?rand_var=" + random_var;
    }
  }

  function submit_form(){
    if (wait > 0){
      setTimeout(submit_form, 10);
      return false;
    } else {
      var msg = check_form();

      if (!msg){
        return true;
      } else {
        alert(msg);
        return false;
      }
    }
  }