Index: sandbox/2.5.1-expresso1/expressoMail1_2/js/main.js
===================================================================
--- sandbox/2.5.1-expresso1/expressoMail1_2/js/main.js	(revision 7786)
+++ sandbox/2.5.1-expresso1/expressoMail1_2/js/main.js	(revision 7885)
@@ -27,5 +27,5 @@
 var topContact = 0;
 
-//Os IE's < 9 não possuem suporte a trim() introduzida no JavaScript 1.8.1
+//Os IE's < 9 nÃ£o possuem suporte a trim() introduzida no JavaScript 1.8.1
 if(!String.prototype.trim){  
 	String.prototype.trim = function(){
@@ -181,5 +181,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);
@@ -240,8 +240,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();
 		//MAILARCHIVER-00
-		//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();
 		
@@ -250,5 +250,5 @@
 			loadApplet();
 		}
-		// Fim da inserção da applet
+		// Fim da inserÃ§Ã£o da applet
 		cExecute("$this.imap_functions.get_folders_list&onload=true", update_menu);	
 		
@@ -315,5 +315,5 @@
 	}
 
-	// Versão
+	// VersÃ£o
 	Element('divAppboxHeader').innerHTML = title_app;
 
@@ -344,9 +344,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();
 
@@ -366,5 +366,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>
  */
 
@@ -434,5 +434,5 @@
 }
 /*
-	funcão que remove todos os anexos...
+	funcÃ£o que remove todos os anexos...
 */
 function remove_all_attachments(folder,msg_num) {
@@ -560,9 +560,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'))){
@@ -599,5 +599,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";
@@ -666,5 +666,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?"), {
@@ -747,5 +747,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);
 
@@ -799,6 +799,6 @@
 			if (data[0] && data[0].msg_folder != current_folder) // Bad request
 				return false;
-			/* removido incremento da variável pois estava incrementando mais do que o necessário
-			* devido ao incremento realizado em seguida, quando novas são recebidas */
+			/* removido incremento da variÃ¡vel pois estava incrementando mais do que o necessÃ¡rio
+			* devido ao incremento realizado em seguida, quando novas sÃ£o recebidas */
 			//totalFolderMsgs += data.new_msgs;
 				
@@ -1010,5 +1010,5 @@
 
 	var msgs = $("#tbody_box tr");
-	//Se a classe abaixo (somente ela) não existir a barra de seleção azul deve voltar ao topo.
+	//Se a classe abaixo (somente ela) nÃ£o existir a barra de seleÃ§Ã£o azul deve voltar ao topo.
 	if(!msgs.hasClass("current_selected_shortcut_msg"))
 	{
@@ -1022,11 +1022,11 @@
 function delete_msgs(folder, msgs_number, border_ID, show_success_msg,archive, prev_message){	
             if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( msgs_number, folder ) ){
-			  alert( "Impossivel deletar mensagens que ainda estão sendo arquivadas." );
+			  alert( "Impossivel deletar mensagens que ainda estÃ£o sendo arquivadas." );
 			  return;
 			}
 				
  		        var userTrashFolder = ''; 
- 		       
- 		        if (arguments.length <= 6) show_success_msg = true; 
+
+ 		        if (arguments.length <= 6 && typeof(show_success_msg) == "undefined") show_success_msg = true; 
  		        if (folder == 'null') folder = current_folder; 
  		 
@@ -1080,5 +1080,5 @@
 		}
 
-		//Se pref. usar mensagens locais ativaada e não for operação de arquivamento exibe mensagem de remoção.
+		//Se pref. usar mensagens locais ativaada e nÃ£o for operaÃ§Ã£o de arquivamento exibe mensagem de remoÃ§Ã£o.
 		if(preferences.use_local_messages == 1){
 			if(!expresso_mail_archive.isArchiveOperation){
@@ -1143,5 +1143,5 @@
 						 delete selectedPagingMsgs[data.msgs_number[i]]; 
 				}
-                // removido decremento da variável pois estava decrementando em outros lugares
+                // removido decremento da variÃ¡vel pois estava decrementando em outros lugares
 				// totalFolderMsgs = totalFolderMsgs - data.msgs_number.length;
 		}
@@ -1164,4 +1164,5 @@
 		params_to_delete += "&search_box_type="+search_box_type;
 		params_to_delete += "&sort_box_reverse="+sort_box_reverse;
+
 		cExecute ("$this.imap_functions.delete_msgs", handler_delete_msgs, params_to_delete);
 	}
@@ -1181,5 +1182,5 @@
 	var id_border = currentTab.replace(/[a-zA-Z_]+/, "");
 
