/// <summary>
        /// Hides the entire Options Panel
        /// </summary>
        public void Hide()
        {
            ResetOptions(); //for when options are changed but the SaveSettings Options button was not pressed
            //the options return to the LastSave values

            for (int i = 0; i < generalButtons.Count; i++)
            {
                for (int j = 0; j < generalButtons[i].Count; j++)
                {
                    generalButtons[i][j].Hide();
                    generalButtons[i][j].ReleaseButton();//will release the submenu pressed button
                    HideSubmenuButtonOptions(i, j);
                }
                generalButtons[i][0].ReleaseButton();//will release the pressed button
            }
            btnSaveOptions.Hide();
            btnSaveOptions.Enabled = false;

            this.Enabled = false;
        }
        /// <summary>
        /// Hides the indicated submenu's options
        /// </summary>
        void HideSubmenuButtonOptions(int generalButtonIndex, int submenuButtonIndex)
        {
            switch (generalButtonIndex)
            {
            case 0:     //Game
                switch (submenuButtonIndex)
                {
                case 1:         //SaveGame
                    btnSave.Hide();
                    AutosaveSprite.Visible = false;
                    AutosaveScrollbar.Hide();
                    AutosaveTime.Visible = false;
                    break;

                case 2:         //Difficulty
                    rbnEasy.Hide();
                    rbnMedium.Hide();
                    rbnHard.Hide();
                    break;
                }
                break;

            case 1:     //Video
                switch (submenuButtonIndex)
                {
                case 1:         //ResolutionIndex
                    Resolution.Visible = false;
                    ResolutionIndicator.Hide();
                    break;

                case 2:         //FullScreen
                    rbnFullScreenOn.Hide();
                    rbnFullScreenOff.Hide();
                    break;
                }
                break;

            case 2:     //Audio
                switch (submenuButtonIndex)
                {
                case 1:         //Volume
                    VolumeIndicator.Hide();
                    VolumeValueSprite.Visible = false;
                    break;

                case 2:         //Sound
                    rbnSoundOn.Hide();
                    rbnSoundOff.Hide();
                    break;
                }
                break;

            case 3:     //Controls
                switch (submenuButtonIndex)
                {
                case 1:         //Mouse
                    CameraSpeedSprite.Visible      = false;
                    CameraSpeedValueSprite.Visible = false;
                    CameraSpeedIndicator.Hide();
                    break;

                case 2:         //Keyboard
                    btnKeyShortcuts.Hide();
                    KeyShortcutsPanel.Visible = false;
                    KeyShortcutsPanel.Enabled = false;
                    btnKeyShortcutsPanel_Back.Hide();
                    btnKeyShortcutsPanel_Back.Enabled = false;
                    break;
                }
                break;
            }
        }