$html->data['systemName'] = $systemName;
        $html->show();
    } catch (sspmod_selfregister_Error_UserException $e) {
        // Some user error detected
        $formGen = new sspmod_selfregister_XHTML_Form($formFields, 'newUser.php');
        $showFields = sspmod_selfregister_Util::genFieldView($viewAttr);
        $formGen->fieldsToShow($showFields);
        $formGen->setReadOnly('mail');
        $values = $validator->getRawInput();
        $hidden = array();
        $values['mail'] = $hidden['emailconfirmed'] = $_REQUEST['emailconfirmed'];
        $hidden['token'] = $_REQUEST['token'];
        $formGen->addHiddenData($hidden);
        $values['pw1'] = '';
        $values['pw2'] = '';
        $formGen->setValues($values);
        $formGen->setSubmitter('submit_change');
        $formHtml = $formGen->genFormHtml();
        $html = new SimpleSAML_XHTML_Template($config, 'selfregister:step3_register.tpl.php', 'selfregister:selfregister');
        $html->data['formHtml'] = $formHtml;
        $error = $html->t($e->getMesgId(), $e->getTrVars());
        $html->data['error'] = htmlspecialchars($error);
        $html->show();
    }
} else {
    // Stage 1: New user clean access
    $html = new SimpleSAML_XHTML_Template($config, 'selfregister:step1_email.tpl.php', 'selfregister:selfregister');
    $html->data['systemName'] = $systemName;
    $logged_and_same_auth = sspmod_selfregister_Util::checkLoggedAndSameAuth();
    if ($logged_and_same_auth) {
        $html->data['logouturl'] = $logged_and_same_auth->getLogoutURL();
        }
        $userValues = $store->findAndGetUser('mail', $email);
        $validValues = $validator->validateInput();
        $newPw = sspmod_selfregister_Util::validatePassword($validValues);
        $store->changeUserPassword($userValues[$store->userIdAttr], $newPw);
        $html = new SimpleSAML_XHTML_Template($config, 'selfregister:lostPassword_complete.tpl.php', 'selfregister:selfregister');
        $html->show();
    } catch (sspmod_selfregister_Error_UserException $e) {
        // Some user error detected
        $formGen = new sspmod_selfregister_XHTML_Form($formFields, 'lostPassword.php');
        $showFields = array('pw1', 'pw2');
        $formGen->fieldsToShow($showFields);
        $hidden = array();
        $hidden['emailconfirmed'] = $_REQUEST['emailconfirmed'];
        $hidden['token'] = $_REQUEST['token'];
        $formGen->addHiddenData($hidden);
        $formGen->setValues(array($store->userIdAttr => $_REQUEST[$store->userIdAttr]));
        $formGen->setSubmitter('submit_change');
        $formHtml = $formGen->genFormHtml();
        $html = new SimpleSAML_XHTML_Template($config, 'selfregister:lostPassword_changePassword.tpl.php', 'selfregister:selfregister');
        $html->data['formHtml'] = $formHtml;
        $html->data['uid'] = $userValues[$store->userIdAttr];
        $error = $html->t($e->getMesgId(), $e->getTrVars());
        $html->data['error'] = htmlspecialchars($error);
        $html->show();
    }
} else {
    // Stage 1: User access page to enter mail address for pasword recovery
    $html = new SimpleSAML_XHTML_Template($config, 'selfregister:lostPassword_email.tpl.php', 'selfregister:selfregister');
    $html->show();
}