Index: /trunk/expressoMail1_2/js/common_functions.js
===================================================================
--- /trunk/expressoMail1_2/js/common_functions.js	(revision 6689)
+++ /trunk/expressoMail1_2/js/common_functions.js	(revision 6707)
@@ -1127,5 +1127,12 @@
 			Element("check_box_message_"+main_list[i].id).checked = true;
 			remove_className(Element(main_list[i].id), 'selected_msg');
-			add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg');
+			if(!$("#"+main_list[i].id).hasClass("selected_shortcut_msg")){
+				//add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg current_selected');
+				add_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg');
+			} else {
+				$("#"+main_list[i].id).addClass("selected_msg");
+				$("#"+main_list[i].id).addClass("selected_shortcut_msg");
+				$("#"+main_list[i].id).addClass("current_selected");		
+			}
 		}
 	}
@@ -1137,6 +1144,8 @@
 			remove_className(Element(main_list[i].id), 'selected_msg selected_shortcut_msg');
 			$("#"+main_list[i].id).removeClass("selected_msg");
-		}
-	}
+			$("#"+main_list[i].id).removeClass("current_selected");
+		}
+	}
+	
 }
 
Index: /trunk/expressoMail1_2/js/shortcut.js
===================================================================
--- /trunk/expressoMail1_2/js/shortcut.js	(revision 6197)
+++ /trunk/expressoMail1_2/js/shortcut.js	(revision 6707)
@@ -327,4 +327,5 @@
 shortcut.add('up', function(e)
         {
+		
                 var search_in_focus = false;
                 var search_win = document.getElementById( 'window_QuickCatalogSearch' );
@@ -334,6 +335,7 @@
                 if ( !search_in_focus && currentTab == 0 )
                     select_msg('null', 'up');
-                else
-                    shortcut.remove('up');
+                // Ao usuario pressionar o 'up' em uma outra aba, nÃ£o pode ser removido o 'up'.
+				else{}
+                   // shortcut.remove('up');
 				e.stopPropagation();
 				e.preventDefault();
@@ -350,6 +352,7 @@
                 if ( !search_in_focus && currentTab == 0 )
                     select_msg('null', 'down');
-                else
-                    shortcut.remove('down');
+				// Ao usuario pressionar o 'down' em uma outra aba, nÃ£o pode ser removido o 'down'. 
+                else{}
+                   // shortcut.remove('down');
 				e.stopPropagation();
 				e.preventDefault();
@@ -386,4 +389,5 @@
 	
 	shortcut.add("Down",function(){
+
 		if (currentTab == 0)
 		  select_msg('null', 'down');
@@ -515,60 +519,83 @@
 	shift_down_count = 0;
 
-	if (msg_number != 'null')
-	{
+	if (msg_number != 'null') {
+	
 		if(Element(msg_number)){
 			unselect_all_msgs();
 			add_className(Element(msg_number), 'selected_shortcut_msg');
 		}
-	}
-	else
-	{
+		
+	} else {
 		var scrollMain = Element('divScrollMain_0');
 		var selection_size = parseInt(preferences.line_height) + 10; 
-
-		if( keyboard_action == 'down')
-		{
-			for (var i=all_messages.length-1; i >=0; i--)
-			{
-				if ( exist_className(all_messages[i], 'selected_shortcut_msg') )
-				{
-					add_className(all_messages[i+1], 'selected_shortcut_msg')
-					var mailPos = i;
-					break;
+		
+			if( keyboard_action == 'down') {
+			
+				if(!Element("chk_box_select_all_messages").checked){
+					
+					$("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
+					
+						if($(this).hasClass("selected_shortcut_msg") && $(this).next().length){
+							$(this).next().addClass("selected_shortcut_msg");
+							$(this).removeClass("selected_shortcut_msg");
+							return false;
+						}
+						
+					});
+					
+				} else {
+				
+					$("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
+						
+						if($(this).hasClass("current_selected") && $(this).next().length){
+							$(this).removeClass("current_selected");
+							$(this).removeClass("selected_shortcut_msg");
+							$(this).next().addClass("current_selected");
+							$(this).next().addClass("selected_shortcut_msg");
+							return false;
+						}
+					
+					});
+					$("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
+								if(!$(this).hasClass("current_selected"))
+									$(this).removeClass("selected_shortcut_msg");
+					});
 				}
-			}
 			
-			for (; i>=0; i--)
-			{
-				if( all_messages[i].nextSibling )
-					remove_className(all_messages[i], 'selected_shortcut_msg');
-			}
-			if ((mailPos) && (parseInt(scrollMain.style.height.substr(0,scrollMain.style.height.length-2)) + scrollMain.scrollTop) < (all_messages[mailPos].offsetTop + selection_size))
-				scrollMain.scrollTop += selection_size;
-
-		}
-		else if( keyboard_action == 'up')
-		{
-			for (var i=0; i < all_messages.length; i++)
-			{
-				if ( exist_className(all_messages[i], 'selected_shortcut_msg') )
-				{
-					if( all_messages[i].previousSibling )
-					{
-						add_className(all_messages[i-1], 'selected_shortcut_msg')
-						var mailPos = i;
-						break;
-					}
+			} else if( keyboard_action == 'up') {
+			
+				if(!Element("chk_box_select_all_messages").checked){
+				
+					$("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
+					
+						if($(this).hasClass("selected_shortcut_msg") && $(this).prev().length){
+								$(this).prev().addClass("selected_shortcut_msg");
+								$(this).removeClass("selected_shortcut_msg");
+								return false;
+						}
+						
+					});
+					
+				} else {
+					
+					$("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
+						
+						if($(this).hasClass("current_selected") && $(this).prev().length){
+							$(this).removeClass("current_selected");
+							$(this).removeClass("selected_shortcut_msg");
+							$(this).prev().addClass("current_selected");
+							$(this).prev().addClass("selected_shortcut_msg");
+							return false;
+						}
+					
+					});
+					$("#divScrollMain_0").find("#tbody_box").find("tr").each(function(){
+								if(!$(this).hasClass("current_selected"))
+									$(this).removeClass("selected_shortcut_msg");
+					});
+				
 				}
-			}
-			
-			for (; i< all_messages.length; i++)
-			{
-				remove_className(all_messages[i], 'selected_shortcut_msg')
-			}
-		if (typeof(all_messages[mailPos]) != 'undefined' && all_messages[mailPos].offsetTop <= scrollMain.scrollTop)
-			scrollMain.scrollTop -= selection_size+10;
-		}
-
+		  
+			}
 		return true;
 	}
