internal static bool GetFileDatesProperties
            (ImporterProperties importerProperties,
             int index, OptionSettings prop, ref int counter)
        {



            if (index == counter++)
            {
                //set the internal name
                prop.Name = "ImportDateCreatedProp";
                prop.GroupName = "AdditionalFileTags";
                //set name shown to user
                prop.Caption = "Import file Creation date?";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupCaption = "                                 Additional Tags to Import";
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportDateCreated;
                prop.DataType = "bool";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "ImportDateModifiedProp";
                prop.GroupName = "AdditionalFileTags";
                //set name shown to user
                prop.Caption = "Import file Modification date?";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //Prop.GroupCaption = "                                 Additional Tags to Import";
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportDateModified;
                prop.DataType = "bool";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "ImportDateImportedProp";
                prop.GroupName = "AdditionalFileTags";
                //set name shown to user
                prop.Caption = "Import Addition to library date?";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //Prop.GroupCaption = "                                 Additional Tags to Import";
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportDateImported;
                prop.DataType = "bool";
                return true;
            }

            return false;
        }
        internal static bool GetImportSequencerProperties
            (ImporterProperties importerProperties,
            int index, OptionSettings prop, ref int counter)
        {





            if (index == counter++)
            {
                prop.GroupName = "ImportSequencer";
                //set the internal name
                prop.Name = "ImportSequencerProp";
                //set name shown to user
                prop.GroupCaption = "                         Import Sequencer";
                prop.Caption = "Enable Import Sequencer";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = MediaFairy.Settings.ImportSequencer;
                prop.DataType = "bool";
                prop.Dependencies = "True:SHOW ImportIDsProp" +
                                    ";False:HIDE ImportIDsProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "ImportSequencer";
                //set the internal name
                prop.Name = "ImportIDsProp";
                //set name shown to user
                prop.Caption = "Import IDs to run: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = MediaFairy.Settings.ImportIDs;
                prop.DataType = "stringlist";
                return true;
            }
            return false;
        }
        internal static bool GetSubtitleDownloaderProperties(ImporterProperties importerProperties, 
            int index, IMeedioPluginProperty  prop, IList<string> twochoices, ref int counter)
        {
            if (index == counter++)
            {
                //set the internal name
                prop.Name = "LanguageProp";

                prop.GroupCaption = "                             Subtitle Downloader Settings";
                //set name shown to user
                prop.Caption = "Primary Subtitles language:";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "Please insert the ISO639 3-letter code of your country." + Environment.NewLine +
                                "AVSI will try to download subtitles for this language first." + Environment.NewLine +
                                "To find your country code use this reference: http://en.wikipedia.org/wiki/List_of_ISO_639-2_codes ";
                prop.DefaultValue = Settings.PrimaryLanguage;
                prop.DataType = "string";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "LanguagePropSecondary";
                //set name shown to user
                prop.Caption = "Secondary subtitles language:";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    "If no subtitles are found for your primary language," +
                    " AVSI will search for subtitles for this language.";
                prop.DefaultValue = Settings.SecondaryLanguage;
                prop.DataType = "string";
                return true;
            }

            return false;
        }
        internal static bool ArchiveExtractorPropRerties(ImporterProperties importerProperties, int index, OptionSettings prop,
                                                         ref int counter)
        {


            if (index == counter++)
            {
                prop.GroupName = "ArchiveExtractor";
                //set the internal name
                prop.Name = "EnableArchiveExtractorProp";
                //set name shown to user
                prop.GroupCaption = "                              Archive Extractor";
                prop.Caption = "Auto-extract compressed archives";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    "The built-in media importer has the capability to automatically extract zip and/or rar archives" +
                    Environment.NewLine +
                    "contained in your specified media root directories and import the media files they may contain." +
                    Environment.NewLine +
                    "Multi-part rar archives are also supported.";
                prop.DefaultValue = Settings.EnableArchiveExtractor;
                prop.DataType = "bool";

                prop.Dependencies = "False:HIDE DeleteArchiveAfterExtractionProp,freespaceThresholdProp" +
                                    ";True:SHOW DeleteArchiveAfterExtractionProp,freespaceThresholdProp";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "ArchiveExtractor";
                //set the internal name
                prop.Name = "DeleteArchiveAfterExtractionProp";
                //set name shown to user
                prop.Caption = "Delete archive after extraction ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "When an archive extraction process is succesfull, the media importer can delete" +
                                Environment.NewLine +
                                "the original compressed archive in order to free any disk space used by that archive.";
                prop.DefaultValue = Settings.DeleteArchiveAfterExtraction;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "ArchiveExtractor";
                //set the internal name
                prop.Name = "freespaceThresholdProp";
                //set name shown to user
                prop.Caption = "Maintain at least this amount of disk space: (MB)";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    "Please specify here the amount of free disk space (in Megabytes, MB) you would like the plugin to always maintain." +
                    Environment.NewLine +
                    "When this limit is calculated to be exceeded, the archive extraction process in question will be skipped.";
                prop.DefaultValue = Settings.freespaceThreshold;
                prop.DataType = "int";
                return true;
            }

            return false;
        }
        internal static bool GetLibrarySynchronizersProperties
            (ImporterProperties importerProperties,
            int index, OptionSettings prop, ref int counter)
        {



            if (index == counter++)
            {
                prop.GroupName = "LibraryBackup";
                //set the internal name
                prop.Name = "LibraryBackupProp";
                //set name shown to user
                prop.GroupCaption = "                             Library Backup & Restore";
                prop.Caption = "Enable Library Backup and Restore";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = false;
                prop.DataType = "bool";
                prop.Dependencies =
                    "True:SHOW BackupMoviesSectionProp,BackupTvSeriesSectionsProp,BackupMusicSectionProp,RestoreSectionsProp,XmlBackupDirectoryProp" +
                    ";False:HIDE BackupMoviesSectionProp,BackupTvSeriesSectionsProp,BackupMusicSectionProp,RestoreSectionsProp,XmlBackupDirectoryProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "LibraryBackup";
                //set the internal name
                prop.Name = "BackupMoviesSectionProp";
                //set name shown to user
                prop.Caption = "Backup Movies Section";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = MediaFairy.Settings.EnableXmlBackupFilms;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "LibraryBackup";
                //set the internal name
                prop.Name = "BackupTvSeriesSectionsProp";
                //set name shown to user
                prop.Caption = "Backup TV Series Sections";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = MediaFairy.Settings.EnableXmlBackupTvSeries;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "LibraryBackup";
                //set the internal name
                prop.Name = "BackupMusicSectionProp";
                //set name shown to user
                prop.Caption = "Backup Music Section";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = MediaFairy.Settings.EnableXmlBackupMusic;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "LibraryBackup";
                //set the internal name
                prop.Name = "RestoreSectionsProp";
                //set name shown to user
                prop.Caption = "Restore Sections from backup";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = MediaFairy.Settings.EnableXmlRestore;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "LibraryBackup";
                //set the internal name
                prop.Name = "XmlBackupDirectoryProp";
                //set name shown to user
                prop.Caption = "XML backups directory";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = MediaFairy.Settings.XmlBackupsDirectory;
                prop.DataType = "folder";
                return true;
            }

            return false;
        }
        internal static bool MediaImportersProperties
            (ImporterProperties importerProperties, 
            int index, OptionSettings prop, 
            string[] twochoices, ref int counter)
        {

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WantFilesImportingProp";
                //set name shown to user
                prop.Caption = "Enable Media Importer";

                prop.Caption
                    = TranslationProvider.Translate
                    (prop.Caption, importerProperties);

                prop.GroupName = "MediaImporter";
                prop.GroupCaption = "                                 Media Importer";
                
                prop.HelpText = 
                    "The Automated Media Importer will scan the media directories you provide below" +
                    Environment.NewLine +
                    "and automatically recognize and import the media files of your desired media types" +
                    Environment.NewLine +
                    "in their respective library sections, depending on your preferences.";

                prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableMediaImporters;
                prop.DataType = "bool";
                prop.Dependencies =

                    "False:HIDE "
                    +
                    "WantToImportFilmsProp," +
                    "WantToImportMusicProp," +
                    "WantToImportTvSeriesProp," +
                    "WantMediaInfoProp," +
                    "WantToImportNewsProp"

                    +

                    ";False:HIDEGROUP "
                    +
                    "MediaAnalyzer,"
                    +
                    "MovieTitleLocator,"
                    +
                    "RSSimporter"

                    +

                    ";True:SHOW "
                    +
                    "WantToImportFilmsProp," +
                    "WantToImportMusicProp," +
                    "WantToImportTvSeriesProp," +
                    //"WantToImportBooksProp," +
                    //"WantToImportGamesProp," +
                    "WantMediaInfoProp," +
                    "WantToImportNewsProp"
                    +

                    ";True:SHOWGROUP "
                    +
                    "MediaAnalyzer";

                return true;
            }



            #region [DEPRECATED] Media Locations dialog

            //if (Index == counter++)
            //{
            //    //set the internal name
            //    Prop.Name = "ImportRootFolderProp";
            //    Prop.GroupName = "MediaImporter";
            //    //set name shown to user
            //    Prop.Caption = " Media Sources: ";
            //    //Prop.GroupCaption = "                                 Media Importer";
            //    //set the tool tip
            //    //Prop.IsMandatory = true;
            //    Prop.HelpText = "Please specify the local or network locations which contain the media files you want to import." + Environment.NewLine +
            //    "These directories can contain mixed media types and also any other type of files." + Environment.NewLine +
            //    "The built-in media type recognition engine will take care of importing each media file into its appropriate library section.";
            //    Prop.DefaultValue = Settings.ImportRootFolders;
            //    Prop.DataType = "folderlist";
            //    return true;
            //}

            #endregion



            #region Import Media Types

            #region Movies
            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WantToImportFilmsProp";
                prop.GroupName = "MediaImporter";
                //set name shown to user
                prop.Caption = "Import Films";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.HelpText = " Would you like the Automated Media Importer to import the films it finds in your root folders? ";
                prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableMovieImporter;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDEGROUP MovieTitleLocator" +
                                    ";True:SHOWGROUP MovieTitleLocator";
                return true;
            }
            #endregion

            if (MediaSections.FimImportingOptions(importerProperties, index, prop, twochoices, ref counter)) return true;

            #region TV Shows
            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WantToImportTvSeriesProp";
                prop.GroupName = "MediaImporter";
                //set name shown to user
                prop.Caption = "Import Tv Series";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //Prop.GroupCaption = "                                 Media Importer";
                //set the tool tip
                prop.HelpText =
                    "Would you like the Automated Media Importer to import the Tv Series episodes it finds in your root folders?";
                prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableTvSeriesImporter;
                prop.DataType = "bool";
                return true;
            }
            #endregion

            #region Music
            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WantToImportMusicProp";
                prop.GroupName = "MediaImporter";
                //set name shown to user
                prop.Caption = "Import Music";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //Prop.GroupCaption = "                                 Media Importer";
                //set the tool tip
                prop.HelpText =
                    "Would you like the Automated Media Importer to import the music tracks it finds in your root folders?";
                prop.DefaultValue = MediaImportersAndUpdatersCoreSettings.EnableMusicImporter;
                prop.DataType = "bool";
                return true;
            }
            #endregion

            #region RSS Feeds
            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WantToImportNewsProp";
                prop.GroupName = "MediaImporter";
                //set name shown to user
                prop.Caption = "Import RSS feeds";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //Prop.GroupCaption = "                                 Media Importer";
                //set the tool tip
                prop.HelpText = "Would you like to import RSS newsfeeds?";
                prop.DefaultValue = Settings.EnableRssImporter;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDEGROUP RSSimporter" +
                                    ";True:SHOWGROUP RSSimporter";
                return true;
            }
            #endregion

            //FUTURE: PC Games Importer
            #region PC Games Importer
            //if (index == counter++)
            //{
            //    //set the internal name
            //    prop.Name = "WantToImportGamesProp";
            //    prop.GroupName = "MediaImporter";
            //    //set name shown to user
            //    prop.Caption = "Import PC games ";
            //    prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
            //    //Prop.GroupCaption = "                                 Media Importer";
            //    //set the tool tip
            //    prop.HelpText =
            //        "Would you like the Automated Media Importer to import and download online details for the PC games in your game shortcuts' location?";
            //    prop.DefaultValue = Settings.EnableGamesImporter;
            //    prop.DataType = "bool";
            //    prop.Dependencies = "False:HIDE GameShortcutsProp" +
            //                        ";True:SHOW GameShortcutsProp";
            //    return true;
            //}
            #endregion

            //FUTURE: Books Importer
            #region Books Importer
            //if (index == counter++)
            //{
            //    //set the internal name
            //    prop.Name = "WantToImportBooksProp";
            //    prop.GroupName = "MediaImporter";
            //    //set name shown to user
            //    prop.Caption = "Import Books (reserved for future version) ";
            //    prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
            //    //Prop.GroupCaption = "                                 Media Importer";
            //    //set the tool tip
            //    prop.HelpText =
            //        "Would you like the Automated Media Importer to import the digital books it finds in your root folders?";
            //    prop.DefaultValue = Settings.EnableBooksImporter;
            //    prop.DataType = "bool";
            //    return true;
            //}
            #endregion


            #endregion




            #region Media Analyzer

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "EnableMediaDetectionProp";
                prop.GroupName = "MediaAnalyzer";
                //set name shown to user
                prop.Caption = "Automatically detect media types";

                prop.Caption 
                    = TranslationProvider.Translate
                    (prop.Caption, importerProperties);


                prop.GroupCaption = "                              Media Analyzer";
                //set the tool tip
                prop.HelpText = " This setting will determine if a media type analyzing process will be performed for each imported media file." + Environment.NewLine +
                "This analyzing process provides the media importer the ability to automatically recognize media files and distinguish their media type," + Environment.NewLine +
                "without requiring any user configuration and/or manual media collection organizing." + Environment.NewLine +
                "Please note however that with this feature enabled, the importing time may be significantly increased the first time you run the importer, especially with online files and/or large media collections." + Environment.NewLine +
                "Disabling this feature will improve the importing performance, but you will have to specify the root directories under which each media type is stored (under 'Override Media Analyzer' settings group)," + Environment.NewLine +
                "and those diretories will need to *only* contain media files belonging to the selected media type.";
              
                prop.DefaultValue = Settings.EnableMediaDetection;
                prop.DataType = "bool";
                return true;

            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "RescanFilesNotFoundInLibraryProp";
                prop.GroupName = "MediaAnalyzer";
                //set name shown to user
                prop.Caption = "Re-scan media files missing from library";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupCaption = "                              Media Analyzer";
                //set the tool tip
                prop.HelpText =
                    "This setting determines if media files already scanned (but currently not present in any media section) will be re-scanned and re-imported." +
                    Environment.NewLine +
                    "With a slight importing performance impact, this feature will resolve two problems:" + Environment.NewLine +
                    "1) Items which were removed by mistake will be re-imported." + Environment.NewLine +
                    "2) If any of the root media folders are set to a downloads location and the download is not completed before MediaFairy scans the media file for the first time," +
                    Environment.NewLine +
                    "it may not be detected as a media file and thus not imported." + Environment.NewLine +
                    "Having this option enabled however will force a re-scan of this media file on all subsequent runs until it is finally analyzed correctly and imported." +
                    Environment.NewLine +
                    "If none of the above functionality is needed for your routine usage, you may disable this option for a slight importing performance gain.";
                prop.DefaultValue = Settings.RescanFilesNotFoundInLibrary;
                prop.DataType = "bool";
                return true;
            }





            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WantMediaInfoProp";
                prop.GroupName = "MediaAnalyzer";
                //set name shown to user
                prop.Caption = "Import media information";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //Prop.GroupCaption = "                              Media Analyzer";
                //set the tool tip
                prop.HelpText =
                    "Modern themes for Meedio frontend have the capability to graphically display digital media information for films or series,\r for example the video/audio format or quality.\r Would you like the plugin to automatically import this information?";
                prop.DefaultValue = Settings.MediaInfoIsEnabled;
                prop.DataType = "bool";
                return true;
            }

            #endregion



            #region RSS Importer

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "RssFeedsProp";
                prop.GroupName = "RSSimporter";
                //set name shown to user
                prop.Caption = "RSS feeds to import: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupCaption = "                              RSS Importer";
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.RsSfeeds;
                prop.DataType = "stringlist";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "DownloadFeedImagesProp";
                prop.GroupName = "RSSimporter";
                //set name shown to user
                prop.Caption = "Download feed images";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.DownloadRsSimages;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE RSSimagesLocationProp" +
                                    ";True:SHOW RSSimagesLocationProp";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "RSSimagesLocationProp";
                prop.GroupName = "RSSimporter";
                //set name shown to user
                prop.Caption = "RSS images location: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.RSSimagesLocation;
                prop.DataType = "folder";
                return true;
            }

            #endregion




            //if (FileDatesImporterPropertiesGetter
            //    .GetFileDatesProperties
            //    (importerProperties, index,
            //    prop, ref counter))
            //    return true;


            //if (MediaWatcher.MediaWatcherProperties
            //    (importerProperties, index, prop, 
            //    twochoices, ref counter)) 
            //    return true;



            //if (ArchiveExtractor
            //    .ArchiveExtractorPropRerties
            //    (importerProperties, index,
            //    prop, ref counter)) 
            //    return true;



            return false;

        }
        internal static bool GetMediaOrganizersProperties
            (ImporterProperties importerProperties, 
             int index, OptionSettings prop,
             IList<string> twochoices, ref int counter)
        {



            #region Enable / disable media organizers




            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "MediaOrganizersProp";
                //set name shown to user
                prop.GroupCaption = "                         Media Organizers";
                prop.Caption = "Enable Media Organizers ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = false;
                prop.DataType = "bool";
                prop.Dependencies =
                    "False:HIDE WantSortingFilmsProp,WantSortingTvShowsProp,WantSortingMusicProp,PromptBeforeMovingProp,SortingDestinationFilmsProp,SortingDestinationTvShowsProp,SortingDestinationMusicProp" +
                    ";False:HIDEGROUP OrganizingStructures" +
                    ";True:SHOW WantSortingFilmsProp,WantSortingTvShowsProp,WantSortingMusicProp,PromptBeforeMovingProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "WantSortingFilmsProp";
                //set name shown to user
                //Prop.GroupCaption = "                         Media Organizer";
                prop.Caption = "Automatically organize films ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "If this option is enabled, MediaFairy will automatically move or rename the films" +
                                Environment.NewLine +
                                "which it has identified, accroding to your specifications below." + Environment.NewLine +
                                "This feature will ensure a default and well organized structure for your movie files and their related data. ";
                prop.DefaultValue = MeediFier.Settings.WantSortingFilms;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE SortingDestinationFilmsProp" +
                                    ";True:SHOW SortingDestinationFilmsProp" +
                                    ";True:SHOWGROUP OrganizingStructures";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "WantSortingTvShowsProp";
                //set name shown to user
                prop.Caption = "Automatically organize tv series ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    "If this option is enabled, MediaFairy will automatically move or rename the video files of tv series" +
                    Environment.NewLine +
                    "it has already identified, accroding to your specifications below." + Environment.NewLine +
                    "This feature will ensure a default and well organized structure for your TV series and their related files. ";
                prop.DefaultValue = MeediFier.Settings.WantSortingTvShows;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE SortingDestinationTvShowsProp" +
                                    ";True:SHOW SortingDestinationTvShowsProp" +
                                    ";True:SHOWGROUP OrganizingStructures";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "WantSortingMusicProp";
                //set name shown to user
                prop.Caption = "Automatically organize music";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "If this option is enabled, MediaFairy will automatically move or rename the audio tracks" +
                                Environment.NewLine +
                                "it has already identified, accroding to your specifications below." + Environment.NewLine +
                                "This feature will ensure a default and well organized structure for your audio files and their related data. ";
                prop.DefaultValue = MeediFier.Settings.WantSortingMusic;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE SortingDestinationMusicProp" +
                                    ";True:SHOW SortingDestinationMusicProp" +
                                    ";True:SHOWGROUP OrganizingStructures";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "PromptBeforeMovingProp";
                //set name shown to user
                prop.Caption = "Prompt me before any file operation";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "If you enable this option, MediaFairy will ask for your approval before performing" +
                                Environment.NewLine +
                                "any renaming or moving operation on media files. This option exists mainly for debugging purposes. ";
                prop.DefaultValue = MeediFier.Settings.PromptBeforeMoving;
                prop.DataType = "bool";
                return true;
            }

            #endregion

            #region Destination Directories

            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "SortingDestinationFilmsProp";
                //set name shown to user
                prop.Caption = "Destination directory for films: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = @"Please specify the destination directory in which you want your sorted films" +
                                Environment.NewLine +
                                "and their related files to be moved by MediaFairy." + Environment.NewLine +
                                "Tip: specify the folder where your films are already contained and a blank folder mask for a simple renaming.";
                prop.DefaultValue = MeediFier.Settings.SortingDestinationFilms;
                prop.DataType = "folder";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "SortingDestinationTvShowsProp";
                //set name shown to user
                prop.Caption = "Destination directory for tv series: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = @"Please specify the destination directory in which you want your sorted TV series episodes" +
                                Environment.NewLine +
                                "and their related files to be moved by MediaFairy." + Environment.NewLine +
                                "Tip: specify the folder where your TV episodes are already contained and blank folder mask for a simple renaming.";
                prop.DefaultValue = MeediFier.Settings.SortingDestinationTvShows;
                prop.DataType = "folder";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "AutoSorter";
                //set the internal name
                prop.Name = "SortingDestinationMusicProp";
                //set name shown to user
                prop.Caption = "Destination directory for music: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = @"Please specify the destination directory where you want your sorted music tracks" +
                                Environment.NewLine +
                                "and their related files to be moved by MediaFairy." + Environment.NewLine +
                                "Tip: specify the folder where your audio tracks are already contained and blank folder mask for a simple renaming.";
                prop.DefaultValue = MeediFier.Settings.SortingDestinationMusic;
                prop.DataType = "folder";
                return true;
            }

            #endregion

            #region Organizing Structures

            if (index == counter++)
            {
                prop.GroupName = "OrganizingStructures";
                //set the internal name
                prop.Name = "DirectoryStructureProp";
                //set name shown to user
                prop.Caption = "Preferred directory structures: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "What is the directory structure in which you want your media files to be organized?" +
                                Environment.NewLine +
                                "MediaFairy will use known information relevant to each media type" + Environment.NewLine +
                                "to give the appropriate naming to folders and media files, according to your selected Media Organizer operating mode:" +
                                Environment.NewLine +
                                "'Simple' mode will use the default directory structures for each media type," +
                                Environment.NewLine +
                                "while 'Advanced' lets you specify your own directory structure for each media type using a tag mask." +
                                Environment.NewLine +
                                "Please refer to the plugin's Wiki web page for more information on directory structures. ";
                prop.DefaultValue = MeediFier.Settings.DirectoryStructure;
                prop.DataType = "string";

                twochoices[0] = "Simple- Default directory structures";
                twochoices[1] = "Advanced- specify directory tag masks below";

                prop.Choices = twochoices;
                prop.CanTypeChoices = false;
                prop.Dependencies =
                    "Simple- Default directory structures:HIDE DirectoryTagMaskFilmsProp,DirectoryTagMaskTvShowsProp,DirectoryTagMaskMusicProp" +
                    ";Advanced- specify directory tag masks below:SHOW DirectoryTagMaskFilmsProp,DirectoryTagMaskTvShowsProp,DirectoryTagMaskMusicProp";

                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "OrganizingStructures";
                //set the internal name
                prop.Name = "DirectoryTagMaskFilmsProp";
                //set name shown to user
                prop.Caption = "Folder tag mask for films? ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = " Please type your desired folder structure in the form of a tag mask." + Environment.NewLine +
                                "For each additional directory level you want to be created based on the value of an item's specific tag," +
                                Environment.NewLine +
                                "include this folder name in < and > brackets." + Environment.NewLine +
                                "For example, if you wanted your directory structure to include a folder for Film Genres" +
                                Environment.NewLine +
                                "and below this level each movie to reside in it's own folder named after the film's name," +
                                Environment.NewLine +
                                @"you would use this tag mask: <Genre>\<Title> . ";
                prop.DefaultValue = MeediFier.Settings.DirectoryTagMaskFilms;
                prop.DataType = "string";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "OrganizingStructures";
                //set the internal name
                prop.Name = "DirectoryTagMaskTvShowsProp";
                //set name shown to user
                prop.Caption = "Folder tag mask for tv shows? ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    @" Please type your desired folder structure in the form of a tag mask. For each additional directory level you want to be created based on the value of an item's specific tag, include this folder name in < and > brackets. For example, if you wanted your directory structure to include a folder for Film Genres and below this level each movie to reside in it's own folder named after the film's name, you would use this tag mask: <Genre>\<Title> . ";
                prop.DefaultValue = MeediFier.Settings.DirectoryTagMaskTvShows;
                prop.DataType = "string";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "OrganizingStructures";
                //set the internal name
                prop.Name = "DirectoryTagMaskMusicProp";
                //set name shown to user
                prop.Caption = "Folder tag mask for music? ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    @" Please type your desired folder structure in the form of a tag mask. For each additional directory level you want to be created based on the value of an item's specific tag, include this folder name in < and > brackets. For example, if you wanted your directory structure to include a folder for Film Genres and below this level each movie to reside in it's own folder named after the film's name, you would use this tag mask: <Genre>\<Title> . ";
                prop.DefaultValue = MeediFier.Settings.DirectoryTagMaskMusic;
                prop.DataType = "string";
                return true;
            }

            #endregion

            return false;
        }
        internal static bool GetFilmBackdropsLocationProperties
            (ImporterProperties importerProperties, int index, OptionSettings prop,
             string[] twochoices, ref int counter)
        {




            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WhereToSaveBackdropProp";
                //set name shown to user
                prop.Caption = "Where to store fanart?";

                prop.Caption
                    = TranslationProvider.Translate
                        (prop.Caption, importerProperties);


                //set the tool tip
                prop.GroupName = "FilmBackdrops";
                prop.GroupCaption = "                     Film fanart Settings";


                prop.HelpText = "Do you want the backdrop/fanart image " +
                                "for each movie to be saved in the movie's folder" +
                                " or to a specific folder of your choice?";

                prop.DefaultValue = Importer.WhereToSaveBackdrop;
                Prop.DataType = "string";
                twochoices[0] = "in the movie's folder";
                twochoices[1] = "in the folder i specify below";
                Prop.Choices = twochoices;
                Prop.CanTypeChoices = false;

                Prop.Dependencies = "in the movie's folder:HIDE BackdropFolderProp" +
                                    ";in the folder i specify below:SHOW BackdropFolderProp";
                return true;
            }

            if (Index == counter++)
            {
                //set the internal name
                Prop.Name = "BackdropFolderProp";
                //set name shown to user
                Prop.Caption = "Fanart folder: ";
                Prop.Caption = TranslationProvider.Translate(Prop.Caption, importerProperties);
                Prop.GroupName = "FilmBackdrops";
                //set the tool tip
                Prop.HelpText =
                    @"Please specify the folder in which you want downloaded Fanart to be saved. (Only applicabe if option above is *not* set to 'Movie's folder') ";
                Prop.DefaultValue = Importer.BackdropFolder;
                Prop.DataType = "folder";
                Prop.CanTypeChoices = false;
                return true;
            }

            if (Index == counter++)
            {
                //set the internal name
                Prop.Name = "BackdropNamingChoice";
                //set name shown to user
                Prop.Caption = "Fanart naming convention: (tag mask) ";
                Prop.Caption = TranslationProvider.Translate(Prop.Caption, importerProperties);
                Prop.GroupName = "FilmBackdrops";
                //set the tool tip
                Prop.HelpText = "Please enter here your desired fanart naming convention in a form of a tag mask." +
                                Environment.NewLine +
                                "For example, the default tag mask '<IMDbID>_backdrop' will store the backdrop image as the varialbe film's IMDb number followed by the '_backdrop' suffix ." +
                                Environment.NewLine +
                                "Please make sure that any text strings contained in '<>' refer to the names of existing tags of your Movies media section.";
                Prop.DefaultValue = Importer.BackdropNamingMethod;
                Prop.DataType = "string";
                Prop.CanTypeChoices = true;
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "OverwriteBackdropChoice";
                //set name shown to user
                prop.Caption = "Overwrite existing fanart? ";

                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);

                prop.GroupName = "FilmBackdrops";
                //set the tool tip

                prop.HelpText = "If a backdrop already exists" +
                                " in your specified location, " +
                                "should MediaFairy to download" +
                                " a new backdrop and overwrite the original?";


                prop.DefaultValue = Importer.OverwriteExistingBackdrops;
                prop.DataType = "bool";
                return true;
            }


            return false;
        }
        internal bool GetDiagnosticsProperties(ImporterProperties importerProperties,
            int index,  IMeedioPluginProperty prop, ref int counter)
        {
            #region Diagnostics Properties

            //if (index == counter++)
            //{

            //    //set the internal name
            //    prop.Name = "ConnectionDiagnosticsProp";
            //    //set name shown to user
            //    prop.Caption = "Enable internet connection diagnostic? ";
            //    prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
            //    prop.GroupCaption = "                               Diagnostics";

            //    //set the tool tip
            //    prop.HelpText =
            //        "Should AVSI test for internet connection and online databases availability before attempting to download data?" +
            //        Environment.NewLine +
            //        "This feature will help the importer recognize offline or problematic sources and avoid using them," +
            //        Environment.NewLine +
            //        "preventing failed retries, minimizing delays and improving importing times in those situations.";

            //    prop.DefaultValue = Settings.ConnectionDiagnosticsEnabled;
            //    prop.DataType = "bool";
            //    return true;

            //}

            //if (index == counter++)
            //{
            //    //set the internal name
            //    prop.Name = "DisableSourcesProp";
            //    //set name shown to user
            //    prop.Caption = "Disable problematic sources? ";

            //    prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
            //    //set the tool tip
            //    prop.HelpText = " Should unconnectable online sources be disabled " +
            //                    "for the rest of an importing session? ";
            //    prop.DataType = "bool";
            //    return true;
            //}

            if (index == counter++)
            {
                prop.GroupCaption = "                               Diagnostics";
                //set the internal name
                prop.Name = "FileserverDiagnosticsProp";

                //set name shown to user
                prop.Caption = "Enable media server diagnostic? ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip

                prop.HelpText =
                    "Should AVSI check if your network disk is online and accessible before attempting to read or transfer any data?" +
                    Environment.NewLine +
                    "This feature will prevent failed attempts to access network disks and improve importing times in those cases.";

                prop.DefaultValue = Settings.WantFileserverDiagnostics;
                prop.DataType = "bool";

                return true;

            }

            #endregion

            return false;
        }
        internal static bool GetFilmReleasesUpdaterProperties
            (ImporterProperties importerProperties,
             int index, OptionSettings prop, ref int counter)
        {



            if (index == counter++)
            {
                prop.GroupName = "RssUpdater";
                //set the internal name
                prop.Name = "EnableFilmReleasesProp";
                //set name shown to user
                prop.GroupCaption = "                        RSS Releases Updater";
                prop.Caption = "Download film releases via BitTorrent";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);

                //set the tool tip
                prop.HelpText =
                    "The Film Releases Updater will scan for new film releases the rss feeds you provide in the RSS Sources.txt file (in the plugin's direcotry), \n  and download those films using your default BitTorrent client. Adittional filters can be provided like the film's production year or IMDb rating.  ";
                prop.DefaultValue = Settings.DownloadFilmReleases;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE FilmRatingMinProp,TorrentsFolderProp" +
                                    ";True:SHOW FilmRatingMinProp,TorrentsFolderProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "RssUpdater";
                //set the internal name
                prop.Name = "TorrentsFolderProp";
                //set name shown to user
                prop.Caption = "Store torrent files in: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = @"Please specify the folder where downloaded torrent files should be stored. ";
                prop.DefaultValue = Settings.TorrentsFolder;
                prop.DataType = "folder";
                prop.CanTypeChoices = false;
                return true;
            }

            //if (Index == counter++)
            //{
            //    //set the internal name
            //    Prop.Name = "FilmReleasesRssProp";
            //    //set name shown to user
            //    Prop.Caption = " RSS feeds for films releases: ";
            //    //set the tool tip
            //    Prop.HelpText = "Please provide here the rss feed URLs which will be scanned for new film releases. Important Notice: Please make sure that the sources you provide contain public domain media, in order to comply with copyright regulations.  ";
            //    Prop.DefaultValue = Importer.FilmsRssFeeds;
            //    Prop.DataType = "stringlist";
            //    return true;
            //}


            if (index == counter++)
            {
                prop.GroupName = "RssUpdater";
                //set the internal name
                prop.Name = "FilmRatingMinProp";
                prop.Caption = "Minimum film IMDb rating: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    "This value represents the minimum IMDb rating that a film must have, in order to be downloaded. Set this value to zero (0) to disable the rating filter.";
                prop.DefaultValue = Settings.FilmRatingMin2;
                prop.DataType = "string";

                return true;
            }

            return false;
        }
        internal static bool GetMediaArchiversProperties
            (ImporterProperties importerProperties, 
             int index, OptionSettings prop, 
             IList<string> twochoices, ref int counter)
        {




            if (index == counter++)
            {
                prop.GroupName = "MediaArchiver";
                //set the internal name
                prop.Name = "MediaArchiversProp";
                //set name shown to user
                prop.GroupCaption = "                      Media Archivers (reserved for future version)";
                prop.Caption = "Enable Media Archivers";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = false;
                prop.DataType = "bool";
                prop.Dependencies = "True:SHOW FilmArchiverProp" +
                                    ";False:HIDE FilmArchiverProp,ArchiveWatchedFilmsProp,ArchiveOldFilmsProp,ArchivePreferenceFilmsProp,ArchiveLocationProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "MediaArchiver";
                //set the internal name
                prop.Name = "FilmArchiverProp";
                //set name shown to user
                prop.Caption = "Archive Films";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    "If you enable this option, the built-in archiver will compress and store (in the directory you provide below)" +
                    Environment.NewLine +
                    "a zip archive for each watched film,  containing the entire film's directory." + Environment.NewLine +
                    "The original directory containing the film will be deleted, but only when the archiving operation is succesfull." +
                    Environment.NewLine +
                    "Please note that in order to determine if a film is watced or not, the plugin will look for a tag named 'Watched' in your film library.";
                prop.DefaultValue = false;
                prop.DataType = "bool";
                prop.Dependencies = "True:SHOW ArchiveWatchedFilmsProp,ArchiveOldFilmsProp" +
                                    ";False:HIDE ArchiveWatchedFilmsProp,ArchiveOldFilmsProp,ArchivePreferenceFilmsProp,ArchiveLocationProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "MediaArchiver";
                //set the internal name
                prop.Name = "ArchiveWatchedFilmsProp";
                //set name shown to user
                prop.Caption = "Archive watched films";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ArchiveWatchedFilms;
                prop.DataType = "bool";
                prop.Dependencies = "True:SHOW ArchivePreferenceFilmsProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "MediaArchiver";
                //set the internal name
                prop.Name = "ArchiveOldFilmsProp";
                //set name shown to user
                prop.Caption = "Archive Old Films";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ArchiveOldFilms;
                prop.DataType = "bool";
                prop.Dependencies = "True:SHOW ArchivePreferenceFilmsProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "MediaArchiver";
                //set the internal name
                prop.Name = "ArchivePreferenceFilmsProp";
                //set name shown to user
                prop.Caption = "Archive preference for films: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = "Delete";
                prop.DataType = "string";
                twochoices[0] = "Archive";
                twochoices[1] = "Delete";
                prop.Choices = twochoices;
                prop.CanTypeChoices = false;
                prop.Dependencies = "Delete:HIDE ArchiveLocationProp" +
                                    ";Archive:SHOW ArchiveLocationProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "MediaArchiver";
                //set the internal name
                prop.Name = "ArchiveLocationProp";
                //set name shown to user
                prop.Caption = "Directory to store archives: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "Please specify the directory in which the zip archives of your watched films will be stored: ";
                prop.DefaultValue = Settings.ArchiveLocation;
                prop.DataType = "folder";
                return true;
            }

            return false;
        }
        internal static bool GetLibraryManagementProperties
            (ImporterProperties importerProperties,
             int index, OptionSettings prop, ref int counter)
        {




            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "ExtractMetadataFromFilenamesProp";
                //set name shown to user
                prop.GroupCaption = "                             Library Management";
                prop.Caption = "Clean and extract metadata from filenames";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "This option enables the program's ability to recognize and extract key information" +
                                Environment.NewLine +
                                "about media files from their filenames, and clean them by removing unessecarry information." +
                                Environment.NewLine +
                                "Warning: Disabling this option may compromise the performance and accuraccy of the automated film and tv series identifiers.";
                prop.DefaultValue = MeediFier.Settings.ExtractMetadataFromFilenames;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "EnableChainLinkingProp";
                //set name shown to user
                prop.Caption = "Link orphaned video files";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "If this setting is enabled, the films section updater will scan and link together" +
                                Environment.NewLine +
                                "multiple video files of the same film, using the film's unique id.";
                prop.DefaultValue = MeediFier.Settings.FilmItemChainLinkerIsEnabled;
                prop.DataType = "bool";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "DeleteMissingProp";
                //set name shown to user
                prop.Caption = "Delete missing library items";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    "This feature will automatically delete library items which refer to non-existent (deleted) files." +
                    Environment.NewLine +
                    "The media server diagnostic will ensure that the items located in your file server will not be accidentaly deleted if the server is offline. ";
                prop.DefaultValue = MeediFier.Settings.DeleteMissing;
                prop.DataType = "bool";
                prop.Dependencies =
                    "False:HIDE DeleteCoverImageOfMissingMediaFilesProp,DeleteFanartImageOfMissingMediaFilesProp" +
                    ";True:SHOW DeleteCoverImageOfMissingMediaFilesProp,DeleteFanartImageOfMissingMediaFilesProp";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "DeleteCoverImageOfMissingMediaFilesProp";
                //set name shown to user
                prop.Caption = "Delete cover images of missing media files";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "Enable this setting for the plugin to automatically delete" + Environment.NewLine +
                                "any left-over cover images of media files which were deleted. (but their entries are still present in library)";
                prop.DefaultValue = MeediFier.Settings.DeleteCoverImageOfMissingMediaFiles;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "DeleteFanartImageOfMissingMediaFilesProp";
                //set name shown to user
                prop.Caption = "Delete fanart images of missing media files";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "Enable this setting for the plugin to automatically delete" + Environment.NewLine +
                                "any left-over fanart images of media files which were deleted. (but their entry is still present in library)";
                prop.DefaultValue = MeediFier.Settings.DeleteFanartImageOfMissingMediaFiles;
                prop.DataType = "bool";
                return true;
            }


            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "ClearEmptyFieldsProp";
                //set name shown to user
                prop.Caption = "Remove empty library fields";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "If you enable this option, MediaFairy will remove all empty tags in your library." +
                                Environment.NewLine +
                                "Only the tags that have all their values empty will be removed." + Environment.NewLine +
                                "Enabling this option will ensure a cleaner library and faster library accessing operations. ";
                prop.DefaultValue = MeediFier.Settings.CleanEmptyFields;
                prop.DataType = "bool";
                return true;
            }


            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "CleanSelectedFieldsProp";
                //set name shown to user
                prop.Caption = "Remove selected library fields: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "If you enable this option, MediaFairy will remove the library fields you specify below." +
                                Environment.NewLine +
                                "You can use this option to delete uneeded/unwanted library tags which other importers may have created.";
                prop.DefaultValue = MeediFier.Settings.CleanSelectedFields;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE SelectedFieldsToCleanProp" +
                                    ";True:SHOW SelectedFieldsToCleanProp";
                return true;
            }


            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "SelectedFieldsToCleanProp";
                //set name shown to user
                prop.Caption = "Which tags to delete? ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = " Please specify here the names of the tags to remove, seperating with a comma (,) ";
                prop.DefaultValue = MeediFier.Settings.SelectedFieldsToClean;
                prop.DataType = "string";
                return true;
            }


            //if (index == counter++)
            //{
            //    prop.GroupName = "LibraryCleanup";
            //    //set the internal name
            //    prop.Name = "MovieNightCompatibleProp";
            //    //set name shown to user
            //    prop.Caption = "MovieNight compatibility (for Meedio version)";
            //    prop.Caption = TranslationProvider.Translate(prop.Caption, this);
            //    //set the tool tip
            //    prop.HelpText = "Enable this setting if you are a user of MovieNight media module for Meedio." + Environment.NewLine +
            //                    "Your film library tags in this case will be named according to this module's definitions.";
            //    prop.DefaultValue = Settings.MovieNightCompatibility;
            //    prop.DataType = "bool";
            //    return true;
            //}


            if (index == counter++)
            {
                prop.GroupName = "LibraryCleanup";
                //set the internal name
                prop.Name = "MeePopupProviderCompatibilityProp";
                //set name shown to user
                prop.Caption = "MeePopupProvider compatibility (for MeediOS version)";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "Enable this setting if you are a user of MeePopupProvider for MeediOS." + Environment.NewLine +
                                "A 'meePopupProvider' field will be added to all media sections containing each item's ID number.";
                prop.DefaultValue = MeediFier.Settings.MeePopupProviderCompatibility;
                prop.DataType = "bool";
                return true;
            }

            return false;
        }
        internal static bool GetGeneralContentDownloaderProperties
            (ImporterProperties importerProperties,
             int index, OptionSettings prop, ref int counter)
        {




            if (index == counter++)
            {
                prop.GroupName = "OnlineMediaDownloader";
                //set the internal name
                prop.Name = "DownloadOnlineContentProp";
                prop.GroupCaption = "                     Online Media Downloader";
                //set name shown to user
                prop.Caption = "Download online files ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "MediaFairy can automatically download any online media file (from the web or ftp address)" +
                                Environment.NewLine +
                                "which is contained in the field you specify in the 'Online content library field' option below,  and save it to the folder you specify." +
                                Environment.NewLine +
                                "Please refer to the plugin's documentation for more information and usage paradigms.";
                prop.DefaultValue = Settings.DownloadOnlineContent;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE OnlineContentFieldProp,DownloadFolderProp" +
                                    ";True:SHOW OnlineContentFieldProp,DownloadFolderProp";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "OnlineMediaDownloader";
                //set the internal name
                prop.Name = "OnlineContentFieldProp";
                //set name shown to user
                prop.Caption = "Online media library fields: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    " Please specify here the library fields (Tags) in which the online files you desire to store locally are contained." +
                    Environment.NewLine +
                    "MediaFairy will download the online files to which the links contained in these tags are referring,  and replace them with the disk paths of the local files those links were downloaded to." +
                    Environment.NewLine +
                    "Please input those tag names by either clicking the '...' button and typing a tag name *or* by typing the tag names directly in the input box, seperating with a comma (,)." +
                    Environment.NewLine +
                    "MediaFairy will search for those tags in all currently supported media libraries and save the online files they contain in the local locations you specify below. ";
                prop.DefaultValue = Settings.OnlineContentFields;
                prop.DataType = "stringlist";
                return true;
            }


            if (index == counter++)
            {
                prop.GroupName = "OnlineMediaDownloader";
                //set the internal name
                prop.Name = "DownloadFolderProp";
                //set name shown to user
                prop.Caption = "Save online media in: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = @"Please specify the folder in which you want downloaded online content to be saved. ";
                prop.DefaultValue = Settings.DownloadFolder;
                prop.DataType = "folder";
                return true;
            }


            return false;
        }
        internal static bool MediaWatcherProperties
            (ImporterProperties importerProperties,
             int index, OptionSettings prop,
             string[] twochoices, ref int counter)
        {



            #region Media Watcher

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "EnableMediaWatcherProp";
                prop.GroupName = "MediaWatcher";
                //set name shown to user
                prop.Caption = "Enable Media Watcher?";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupCaption = "                  Media Watcher";
                //set the tool tip
                //TODO: Add help tooltip
                prop.HelpText = "";
                prop.DefaultValue = Settings.MediaWatcherEnabled;
                prop.DataType = "bool";
                prop.Dependencies =
                    "False:HIDE UseRootFoldersAsDirsToWatchProp,DirectoriesToWatchProp,IncludeSubdirectoriesProp,ItemsAdditionModeProp,UseAutoSorterForMediaWatcherProp" +
                    ";True:SHOW UseRootFoldersAsDirsToWatchProp,IncludeSubdirectoriesProp,ItemsAdditionModeProp,UseAutoSorterForMediaWatcherProp";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "UseRootFoldersAsDirsToWatchProp";
                prop.GroupName = "MediaWatcher";
                //set name shown to user
                prop.Caption = "Use Root media folders as directories to watch";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                //TODO: Add help tooltip
                prop.HelpText = "";
                prop.DefaultValue = Settings.UseRootFoldersAsDirsToWatch;
                prop.DataType = "bool";
                prop.Dependencies = "False:SHOW DirectoriesToWatchProp" +
                                    ";True:HIDE DirectoriesToWatchProp";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "DirectoriesToWatchProp";
                prop.GroupName = "MediaWatcher";
                //set name shown to user
                prop.Caption = "Directories to Watch: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                //TODO: Add help tooltip
                prop.HelpText = "";
                prop.DefaultValue = Settings.DirectoriesToWatch;
                prop.DataType = "folder";
                //Prop.Dependencies = "False:SHOW AnalyzerOverrides" +
                //";True:HIDE AnalyzerOverrides";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "IncludeSubdirectoriesProp";
                prop.GroupName = "MediaWatcher";
                //set name shown to user
                prop.Caption = "Include subdirectories";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                //TODO: Add help tooltip
                prop.HelpText = "";
                prop.DefaultValue = Settings.IncludeSubdirectories;
                prop.DataType = "bool";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "ItemsAdditionModeProp";
                prop.GroupName = "MediaWatcher";
                //set name shown to user
                prop.Caption = "Addition Mode for new items: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                //TODO: Add help tooltip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ItemsAdditionMode;
                prop.DataType = "string";
                twochoices[0] = "Import Only";
                twochoices[1] = "Import and Update";
                prop.CanTypeChoices = false;
                prop.Choices = twochoices;
                prop.IsMandatory = false;
                //Prop.Dependencies = "in the movie's folder:HIDE PosterFolderProp" +
                //";in the folder i specify below:SHOW PosterFolderProp";
                return true;
            }

            if (index == counter++)
            {
                //set the internal name
                prop.Name = "UseAutoSorterForMediaWatcherProp";
                prop.GroupName = "MediaWatcher";
                //set name shown to user
                prop.Caption = "Organize imported files using Media Organizer settings";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                //TODO: Add help tooltip
                prop.HelpText = "";
                prop.DefaultValue = Settings.UseAutoSorterForMediaWatcher;
                prop.DataType = "bool";
                return true;
            }

            #endregion


            return false;


        }//endof function
        internal static bool GetFilmDetailsProperties
            (ImporterProperties importerProperties, int index, OptionSettings prop,
             IList<string> twochoices, ref int counter)
        {



            if (index == counter++)
            {
                //set the internal name
                prop.Name = "PopulateIMDbDetailsProp";
                //set name shown to user
                prop.Caption = "Download Film Details from IMDb";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupCaption = "                              Film Details";
                prop.GroupName = "FilmDetails";
                //set the tool tip
                prop.HelpText = "Would you like to use IMDb (International Movie Database) to download details for your films?";
                prop.DefaultValue = MeediFier.Settings.FilmIMDbDetailsDownloaderIsEnabled;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                //set the internal name
                prop.Name = "PopulateOSdbDetailsProp";
                //set name shown to user
                prop.Caption = "Download Film Details from OSdb";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupName = "FilmDetails";
                //set the tool tip
                prop.HelpText = "Would you like to use OSdb (opensubtitles.org) as one of the film details online sources?" +
                                Environment.NewLine +
                                "MediaFairy will download film details from OSdb only if IMDb is offline or unreachable";
                prop.DefaultValue = MeediFier.Settings.FilmOSDbDetailsDownloaderIsEnabled;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                //set the internal name
                prop.Name = "PopulateTMDbDetailsProp";
                //set name shown to user
                prop.Caption = "Download additional film details from TMDb";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupName = "FilmDetails";
                //set the tool tip
                prop.HelpText = " Would you like additional film details to be downloaded from TMDb (www.themoviedb.org)?" +
                                Environment.NewLine +
                                "(TMDb Rating, Media Type, Budget, Revenue, film HomePage, Production Countries, Trailer)";
                prop.DefaultValue = MeediFier.Settings.TMDbFilmDetailsEnabled;
                prop.DataType = "bool";
                return true;
            }


            //if (index == counter++)
            //{
            //    //set the internal name
            //    prop.Name = "PopulateAMGDetailsProp";
            //    //set name shown to user
            //    prop.Caption = "Download additional film details from AMG";
            //    prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
            //    prop.GroupName = "FilmDetails";
            //    //set the tool tip
            //    prop.HelpText = " Would you like additional film details to be downloaded from AMG (allmovie.com)?" +
            //                    Environment.NewLine +
            //                    "(Plot synopsis, Editorial review, Category, Types, Flags, Keywords, Themes, Tones)";
            //    prop.DefaultValue = MediaFairy.Settings.AllMediaGuideFilmDetailsEnabled;
            //    prop.DataType = "bool";
            //    return true;
            //}



            //if (index == counter++)
            //{
            //    //set the internal name
            //    prop.Name = "PopulateSevenVideoNetDetailsProp";
            //    //set name shown to user
            //    prop.Caption = "Download Greek film details from Seven Video Net";
            //    prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
            //    prop.GroupName = "FilmDetails";
            //    //set the tool tip
            //    prop.HelpText =
            //        " Would you like to automatically download Greek film details from Seven Video Net (videoseven.gr)?";
            //    prop.DefaultValue = MediaFairy.Settings.SevenFilmDetailsEnabled;
            //    prop.DataType = "bool";
            //    return true;
            //}




            if (index == counter++)
            {
                //set the internal name
                prop.Name = "WriteFilmDescriptorsProp";
                //set name shown to user
                prop.Caption = "Save film descriptors ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupName = "FilmDetails";
                //set the tool tip
                prop.HelpText =
                    "Film descriptors are standrard .xml files which contain a film's identifying information and details." +
                    Environment.NewLine +
                    "If this feature is enabled, a film descriptor will be saved (in the film's directory) for each film the plugin successfully identifies." +
                    Environment.NewLine +
                    "This procedure offers greatly increased updating performance if/when the film needs to be imported again," +
                    Environment.NewLine +
                    "because if a film descriptor is found, the plugin will use this file to obtain the film's details, thus skipping the video identifying phase. ";
                prop.DefaultValue = MeediFier.Settings.FilmDescriptorsAreEnabled;
                prop.DataType = "bool";
                return true;
            }


            if (index == counter++)
            {
                //set the internal name
                prop.Name = "FilmDescriptorConventionProp";
                //set name shown to user
                prop.Caption = "Film descriptors naming convention ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                prop.GroupName = "FilmDetails";
                //set the tool tip
                prop.HelpText = "Which naming convention would you like to use for your film descriptors?" + Environment.NewLine +
                                "MediaFairy is compatible with XBMC's .nfo files." + Environment.NewLine +
                                "MediaFairy's film descriptors are named <VideoHash>.xml while XBMC's are named <MovieName>.nfo";
                prop.DefaultValue = MeediFier.Settings.FilmDescriptorConvention;
                prop.DataType = "string";
                prop.CanTypeChoices = false;
                twochoices[0] = "MediaFairy";
                twochoices[1] = "XBMC";
                prop.Choices = twochoices;
                return true;
            }

            return false;
        }
        internal static bool ConfigurationModeProperty
            (ImporterProperties importerProperties, 
            int index, OptionSettings prop, ref int counter)
        {






            if (index == counter++)
            {
                prop.Name = "Mode";
                prop.Caption = "Configuration Mode: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);

                prop.HelpText = "The Configuration Mode menu categorizes the available settings of the plugin" +
                                Environment.NewLine +
                                " according to the following settings groups:" + Environment.NewLine +
                                "Media Sections, Media Importers, Media Importing Settings, " + Environment.NewLine + 
                                "Media Updaters, Media Updaters Settings," + Environment.NewLine + 
                                " Media Organizers, User Interface Settings, Tools, Compatibility";
                
                prop.DataType = "string";


                prop.Choices = new[]
                {"Media Sections", 
                 "Media Importers",
                 "Media Updaters",
                 "Media Organizers",
                 "Advanced"};
                
                
                prop.CanTypeChoices = false;
                prop.Dependencies =

                    #region Media Sections

                    "Media Sections:HIDEGROUP"
                    +
                    " MediaImporter,"
                    +
                    "MediaAnalyzer,"
                    +
                    "MovieTitleLocator,"
                    +
                    "MediaUpdaters,"
                    +
                    "FilmUpdater,"
                    +
                    "TvUpdater,"
                    +
                    "MusicUpdater,"
                    +
                    "VideoIdentifier,"
                    +
                    "FilmDetails,"
                    +
                    "FilmCovers,"
                    +
                    "AlbumCovers,"
                    +
                    "AutoSorter,"
                    +
                    "OrganizingStructures,"
                    +
                    "Diagnostics,"
                    +
                    "LibraryCleanup,"
                    +
                    "UserInterface,"
                    +
                    "RSSimporter"


                    +


                    ";Media Sections:"
                    +
                    "SHOWGROUP "
                    +
                    "MediaSections"

                    #endregion Media Sections




                    +




                    #region Media Importers

                    ";Media Importers:HIDEGROUP"
                    +
                    " MediaSections,"
                    +
                    "MediaAnalyzer,"
                    +
                    "MovieTitleLocator,"
                    +
                    "MediaUpdaters,"
                    +
                    "FilmUpdater,"
                    +
                    "TvUpdater,"
                    +
                    "MusicUpdater,"
                    +
                    "VideoIdentifier,"
                    +
                    "FilmDetails,"
                    +
                    "FilmCovers,"
                    +
                    "AlbumCovers,"
                    +
                    "AutoSorter,"
                    +
                    "OrganizingStructures,"
                    +
                    "Diagnostics,"
                    +
                    "LibraryCleanup,"
                    +
                    "UserInterface,"
                    +
                    "RSSimporter"


                    +


                    ";Media Importers:"
                    +
                    "SHOWGROUP "
                    +
                    "MediaImporter"


                    #endregion Media Importers





                    +




                    #region Media Updaters

                    ";Media Updaters:"
                    +
                    "SHOWGROUP "
                    +
                    "MediaUpdaters"


                    +


                    ";Media Updaters:HIDEGROUP "
                    +
                    "MediaSections,"
                    +
                    "MediaImporter,"
                    +
                    "MediaAnalyzer,"
                    +
                    "MovieTitleLocator,"
                    +
                    "AutoSorter,"
                    +
                    "OrganizingStructures,"
                    +
                    "Diagnostics,"
                    +
                    "LibraryCleanup,"
                    +
                    "UserInterface,"
                    +
                    "RSSimporter"







                    #endregion Media Updaters



                    +











                    #region Media Organizers

                    ";Media Organizers:"
                    +
                    "SHOWGROUP "
                    +
                    "AutoSorter"

                    +

                    ";Media Organizers:"
                    +
                    "HIDEGROUP "
                    +
                    "MediaSections,"
                    +
                    "MediaImporter,"
                    +
                    "MediaAnalyzer,"
                    +
                    "MovieTitleLocator,"
                    +
                    "RSSimporter,"
                    +
                    "MediaUpdaters,"
                    +
                    "FilmUpdater,"
                    +
                    "TvUpdater,"
                    +
                    "MusicUpdater,"
                    +
                    "VideoIdentifier,"
                    +
                    "FilmDetails,"
                    +
                    "FilmCovers,"
                    +
                    "AlbumCovers,"
                    +
                    "Diagnostics,"
                    +
                    "LibraryCleanup,"
                    +
                    "UserInterface"



                    #endregion Media Organizers





                    +




                    #region Advanced

                    ";Advanced:"
                    +
                    "SHOWGROUP "
                    +
                    "AutoSorter,"
                    +
                    "Diagnostics,"
                    +
                    "LibraryCleanup,"
                    +
                    "UserInterface"


                    +


                    ";Advanced:HIDEGROUP "
                    +
                    "MediaSections,"
                    +
                    "MediaImporter,"
                    +
                    "MediaAnalyzer,"
                    +
                    "MovieTitleLocator,"
                    +
                    "RSSimporter,"
                    +
                    "MediaUpdaters,"
                    +
                    "FilmUpdater,"
                    +
                    "TvUpdater,"
                    +
                    "MusicUpdater,"
                    +
                    "VideoIdentifier,"
                    +
                    "FilmDetails,"
                    +
                    "FilmCovers,"
                    +
                    "AlbumCovers";



                    #endregion Advanced








                prop.GroupName = "misc";
                prop.DefaultValue = "Simple";
                return true;


            }
            return false;



        }
        internal static bool FimImportingOptions
            (ImporterProperties importerProperties, 
            int index, OptionSettings prop,
            string[] twochoices, ref int counter)
        {
            #region Film Importing options

            if (index == counter++)
            {
                prop.GroupName = "MovieTitleLocator";
                //set the internal name
                prop.Name = "ImportDvdImagesProp";
                //set name shown to user
                prop.GroupCaption = "                              Film Importing Options";
                prop.Caption = "Import DVD images containing films";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportDvdImages;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "MovieTitleLocator";
                //set the internal name
                prop.Name = "ImportBluRayImagesProp";
                //set name shown to user
                prop.GroupCaption = "                              Film Importing Options";
                prop.Caption = "Import BluRay images containing films";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportBluRayImages;
                prop.DataType = "bool";
                return true;
            }

            if (index == counter++)
            {
                prop.GroupName = "MovieTitleLocator";
                //set the internal name
                prop.Name = "ImportDvdFoldersProp";
                //set name shown to user
                prop.Caption = "Import DVD film back-ups (preserved disc structure)";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportDvdFolders;
                prop.DataType = "bool";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "MovieTitleLocator";
                //set the internal name
                prop.Name = "ImportRarFilmsProp";
                //set name shown to user
                prop.Caption = "Import multi-part RAR archives as films";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "";
                prop.DefaultValue = Settings.ImportFilmsInRarArchives;
                prop.DataType = "bool";
                return true;
            }


            if (index == counter++)
            {
                prop.GroupName = "MovieTitleLocator";
                //set the internal name
                prop.Name = "MovieTitleLocatorProp";
                //set name shown to user
                prop.Caption = "Override automated film title locator";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText =
                    " If the Automated film title locator fails to correctly locate the titles of your films in their paths (file name or folder name)," +
                    Environment.NewLine + "please check this setting to manually override it.";
                prop.DefaultValue = Settings.OverrideAutomatedMovieTitleLocator;
                prop.DataType = "bool";
                prop.Dependencies = "False:HIDE MovieTitleLocationProp" +
                                    ";True:SHOW MovieTitleLocationProp";
                return true;
            }
            if (index == counter++)
            {
                prop.GroupName = "MovieTitleLocator";
                //set the internal name
                prop.Name = "MovieTitleLocationProp";
                //set name shown to user
                prop.Caption = "Movie's title location in path: ";
                prop.Caption = TranslationProvider.Translate(prop.Caption, importerProperties);
                //set the tool tip
                prop.HelpText = "Please specify here the location of your movies' titles in their path.";
                prop.DefaultValue = Settings.MovieTitleLocationInPath;
                prop.DataType = "string";
                twochoices[0] = "Parent folder";
                twochoices[1] = "Video filename";
                prop.CanTypeChoices = false;
                prop.Choices = twochoices;
                prop.IsMandatory = false;
                return true;
            }

            #endregion

            return false;
        }