Index: fckeditor.admin.inc
===================================================================
--- fckeditor.admin.inc	(revision 4463)
+++ fckeditor.admin.inc	(working copy)
@@ -849,21 +849,45 @@
     '#collapsible' => TRUE,
     '#collapsed' => TRUE,
   );
-  $form['advanced']['theme_config_js'] = array(
-    '#type' => 'radios',
-    '#title' => t('Load fckeditor.config.js from theme path'),
-    '#default_value' => !empty($profile->settings['theme_config_js']) ? $profile->settings['theme_config_js'] : 'f',
+  
+  $form['advanced']['theme_config_js_mode'] = array(
+    '#type' => 'select',
+    '#title' => t('Predefined configuration'),
+    '#default_value' => !empty($profile->settings['theme_config_js_mode']) ? $profile->settings['theme_config_js_mode'] : 'f',
     '#options' => array(
-      't' => t('Yes'),
-      'f' => t('No')
+      'default' => t('FCKeditor default'),
+      'theme' => t('Use theme fckeditor.config.js'),
+      'self' => t('Define path to fckeditor.config.js'),
     ),
     '#description' =>
-      t('When set to %true the editor will try to load the %configfile file from theme directory.',
+      t('Define the location of %file file. It is used by the %setting dropdown list available in the default toolbar. Copy %sourcefile inside your theme directory (%themefile) and adjust it to your needs.',
         array(
-          '%true' => t('Yes'),
-          '%configfile' => 'fckeditor.config.js',
-        )),
+          '%file' => 'fckeditor.config.js',
+          '%setting' => t('Templates'),
+          '%sourcefile' => fckeditor_path(TRUE) .'/fckeditor.config.js',
+          '%themefile' => fckeditor_path_to_theme() .'/fckeditor.config.js',
+        ))
   );
+
+  $form['advanced']['theme_config_js_path'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Predefined configuration path'),
+    '#default_value' => !empty($profile->settings['theme_config_js_path']) ? $profile->settings['theme_config_js_path'] : '',
+    '#size' => 40,
+    '#maxlength' => 255,
+    '#description' =>
+      t('Enter the path to the configuration file with predefined @type (Example: %example). Be sure to select %setting above.',
+        array(
+          '@type' => t('configuration'),
+          '%example' => '/fckeditor.config.js',
+          '%setting' => t('Define path to fckeditor.config.js'),
+        )) .'<br />'.
+      t('Available placeholders') .':<br />'.
+      '<strong>%h</strong> - '. t('host name (%host)', array('%host' => base_path())) .'<br />'.
+      '<strong>%t</strong> - '. t('path to theme (%theme)', array('%theme' => base_path() . fckeditor_path_to_theme() .'/')) .'<br />'.
+      '<strong>%m</strong> - '. t('path to FCKeditor module (%module)', array('%module' => drupal_get_path('module', 'fckeditor'))),
+  );
+  
   $form['advanced']['js_conf'] = array(
     '#type' => 'textarea',
     '#title' => t('Custom javascript configuration'),
Index: fckeditor.module
===================================================================
--- fckeditor.module	(revision 4463)
+++ fckeditor.module	(working copy)
@@ -621,9 +621,13 @@
       $toolbar = FCKEDITOR_FORCE_SIMPLE_TOOLBAR_NAME;
     }
 
-    if (!empty($conf['theme_config_js']) && $conf['theme_config_js'] == 't' && file_exists($themepath .'fckeditor.config.js')) {
+    if (!empty($conf['theme_config_js_mode']) && $conf['theme_config_js_mode'] == 'theme' && file_exists($themepath .'fckeditor.config.js')) {
       $fckeditor_config_path = $host . $themepath .'fckeditor.config.js?'. @filemtime($themepath .'fckeditor.config.js');
     }
+    elseif (!empty($conf['theme_config_js_mode']) && $conf['theme_config_js_mode'] == 'self') {
+      $conf['theme_config_js_path'] = str_replace("%h%t", "%t", $conf['theme_config_js_path']);
+      $fckeditor_config_path = '/'.str_replace(array('%h', '%t', '%m'), array($host, $host . $themepath, $module_drupal_path), $conf['theme_config_js_path']) . '?' . @filemtime($conf['theme_config_js_path']);
+    }
     else {
       $fckeditor_config_path = $module_full_path ."/fckeditor.config.js?". @filemtime($module_drupal_path ."/fckeditor.config.js");
     }

