<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:f="http://xmlns.jcp.org/jsf/core"
      xmlns:p="http://primefaces.org/ui">

    <body>

        <ui:composition template="./template/principal.xhtml">

            <ui:define name="top">
                top
            </ui:define>

            <ui:define name="left">
                left
            </ui:define>

            <ui:define name="right">
                right
            </ui:define>

            <ui:define name="content">
                <f:view>
                    <h:form>

                        <h1><h:outputText value="#{demoBeanProducto.titulo}"/></h1>
                        <h:panelGrid columns="3" cellpadding="7">

                            <p:outputLabel value="Nombre:" for="nombre" />
                            <p:inputText id="nombre" 
                                         value="#{demoBeanProducto.producto.nombre}" 
                                         title="Nombre" 
                                         required="true" 
                                         validatorMessage="El nombre no es valido" 
                                         requiredMessage="Este campo no puede estar vacio">

                                <f:validateRegex pattern="\b[A-Za-zÁáÉéÍíÓóÚúÜüÑñ]{3,}(?:\s+[A-Za-zÁáÉéÍíÓóÚúÜüÑñ]{3,})*\b" 
                                                 for="nombre" />

                            </p:inputText>
                            <p:message for="nombre" />

                            <p:outputLabel value="Codigo:" for="codigo" />
                            <p:inputText id="codigo" 
                                         value="#{demoBeanProducto.producto.codigo}" 
                                         title="Codigo"  
                                         required="true" 
                                         converterMessage="Solo se aceptan digitos" 
                                         requiredMessage="Este campo no puede estar vacio"/>
                            <p:message for="codigo" />

                            <p:outputLabel value="Precio:" for="precio" />
                            <p:inputText id="precio" 
                                         value="#{demoBeanProducto.producto.precio}" 
                                         title="Precio"  
                                         required="true" 
                                         converterMessage="Solo se aceptan digitos" 
                                         requiredMessage="Este campo no puede estar vacio"/>
                            <p:message for="precio" />

                            <p:outputLabel value="Piezas:" for="piezas" />
                            <p:inputText id="piezas" 
                                         value="#{demoBeanProducto.producto.piezas}" 
                                         title="Piezas"  
                                         required="true" 
                                         converterMessage="Solo se aceptan digitos" 
                                         requiredMessage="Este campo no puede estar vacio"/>
                            <p:message for="piezas" />

                            <p:outputLabel value="Marca:" 
                                           for="marcaId"/>

                            <p:selectOneMenu id="marcaId" 
                                             value="#{demoBeanProducto.producto.marcaIdmarca}" 
                                             converter="selectOneMenuConverter" 
                                             required="true" 
                                             requiredMessage="Se necesita una marca" >
                                <!-- TODO: update below reference to list of available items-->
                                <f:selectItems value="#{demoBeanMarca.marcas}" 
                                               var="item" 
                                               itemLabel="#{item.nombre}" 
                                               itemValue="#{item}"/>
                            </p:selectOneMenu>
                            <p:message for="marcaId" />

                            <p:outputLabel value="Proveedor:" 
                                           for="proveedorIdproveedor" />

                            <p:selectOneMenu id="proveedorIdproveedor" 
                                             value="#{demoBeanProducto.producto.proveedorIdproveedor}" 
                                             converter="selectOneMenuConverter" 
                                             required="true" 
                                             requiredMessage="Se necesita un proveedor" >
                                <!-- TODO: update below reference to list of available items-->
                                <f:selectItems value="#{demoBeanProveedor.proveedores}" 
                                               var="item" 
                                               itemLabel="#{item.nombre}" 
                                               itemValue="#{item}"/>
                            </p:selectOneMenu>
                            <p:message for="proveedorIdproveedor" />

                            <p:outputLabel value="Ubicacion" 
                                           for="ubicacionId" />

                            <p:selectOneMenu id="ubicacionId" 
                                             value="#{demoBeanProducto.producto.ubicacionId}" 
                                             converter="selectOneMenuConverter" 
                                             required="true" 
                                             requiredMessage="Se necesita una ubicacion">
                                <!-- TODO: update below reference to list of available items-->
                                <f:selectItems value="#{demoBeanUbicacion.ubicacion}" 
                                               var="item" 
                                               itemLabel="#{item.bloque}#{item.anaquel}" 
                                               itemValue="#{item}"/>
                            </p:selectOneMenu>
                            <p:message for="ubicacionId" />
                        </h:panelGrid>

                        <p:commandButton action="#{demoBeanProducto.agregarProducto()}" 
                                         update="messages" 
                                         rendered="#{demoBeanProducto.nuevo}"
                                         ajax="false" 
                                         styleClass="ui-button-success" 
                                         style="width: 50px;" 
                                         icon="pi pi-check"/>

                        <p:commandButton action="#{demoBeanProducto.editarProducto()}" 
                                         update="messages" 
                                         rendered="#{!demoBeanProducto.nuevo}" 
                                         ajax="false" 
                                         icon="pi pi-save" 
                                         styleClass="ui-button-success" 
                                         style="width: 50px;"/>

                        <p:commandButton action="productoLista.xhtml" 
                                         immediate="true" 
                                         ajax="false" 
                                         style="margin-left: 5px; width: 50px; " 
                                         icon="pi pi-times" 
                                         styleClass="ui-button-danger"/>
                    </h:form>
                </f:view>        
            </ui:define>
        </ui:composition>

    </body>
</html>