     private var labelChanged:Boolean = false;
     // TODO (jszeto) Should this be protected?
     private var proposedSelectedIndex:Number = -1;
+    mx_internal static var PAGE_SIZE:int = 5;
 	
 	//--------------------------------------------------------------------------
     //

        
        if (!dropDownController.processKeyDown(event))
        {
			if (dropDownController.isOpen)
			{	
	        	var navigationUnit:uint = mapEventToNavigationUnit(event);
	        	var proposedNewIndex:int = layout.getDestinationIndex(navigationUnit, proposedSelectedIndex)
	        	
	        	if (proposedNewIndex != -1)
	        	{

	        		ensureItemIsVisible(proposedSelectedIndex);
	        	}
	   		}
	   		else if (dataProvider)
	   		{
	   			navigationUnit = mapEventToNavigationUnit(event);
	   			
	   			switch (navigationUnit)
		        {
		            case NavigationUnit.UP:
		               proposedNewIndex = selectedIndex - 1;  
		               break;
		
		            case NavigationUnit.DOWN: 
		               proposedNewIndex = selectedIndex + 1;  
		               break;
		             
		            case NavigationUnit.PAGE_UP:
		               proposedNewIndex = selectedIndex == -1 ? 
		               						-1 : Math.max(selectedIndex - mx_internal::PAGE_SIZE, 0);  
		               break;
			   		
			   		case NavigationUnit.PAGE_DOWN:
		               proposedNewIndex = selectedIndex + mx_internal::PAGE_SIZE;  
		               break;
		               
            		case NavigationUnit.HOME:
		               proposedNewIndex = 0;  
		               break;

             		case NavigationUnit.END:
		               proposedNewIndex = dataProvider.length - 1;  
		               break;
		               
		               
		        }
		        
		        proposedNewIndex = Math.min(proposedNewIndex, dataProvider.length - 1);
		        
		        if (proposedNewIndex >= 0)
		        	selectedIndex = proposedNewIndex;
		    }
        }

	}
