Index: branches/2.4/expressoMail1_2/js/main.js
===================================================================
--- branches/2.4/expressoMail1_2/js/main.js	(revision 7281)
+++ branches/2.4/expressoMail1_2/js/main.js	(revision 7288)
@@ -20,5 +20,5 @@
 DataLayer.get("folder", true);
 
-//Os IE's < 9 não possui suporte a trim() introduzida no JavaScript 1.8.1
+//Os IE's < 9 nÃ£o possui suporte a trim() introduzida no JavaScript 1.8.1
 if(!String.prototype.trim){  
 	String.prototype.trim = function(){
@@ -33,17 +33,21 @@
 function updateDynamicContact(){
 	dynamicContacts = new Array();
-	var dynamicData = REST.get("/dynamiccontacts").collection.itens;
-	if(dynamicData){
-		$.each(dynamicData, function(index, value){
+	
+	var dynamicUsers = REST.get("/dynamiccontacts"); 
+ 		 
+    if(dynamicUsers.collection && !dynamicUsers.collection.error){ 
+        var dynamicData = normalizeContacts(dynamicUsers.collection.itens) 
+ 
+        $.each(dynamicData, function(index, value){
 			if(index ==0){
-				topContact = parseInt(value.data[2].value);
+				topContact = parseInt(value['number_of_messages']);
 			}
 			var dynamic = {
-				name : value.data[0].value,
-				mail : value.data[1].value,
-				value: value.data[0].value + " - " + value.data[1].value,
+				name : value.name, 
+                mail : value.mail, 
+                value: value.name + " - " + value.mail,
 				type: "",
-				id: parseInt(value.data[3].value),
-				qtd : parseInt(value.data[2].value)
+				id: value.id, 
+ 	            qtd : value['number_of_messages']
 			};
 			dynamicContacts.push(dynamic);
@@ -55,17 +59,22 @@
 function updateDynamicPersonalContacts(){
 	dynamicPersonalContacts = new Array();
-	var contactsData = normalizeContacts(REST.get("/personalContact").collection.itens);
-	if(contactsData){
-		$.each(contactsData, function(index, value){
-			var contact = {
-                id : parseInt(value.id),
-                name : value.name,
-                email: value.email,
-				value: value.name+ " - " + value.email,
-				type: "P"
-			};
-			dynamicPersonalContacts.push(contact);
-		});
-	}
+	
+	var personalContacts = REST.get("/personalContact"); 
+ 		 
+    if(personalContacts.collection && !personalContacts.collection.error){ 
+        var contactsData = normalizeContacts(personalContacts.collection.itens); 
+        if(contactsData){ 
+            $.each(contactsData, function(index, value){ 
+                var contact = { 
+                    id : parseInt(value.id), 
+                    name : value.name, 
+                    email: value.email, 
+                    value: value.name+ " - " + value.email, 
+                    type: "P" 
+                }; 
+                dynamicPersonalContacts.push(contact); 
+            }); 
+        } 
+    }
 }
 
@@ -73,17 +82,22 @@
 function updateDynamicPersonalGroups(){
 	dynamicPersonalGroups = new Array();
-	var contactsData = normalizeContacts(REST.get("/groups").collection.itens);
-	if(contactsData){
-		$.each(contactsData, function(index, value){
-			var contact = {
-				id : parseInt(value.id),
-				owner : value.owner,
-				name : value.name,
-				email: value.email,
-				type: "G"
-			};
-			dynamicPersonalGroups.push(contact);
-		});
-	}
+	
+	var groups = REST.get("/groups"); 
+ 
+    if(groups.collection && !groups.collection.error){ 
+        var contactsData = normalizeContacts(groups.collection.itens); 
+        if(contactsData.collecion && !contactsData.collecion.error){ 
+            $.each(contactsData, function(index, value){ 
+                var contact = { 
+                    id : parseInt(value.id), 
+                    owner : value.owner, 
+                    name : value.name, 
+                    email: value.email, 
+                    type: "G" 
+                }; 
+                dynamicPersonalGroups.push(contact); 
+            }); 
+        }
+    }
 }
 
@@ -123,5 +137,5 @@
 		    }
 		}
-		if (preferences.use_local_messages==1) { //O I.E 7 estava se atrapalhando caso esses loads fossem feitos após as chamadas ajax. Antes não apresentou problemas...
+		if (preferences.use_local_messages==1) { //O I.E 7 estava se atrapalhando caso esses loads fossem feitos apÃ³s as chamadas ajax. Antes nÃ£o apresentou problemas...
 			connector.loadScript('mail_sync');
 			setTimeout('auto_archiving()', 30000);
@@ -154,5 +168,5 @@
 			}
 		});
-		//Substituido por padrão Jquery
+		//Substituido por padrÃ£o Jquery
 		cExecute ("$this.imap_functions.get_range_msgs2&folder=INBOX&msg_range_begin=1&msg_range_end="+preferences.max_email_per_page+"&sort_box_type=SORTARRIVAL&search_box_type=ALL&sort_box_reverse=1", handler_draw_box);
 		//cExecute ("$this.db_functions.get_dropdown_contacts", save_contacts); //Save contacts needs preferences.
@@ -166,8 +180,8 @@
 		//	
 
-		//Troca da forma de construção de menu para o plugin jquery.contextMenu
+		//Troca da forma de construÃ§Ã£o de menu para o plugin jquery.contextMenu
 		//ConstructMenuTools();
 		
-		if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito após a renderização da caixa de emails
+		if ( (preferences.use_local_messages==1) && (expresso_local_messages.is_offline_installed()) )  //Precisa ser feito apÃ³s a renderizaÃ§Ã£o da caixa de emails
 			check_mail_in_queue();
 		
@@ -176,5 +190,5 @@
 			loadApplet();
 		}
-		// Fim da inserção da applet	
+		// Fim da inserÃ§Ã£o da applet	
 		DataLayer.get("folder", true);
 		cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);	
@@ -246,5 +260,5 @@
 	}
 
-	// Versão
+	// VersÃ£o
 	Element('divAppboxHeader').innerHTML = title_app;
 
@@ -276,9 +290,9 @@
 		'<td style="padding-left:17px" width=33% id="content_quota" align=left></td>' +
 		'<td width=33% height=16px align=center nowrap><font face=Verdana, Arial, Helvetica, sans-serif color=#000066 size=2>' +
-		'<b>ExpressoMail Offline</b><font size=1><b> - Versão 1.0</b></font></td>' +
+		'<b>ExpressoMail Offline</b><font size=1><b> - VersÃ£o 1.0</b></font></td>' +
 		'<td width=33% id="div_menu_c3" align=right></td>' +
 		'</tr></table>';
 
-		//Troca da forma de construção de menu para o plugin jquery.contextMenu
+		//Troca da forma de construÃ§Ã£o de menu para o plugin jquery.contextMenu
 		//ConstructMenuTools();
 
@@ -298,5 +312,5 @@
 /**
  * Carrega a applet java no objeto search_div
- * @author Mário César Kolling <mario.kolling@serpro.gov.br>
+ * @author MÃ¡rio CÃ©sar Kolling <mario.kolling@serpro.gov.br>
  */
 
@@ -366,5 +380,5 @@
 }
 /*
-	função que remove todos os anexos...
+	funÃ§Ã£o que remove todos os anexos...
 */
 function remove_all_attachments(folder,msg_num) {
@@ -481,9 +495,9 @@
 		// Verifica se existe o objeto applet
 		if (!Element('cert_applet')){
-			// se não existir, mostra mensagem de erro.
+			// se nÃ£o existir, mostra mensagem de erro.
 			write_msg(get_lang('The preference "%1" isn\'t enabled.', get_lang('Enable digitally sign/cipher the message?')));
 		} else {
 			// se existir prepara os dados para serem enviados e chama a
-			// operação na applet
+			// operaÃ§Ã£o na applet
 
 		   // if ((msg_info.DispositionNotificationTo) && ((msg_info.Unseen == 'U') || (msg_info.Recent == 'N'))){
@@ -520,5 +534,5 @@
 		var id_msg_read = ID+"_r_"+folderName;
         
-        //Evita a tentativa de criação de uma aba cujo ID já existe
+        //Evita a tentativa de criaÃ§Ã£o de uma aba cujo ID jÃ¡ existe
         if (Element("border_id_"+id_msg_read) && currentTab > 0) 
 		    id_msg_read += "n";
@@ -585,5 +599,5 @@
 
 			if (confNotification) {
-			/* Adequação a nova funcionalidade. Agora, a confirmação de leitura é uma preferência do usuário. */
+			/* AdequaÃ§Ã£o a nova funcionalidade. Agora, a confirmaÃ§Ã£o de leitura Ã© uma preferÃªncia do usuÃ¡rio. */
 				if(preferences.confirm_read_message) {
 					$.Zebra_Dialog(get_lang("Would you like to send the read receipt?"), {
@@ -657,5 +671,5 @@
 			
 		}
-		/* Busca  nas pastas indexadas para ver se há novas mensagens com a flag $FilteredMessage */
+		/* Busca  nas pastas indexadas para ver se hÃ¡ novas mensagens com a flag $FilteredMessage */
 		cExecute ("$this.imap_functions.getFlaggedAlertMessages&folders="+fromRules, handlerMessageFilter);
 
@@ -901,5 +915,5 @@
 function delete_msgs(folder, msgs_number, border_ID, show_success_msg,archive){	
 			if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){
-			  alert( "Impossivel deletar mensagens que estão ainda estão sendo arquivadas." );
+			  alert( "Impossivel deletar mensagens que estÃ£o ainda estÃ£o sendo arquivadas." );
 			  return;
 			}
@@ -914,5 +928,5 @@
 					var arrayFolder = folder.split(cyrus_delimiter); 
 					userTrashFolder = 'user'+cyrus_delimiter+arrayFolder[1]+cyrus_delimiter+special_folders['Trash'];  
-					/** TODO Mudar quando melhorias forem implementadas na API de atualização do cache */
+					/** TODO Mudar quando melhorias forem implementadas na API de atualizaÃ§Ã£o do cache */
 					DataLayer.remove('folder', false);
 					DataLayer.get('folder');
@@ -1041,5 +1055,5 @@
 	
 	if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( selected_messages, folder ) ){
-	  alert( "Impossivel mover mensagens que estão ainda estão sendo arquivadas." );
+	  alert( "Impossivel mover mensagens que estÃ£o ainda estÃ£o sendo arquivadas." );
 	  return;
 	}
@@ -1190,5 +1204,5 @@
 	var folder_error = new_folder_name;
         if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){
-	    alert( "Impossivel mover mensagens que estão ainda estão sendo arquivadas." );
+	    alert( "Impossivel mover mensagens que estÃ£o ainda estÃ£o sendo arquivadas." );
 	    return;
 	}
@@ -1254,5 +1268,5 @@
 					}
 				}
-				//se houver pagina anterior a paginação deve ser refeita
+				//se houver pagina anterior a paginaÃ§Ã£o deve ser refeita
 				else if (current_page > 1){
 					$('#msg_opt_previous_'+msg_to_delete.getAttribute('id') + '_r').trigger('click');
@@ -1298,5 +1312,5 @@
 		if ( preferences.use_shortcuts == '1') {
 			var all_messages = Element('tbody_box').childNodes;
-			// verificar se a msg selecionada com o checkbox é a mesma selecionada com o shortcut
+			// verificar se a msg selecionada com o checkbox Ã© a mesma selecionada com o shortcut
 			var msg_list_shortcut = get_selected_messages_shortcut().split(',');
 			if(data.msgs_number.length > 0 && msg_list_shortcut.length > 0 && data.msgs_number.toString() == msg_list_shortcut.toString()){
@@ -1359,5 +1373,5 @@
 		}
 
-	// se a aba estiver aberta e selecionada, apenas a msg da aba é movida
+	// se a aba estiver aberta e selecionada, apenas a msg da aba Ã© movida
 	if(currentTab.toString().indexOf("_r") != -1)
         {
@@ -1435,5 +1449,5 @@
 
 
-      // se a aba estiver aberta e selecionada, apenas a msg da aba é movida
+      // se a aba estiver aberta e selecionada, apenas a msg da aba Ã© movida
       if(currentTab.toString().indexOf("_r") != -1)
       {
@@ -1471,5 +1485,5 @@
 
 	if( !id_msgs ){
-	    write_msg( "Todas as mensagens já foram arquivadas anteriormente." );
+	    write_msg( "Todas as mensagens jÃ¡ foram arquivadas anteriormente." );
 	    return;
 	}
@@ -1484,5 +1498,5 @@
 		msgs_info[i] = connector.unserialize( data[i] );
 
-	    //vejo se já tinha mensagens locais
+	    //vejo se jÃ¡ tinha mensagens locais
 	    var h = expresso_local_messages.has_local_mails();
 	    
@@ -1550,5 +1564,5 @@
 
 	 if( !id_msgs ){
-	      write_msg( "Todas as mensagens já foram arquivadas anteriormente." );
+	      write_msg( "Todas as mensagens jÃ¡ foram arquivadas anteriormente." );
 	      return;
 	  }
@@ -1563,5 +1577,5 @@
 		msgs_info[i] = connector.unserialize( data[i] );
 
-	    //vejo se já tinha mensagens locais
+	    //vejo se jÃ¡ tinha mensagens locais
 	    var h = expresso_local_messages.has_local_mails();
 	    
@@ -1782,9 +1796,9 @@
 
  		         
- 		        /* Verifica se está na tela de pesquisa. */ /*
+ 		        /* Verifica se estÃ¡ na tela de pesquisa. */ /*
  		        if(selected_messages.indexOf("_") != -1) 
  		        { 
  		                results_search_messages = selected_messages; 
- 		                /* Retira a informação da aba */ /*
+ 		                /* Retira a informaÃ§Ã£o da aba */ /*
  		                selected_messages = selected_messages.substring(0,selected_messages.indexOf("_"));
 	}
@@ -2164,5 +2178,5 @@
 			openTab.imapBox[new_border_ID] = folder_message.value;
 			document.getElementById('font_border_id_'+new_border_ID).innerHTML = data.subject;
-			title = "Edição: "+ html_entities(data.subject);
+			title = "EdiÃ§Ã£o: "+ html_entities(data.subject);
 			
 			data.to = Element("to_values_" + border_ID).value;
@@ -2236,5 +2250,5 @@
 }
 
-//DESENHA OS RETANGULOS PARA OS E-MAIL NA OPÇÃO REPLY
+//DESENHA OS RETANGULOS PARA OS E-MAIL NA OPÃÃO REPLY
 function draw_reply_boxes_by_field(field, value, context){
 	array = break_comma(value);
@@ -2599,5 +2613,5 @@
 			}
 			else { // crypt
-				//TODO: Colocar mensagem de erro, e finalizar o método.
+				//TODO: Colocar mensagem de erro, e finalizar o mÃ©todo.
 				operation = 'nop';
 			}
@@ -2705,5 +2719,5 @@
 }
 
-/*Função que grava o destinatário nos contatos dinâmicos*/
+/*FunÃ§Ã£o que grava o destinatÃ¡rio nos contatos dinÃ¢micos*/
 function save_dynamic_contacts(array){
 	if(parseInt(preferences.use_dynamic_contacts)){
@@ -2743,10 +2757,10 @@
 
 /**
- * Método chamado pela applet para retornar o resultado da assinatura/decifragem do e-mail.
+ * MÃ©todo chamado pela applet para retornar o resultado da assinatura/decifragem do e-mail.
  * para posterior envio ao servidor.
- * @author Mário César Kolling <mario.kolling@serpro.gov.br>, Bruno Vieira da Costa <bruno.vieira-costa@serpro.gov.br>
+ * @author MÃ¡rio CÃ©sar Kolling <mario.kolling@serpro.gov.br>, Bruno Vieira da Costa <bruno.vieira-costa@serpro.gov.br>
  * @param smime O e-mail decifrado/assinado
- * @param ID O ID do e-mail, para saber em que aba esse e-mail será mostrado.
- * @param operation A operação que foi realizada pela applet (assinatura ou decifragem)
+ * @param ID O ID do e-mail, para saber em que aba esse e-mail serÃ¡ mostrado.
+ * @param operation A operaÃ§Ã£o que foi realizada pela applet (assinatura ou decifragem)
  */
 function appletReturn(smime, ID, operation, folder){
@@ -2779,8 +2793,8 @@
 	{
 		ID_tmp = ID;
-		// Lê a variável e chama a nova função cExecuteForm
+		// LÃª a variÃ¡vel e chama a nova funÃ§Ã£o cExecuteForm
 		// Processa e envia para o servidor web
 		// Faz o request do connector novamente. Talvez implementar no connector
-		// para manter coerência.
+		// para manter coerÃªncia.
 
 		var handler_send_smime = function(data){
@@ -2794,8 +2808,8 @@
 		textArea.value += smime;
 
-		// Lê a variável e chama a nova função cExecuteForm
+		// LÃª a variÃ¡vel e chama a nova funÃ§Ã£o cExecuteForm
 		// Processa e envia para o servidor web
 		// Faz o request do connector novamente. Talvez implementar no connector
-		// para manter coerência.
+		// para manter coerÃªncia.
 		if (is_ie){
 			var i = 0;
@@ -2817,5 +2831,5 @@
         zebraDiscardEventDialog = true;
         window.setTimeout(function() {
-            $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serão perdidos.', {
+            $.Zebra_Dialog('Existem anexos sendo enviados para o servidor. Caso envie sua mensagem agora estes arquivos serÃ£o perdidos.', {
                 'type':     'question',
                 'overlay_opacity': '0.5',
@@ -2898,7 +2912,7 @@
 		form = document.forms["form_message_"+ID];
 
-		// Evita que e-mails assinados sejam enviados quando o usuário tenta enviar um e-mail
-		// não assinado (desmarcou a opção) após tentar enviar um e-mail assinado que não passou
-		// no teste de validação.
+		// Evita que e-mails assinados sejam enviados quando o usuÃ¡rio tenta enviar um e-mail
+		// nÃ£o assinado (desmarcou a opÃ§Ã£o) apÃ³s tentar enviar um e-mail assinado que nÃ£o passou
+		// no teste de validaÃ§Ã£o.
 		var checkSign = document.getElementById('return_digital_'+ID);
 		if (checkSign && !checkSign.checked){
@@ -2914,5 +2928,5 @@
 	form.appendChild(input_folder);
     form.appendChild(input_type);
-	// Implementação do In_Reply_To e References
+	// ImplementaÃ§Ã£o do In_Reply_To e References
 	var msgId = document.createElement("INPUT");
 	msgId.style.display = 'none';
@@ -2996,5 +3010,5 @@
 			return;
 		}else if(invalidEmail[0] == true){
-			write_msg("Os endereços de destinatário a seguir estão incorretos: "+invalidEmail[1]);
+			write_msg("Os endereÃ§os de destinatÃ¡rio a seguir estÃ£o incorretos: "+invalidEmail[1]);
 			return;
 		}
@@ -3036,9 +3050,9 @@
 	if((campo.replace(/^\s+|\s+$/g,"")) != ""){
 			if(invalidEmail[0] == true){
-				write_msg("Erro de SMTP: Os endereços de destinatário a seguir falharam: "+ invalidEmail[1]);
+				write_msg("Erro de SMTP: Os endereÃ§os de destinatÃ¡rio a seguir falharam: "+ invalidEmail[1]);
 				return false;
 			}else{
 				if(semicolon.length > 1){
-					var stringError = "Erro de SMTP: Os endereços devem ser separados apenas por vígula: ";
+					var stringError = "Erro de SMTP: Os endereÃ§os devem ser separados apenas por vÃ­gula: ";
 					for(var i= 0; i < semicolon.length; i++){
 						stringError = stringError + semicolon[i];
@@ -3652,15 +3666,15 @@
 			if(to) {
 				if(!printListTO)
-					to = 'Os destinatários não estão sendo exibidos para esta impressão';
+					to = 'Os destinatÃ¡rios nÃ£o estÃ£o sendo exibidos para esta impressÃ£o';
 				html += "<tr><td width=7%><font size='2'>" + get_lang('To') + ": </font></td><td><font size='2'>"+to+"</font></td></tr>";
 			}
 			if (cc) {
 				if(!printListCC)
-					cc = 'Os destinatários não estão sendo exibidos para esta impressão';
+					cc = 'Os destinatÃ¡rios nÃ£o estÃ£o sendo exibidos para esta impressÃ£o';
 				html += "<tr><td width=7%><font size='2'>" + get_lang('Cc') + ": </font></td><td><font size='2'>"+cc+"</font></td></tr>";
 			}
 			if (cco) {
 				if(!printListCCO)
-					cco = 'Os destinatários não estão sendo exibidos para esta impressão';
+					cco = 'Os destinatÃ¡rios nÃ£o estÃ£o sendo exibidos para esta impressÃ£o';
 				html += "<tr><td width=7%><font size='2'>" + get_lang('Cco') + ": </font></td><td><font size='2'>"+cco+"</font></td></tr>";
 			}
@@ -3920,5 +3934,5 @@
 		msgs_number = get_selected_messages();
 
-	//TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação
+	//TODO: REFATORAR O CÃDIGO PARA EVITAR recodificaÃ§Ã£o
 	if(currentTab == 0)
 		msgs_number = get_selected_messages();
@@ -3963,5 +3977,5 @@
 		msgs_number = get_selected_messages();
 
-	//TODO: REFATORAR O CÓDIGO PARA EVITAR recodificação
+	//TODO: REFATORAR O CÃDIGO PARA EVITAR recodificaÃ§Ã£o
 	if(currentTab == 0)
 		msgs_number = get_selected_messages();
@@ -4143,5 +4157,5 @@
 			if ( er.test(folder.id) )
 			{
-				alert( "Mensagens não podem ser importadas em pastas locais" );
+				alert( "Mensagens nÃ£o podem ser importadas em pastas locais" );
 				//archive_msgs('INBOX/Lixeira/tmpMoveToLocal',wfolders_tree._selected.id,data);
 				//cExecute('$this.imap_functions.delete_mailbox',function(){},'del_past=INBOX/Lixeira/tmpMoveToLocal');
@@ -4162,5 +4176,5 @@
 }
 
-//Normalização dos dados evita ter que reemplementar toda as funcionalidades do calendar
+//NormalizaÃ§Ã£o dos dados evita ter que reemplementar toda as funcionalidades do calendar
 function decodeCreateSchedulable(type, ID){
 	var startEvent = new Date();  
@@ -4278,5 +4292,5 @@
 	if(typeof(Encoder) == "undefined"){
 		/*
-		* Deve-se centralizar as informações do usuário logado afim de não incluir
+		* Deve-se centralizar as informaÃ§Ãµes do usuÃ¡rio logado afim de nÃ£o incluir
 		* arquivos de modulos distintos para este fim.
 		*/
@@ -4331,5 +4345,5 @@
 		wfolders.makeWindow('null','import');
 }
-    //Verifica o contexto de importação
+    //Verifica o contexto de importaÃ§Ã£o
     function decodeOwner(){
 	owner = User.me.id;
@@ -4453,5 +4467,5 @@
 				    break; 
 				case 6:
-					var acceptedSuggestion = confirm("Deseja atualizar o evento/tarefa de acordo com a sugestão ?");
+					var acceptedSuggestion = confirm("Deseja atualizar o evento/tarefa de acordo com a sugestÃ£o ?");
 					$.ajax({
 					    url: "controller.php?action="+import_url+'&from_ajax=true&id_user='+User.me.id+'&selected=true&cirus_delimiter='+cyrus_delimiter+'&acceptedSuggestion='+acceptedSuggestion+"&from="+document.getElementById('from_values_'+currentTab).value+'&uidAccount='+decodeOwner(),
@@ -4464,9 +4478,9 @@
 					break;
 					case 9:
-					    alert('Seu evento/tarefa não possui alterações!');
+					    alert('Seu evento/tarefa nÃ£o possui alteraÃ§Ãµes!');
 					    return;
 					    break;
 					case 11:
-					    alert('Este evento/tarefa já fora importando por algum dos particpantes e já se encontra disponível em sua agenda compartilhada!');
+					    alert('Este evento/tarefa jÃ¡ fora importando por algum dos particpantes e jÃ¡ se encontra disponÃ­vel em sua agenda compartilhada!');
 					    return;
 					    break;
@@ -4546,5 +4560,5 @@
 	else {
 		expresso_local_messages.set_as_sent(rowid_message);
-		if(document.getElementById('_action')) { //Não posso manter esse elemento, pois o connector irá criar outro com o mesmo id para a próxima mensagem.
+		if(document.getElementById('_action')) { //NÃ£o posso manter esse elemento, pois o connector irÃ¡ criar outro com o mesmo id para a prÃ³xima mensagem.
 			el =document.getElementById('_action');
 			father = el.parentNode;
@@ -4665,5 +4679,5 @@
 }
 
-		/* Função que chama a tela para o usuário reportar um erro no email. */ 
+		/* FunÃ§Ã£o que chama a tela para o usuÃ¡rio reportar um erro no email. */ 
  		function reports_window(currentTab){ 
  		        ID_msg = currentTab.substr(0,currentTab.indexOf("_")); 
@@ -4692,5 +4706,5 @@
 				var prefix = 'user' + cyrus_delimiter+user_selected_name;
 				
-				/** TODO Mudar quando melhorias forem implementadas na API de atualização do cache */
+				/** TODO Mudar quando melhorias forem implementadas na API de atualizaÃ§Ã£o do cache */
 				DataLayer.remove('folder', false);
 				DataLayer.get('folder');
