<?xml version="1.0" encoding="UTF-8"?>

<ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:c="http://xmlns.jcp.org/jsp/jstl/core" xmlns:f="http://xmlns.jcp.org/jsf/core" xmlns:ui="http://xmlns.jcp.org/jsf/facelets" xmlns:h="http://xmlns.jcp.org/jsf/html"
    xmlns:p="http://primefaces.org/ui" xmlns:e="http://www.ivu.de/elect/tags">

    <!--@elvariable id="erfassenView" type="de.ivu.elect.presentation.stimmeingabe.StimmeingabeErfassenViewHavingStimmeingabenKopfzahl"-->
    <ui:param name="erfassenView" value="#{erfassenView}" />

    <!--@elvariable id="stimmeingabenKopfzahlTableLayout" type="de.ivu.elect.business.stimmeingabe.entity.StimmeingabeKopfzahlTableLayout"-->
    <ui:param name="stimmeingabenKopfzahlTableLayout" value="#{erfassenView.stimmeingabenKopfzahlTableLayout}" />
    <ui:param name="stimmeingabenKopfzahlReadonly" value="#{stimmeingabenKopfzahlTableLayout.erfassungGesperrt}" />

    <!--@elvariable id="stimmeingabeKopfzahl" type="de.ivu.elect.business.stimmeingabe.entity.StimmeingabeKopfzahl"-->
    <p:dataTable id="tblStimmeingabenKopfzahl" rendered="#{not empty erfassenView.stimmeingabenKopfzahl}" value="#{erfassenView.stimmeingabenKopfzahl}" var="stimmeingabeKopfzahl"
        rowKey="#{stimmeingabeKopfzahl.pk}" rowIndexVar="rowIndexZeroBased" rowStyleClass="#{stimmeingabeKopfzahl.rowStyleClass}"
        emptyMessage="#{msgs['component.data.table.empty.message']}">

        <ui:param name="anzahlEingabeColKopfzahlIndexZeroBased" value="0" />
        <ui:param name="anzahlEingabeColKopfzahlTabIndexRelativePerCol" value="#{anzahlEingabeColKopfzahlIndexZeroBased * stimmeingabenKopfzahlRowCount + rowIndexZeroBased + 1}" />
        <ui:param name="anzahlEingabeColKopfzahlTabIndexRelativePerRow" value="#{rowIndexZeroBased * stimmeingabenKopfzahlColCount + anzahlEingabeColKopfzahlIndexZeroBased + 1}" />
        <ui:param name="anzahlEingabeColKopfzahlTabIndex" value="#{stimmeingabenKopfzahlTabIndexOffset + (erfassenViewTabIndexPerCol ? anzahlEingabeColKopfzahlTabIndexRelativePerCol : anzahlEingabeColKopfzahlTabIndexRelativePerRow)}" />

        <p:column rendered="#{stimmeingabenKopfzahlTableLayout.kennungVorStimmeingabeRendered}" headerText="#{stimmeingabenKopfzahlTableLayout.kennungVorStimmeingabeHeader}" styleClass="ui-dt-td-kennung ui-dt-td-kennung-01">
            <h:outputText value="#{stimmeingabeKopfzahl.stimmeingabeKennung}" />
        </p:column>

        <p:column rendered="#{stimmeingabenKopfzahlTableLayout.bezeichnungRendered}" headerText="#{stimmeingabenKopfzahlTableLayout.bezeichnungHeader}" styleClass="ui-dt-td-bezeichnung">
            <h:outputText value="#{stimmeingabeKopfzahl.stimmeingabeBezeichnung}" />
        </p:column>

        <p:column rendered="#{stimmeingabenKopfzahlTableLayout.anzahlVergleichRendered}" headerText="#{stimmeingabenKopfzahlTableLayout.anzahlVergleichHeader}" styleClass="ui-dt-td-anzahl ui-dt-td-numeric">
            <e:outputLong rendered="#{stimmeingabeKopfzahl.hasAnzahlVergleich()}" value="#{stimmeingabeKopfzahl.anzahlVergleich}" />
            <h:outputText rendered="#{not stimmeingabeKopfzahl.hasAnzahlVergleich()}" value="#{stimmeingabeKopfzahl.getAnzahlEingabeVergleichOrDefault(erfassenView.stimmeingabeAnzeigenAnzahlDefault)}" styleClass="ui-dt-c-numeric" />
        </p:column>

        <p:column rendered="#{stimmeingabenKopfzahlTableLayout.anzahlRendered}" headerText="#{stimmeingabenKopfzahlTableLayout.anzahlHeader}" styleClass="ui-dt-td-anzahl ui-dt-td-numeric">
            <ui:fragment rendered="#{stimmeingabeKopfzahl.anzahlEingabeRendered}">
                <ui:param name="stimmeingabeKopfzahlDisabled" value="#{stimmeingabenKopfzahlReadonly or stimmeingabeKopfzahl.readonly}" />

                <div id="#{erfassenView.getStimmeingabeBezugId(stimmeingabeKopfzahl.stimmeingabe)}" class="ui-datatable-plausi-fehler-target">
	                <ui:fragment rendered="#{stimmeingabeKopfzahlDisabled}">
                        <e:outputLong rendered="#{stimmeingabeKopfzahl.hasAnzahl()}" value="#{stimmeingabeKopfzahl.anzahl}" />
                        <h:outputText rendered="#{not stimmeingabeKopfzahl.hasAnzahl()}" value="#{stimmeingabeKopfzahl.getAnzahlEingabeOrDefault(erfassenView.stimmeingabeAnzeigenAnzahlDefault)}" styleClass="ui-dt-c-numeric" />
                    </ui:fragment>

                    <e:inputNumberKeyboard rendered="#{not stimmeingabeKopfzahlDisabled}" autocomplete="false" tabindex="#{anzahlEingabeColKopfzahlTabIndex}" value="#{stimmeingabeKopfzahl.anzahlEingabe}" styleClass="#{stimmeingabeKopfzahl.stimmeingabeStyleClass}">
                        <p:ajax disabled="#{not stimmeingabeKopfzahl.anzahlExpectedChecked}" process="@this" update=":ctnMessages" listener="#{erfassenView.checkStimmeingabeKopfzahlAnzahlExpected(stimmeingabeKopfzahl)}" />
                    </e:inputNumberKeyboard>
                </div>
            </ui:fragment>
        </p:column>

        <p:column rendered="#{stimmeingabenKopfzahlTableLayout.kennungNachStimmeingabeRendered}" headerText="#{stimmeingabenKopfzahlTableLayout.kennungNachStimmeingabeHeader}" styleClass="ui-dt-td-kennung ui-dt-td-kennung-02">
            <h:outputText value="#{stimmeingabeKopfzahl.stimmeingabeKennung}" />
        </p:column>
    </p:dataTable>

    <br />
</ui:composition>
