rem: if ( MessagePaneHasFocus() ) { if (gray_vertical_splitter) { if (!(is_collapsed(gray_vertical_splitter))) SetFocusFolderPane(); else SetFocusThreadPane(); } else { if (!(sidebar_is_collapsed())) SetFocusFolderPane(); else SetFocusThreadPane(); } } else { try { focusedElementId = focusedElement.getAttribute('id'); if(focusedElementId == "threadOutliner") { if (!(IsThreadAndMessagePaneSplitterCollapsed())) SetFocusMessagePane(); else if (gray_vertical_splitter) { if (!(is_collapsed(gray_vertical_splitter))) SetFocusFolderPane(); } else if (!(sidebar_is_collapsed())) SetFocusFolderPane();  } else if(focusedElementId == "folderOutliner") SetFocusThreadPane(); } catch(e) { SetFocusMessagePane(); } } }  
add: if (event && event.shiftKey) { if (focusedElement == threadOutliner && searchInput.parentNode.getAttribute('hidden') != 'true') searchInput.focus(); else if ((focusedElement == threadOutliner || focusedElement == searchInput) && !IsFolderPaneCollapsed()) folderOutliner.focus(); else if (focusedElement != messagePane && !IsThreadAndMessagePaneSplitterCollapsed()) SetFocusMessagePane(); else threadOutliner.focus(); } else { if (focusedElement == searchInput) threadOutliner.focus(); else if (focusedElement == threadOutliner && !IsThreadAndMessagePaneSplitterCollapsed()) SetFocusMessagePane(); else if (focusedElement != folderOutliner && !IsFolderPaneCollapsed()) folderOutliner.focus(); else if (searchInput.parentNode.getAttribute('hidden') != 'true') searchInput.focus(); else threadOutliner.focus(); } 
context: function SwitchPaneFocus(direction){  var gray_vertical_splitter = document.getElementById("gray_vertical_splitter");   var focusedElement = document.commandDispatcher.focusedElement;  var focusedElementId;  if (direction == "counter-clockwise")	{		if ( MessagePaneHasFocus() )			SetFocusThreadPane();		else 		{			try 			{ 				focusedElementId = focusedElement.getAttribute('id');				if(focusedElementId == "threadOutliner")				{					if (gray_vertical_splitter)					{						if (!(is_collapsed(gray_vertical_splitter)))						  SetFocusFolderPane();						else if(!(IsThreadAndMessagePaneSplitterCollapsed()))						  SetFocusMessagePane();					}					else 					{						if (!(sidebar_is_collapsed()))						  SetFocusFolderPane();						else if(!(IsThreadAndMessagePaneSplitterCollapsed()))						  SetFocusMessagePane();					}				}				else if(focusedElementId == "folderOutliner")				{					if (!(IsThreadAndMessagePaneSplitterCollapsed()))						SetFocusMessagePane();					else						SetFocusThreadPane();				}			}			catch(e) 			{				SetFocusMessagePane();			}		}	}	else	{		if ( MessagePaneHasFocus() )		{			if (gray_vertical_splitter)			{				if (!(is_collapsed(gray_vertical_splitter)))					SetFocusFolderPane();				else					SetFocusThreadPane();			}			else 			{				if (!(sidebar_is_collapsed()))				  SetFocusFolderPane();				else				  SetFocusThreadPane();			}		}		else 		{			try 			{ 				focusedElementId = focusedElement.getAttribute('id');				if(focusedElementId == "threadOutliner")				{					if (!(IsThreadAndMessagePaneSplitterCollapsed()))						SetFocusMessagePane();					else if (gray_vertical_splitter)					{						if (!(is_collapsed(gray_vertical_splitter)))						SetFocusFolderPane();					}					else if (!(sidebar_is_collapsed()))						SetFocusFolderPane();				}				else if(focusedElementId == "folderOutliner")					SetFocusThreadPane();			}			catch(e) 			{				SetFocusMessagePane();			}		}	}}
meta: 9421	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/9421/1cafbf33ae001874423a6d8445bf49bcafdb80d4/mail3PaneWindowCommands.js/buggy/mailnews/base/resources/content/mail3PaneWindowCommands.js