protected void DoKeyLeft()
        {
            if (timer > 0)
            {
                return;
            }
            timer = keyTimeOut;
            if (keyTimeOut > 0.2f)
            {
                keyTimeOut -= 0.1f;
            }

            UIElement selected = layer.GetSelected(player);

            if (selected != null && selected.Left != null)
            {
                UIElement current = selected;
                selected = selected.Left;

                while (selected.Left != null && !selected.CanUse(player) && selected != current)
                {
                    selected = selected.Left;
                }
                if (!selected.Enabled)
                {
                    selected = current;
                }
                layer.SetSelected(player, selected);
            }
            else if (selected != null && selected.CanUse(player))
            {
                selected.PreviousOption();
            }
            else
            {
                layer.SetSelected(player, layer.GetFirstControl(player));
            }
        }