function toggle_restore_form()
{
  var e = _ge('forgotten_password_form');
  var e2 = _ge('forgotten_password_message');

  if (!e || !e2) return;

  if (e2.style.visibility != 'visible')
  {
    e.style.visibility = e.style.visibility != 'visible' ? 'visible' : 'hidden';
  }
  else
  {
    e.style.visibility = 'hidden';
  }

  e2.style.visibility = 'hidden';
}

function restore_forgotten_password()
{
  var vm_forgotten_login = _ge('vm_forgotten_login');
  var vm_forgotten_email = _ge('vm_forgotten_email');
  var vm_forgotten_submit = _ge('vm_forgotten_submit');

  var login = vm_forgotten_login.value;
  var email = vm_forgotten_email.value;

  vm_forgotten_submit.src = '/i/btn_send2_wait.gif';
  vm_forgotten_submit.disabled = true;

  var xml_url = '/xml/restore_pwd.php';
  var __query_str = 'login='+escape(login)+'&email='+escape(email);

  toggle_wait(true);

  diXMLRequest.post(xml_url, __query_str, restore_forgotten_password_response);

  return false;
}

function restore_forgotten_password_response(xmlDoc)
{
  var vm_forgotten_login = _ge('vm_forgotten_login');
  var vm_forgotten_email = _ge('vm_forgotten_email');
  var vm_forgotten_submit = _ge('vm_forgotten_submit');

  var e = _ge('forgotten_password_form');
  var e2 = _ge('forgotten_password_message');

  vm_forgotten_submit.src = '/i/btn_send2.gif';
  vm_forgotten_submit.disabled = false;

  toggle_wait(false);

  if (xmlDoc && xmlDoc.documentElement)
  {
    var rs = xmlDoc.documentElement.getElementsByTagName('result');

    for (var i = 0; i < rs.length; i++)
    {
      var ok = parseInt(rs[i].getAttribute('ok'));

      if (ok == 1)
      {
        e2.innerHTML = 'Новый пароль был успешно выслан на указанный Вами E-mail.';
      }
      else if (ok == 0)
      {
        e2.innerHTML = 'Пользователь с таким Логином и E-mail не зарегистрирован.';
      }
      else if (ok == -1)
      {
        e2.innerHTML = 'Не удалось отправить Вам письмо. Обратитесь к администратору.';
      }

      e.style.visibility = 'hidden';
      e2.style.visibility = 'visible';
    }
  }
}

function toggle_change_password_form()
{
  var e1 = _ge('change_password_div');
  var e2 = _ge('change_password_message');

  if (!e1 || !e2) return;

  if (e2.style.visibility != 'visible')
  {
    e1.style.visibility = e1.style.visibility != 'visible' ? 'visible' : 'hidden';
  }
  else
  {
    e1.style.visibility = 'hidden';
  }

  e2.style.visibility = 'hidden';
}

function change_password()
{
  var old_password = _ge('old_password');
  var new_password = _ge('new_password');
  var new_password2 = _ge('new_password2');
  var change_password_submit = _ge('change_password_submit');
  var change_password_hint = _ge('change_password_hint');

  var _old = old_password.value;
  var _new = new_password.value;
  var _new2 = new_password2.value;

  if (!_old)
  {
    change_password_hint.innerHTML = 'Введите Старый пароль';
    return false;
  }
  else if (_new.length < 6)
  {
    change_password_hint.innerHTML = 'Мин. длина Нового пароля - 6 символов';
    return false;
  }
  else if (_new != _new2)
  {
    change_password_hint.innerHTML = 'Введенные пароли не совпадают';
    return false;
  }

  change_password_submit.src = '/i/btn_change_wait.gif';
  change_password_submit.disabled = true;

  var xml_url = '/xml/change_pwd.php';
  var __query_str = 'old='+hex_md5(_old)+'&new='+hex_md5(_new);

  toggle_wait(true);

  diXMLRequest.post(xml_url, __query_str, change_password_response);

  return false;
}

function change_password_response(xmlDoc)
{
  var change_password_submit = _ge('change_password_submit');
  var change_password_hint = _ge('change_password_hint');

  var e1 = _ge('change_password_div');
  var e2 = _ge('change_password_message');

  change_password_submit.src = '/i/btn_change.gif';
  change_password_submit.disabled = false;

  toggle_wait(false);

  if (xmlDoc && xmlDoc.documentElement)
  {
    var rs = xmlDoc.documentElement.getElementsByTagName('result');

    for (var i = 0; i < rs.length; i++)
    {
      var ok = parseInt(rs[i].getAttribute('ok'));
      var secret = rs[i].getAttribute('secret');

      var toggle_visible = true;;

      if (ok == 1 && secret)
      {
        e2.innerHTML = 'Пароль был успешно изменен!';

        var date = new Date();
        date.setFullYear(date.getFullYear() + 1);
        setCookie('secret', secret, date);
      }
      else if (ok == 0)
      {
        change_password_hint.innerHTML = 'Введен неверный Старый пароль';
        toggle_visible = false;
      }
      else if (ok == -1)
      {
        e2.innerHTML = 'Не удалось изменить пароль. Обратитесь к администратору.';
      }

      if (toggle_visible)
      {
        e1.style.visibility = 'hidden';
        e2.style.visibility = 'visible';
      }
    }
  }
}
