<!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
                             "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
                xmlns:s="http://jboss.com/products/seam/taglib"
                xmlns:ui="http://java.sun.com/jsf/facelets"
                xmlns:f="http://java.sun.com/jsf/core"
                xmlns:h="http://java.sun.com/jsf/html"
                xmlns:util="http://icpc.baylor.edu/facelets/util"
                xmlns:rich="http://richfaces.org/rich"
                xmlns:a4j="http://richfaces.org/a4j">
                
 <util:inputText label="First Name:"
                  edit="#{edit}"
                 value="#{bean.firstName}"
              required="true"
                  size="30"    
             minlength="0"     
             maxlength="100"     
              rendered="#{empty firstNameRender ? 'true' : firstNameRender}"
                    id="firstName"/>

<!-- 
if you would have a security Map<String,Boolean>, 
this will provide just field you can see:

rendered="#{empty security ? 'true' : security[firstName]}"
 -->

 <util:inputText label="Last Name:"
                  edit="#{edit}"
                 value="#{bean.lastName}"
              required="true"
                  size="30"    
             minlength="0"     
             maxlength="100"     
              rendered="#{empty lastNameRender ? 'true' : lastNameRender}"
                    id="lastName"/>

<!-- 
if you would have a security Map<String,Boolean>, 
this will provide just field you can see:

rendered="#{empty security ? 'true' : security[lastName]}"
 -->

 <!-- email -->
 <util:inputText label="Email:"
                  edit="#{edit}"
                 value="#{bean.email}"
              required="true"
                  size="30"
                 email="true"    
             minlength="0"     
             maxlength="100"    
              rendered="#{empty emailRender ? 'true' : emailRender}"   
                    id="email"/>

 <util:inputText label="Username:"
                  edit="#{edit}"
                 value="#{bean.username}"
              required="true"
                  size="30" 
               pattern="'^[a-z._-]+$'"    
             minlength="0"     
             maxlength="50"     
              rendered="#{empty usernameRender ? 'true' : usernameRender}"
                    id="username"/>

<!-- 
if you would have a security Map<String,Boolean>, 
this will provide just field you can see:

rendered="#{empty security ? 'true' : security[username]}"
 -->

 <util:inputPassword label="Password:"
	                  edit="#{edit}"
	                 value="#{bean.password}"
	              required="true"
	                  size="30"    
	             minlength="6"     
	             maxlength="50"
	              rendered="#{empty passwordRender ? 'true' : passwordRender}"     
	                    id="password"/>


<util:selectMenu label="Gender:"
                  edit="#{edit}"
                 value="#{bean.gender}"
              required="true" 
                  type="enum"
            collection="#{enums.gender}"
              rendered="#{empty genderRender ? 'true' : genderRender}" 
                    id="gender"/>

 <util:inputDate  label="Was Born:"
                   edit="#{edit}"
                  value="#{bean.wasBorn}"
                   past="true"
               required="true" 
               rendered="#{empty wasBornRender ? 'true' : wasBornRender}"  
                     id="wasBorn"/>

 <util:inputNumber label="Salary:"
                    edit="#{edit}"
                   value="#{bean.salary}"
                required="true"
                    size="10" 
               maxlength="255"     
                maxValue="100000"     
                minValue="1000"     
                rendered="#{empty salaryRender ? 'true' : salaryRender}" 
                      id="salary"/>

<util:checkBox label="Married:"
                edit="#{edit}"
               value="#{bean.married}"
            required="true" 
            rendered="#{empty marriedRender ? 'true' : marriedRender}"   
                 id="married"/>


<util:selectMenu label="Country:" 
                  edit="#{edit}"
                 value="#{bean.country}"
              required="true" 
       itemCustomLabel="name"
                  type="entity" 
                    id="country"
              rendered="#{empty countryRender ? 'true' : countryRender}"   
            collection="#{entityObjects.country}" />

 <util:inputTextArea label="Notes:"
                      edit="#{edit}"
                     value="#{bean.notes}"
                  required="false"
                      size="30"   
                 maxlength="512"    
                  rendered="#{empty notesRender ? 'true' : notesRender}" 
                        id="notes"/>

 <util:inputDate  label="Employed From:"
                   edit="#{edit}"
                  value="#{bean.employedFrom}"
                   past="true"
               required="false" 
               rendered="#{empty employedFromRender ? 'true' : employedFromRender}"  
                     id="employedFrom"/>

 <util:inputDate  label="Employed To:"
                   edit="#{edit}"
                  value="#{bean.employedTo}"
                 future="true"
               required="false" 
               rendered="#{empty employedToRender ? 'true' : employedToRender}"  
                     id="employedTo"/>

 <util:inputRichDate  label="Last Deal Update:"
	                   edit="#{edit}"
	                  value="#{bean.lastDealUpdate}"
	               required="false" 
	                   past="true"
                   rendered="#{empty lastDealUpdateRender ? 'true' : lastDealUpdateRender}"   
	                     id="lastDealUpdate"/>

 <util:inputHtml     label="Html:"
                      edit="#{edit}"
                     value="#{bean.html}"
                  required="false"
                      size="30"   
                 maxlength="512"
                  rendered="#{empty htmlRender ? 'true' : htmlRender}"      
                        id="html"/>

 <util:inputLink     label="Link:"
                      edit="#{edit}"
                     value="#{bean.link}"
                  required="false"
                      size="30" 
                   pattern="'^[^\\\\s]*$'"   
                 maxlength="100"
                  rendered="#{empty linkRender ? 'true' : linkRender}"     
                        id="link"/>

<util:inputColor label="Favorite Color:"
                  edit="#{edit}" 
                 value="#{bean.favoriteColor}"
              required="false" 
              rendered="#{empty favoriteColorRender ? 'true' : favoriteColorRender}"  
                    id="favoriteColor"/>

</ui:composition>