-	//Validação para não poder manipular mensagens locais na busca
+	//ValidaÃ§Ã£o para nÃ£o poder manipular mensagens locais na busca
 	if (currentTab.indexOf('search_local') != -1 || proxy_mensagens.is_local_folder(new_folder))
 	{
@@ -1196,5 +1197,5 @@
 	
 	if( preferences.use_local_messages == 1 && expresso_local_messages.isArchiving( selected_messages, folder ) ){
-	  alert( "Impossivel mover mensagens que ainda estão sendo arquivadas." );
+	  alert( "Impossivel mover mensagens que ainda estÃ£o sendo arquivadas." );
 	  return;
 	}
@@ -1345,5 +1346,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 ainda estão sendo arquivadas." );
+	    alert( "Impossivel mover mensagens que ainda estÃ£o sendo arquivadas." );
 	    return;
 	}
@@ -1365,5 +1366,5 @@
 			}else{
 				write_msg(get_lang('Error moving message.')+" "+get_lang('Permission denied to folder "%1".', new_folder_name));
-				/*Verifica se a pasta destino é a "Trash" e se a pasta origem e destino são do mesma estrutura compartilhada*/
+				/*Verifica se a pasta destino Ã© a "Trash" e se a pasta origem e destino sÃ£o do mesma estrutura compartilhada*/
 				if(new_folder_name == "Trash" && folder.split("/")[1] == new_folder.split("/")[1]){
 					alert(get_lang("You can not remove the message with the preference 'Send to Trash' enabled. There is no permission to move messages to the trash folder."));
@@ -1413,5 +1414,5 @@
 					}
 				}
-				//se houver pagina anterior a paginação deve ser refeita
+				//se houver pagina anterior a paginaÃ§Ã£o deve ser refeita
 				else 
 				{
@@ -1504,5 +1505,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()){
@@ -1525,5 +1526,5 @@
 		}
 
-		//Se pref. usar mensagens locais ativada e não for operação de arquivamento exibe mensagem de remoção.
+		//Se pref. usar mensagens locais ativada e nÃ£o for operaÃ§Ã£o de arquivamento exibe mensagem de remoÃ§Ã£o.
 		if(preferences.use_local_messages == 1){
 			if(!expresso_mail_archive.isArchiveOperation){
@@ -1555,5 +1556,5 @@
 			draw_paging(n_total_msg);
 			Element('tot_m').innerHTML = n_total_msg;
-            // removido decremento da variável pois estava decrementando em outros lugares
+            // removido decremento da variÃ¡vel pois estava decrementando em outros lugares
 			//totalFolderMsgs -= data.msgs_number.length;
 		}
@@ -1572,5 +1573,5 @@
 		}
 	} catch (e) {} 
-    //Validação para recuperar o id caso não seja aba de listagem
+    //ValidaÃ§Ã£o para recuperar o id caso nÃ£o seja aba de listagem
 	if (currentTab == 0 && msgs_number == "selected")
 		msgs_number = get_selected_messages();
@@ -1582,5 +1583,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 && currentTab == border_ID)
         {
@@ -1601,5 +1602,5 @@
         
 		expresso_mail_archive.update_counters = true;
-        //Folder de onde sai a mensagem é local (armazenamento local)
+        //Folder de onde sai a mensagem Ã© local (armazenamento local)
 
         if(msgs_number=='selected'){
@@ -1638,5 +1639,5 @@
 	else{
         if (proxy_mensagens.is_local_folder(new_folder)){
-            //esta tirando de um folder não local para um folder local (arquivamento)
+            //esta tirando de um folder nÃ£o local para um folder local (arquivamento)
             if(msgs_number=='selected'){
                 archive_msgs(folder, new_folder);
@@ -1647,5 +1648,5 @@
         }
         else{
-            //esta tirando de um folder não local para outro folder não local (move)
+            //esta tirando de um folder nÃ£o local para outro folder nÃ£o local (move)
             //move_msgs(folder, msgs_number, border_ID, new_folder, new_folder_name);
 			if (parseInt(msgs_number) > 0 || msgs_number.length > 0){
@@ -1714,9 +1715,9 @@
     }	
 
-    //Código adicionado para o correto funcionamento da seleção independente de paginação.
+    //CÃ³digo adicionado para o correto funcionamento da seleÃ§Ã£o independente de paginaÃ§Ã£o.
     $.each(msgs_number.split(","), function(index, value){
         delete selectedPagingMsgs[value];
     });
-    // removido decremento da variável pois estava decrementando em outros lugares
+    // removido decremento da variÃ¡vel pois estava decrementando em outros lugares
     //totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length;
     selectAllFolderMsgs(false);
@@ -1734,5 +1735,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)
       {
@@ -1770,5 +1771,5 @@
 
 	if( !id_msgs ){
-	    write_msg( "Todas as mensagens já foram arquivadas anteriormente." );
+	    write_msg( "Todas as mensagens jÃ¡ foram arquivadas anteriormente." );
 	    return;
 	}
@@ -1783,5 +1784,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();
 	    
@@ -1823,5 +1824,5 @@
 
     if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){  
-        alert("Impossével manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");
+        alert("ImpossÃ©vel manipular mensagens locais a partir de uma busca. Isso Ã© permitido apenas para mensagens nÃ£o locais.");
         return true;
     }
@@ -1876,5 +1877,5 @@
 
 	 if( !id_msgs ){
-	      write_msg( "Todas as mensagens já foram arquivadas anteriormente." );
+	      write_msg( "Todas as mensagens jÃ¡ foram arquivadas anteriormente." );
 	      return;
 	  }
@@ -1889,5 +1890,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();
 	    
@@ -2111,9 +2112,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("_"));
 	}
@@ -2647,5 +2648,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;
@@ -2736,5 +2737,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);
@@ -2782,5 +2783,5 @@
         var attachments = $("#attachments_" + old_id_border).find("a");	
 		if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){
-			alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos");
+			alert("NÃ£o Ã© possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos");
 			return false;
 		}
