<?xml version="1.0" encoding="UTF-8"?>
<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page"
		  xmlns:c="http://java.sun.com/jsp/jstl/core"
		  xmlns:fmt="http://java.sun.com/jsp/jstl/fmt"
		  xmlns:fn="http://java.sun.com/jsp/jstl/functions"
		  xmlns:nk="urn:jsptagdir:/WEB-INF/tags/nekurak"
		  version="2.0">

	<jsp:useBean id="uzivatel" class="cz.frantovo.nekurak.dto.PozadavekNaRegistraciUzivatele" scope="request"/>
	<jsp:useBean id="uzivatelPredRegistraci" class="cz.frantovo.nekurak.web.UzivatelPredRegistraci" scope="request"/>
	<jsp:useBean id="registraceUzivatele" class="cz.frantovo.nekurak.web.RegistraceUzivatele" scope="session"/>

	<fmt:message key="registrace.nadpis" var="titulekStranky"/>
	<nk:stranka titulek="${titulekStranky}">

		<h1><c:out value="${titulekStranky}"/></h1>

		<!--
			Registrace probíhá ve třech krocích:
			1) uživatel vyplňí formulář
			2) zobrazíme mu vyplněné údaje a on si je zkontroluje
			3) potvrdí registraci
		-->

		<c:choose>
			<c:when test="${param.akceRegistrace == 'kontrola'}">
				<!-- Vypíšeme uživateli údaje, které zadal do formuláře, aby si je mohl zkontrolovat. -->
				<c:choose>
					<c:when test="${param.heslo == param.heslo_kontrola}">
						<jsp:setProperty name="uzivatel" property="*"/>
						<jsp:setProperty name="uzivatel" property="jazyk" value="${sessionScope['javax.servlet.jsp.jstl.fmt.locale.session']}"/>
						<jsp:setProperty name="uzivatelPredRegistraci" property="uzivatel" value="${uzivatel}"/>
						<jsp:setProperty name="registraceUzivatele" property="uzivatel" value="${uzivatelPredRegistraci}"/>

						<p><fmt:message key="registrace.kontrola"/></p>

						<p class="registraceKontrolaUdaju">
							<fmt:message key="dto.uzivatel.prezdivka"/>: <c:out value="${uzivatel.prezdivka}"/><br/>
							<fmt:message key="dto.uzivatel.jmeno"/>: <c:out value="${uzivatel.jmeno}"/><br/>
							<fmt:message key="dto.uzivatel.prijmeni"/>: <c:out value="${uzivatel.prijmeni}"/><br/>
							<fmt:message key="dto.uzivatel.email"/>: <c:out value="${uzivatel.email}"/><br/>
						</p>

						<p>
							<a href="?akce=registrovatUzivatele&amp;amp;akceRegistrace=dokonceni&amp;amp;token=${fn:escapeXml(uzivatelPredRegistraci.token)}">
								<fmt:message key="registrace.potvrdit"/>
							</a>
						</p>
					</c:when>
					<c:otherwise>
						<p class="chybovaHlaska"><fmt:message key="registrace.vyjimka.heslaSeNeshoduji"/></p>
					</c:otherwise>
				</c:choose>
			</c:when>
			<c:when test="${param.akceRegistrace == 'dokonceni'}">
				<!-- Uživatel si zkontroloval údaje a chce dokončit svoji registraci. -->
				<jsp:setProperty name="registraceUzivatele" property="token" value="${param.token}"/>

				<c:set var="chybaRegistrace" value="${registraceUzivatele.dokonciRegistraci}"/>

				<c:choose>
					<c:when test="${chybaRegistrace == null}">
						<!-- Registrace proběhla úspěšně. -->
						<p>
							<fmt:message key="registrace.hotovo"/>&amp;#160;
							<a href="?akce=prihlaseni">
								<fmt:message key="registrace.hotovo.prihlasit"/>
							</a>.
						</p>
					</c:when>
					<c:otherwise>
						<!-- Během pokusu o registraci uživatele došlo k chybě. -->
						<p class="chybovaHlaska"><fmt:message key="${chybaRegistrace}"/></p>
					</c:otherwise>
				</c:choose>
			</c:when>
			<c:otherwise>
				<!-- Zobrazíme uživateli registrační formulář. -->
				<form method="post" action="?akce=registrovatUzivatele&amp;amp;akceRegistrace=kontrola">
					<fieldset>
						<fmt:message key="dto.uzivatel.prezdivka.tip" var="prezdivkaTip"/>
						<label title="${prezdivkaTip}"><fmt:message key="dto.uzivatel.prezdivka"/>: <input type="text" name="prezdivka" maxlength="64"/></label><br/>
						<label><fmt:message key="dto.uzivatel.heslo"/>: <input type="password" name="heslo" maxlength="255"/></label><br/>
						<label><fmt:message key="dto.uzivatel.heslo.kontrola"/>: <input type="password" name="heslo_kontrola" maxlength="255"/></label><br/>
						<br/>
						<label><fmt:message key="dto.uzivatel.jmeno"/>: <input type="text" name="jmeno" maxlength="64"/></label><br/>
						<label><fmt:message key="dto.uzivatel.prijmeni"/>: <input type="text" name="prijmeni" maxlength="64"/></label><br/>
						<label><fmt:message key="dto.uzivatel.email"/>: <input type="text" name="email" maxlength="255"/></label><br/>
						<button value="submit"><fmt:message key="registrace.tlacitko"/></button>
					</fieldset>
				</form>
			</c:otherwise>
		</c:choose>

	</nk:stranka>

</jsp:root>
