private void DrawAdditionalOptions()
        {
            additionalScrollPos = GUILayout.BeginScrollView(additionalScrollPos, GUILayout.ExpandHeight(true));
            GUILayout.Space(4f);
            GUILayout.BeginVertical(GUILayout.ExpandHeight(true));
            GUILayout.Box(Localizer.Format("#ScienceAlert_label4"), GUILayout.ExpandWidth(true));   //"User Interface Settings"
            GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
            GUILayout.Label(Localizer.Format("#ScienceAlert_label5"), GUILayout.ExpandWidth(true)); //"Globally Enable Animation"
            Settings.Instance.FlaskAnimationEnabled = AudibleToggle(Settings.Instance.FlaskAnimationEnabled, string.Empty, null, new[]
            {
                GUILayout.ExpandWidth(false)
            });
            if (!Settings.Instance.FlaskAnimationEnabled && ScienceAlert.Instance.IsAnimating)
            {
                ScienceAlert.Instance.SetLit();
            }
            GUILayout.EndHorizontal();
            Settings.Instance.ShowReportValue     = AudibleToggle(Settings.Instance.ShowReportValue, Localizer.Format("#ScienceAlert_toggle1"));     //"Display Report Value"
            Settings.Instance.DisplayCurrentBiome = AudibleToggle(Settings.Instance.DisplayCurrentBiome, Localizer.Format("#ScienceAlert_toggle2")); //"Display Biome in Experiment List"
            Settings.Instance.EvaReportOnTop      = AudibleToggle(Settings.Instance.EvaReportOnTop, Localizer.Format("#ScienceAlert_toggle3"));      //"List EVA Report first"
            GUILayout.Label(Localizer.Format("#ScienceAlert_label6"));                                                                               //"Window Opacity"
            GUILayout.BeginHorizontal();
            GUILayout.Label(Localizer.Format("#ScienceAlert_label7"), miniLabelLeft);                                                                //"Less"
            GUILayout.FlexibleSpace();
            GUILayout.Label(Localizer.Format("#ScienceAlert_label8"), miniLabelRight);                                                               //"More"
            GUILayout.EndHorizontal();
            Settings.Instance.WindowOpacity = (int)GUILayout.HorizontalSlider(Settings.Instance.WindowOpacity, 0f, 255f, GUILayout.ExpandWidth(true), GUILayout.MaxHeight(16f));
            GUILayout.Space(8f);
            GUILayout.Box(Localizer.Format("#ScienceAlert_label9"), GUILayout.ExpandWidth(true));//"Third-party Integration Options"
            GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
            Settings.ScanInterface scanInterfaceType = Settings.Instance.ScanInterfaceType;
            Color color = GUI.color;

            if (!SCANsatInterface.IsAvailable())
            {
                GUI.color = Color.red;
            }
            bool flag = AudibleToggle(Settings.Instance.ScanInterfaceType == Settings.ScanInterface.ScanSat, Localizer.Format("#ScienceAlert_toggle4"), null, new[]//"Enable SCANsat integration"
            {
                GUILayout.ExpandWidth(true)
            });

            GUI.color = color;
            if (flag && scanInterfaceType != Settings.ScanInterface.ScanSat && !SCANsatInterface.IsAvailable())
            {
                PopupDialog.SpawnPopupDialog(new Vector2(0.5f, 0.5f), new Vector2(0.5f, 0.5f), Localizer.Format("#ScienceAlert_Msg1title")
                                             , Localizer.Format("#ScienceAlert_Msg1"), "", Localizer.Format("#ScienceAlert_Msg1_button1"),//"SCANsat Not Found""SCANsat was not found. You must install SCANsat to use this feature.""Okay"
                                             false, HighLogic.UISkin);
                flag = false;
            }
            Settings.Instance.ScanInterfaceType = flag ? Settings.ScanInterface.ScanSat : Settings.ScanInterface.None;
            scienceAlert.ScanInterfaceType      = Settings.Instance.ScanInterfaceType;
            GUILayout.EndHorizontal();
            GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
            //Settings.ToolbarInterface toolbarInterfaceType = Settings.Instance.ToolbarInterfaceType;
            Color color2 = GUI.color;

            //bool flag2 = AudibleToggle(Settings.Instance.ToolbarInterfaceType == Settings.ToolbarInterface.BlizzyToolbar, "Use Blizzy toolbar");
            GUI.color = color2;
            //if (flag2 && toolbarInterfaceType != Settings.ToolbarInterface.BlizzyToolbar && !ToolbarManager.ToolbarAvailable)
            //{
            //             PopupDialog.SpawnPopupDialog("Blizzy Toolbar Not Found",
            //                 "Blizzy's toolbar was not found. You must install Blizzy's toolbar to use this feature.",
            //                 "Okay", false, Settings.Skin); //???
            //             flag2 = false;
            //}
            //Settings.Instance.ToolbarInterfaceType = (flag2 ? Settings.ToolbarInterface.BlizzyToolbar : Settings.ToolbarInterface.ApplicationLauncher);

            GUILayout.EndHorizontal();
            GUILayout.Box(Localizer.Format("#ScienceAlert_label10"), GUILayout.ExpandWidth(true));//"Crewed Vessel Settings"
            bool checkSurfaceSampleNotEva = Settings.Instance.CheckSurfaceSampleNotEva;

            Settings.Instance.CheckSurfaceSampleNotEva = AudibleToggle(checkSurfaceSampleNotEva, Localizer.Format("#ScienceAlert_toggle5"));//"Track surface sample in vessel"
            if (checkSurfaceSampleNotEva != Settings.Instance.CheckSurfaceSampleNotEva)
            {
                manager.RebuildObserverList();
            }
            GUILayout.EndVertical();
            GUI.skin = Settings.Skin;
            GUILayout.EndScrollView();
        }
        /// <summary>
        /// Regular, non-profile specific additional configuration options
        /// </summary>
        private void DrawAdditionalOptions()
        {
            //GUI.skin = whiteLabel;

            //additionalScrollPos = GUILayout.BeginScrollView(additionalScrollPos, Settings.Skin.scrollView, GUILayout.ExpandHeight(true));
            additionalScrollPos = GUILayout.BeginScrollView(additionalScrollPos, GUILayout.ExpandHeight(true));
            {
                GUILayout.Space(4f);

                GUILayout.BeginVertical(GUILayout.ExpandHeight(true));
                {
                    #region Alert settings
                    {
                        GUILayout.Box("User Interface Settings", GUILayout.ExpandWidth(true));

                        //-----------------------------------------------------
                        // global flask animation
                        //-----------------------------------------------------
                        GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
                        {
                            GUILayout.Label("Globally Enable Animation", GUILayout.ExpandWidth(true));
                            Settings.Instance.FlaskAnimationEnabled = AudibleToggle(Settings.Instance.FlaskAnimationEnabled, string.Empty, null, new GUILayoutOption[] { GUILayout.ExpandWidth(false) });
                            if (!Settings.Instance.FlaskAnimationEnabled && scienceAlert.Button.IsAnimating)
                            {
                                scienceAlert.Button.SetLit();
                            }
                        }
                        GUILayout.EndHorizontal();


                        //-----------------------------------------------------
                        // Display next report value in button
                        //-----------------------------------------------------
                        {
                            Settings.Instance.ShowReportValue = AudibleToggle(Settings.Instance.ShowReportValue, "Display Report Value");
                        }


                        //-----------------------------------------------------
                        // Display current biome in experiment list
                        //-----------------------------------------------------
                        {
                            Settings.Instance.DisplayCurrentBiome = AudibleToggle(Settings.Instance.DisplayCurrentBiome, "Display Biome in Experiment List");
                        }


                        //-----------------------------------------------------
                        // Interface window opacity
                        //-----------------------------------------------------
                        GUILayout.Label("Window Opacity");
                        GUILayout.BeginHorizontal();
                        GUILayout.Label("Less", miniLabelLeft);
                        GUILayout.FlexibleSpace();
                        GUILayout.Label("More", miniLabelRight);
                        GUILayout.EndHorizontal();
                        Settings.Instance.WindowOpacity = (int)GUILayout.HorizontalSlider(Settings.Instance.WindowOpacity, 0f, 255f, GUILayout.ExpandWidth(true), GUILayout.MaxHeight(16f));
                        GUILayout.Space(8f);
                    } // end alert settings
                    #endregion


                    #region scan interface options
                    // scan interface options
                    {
                        GUILayout.Box("Third-party Integration Options", GUILayout.ExpandWidth(true));

                        GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
                        {
                            var oldInterface = Settings.Instance.ScanInterfaceType;
                            var prevColor    = GUI.color;

                            if (!SCANsatInterface.IsAvailable())
                            {
                                GUI.color = Color.red;
                            }

                            bool enableSCANinterface = AudibleToggle(Settings.Instance.ScanInterfaceType == Settings.ScanInterface.ScanSat, "Enable SCANsat integration", null, new GUILayoutOption[] { GUILayout.ExpandWidth(true) });

                            GUI.color = prevColor;

                            if (enableSCANinterface && oldInterface != Settings.ScanInterface.ScanSat) // Settings won't return SCANsatInterface as the set interface if it wasn't found
                            {
                                if (!SCANsatInterface.IsAvailable())
                                {
                                    PopupDialog.SpawnPopupDialog("SCANsat Not Found", "SCANsat was not found. You must install SCANsat to use this feature.", "Okay", false, Settings.Skin);
                                    enableSCANinterface = false;
                                }
                            }

                            Settings.Instance.ScanInterfaceType = enableSCANinterface ? Settings.ScanInterface.ScanSat : Settings.ScanInterface.None;

                            scienceAlert.ScanInterfaceType = Settings.Instance.ScanInterfaceType;
                        }
                        GUILayout.EndHorizontal();
                    } // end scan interface options


                    // toolbar interface options
                    {
                        GUILayout.BeginHorizontal(GUILayout.ExpandWidth(true));
                        {
                            var oldInterface = Settings.Instance.ToolbarInterfaceType;
                            var prevColor    = GUI.color;

                            if (!ToolbarManager.ToolbarAvailable)
                            {
                                GUI.color = Color.red;
                            }

                            bool enableBlizzyToolbar = AudibleToggle(Settings.Instance.ToolbarInterfaceType == Settings.ToolbarInterface.BlizzyToolbar, "Use Blizzy toolbar");
                            GUI.color = prevColor;

                            if (enableBlizzyToolbar && oldInterface != Settings.ToolbarInterface.BlizzyToolbar)
                            {
                                if (!ToolbarManager.ToolbarAvailable)
                                {
                                    PopupDialog.SpawnPopupDialog("Blizzy Toolbar Not Found", "Blizzy's toolbar was not found. You must install Blizzy's toolbar to use this feature.", "Okay", false, Settings.Skin);
                                    enableBlizzyToolbar = false;
                                }
                            }

                            Settings.Instance.ToolbarInterfaceType = enableBlizzyToolbar ? Settings.ToolbarInterface.BlizzyToolbar : Settings.ToolbarInterface.ApplicationLauncher;

                            if (scienceAlert.ToolbarType != Settings.Instance.ToolbarInterfaceType)
                            {
                                scienceAlert.ToolbarType = Settings.Instance.ToolbarInterfaceType;
                            }
                        }
                        GUILayout.EndHorizontal();
                    } // end toolbar interface options
                    #endregion


                    #region crewed vessel settings
                    {
                        GUILayout.Box("Crewed Vessel Settings", GUILayout.ExpandWidth(true));

                        //Settings.Instance.ReopenOnEva = AudibleToggle(Settings.Instance.ReopenOnEva, "Re-open list on EVA");
                        //{ // eva report on top
                        //    var prev = Settings.Instance.EvaReportOnTop;

                        //    Settings.Instance.EvaReportOnTop = AudibleToggle(Settings.Instance.EvaReportOnTop, "List EVA report first");

                        //    if (Settings.Instance.EvaReportOnTop != prev)
                        //        manager.ScheduleRebuildObserverList();
                        //}

                        // Surface sample on vessel
                        {
                            var prev = Settings.Instance.CheckSurfaceSampleNotEva;

                            Settings.Instance.CheckSurfaceSampleNotEva = AudibleToggle(prev, "Track surface sample in vessel");

                            if (prev != Settings.Instance.CheckSurfaceSampleNotEva)
                            {
                                manager.RebuildObserverList();
                            }
                            //manager.ScheduleRebuildObserverList();
                        }
                    } // end crewed vessel settings
                    #endregion
                }
                GUILayout.EndVertical();

                GUI.skin = Settings.Skin;
            }
            GUILayout.EndScrollView();
        }