diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java
index 7591aefb5a8b0e2310b5807c18011ee749d523f6..dbe0b3899d3d047115b36aa0d354d2a3989dbf1a 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/OcorrenciaMunicipal.java
@@ -65,19 +65,19 @@ public class OcorrenciaMunicipal {
     @DateTimeFormat(style = "S-")
     private Date ultimaAlteracao;
 
-    public static List<Programa> findAllOcorrenciasCandidatos() {
+    public static List<OcorrenciaMunicipal> findAllOcorrenciasCandidatos() {
         return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal WHERE status = 'Candidato'", OcorrenciaMunicipal.class).getResultList();
     }
 
-    public static List<Programa> findAllOcorrenciasEfetivos() {
+    public static List<OcorrenciaMunicipal> findAllOcorrenciasEfetivos() {
         return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal WHERE status = 'Efetivo'", OcorrenciaMunicipal.class).getResultList();
     }
 
-    public static List<Programa> findAllOcorrenciasRejeitados() {
+    public static List<OcorrenciaMunicipal> findAllOcorrenciasRejeitados() {
         return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal WHERE status = 'Rejeitado'", OcorrenciaMunicipal.class).getResultList();
     }
 
-    public static List<Programa> findMinhasOcorrencias() {
+    public static List<OcorrenciaMunicipal> findMinhasOcorrencias() {
         String login = SecurityContextHolder.getContext().getAuthentication().getName();
         return entityManager().createNativeQuery("SELECT * FROM Ocorrencia_Municipal o, Usuario u WHERE o.usuario = u.id and o.status = 'Candidato' and u.login = '" + login + "'", OcorrenciaMunicipal.class).getResultList();
     }
diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java
index d25f1191f4eb2f73a47648e16046ebf1eced8e1a..770c5edfb7d7f7d6b2e4daef89d06e94fbf5b0f0 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/ApplicationConversionServiceFactoryBean.java
@@ -41,7 +41,7 @@ public class ApplicationConversionServiceFactoryBean extends FormattingConversio
         return new org.springframework.core.convert.converter.Converter<br.ufpr.c3sl.estacaojuventude.OrgaoExecutor, java.lang.String>() {
             public String convert(OrgaoExecutor orgaoExecutor) {
             	if (orgaoExecutor.getSigla() == null)
-            		return new StringBuilder().append("").append(" - ").append(orgaoExecutor.getNome()).toString();
+            		return new StringBuilder().append(orgaoExecutor.getNome()).toString();
                 return new StringBuilder().append(orgaoExecutor.getSigla()).append(" - ").append(orgaoExecutor.getNome()).toString();
             }
         };
@@ -76,7 +76,7 @@ public class ApplicationConversionServiceFactoryBean extends FormattingConversio
 	public Converter<Localizacao, String> getLocalizacaoToStringConverter() {
         return new org.springframework.core.convert.converter.Converter<br.ufpr.c3sl.estacaojuventude.Localizacao, java.lang.String>() {
             public String convert(Localizacao localizacao) {
-                return new StringBuilder().append(localizacao.getOcorrencia().getProgramaVinculado().getNomeOficial()).append(" - ").append(localizacao.getOcorrencia().getMunicipio().getNome()).append(" - ").append(localizacao.getLocal()).toString();
+                return new StringBuilder().append(localizacao.getOcorrencia().getProgramaVinculado().getNomeOficial()).append(" - ").append(localizacao.getOcorrencia().getMunicipio().getNome()).toString();
             }
         };
     }
@@ -84,6 +84,8 @@ public class ApplicationConversionServiceFactoryBean extends FormattingConversio
 	public Converter<OcorrenciaMunicipal, String> getOcorrenciaMunicipalToStringConverter() {
         return new org.springframework.core.convert.converter.Converter<br.ufpr.c3sl.estacaojuventude.OcorrenciaMunicipal, java.lang.String>() {
             public String convert(OcorrenciaMunicipal ocorrenciaMunicipal) {
+            	if (ocorrenciaMunicipal.getProgramaVinculado() == null || ocorrenciaMunicipal.getMunicipio() == null)
+            		return new StringBuilder().append("").toString();
                 return new StringBuilder().append(ocorrenciaMunicipal.getProgramaVinculado().getNomeOficial()).append(" - ").append(ocorrenciaMunicipal.getMunicipio().getNome()).toString();
             }
         };
diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java
index 22eadccb576418b87bca4c587c8124d807b1f77e..5a177963e4d0534cd6ef1e919489e172ebcaeb77 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/LocalizacaoController.java
@@ -2,6 +2,7 @@ package br.ufpr.c3sl.estacaojuventude.web;
 
 import java.util.Arrays;
 import java.util.Calendar;
+import java.util.List;
 
 import javax.servlet.http.HttpServletRequest;
 import javax.validation.Valid;
@@ -184,7 +185,13 @@ public class LocalizacaoController {
 	
 	void populateEditForm(Model uiModel, Localizacao localizacao) {
         uiModel.addAttribute("localizacao", localizacao);
-        uiModel.addAttribute("ocorrenciamunicipais", OcorrenciaMunicipal.findAllOcorrenciaMunicipals());
+        
+        List<OcorrenciaMunicipal> lo = OcorrenciaMunicipal.findAllOcorrenciasEfetivos();
+        OcorrenciaMunicipal o = new OcorrenciaMunicipal();
+        o.setId((long) 0);
+        lo.add(0, o);
+        uiModel.addAttribute("ocorrenciamunicipais", lo);
+        
         uiModel.addAttribute("usuarios", Usuario.findAllUsuarios());
         uiModel.addAttribute("tipostatuses", Arrays.asList(TipoStatus.values()));
         uiModel.addAttribute("situacaos", Arrays.asList(Situacao.values()));
diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java
index 9aa60e444ca38bc69ab9dce90d1da660b6513427..c3769882139bc9b049c6d3df2ab440e2c57dd7d5 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/MunicipioController.java
@@ -66,9 +66,14 @@ public class MunicipioController {
 	void populateEditForm(Model uiModel, Municipio municipio) {
         uiModel.addAttribute("municipio", municipio);
         addDateTimeFormatPatterns(uiModel);
-        uiModel.addAttribute("estadoes", Estado.findAllEstadoes());
         
-        uiModel.addAttribute("municipios", Municipio.findAllMunicipios());
+        List<Estado> le = Estado.findAllEstadoes();
+        Estado e = new Estado();
+        e.setNome("");
+        le.add(0, e);
+        uiModel.addAttribute("estadoes", le);
+        
+        //uiModel.addAttribute("municipios", Municipio.findAllMunicipios());
         List<Municipio> lm = Municipio.findAllMunicipios();
         Municipio m = new Municipio();
         m.setNome("");
diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java
index 32f446bfabdcb55ff38a111dd108660d6ddc1aed..1260c8236ee51fd1af306a193020526b13d24122 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/OcorrenciaMunicipalController.java
@@ -188,9 +188,22 @@ public class OcorrenciaMunicipalController {
 	void populateEditForm(Model uiModel, OcorrenciaMunicipal ocorrenciaMunicipal) {
         uiModel.addAttribute("ocorrenciaMunicipal", ocorrenciaMunicipal);
         uiModel.addAttribute("localizacaos", Localizacao.findAllLocalizacaos());
-        uiModel.addAttribute("municipios", Municipio.findAllMunicipios());
+        
+        List<Municipio> lm = Municipio.findAllMunicipios();
+        Municipio m = new Municipio();
+        m.setId((long) 0);
+        m.setNome("");
+        lm.add(0, m);
+        uiModel.addAttribute("municipios", lm);
+        
         uiModel.addAttribute("orgaoexecutores", OrgaoExecutor.findAllOrgaoExecutors());
-        uiModel.addAttribute("programas", Programa.findAllProgramasEfetivos());
+        
+        List<Programa> lp = Programa.findAllProgramasEfetivos();
+        Programa p = new Programa();
+        p.setId((long) 0);
+        lp.add(0, p);
+        uiModel.addAttribute("programas", lp);
+        
         uiModel.addAttribute("tipostatuses", Arrays.asList(TipoStatus.values()));
         uiModel.addAttribute("situacaos", Arrays.asList(Situacao.values()));
         uiModel.addAttribute("usuarios", Usuario.findAllUsuarios());
diff --git a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java
index e782c775b5bb78d91682ce0abe2a035e598b437c..af5872d5534afc05cde193501aa4c4c2c76d9122 100644
--- a/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java
+++ b/src/main/java/br/ufpr/c3sl/estacaojuventude/web/UsuarioController.java
@@ -75,7 +75,7 @@ public class UsuarioController {
     
     void populateEditForm(Model uiModel, Usuario usuario) {
         uiModel.addAttribute("usuario", usuario);
-        uiModel.addAttribute("tipousuarios", Arrays.asList(TipoUsuario.Usuario, TipoUsuario.Administrador/*TipoUsuario.values()*/));
+        uiModel.addAttribute("tipousuarios", Arrays.asList(" ", TipoUsuario.Usuario, TipoUsuario.Administrador/*TipoUsuario.values()*/));
     }
 	
 	@RequestMapping(value = "changepassword", method = RequestMethod.GET)
diff --git a/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx b/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx
index 93466128385cd57471f53fa134c9234cb1a18a10..0f0efba309342643b69a649df258029fed2f65cd 100644
--- a/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx
+++ b/src/main/webapp/WEB-INF/tags/form/fields/datetime.tagx
@@ -33,9 +33,12 @@
     </c:if>
 
     <script type="text/javascript">dojo.require('dijit.form.DateTextBox')</script>
-    <div id="_${sec_id}_id">
+    <div id="_${sec_id}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;">
       <label for="_${sec_field}_id">
         <c:out value="${label}" />
+        <c:if test="${required}">
+        *
+        </c:if>
         :
       </label>
       <c:choose>
@@ -68,7 +71,12 @@
         <c:set var="sec_dateTimePattern">
           <spring:escapeBody javaScriptEscape="true">${dateTimePattern}</spring:escapeBody>
         </c:set>
-        Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.DateTextBox', widgetAttrs : {promptMessage: '${sec_field_validation}', invalidMessage: '${sec_field_invalid}', required: ${required}, constraints: {datePattern : '${sec_dateTimePattern}', required : ${required}}, datePattern : '${sec_dateTimePattern}'}})); </script>
+        Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.DateTextBox', widgetAttrs : {invalidMessage: '${sec_field_invalid}', required: ${required}, constraints: {datePattern : '${sec_dateTimePattern}', required : ${required}}, datePattern : '${sec_dateTimePattern}'}}));
+        new dijit.Tooltip({
+    		connectId: ["_${sec_id}_id"],
+    		label: "${sec_field_validation}",
+		});
+      </script>
     </div>
     <br />
   </c:if>
diff --git a/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx b/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx
index c4c61928593df60f167b646670a973e673c28670..a9b3d0c15411dc9c2df0e410e6c58f1900b40a39 100644
--- a/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx
+++ b/src/main/webapp/WEB-INF/tags/form/fields/editor.tagx
@@ -34,6 +34,9 @@
     <div id="_${fn:escapeXml(id)}_id">
       <label for="_${sec_field}_id">
         <c:out value="${fn:escapeXml(label)}" />
+        <c:if test="${required}">
+        *
+        </c:if>
         :
       </label>
       <form:hidden id="_${sec_field}_id" path="${sec_field}" />
diff --git a/src/main/webapp/WEB-INF/tags/form/fields/input.tagx b/src/main/webapp/WEB-INF/tags/form/fields/input.tagx
index b675439783da8fa05fd49bc6f460288d3147dd9d..bd0fa4546bae44f2d0d0f5a70648a7be7e8a6cab 100644
--- a/src/main/webapp/WEB-INF/tags/form/fields/input.tagx
+++ b/src/main/webapp/WEB-INF/tags/form/fields/input.tagx
@@ -57,22 +57,26 @@
       <spring:escapeBody javaScriptEscape="true" >${field}</spring:escapeBody>
     </c:set>
     
-    <div id="_${fn:escapeXml(id)}_id">
+    <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;">
+    <!--  style="margin-right: auto;" -->
       <label for="_${sec_field}_id">
         <c:out value="${fn:escapeXml(label)}" />
+        <c:if test="${required}">
+        *
+        </c:if>
         :
       </label>
       <c:choose>
         <c:when test="${disableFormBinding}">
-          <input id="_${sec_field}_id" name="${sec_field}" type="${fn:escapeXml(type)}" />
+          <input id="_${sec_field}_id" name="${sec_field}" type="${fn:escapeXml(type)}"/>
         </c:when>
         <c:otherwise>
           <c:choose>
             <c:when test="${type eq 'password'}">
-              <form:password id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" />
+              <form:password id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}"/>
             </c:when>
             <c:otherwise>
-              <form:input id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" />
+              <form:input id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}"/>
             </c:otherwise>
           </c:choose>
           <br />
@@ -108,8 +112,14 @@
       <c:if test="${!empty validationRegex}">
         <c:set var="sec_validation_regex" value="regExp : '${validationRegex}', " />
       </c:if>
+      
       <script type="text/javascript">
-        Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.ValidationTextBox', widgetAttrs : {promptMessage: '${sec_field_validation}', invalidMessage: '${sec_field_invalid}', required : ${required}, ${sec_validation_regex} missingMessage : '${sec_field_required}' }})); 
+        //promptMessage: '${sec_field_validation}',
+        Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.ValidationTextBox', widgetAttrs : { invalidMessage: '${sec_field_invalid}', required : ${required}, ${sec_validation_regex} missingMessage : '${sec_field_required}'}}));
+        new dijit.Tooltip({
+    		connectId: ["_${fn:escapeXml(id)}_id"],
+    		label: "${sec_field_validation}",
+		});
       </script>
     </div>
     <br />
diff --git a/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx b/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx
index a99eb1ca307387a05646b5a148e1b4ba6faf4e15..0a4e5b72b84da8da2c7550086d82559b7c8f1a1e 100644
--- a/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx
+++ b/src/main/webapp/WEB-INF/tags/form/fields/reference.tagx
@@ -18,6 +18,9 @@
     <div id="_${fn:escapeXml(id)}_id">
       <label for="_${fn:escapeXml(field)}_id">
         <c:out value="${fn:escapeXml(label)}" />
+        <c:if test="${required}">
+        *
+        </c:if>
         :
       </label>
       <spring:url value="${path}" var="create_url">
diff --git a/src/main/webapp/WEB-INF/tags/form/fields/select.tagx b/src/main/webapp/WEB-INF/tags/form/fields/select.tagx
index e1f136e804bd1eb9122a5d45199591b5f7bb27bd..ee30df01a8b6953755fc86b4a8d4d90a8ad7968f 100644
--- a/src/main/webapp/WEB-INF/tags/form/fields/select.tagx
+++ b/src/main/webapp/WEB-INF/tags/form/fields/select.tagx
@@ -56,11 +56,14 @@
       <spring:escapeBody htmlEscape="true" >${itemLabel}</spring:escapeBody>
     </c:set>
 
-    <div id="_${fn:escapeXml(id)}_id">
+    <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;">
       <c:choose>
         <c:when test="${not empty items}">
           <label for="_${sec_field}_id">
             <c:out value="${fn:escapeXml(label)}" />
+            <c:if test="${required}">
+        	*
+        	</c:if>
             :
           </label>
           <c:choose>
@@ -200,10 +203,10 @@
           
           <c:choose>
              <c:when test="${empty hintValue}">
-               <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="field_validation" htmlEscape="false" />
+               <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="sec_field_validation" htmlEscape="false" />
              </c:when>
              <c:otherwise>
-               <spring:message code="${hintValue}" var="field_validation" htmlEscape="false" />
+               <spring:message code="${hintValue}" var="sec_field_validation" htmlEscape="false" />
              </c:otherwise>
           </c:choose>
           
@@ -220,7 +223,7 @@
             </c:when> 
           
             <c:when test="${multiple == false}">
-              <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType: 'dijit.form.FilteringSelect', widgetAttrs : {promptMessage: '${sec_field_validation}', hasDownArrow : true}})); </script>
+              <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType: 'dijit.form.FilteringSelect', widgetAttrs : {hasDownArrow : true}})); </script>
             </c:when>
             
             <!-- disabled due to http://jira.springframework.org/browse/ROO-909   dijit.form.MultiSelect    dojox.form.CheckedMultiSelect <c:otherwise> <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${field}_id', widgetType: 'dojox.form.CheckedMultiSelect', widgetAttrs : {multiple: true}})); </script> </c:otherwise> -->
@@ -260,6 +263,13 @@
           <field:reference field="${label}" id="${id}" path="${path}" required="${required}" />
         </c:otherwise>
       </c:choose>
+      
+      <script type="text/javascript">
+      	new dijit.Tooltip({
+  			connectId: ["_${fn:escapeXml(id)}_id"],
+  			label: "${sec_field_validation}",
+		});
+      </script>
     </div>
     <br />
   </c:if>
diff --git a/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx b/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx
index c950714eb0a8826e60d0cd659e2b4ab0ab8fe337..aba57a8b00a422ad26d6a9e17eaa89e38fc2faf4 100644
--- a/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx
+++ b/src/main/webapp/WEB-INF/tags/form/fields/textarea.tagx
@@ -34,23 +34,32 @@
     
     <c:choose>
       <c:when test="${empty hintValue}">
-        <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="field_validation" htmlEscape="false" />
+        <spring:message argumentSeparator="," arguments="${label}, " code="field_simple_validation" var="sec_field_validation" htmlEscape="false" />
       </c:when>
       <c:otherwise>
-        <spring:message code="${hintValue}" var="field_validation" htmlEscape="false" />
+        <spring:message code="${hintValue}" var="sec_field_validation" htmlEscape="false" />
       </c:otherwise>
     </c:choose>
 
     <script type="text/javascript">dojo.require("dijit.form.SimpleTextarea");</script>
-    <div id="_${fn:escapeXml(id)}_id">
+    <div id="_${fn:escapeXml(id)}_id" onmouseover="dijit.Tooltip.defaultPosition=['after']" style="margin-right: 25%;">
       <label for="_${sec_field}_id">
         <c:out value="${fn:escapeXml(label)}" />
+        <c:if test="${required}">
+        *
+        </c:if>
         :
       </label>
       <form:textarea id="_${sec_field}_id" path="${sec_field}" disabled="${disabled}" />
       <br />
       <form:errors cssClass="errors" id="_${sec_field}_error_id" path="${sec_field}" />
-      <script type="text/javascript">Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.SimpleTextarea', widgetAttrs : {promptMessage: '${sec_field_validation}', disabled : ${disabled}}})); </script>
+      <script type="text/javascript">
+      	Spring.addDecoration(new Spring.ElementDecoration({elementId : '_${sec_field}_id', widgetType : 'dijit.form.SimpleTextarea', widgetAttrs : {disabled : ${disabled}}}));
+      	new dijit.Tooltip({
+    		connectId: ["_${fn:escapeXml(id)}_id"],
+    		label: "${sec_field_validation}",
+		});
+      </script>
     </div>
     <br />