/// <summary>
        /// Searchs for a torrent for the specified media item
        /// </summary>
        /// <param name="mediaItem">Media item to search for a torrent for</param>
        private void TorrentSearch(MediaItem mediaItem)
        {
            if (String.IsNullOrEmpty(Options.TorrentSearchUrl.Trim()))
            {
                MessageBox.Show("Please set the torrent search options to search for torrents.", Title, MessageBoxButton.OK, MessageBoxImage.Error);
            }
            else
            {
                try
                {
                    IntelligentString searchString = IntelligentString.Empty;

                    if (!String.IsNullOrEmpty(Options.TorrentSearchPrefix.Trim()))
                    {
                        searchString += Options.TorrentSearchPrefix.Trim() + " ";
                    }

                    searchString += mediaItem.GetSearchString();

                    if (!String.IsNullOrEmpty(Options.TorrentSearchSuffix.Trim()))
                    {
                        searchString += " " + Options.TorrentSearchSuffix.Trim();
                    }

                    if (!String.IsNullOrEmpty(Options.TorrentSearchSpaceCharacter.Trim()))
                    {
                        searchString = searchString.Replace(" ", Options.TorrentSearchSpaceCharacter.Trim());
                    }

                    searchString = Options.TorrentSearchUrl.Trim() + searchString;

                    if (!searchString.StartsWith("http"))
                    {
                        searchString = "http://" + searchString;
                    }

                    Process.Start(searchString.Value);
                }
                catch (NotSupportedException)
                {
                    MessageBox.Show("Cannot search for torrents for " + mediaItem.Type.ToString() + " files.", Title, MessageBoxButton.OK, MessageBoxImage.Information);
                }
            }
        }
        /// <summary>
        /// Adds the extension entered by the user to the file type
        /// </summary>
        private void AddExtension()
        {
            try
            {
                if (String.IsNullOrEmpty(txtExtension.Text))
                {
                    GeneralMethods.MessageBoxApplicationError("Please enter a value for the extension");
                    return;
                }

                IntelligentString extension = txtExtension.Text;

                if (!extension.StartsWith("."))
                {
                    extension = "." + extension;
                }

                if (extension.Substring(1).Contains("."))
                {
                    GeneralMethods.MessageBoxApplicationError("Extension contains multiple full stops");
                    return;
                }

                if (SelectedFileType.Extensions.Contains(extension))
                {
                    GeneralMethods.MessageBoxApplicationError("File type already contains extension \"" + extension + "\"");
                    return;
                }

                SelectedFileType.Extensions.Add(extension);
                SelectedFileType.Extensions.Sort();

                txtExtension.Text = String.Empty;
                txtExtension.Focus();
            }
            catch (System.Exception e)
            {
                GeneralMethods.MessageBoxException(e, "Could not add extension: ");
            }
        }