@@ -2987,5 +2988,5 @@
 
 	if(openTab.imapBox[new_border_ID].split("local").length > 1 && attachments.length > 0){
-		alert("Não é possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos");
+		alert("NÃ£o Ã© possivel utilizar os anexos das mensagens locais, favor desarquivar para ter acesso aos anexos");
 		return false;
 	}
@@ -3116,5 +3117,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';
 			}
@@ -3228,5 +3229,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){
 		
@@ -3264,10 +3265,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){
@@ -3300,8 +3301,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){
@@ -3315,8 +3316,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;
@@ -3334,6 +3335,6 @@
 
 /* 
- * Método que verifica se existe algum item de 'words' em 'body'.
- * Se houver, retorna a primeira ocorrência encontrada de words, caso contrário retorna false.
+ * MÃ©todo que verifica se existe algum item de 'words' em 'body'.
+ * Se houver, retorna a primeira ocorrÃªncia encontrada de words, caso contrÃ¡rio retorna false.
  */
 function verifyBodyWords(body, words)
@@ -3376,13 +3377,13 @@
 	var content_body  = RichTextEditor.getData('body_'+ID);     
 	/* 
-		Funcionalidade que verifica se o usuário escreveu a palavra anexo no corpo da mensagem e não anexou nenhum arquivo.
-		Esta funcionalidade é ativada nas preferências do módulo ExpressoMail.
+		Funcionalidade que verifica se o usuÃ¡rio escreveu a palavra anexo no corpo da mensagem e nÃ£o anexou nenhum arquivo.
+		Esta funcionalidade Ã© ativada nas preferÃªncias do mÃ³dulo ExpressoMail.
 	*/	
-	/* Lista de palavras que vão ser procuradas no corpo do email, referente às variantes da palavra anexo em português, inglês e espanhol. */
-	if(language == "pt-br") //Português brasileiro
+	/* Lista de palavras que vÃ£o ser procuradas no corpo do email, referente Ã s variantes da palavra anexo em portuguÃªs, inglÃªs e espanhol. */
+	if(language == "pt-br") //PortuguÃªs brasileiro
 		var words = ['anexo', 'anexos', 'anexada', 'anexado', 'anexei', 'anexando', 'anexaste', 'anexastes', 'anexamos', 'anexaram'];
 	else if(language == "es-es") //Espanhol
 		var words = ['anexo','adjunto', 'adjuntos', 'adjuntado','adjuntamos'];
-	else //Inglês ('en')
+	else //InglÃªs ('en')
 		var words = ['attach', 'attachment', 'attached', 'annex', 'appending'];
 
@@ -3413,5 +3414,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',
@@ -3523,4 +3524,61 @@
 
 
+    //volta aqui
+
+    if(typeof mailData.attachments == "object"){
+
+        if(mailData.attachments.archiver.length){
+
+            var archiver = new Array();
+            var msgsId = new Array();
+            $.each(mailData.attachments.archiver, function(i, each){
+              expresso_mail_archive.unarchieveToAttach(each.folder,"INBOX/Trash",each.uid); //folder, new_folder, msgs_number
+              
+            });
+             $.ajax({
+                    url: "controller.php?action=$this.imap_functions.get_last_msg_by_id",
+                    data:  archiver,
+                    type: 'POST',
+                    async: false,
+                    success: function(data){
+                        data = connector.unserialize(data);
+                        archiver.push(data);
+                    },
+              });
+
+            mailData.attachments = mailData.attachments.imap;
+
+//TypeError: archiver is null
+            archiver = $.parseJSON(archiver[0]);
+            if(archiver.length){
+                $.each(archiver, function(i, each){
+                    msgsId.push(archiver[i].uid);
+                    mailData.attachments.push(JSON.stringify(archiver[i]));
+                });
+            }
+
+            mailData.attachments = JSON.stringify(mailData.attachments);
+
+        } else {
+            mailData.attachments = JSON.stringify(mailData.attachments.imap);
+        }
+    } else {
+        mailData.attachments = [];
+    }
+
+    delete_msg_archive_by_flag = function(){
+        $.ajax({
+            url: "controller.php?action=$this.imap_functions.delete_msg_archive_by_flag",
+            data:  [],
+            type: 'POST',
+            async: false,
+            success: function(data){
+                data = connector.unserialize(data);
+                data = $.parseJSON(data).result;
+                write_msg(data);
+            },
+         });
+    }
+    
 	if(stringEmail != ""){
 		$.ajax({
@@ -3528,14 +3586,12 @@
             data:  mailData,
             type: 'POST',
-
+            async: false,
             beforeSend: function(jqXHR, settings){
-
                 write_msg( get_lang( 'Sending the message...' ) );
                 $(content).find('button.send').button('option', 'disabled', true);
-
-
             },
             success: function(data){
                 send_message_return(connector.unserialize(data),ID);
+                delete_msgs("INBOX/Trash",msgsId, false, false);
 			},
 			error: function(){
@@ -3563,9 +3619,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írgula: ";
+					var stringError = "Erro de SMTP: Os endereÃ§os devem ser separados apenas por vÃ­rgula: ";
 					for(var i= 0; i < semicolon.length; i++){
 						stringError = stringError + semicolon[i];
@@ -4048,5 +4104,5 @@
 
 
-/*PERMITE A IMPRESSÃO DE UMA LISTA DE MENSAGENS E SEU CONTEÚDO*/
+/*PERMITE A IMPRESSÃO DE UMA LISTA DE MENSAGENS E SEU CONTEÃDO*/
 function print_messages_bodies(){
 	var messages = {};
@@ -4070,5 +4126,5 @@
 			return "<tr><td width=7%><font size='2'><b>"+label+" </b></font></td><td><font size='2'>"+data+"</font></td></tr>";
 		}
-		/*INSERE AS MENSAGENS NO DOCUMENTO DE IMPRESSÃO*/
+		/*INSERE AS MENSAGENS NO DOCUMENTO DE IMPRESSÃO*/
 		$.each(data,function(index,message){
 			var html = "<table><tbody>";
@@ -4275,5 +4331,5 @@
 function print_all(){
     if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){  
-        alert("Impossével manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");
+        alert("ImpossÃ©vel manipular mensagens locais a partir de uma busca. Isso Ã© permitido apenas para mensagens nÃ£o locais.");
         return true;
     }
@@ -4288,8 +4344,8 @@
 		return print_messages_list();
 	}
-    var msg = 'Algumas mensagens foram selecionadas para impressão. Deseja imprimir o conteúdo de cada uma delas? Caso contrário, apenas uma lista das mensagens selecionadas será impressa.';
+    var msg = 'Algumas mensagens foram selecionadas para impressÃ£o. Deseja imprimir o conteÃºdo de cada uma delas? Caso contrÃ¡rio, apenas uma lista das mensagens selecionadas serÃ¡ impressa.';
     $.Zebra_Dialog(msg, {
 	    'type':     'question',
-	    'buttons': ['Sim','Não'],
+	    'buttons': ['Sim','NÃ£o'],
 	    'overlay_opacity': '0.5',
 		'custom_class': 'custom-zebra-filter',
@@ -4381,15 +4437,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>";
 			}
@@ -4725,5 +4781,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();
@@ -4779,5 +4835,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();
@@ -4792,5 +4848,5 @@
 {
     if(typeof (currentTab) == "string" && currentTab.indexOf("local") != -1){  
-        alert("Impossível manipular mensagens locais a partir de uma busca. Isso é permitido apenas para mensagens não locais.");
+        alert("ImpossÃ­vel manipular mensagens locais a partir de uma busca. Isso Ã© permitido apenas para mensagens nÃ£o locais.");
         return true;
     }
@@ -4973,5 +5029,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');
@@ -4992,5 +5048,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();  
@@ -5108,5 +5164,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.
 		*/
@@ -5161,5 +5217,5 @@
 		wfolders.makeWindow('null','import');
 }
-    //Verifica o contexto de importação
+    //Verifica o contexto de importaÃ§Ã£o
     function decodeOwner(){
 	owner = User.me.id;
@@ -5283,5 +5339,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(),
@@ -5295,9 +5351,9 @@
 					case 4:
 					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;
@@ -5384,5 +5440,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;
@@ -5512,5 +5568,5 @@
 }
 
-		/* Funçãoo que chama a tela para o usuário reportar um erro no email. */
+		/* FunÃ§Ã£oo que chama a tela para o usuÃ¡rio reportar um erro no email. */
  		function reports_window(currentTab){ 
  		        ID_msg = currentTab.substr(0,currentTab.indexOf("_")); 
