protected override void OnClicked(int controlId, GUIControl control, MediaPortal.GUI.Library.Action.ActionType actionType)
        {
            if (actionType == MediaPortal.GUI.Library.Action.ActionType.ACTION_MOUSE_DOUBLECLICK)
              {
            OnShowContextMenu();
            return;
              }

              if (actionType == MediaPortal.GUI.Library.Action.ActionType.ACTION_PLAY)
              {
            if (MediaPortal.Player.g_Player.Playing == false)
              BaseConfig.MyAnimeLog.Write("Pressed the play button");
              }
              MainMenu menu = new MainMenu();
              menu.Add(btnDisplayOptions, () =>
              {
            m_Facade.Focus = true;
            ShowDisplayOptionsMenu(string.Empty);
              });
              menu.Add(btnWindowUtilities, () =>
              {
            SetGlobalIDs();
            GUIWindowManager.ActivateWindow(Constants.WindowIDs.ADMIN);
              });
              menu.Add(btnWindowCalendar, () =>
              {
            SetGlobalIDs();
            GUIWindowManager.ActivateWindow(Constants.WindowIDs.CALENDAR);
              });
              menu.Add(btnWindowDownloads, () =>
              {
            SetGlobalIDs();
            GUIWindowManager.ActivateWindow(Constants.WindowIDs.DOWNLOADS);
              });
              menu.Add(btnWindowContinueWatching, () =>
              {
            SetGlobalIDs();
            GUIWindowManager.ActivateWindow(Constants.WindowIDs.WATCHING);
              });
              menu.Add(btnWindowRecommendations, () =>
              {
            SetGlobalIDs();
            GUIWindowManager.ActivateWindow(Constants.WindowIDs.RECOMMENDATIONS);
              });
              menu.Add(btnWindowRandom, () =>
              {
            /*
            GroupFilterVM grpFilter = new GroupFilterVM();
            grpFilter.GroupFilterName = "All";
            grpFilter.GroupFilterID = 16;
            grpFilter.FilterType = 4;
            RandomWindow_LevelObject = grpFilter;
            RandomWindow_RandomLevel = RandomSeriesEpisodeLevel.GroupFilter;
            RandomWindow_RandomType = RandomObjectType.Series;
            GUIWindowManager.ActivateWindow(Constants.WindowIDs.RANDOM);*/
            ShowContextMenuGroupFilter("");
              });
              menu.Add(btnChangeLayout, () =>
              {
            m_Facade.Focus = true;
            ShowLayoutMenu(string.Empty);
              });
              menu.Add(btnFilters, () =>
              {
              m_Facade.Focus = true;
              ShowFilterOptions(string.Empty);
              });
              menu.Add(btnSwitchUser, () =>
              {
              if (JMMServerVM.Instance.PromptUserLogin())
              {
              Breadcrumbs = new List<History>() {new History()};

              // user has logged in, so save to settings so we will log in as the same user next time
              settings.CurrentJMMUserID =
                  JMMServerVM.Instance.CurrentUser.JMMUserID.ToString(CultureInfo.InvariantCulture);
              settings.Save();

              LoadFacade();
              }
              else
              {

              }
              });
              menu.Add(btnSettings, () =>
              {
            m_Facade.Focus = true;
            ShowOptionsDisplayMenu(string.Empty);
              });
              if (menu.Check(control))
            return;

              try
              {
            if (actionType != MediaPortal.GUI.Library.Action.ActionType.ACTION_SELECT_ITEM) return; // some other events raised onClicked too for some reason?
            if (control == this.m_Facade)
            {
              UpdateSearchPanel(false);

              if (this.m_Facade.SelectedListItem == null || this.m_Facade.SelectedListItem.TVTag == null)
            return;
              IVM cur = m_Facade.SelectedListItem.TVTag as IVM;
              if (cur == null)
            return;
              if (cur is AnimeGroupVM)
            cur = GetChildrenLevelForGroup((AnimeGroupVM)cur);
              if (cur is AnimeSeriesVM)
            cur = GetChildrenLevelForSeries((AnimeSeriesVM)cur);
              if (cur is AnimeEpisodeVM)
              {
            AnimeEpisodeVM ep = (AnimeEpisodeVM)cur;
            BaseConfig.MyAnimeLog.Write("Selected to play: {0}", ep.EpisodeNumberAndName);
            vidHandler.ResumeOrPlay(ep);
              }
              else
              {
            BaseConfig.MyAnimeLog.Write("Clicked to " + cur.GetType().ToString());
            Breadcrumbs.Add(new History() { Listing = cur });
            LoadFacade();
            this.m_Facade.Focus = true;
              }
            }
              }
              catch (Exception ex)
              {
            BaseConfig.MyAnimeLog.Write("Error in OnClicked: {0} - {1}", ex.Message, ex.ToString());
              }

              base.OnClicked(controlId, control, actionType);
        }