Index: /trunk/expressoMail1_2/js/main.js
===================================================================
--- /trunk/expressoMail1_2/js/main.js	(revision 7738)
+++ /trunk/expressoMail1_2/js/main.js	(revision 7742)
@@ -783,6 +783,7 @@
 			if (data[0].msg_folder != current_folder) // Bad request
 				return false;
-				
-			totalFolderMsgs += data.new_msgs; 
+			/* 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;
 				
 			for (var i=0; i<data.length; i++){
@@ -791,5 +792,6 @@
 				{
 					selectedPagingMsgs[data[i].msg_number] = false;
-					totalFolderMsgs++;
+                    if(data.new_msgs != 0)
+					    totalFolderMsgs++;
 					updateSelectedMsgs(false,data[i].msg_number);
 					var new_msg = this.make_tr_message(data[i], current_folder, data.offsetToGMT);
@@ -1121,5 +1123,6 @@
 						 delete selectedPagingMsgs[data.msgs_number[i]]; 
 				}
-				 totalFolderMsgs = totalFolderMsgs - data.msgs_number.length; 
+                // removido decremento da variável pois estava decrementando em outros lugares
+				// totalFolderMsgs = totalFolderMsgs - data.msgs_number.length;
 		}
 		$.each(data.msgs_number, function(index, value){
@@ -1524,5 +1527,6 @@
 			draw_paging(n_total_msg);
 			Element('tot_m').innerHTML = n_total_msg;
-			totalFolderMsgs -= data.msgs_number.length;
+            // removido decremento da variável pois estava decrementando em outros lugares
+			//totalFolderMsgs -= data.msgs_number.length;
 		}
 		refresh();
@@ -1683,5 +1687,6 @@
         delete selectedPagingMsgs[value];
     });
-    totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length;
+    // removido decremento da variável pois estava decrementando em outros lugares
+    //totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length;
     selectAllFolderMsgs(false);
     updateSelectedMsgs();
@@ -4406,4 +4411,6 @@
 			if (get_current_folder() == mount_url_folder(["INBOX",special_folders["Trash"]]) || get_current_folder() == mount_url_folder([folder,special_folders["Trash"]])){
 				draw_paging(0);
+                totalFolderMsgs = 0;
+                updateSelectedMsgs();
 				remove_rows(document.getElementById("table_box"));				
 				Element('tot_m').innerHTML = 0;
Index: /trunk/expressoMail1_2/js/messages_controller.js
===================================================================
--- /trunk/expressoMail1_2/js/messages_controller.js	(revision 7662)
+++ /trunk/expressoMail1_2/js/messages_controller.js	(revision 7742)
@@ -228,5 +228,8 @@
             delete selectedPagingMsgs[value];
         });
-        totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length;
+//      Inserida verificação ao decrementar variável para que a mesma não seja decrementada mais de uma vez em outros lugares.
+        var isTrash = folder.split("/");
+        if(isTrash[isTrash.length - 1] == 'Trash' || !!!parseInt(preferences.save_deleted_msg))
+            totalFolderMsgs = totalFolderMsgs - msgs_number.split(",").length;
         selectAllFolderMsgs(false);
         updateSelectedMsgs();
Index: /trunk/expressoMail1_2/js/draw_api.js
===================================================================
--- /trunk/expressoMail1_2/js/draw_api.js	(revision 7737)
+++ /trunk/expressoMail1_2/js/draw_api.js	(revision 7742)
@@ -778,4 +778,10 @@
 		span_paging.align="right";
 		document.getElementById("div_menu_c3").appendChild(span_paging);
+
+        span_select_all_message = document.getElementById("span_paging");
+        if($('.select-all-messages').length == 0)
+            drawSelectMsgsTable();
+        else
+            $('.select-all-messages').show();
 	}
 	span_paging.style.width="100%";
@@ -1776,5 +1782,10 @@
 		document.getElementById("exmail_main_body").appendChild(ruler_element);
     }
-		drawSelectMsgsTable();
+
+    if($('.select-all-messages').length == 0)
+        drawSelectMsgsTable();
+    else
+        $('.select-all-messages').show();
+
 		updateSelectedMsgs();
         resizeWindow();
