function ForgottenPasswordHandlerAdd() {
  WindowParametrHandlerAdd();
  SendPasswordLinkHandlerAdd();
}

function WindowParametrHandlerAdd() {
  if(!window.parametr) {
    window.parametr = new Array();
  }
}

function SendPasswordLinkHandlerAdd() {
  var docLink = document.getElementById('forgotPasswordLink');
  var email = document.getElementById('fiUsername');

  if(docLink && email) {
    docLink.onclick = SendForgottenPasswordHandler;
    docLink.removeAttribute('href');
  }
}

function SendForgottenPasswordHandler() {
  var wp = window.parametr;

  var email = document.getElementById('fiUsername');

  if(!email || email.value == '') {
    alert(wp.forgottenPassword);
    return false;
  }

    var url = wp.url;
    if (wp.hasSes) url += "?" + wp.sesName + "=" + wp.sesId;
    var separator = (url.indexOf('?') == -1) ? '?' : '&';
    url  = url + separator + 'action=eSearchFormData' +
      '&data[ajax]=forgottenPassword' +
//      '&data[formId]=' + (wp.formId ? wp.formId : '') +
      '&data[userName]=' + email.value;

      var element = email;//window.parametr.travelInfo.user;
      var outElement = document.getElementById('ao3AjaxTerminalPasswordSend');
      if (outElement) outElement.innerHTML = '';
      if (!outElement){
        outElement = document.createElement('span');
        outElement.id = 'ao3AjaxTerminalPasswordSend';
        element.parentNode.insertBefore(outElement, element.nextSibling);
      }

      outElement.className='ao3AjaxTerminal ao3AjaxWait';
      element.ajax = outElement;
    Library_ajaxRequest('forgottenPassword', url, SendForgottenPasswordAjaxHandler, element, 0, 1);
  }

  function SendForgottenPasswordAjaxHandler(httpRequest, type, ident, element) {
    if ((httpRequest.readyState == 4) && window.LibraryVar_ajaxRequests && (LibraryVar_ajaxRequests[type] == ident)) {
      if (httpRequest.status == 200) {
        var out = '';
        var errors = httpRequest.responseXML.getElementsByTagName('error');
        if (errors.length) {
          out += errors[0].firstChild.nodeValue;
        } else {
          out += httpRequest.responseText;
        }
        if (out.indexOf('<Error') != -1){
            AO3travelInfoSendPwdLinkStatus(false);
        } else {
          if (out.indexOf('<Success') != -1){
            AO3travelInfoSendPwdLinkStatus(true);
          } else {
            alert(out);
          }
        }
        LibraryVar_ajaxRequests[type] = null;
        LibraryVar_ajaxRequestsObjects[type] = null;
//    init
        //window.parametr.travelInfo.waitForAjax = false;
      } else {
        alert('There was a problem with the request.');
      }
    }
  }

  function AO3travelInfoSendPwdLinkStatus(param) {

    var odkaz = document.getElementById('forgotPasswordLink');
    var info = document.getElementById('sendStatusInfo');
    var divOdkaz = document.getElementById('forgotPassword');

    if (!odkaz) {
      return;
    }

    if (param == false ) {
      if (!info) {
        var info = document.createElement('div');
        info.id = 'sendStatusInfo';
        info.innerHTML = window.parametr.passwordSentError;
        odkaz.appendChild(info);
      }
      return;
    } else {
      divOdkaz.innerHTML = '<div id="sendStatusInfo">' + window.parametr.passwordSent + '</div>';
    }
  }

