void cboEpisodeTypeFilter_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            //return;
            ComboBox cbo = (ComboBox)sender;

            object obj = cbo.SelectedItem;

            if (obj == null)
            {
                return;
            }

            try
            {
                VM_AnimeEpisodeType epType      = obj as VM_AnimeEpisodeType;
                VM_AnimeSeries_User animeSeries = (VM_AnimeSeries_User)DataContext;
                if (animeSeries == null)
                {
                    return;
                }

                episodeType = epType.EpisodeType;

                RefreshEpisodes();
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }
        private void SetWatchedStatusOnSeries(bool watchedStatus, int maxEpisodeNumber)
        {
            try
            {
                VM_AnimeSeries_User animeSeries = (VM_AnimeSeries_User)DataContext;
                if (animeSeries == null)
                {
                    return;
                }

                Cursor = Cursors.Wait;

                VM_AnimeEpisodeType epType = cboEpisodeTypeFilter.SelectedItem as VM_AnimeEpisodeType;

                VM_ShokoServer.Instance.ShokoServices.SetWatchedStatusOnSeries(animeSeries.AnimeSeriesID, watchedStatus, maxEpisodeNumber,
                                                                               (int)epType.EpisodeType, VM_ShokoServer.Instance.CurrentUser.JMMUserID);

                VM_MainListHelper.Instance.UpdateHeirarchy(animeSeries);
                RefreshEpisodes();

                Cursor = Cursors.Arrow;

                Window parentWindow = Window.GetWindow(this);
                Utils.PromptToRateSeries(animeSeries, parentWindow);
            }
            catch (Exception ex)
            {
                Cursor = Cursors.Arrow;
                Utils.ShowErrorMessage("SetWatchedStatusOnSeries: " + ex.Message, ex);
            }
        }
        public void PopulateToolbars()
        {
            try
            {
                VM_AnimeSeries_User animeSeries = DataContext as VM_AnimeSeries_User;
                if (animeSeries == null)
                {
                    return;
                }

                CurrentEpisodeTypes.Clear();
                foreach (VM_AnimeEpisodeType epType in animeSeries.EpisodeTypes)
                {
                    CurrentEpisodeTypes.Add(epType);
                }

                cboEpisodeTypeFilter.ItemsSource = CurrentEpisodeTypes;

                // look for the epiosde type of normal episodes
                int idx = 0;
                for (int i = 0; i < cboEpisodeTypeFilter.Items.Count; i++)
                {
                    VM_AnimeEpisodeType epType = cboEpisodeTypeFilter.Items[i] as VM_AnimeEpisodeType;
                    if (epType.EpisodeType == EpisodeType.Episode)
                    {
                        idx = i;
                        break;
                    }
                }

                if (cboEpisodeTypeFilter.Items.Count > 0)
                {
                    cboEpisodeTypeFilter.SelectedIndex = idx;
                }

                RefreshEpisodes();
            }
            catch (Exception ex)
            {
                Utils.ShowErrorMessage(ex);
            }
        }