                                       unscaledHeight:Number):void
     {
         // figure out backgroundColor
-        var backgroundColor:uint = 0xFFFFFF;
-        var drawBackground:Boolean = true;
+        var backgroundColor:*;
         var downColor:* = getStyle("downColor");
+		var drawBackground:Boolean = true;
         
         if (down && downColor !== undefined)
         {
             backgroundColor = downColor;
         }
-        else if (selected)
+		else if (selected)
         {
             backgroundColor = getStyle("selectionColor");
         }

                backgroundColor = alternatingColors[itemIndex % alternatingColors.length];
            }
			else
			{ 
				// don't draw background if it is the contentBackgroundColor. The
				// list skin handles the background drawing for us. 
				//drawBackground = false;
			}

        }
        
        // draw backgroundColor
        // the reason why we draw it in the case of drawBackground == 0 is for

			graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, matrix);
			graphics.drawRect(0, 0, unscaledWidth, unscaledHeight);
			graphics.endFill();
		}

		// separators are a highlight on the top and shadow on the bottom
		topSeparatorColor = 0xFFFFFF;
		topSeparatorAlpha = .3;
		bottomSeparatorColor = 0x000000;
		bottomSeparatorAlpha = .3;
		
		
		var dataGroup:DataGroup = parent as DataGroup;
		var isLast:Boolean = (dataGroup && (itemIndex == dataGroup.numElements - 1));

			
		// draw separators
		// don't draw top separator for down and selected states
		if (!(selected || down))
		{
			graphics.beginFill(topSeparatorColor, topSeparatorAlpha);
			graphics.drawRect(0, 0, unscaledWidth, 1);
			graphics.endFill();
		}
		
		graphics.beginFill(bottomSeparatorColor, bottomSeparatorAlpha);
		graphics.drawRect(0, unscaledHeight - (isLast ? 0 : 1), unscaledWidth, 1);
