diff -urp orig/domain_conf.admin.inc new/domain_conf.admin.inc
--- orig/domain_conf.admin.inc	2008-03-30 19:51:46.000000000 +0200
+++ new/domain_conf.admin.inc	2008-06-25 16:41:42.672000000 +0200
@@ -276,3 +276,144 @@ function theme_domain_conf_reset($domain
   }
   return $output;
 }
+
+
+/**
+ * The domain menu page callback router.
+ *
+ * @param $domain_id
+ *  The unique identifier for this domain, taken from {domain}.
+ *
+ * @ingroup menu
+ */
+function domain_menu_page($domain_id = NULL) {
+  global $_domain;
+  if($domain_id == NULL) {
+  	  $domain = $_domain;
+  }
+  else {
+      $domain = domain_lookup($domain_id);
+  }
+  if ($domain['domain_id']) {
+    // Ensure we are on the proper domain.
+    domain_goto($domain);
+    drupal_set_title(t('!site : Domain menu settings', array('!site' => $domain['sitename'])));
+
+    $output = '<p>'. t('These settings will replace or supplement your default menu settings when %name is the active domain.', array('%name' => $domain['sitename'])) .'</p>';
+    // Leave this for now even though we are not using a form_alter
+    return drupal_get_form('domain_menu_form',$domain);
+  }
+  else {
+    return t('Invalid domain request.');
+  }
+}
+
+/**
+ * Menu callback; presents menu configuration options - per domain.
+ * See domain_menu.module.
+ *
+ * Function scraped from menu modules menu_configure()
+ */
+function domain_menu_form($domain) {
+  global $_domain;
+  $domain_id=$_domain['domain_id'];
+  if (!is_null($domain_id)) {
+    $return = db_fetch_array(db_query("SELECT domain_id, menu_settings FROM {domain_conf} WHERE domain_id = %d", $domain_id));
+  }
+
+  if (!empty($return)) {
+    $return = unserialize($return['menu_settings']);
+  }else {
+    $return = -1;
+  }
+
+  $domain_menus = $return;
+
+  // Find All memu items excluding the "Navigation" menu
+  $root_menus = menu_get_menus();
+  $primary_options = $root_menus;
+
+  //trace($primary_options);
+  $primary_options[0] = t('No primary links');
+
+  $form['domain_settings_links'] = array('#type' => 'fieldset',
+    '#title' => t('Primary and secondary links settings'),
+  );
+
+  $form['domain_settings_links']['intro'] = array('#type' => 'item',
+    '#value' => t('Primary and secondary links provide a navigational menu system which usually (depending on your theme) appears at the top-right of the browser window. The links displayed can be generated either from a custom list created via the <a href="@menu">menu administration</a> page or from a built-in list of menu items such as the navigation menu links.', array('@menu' => url('admin/build/menu'))),
+  );
+
+  $form['domain_settings_links']['menu_primary_menu'] = array('#type' => 'select',
+    '#title' => t('Menu containing primary links'),
+    '#default_value' => $domain_menus['menu_primary_links_source'] ? $domain_menus['menu_primary_links_source'] : 0,
+    '#options' => $primary_options,
+  );
+
+  $secondary_options = $root_menus;
+  $secondary_options[0] = t('No secondary links');
+
+  $form['domain_settings_links']['menu_secondary_menu'] = array('#type' => 'select',
+    '#title' => t('Menu containing secondary links'),
+    '#default_value' => $domain_menus['menu_secondary_links_source'] ? $domain_menus['menu_secondary_links_source'] : 0,
+    '#options' => $secondary_options,
+    '#description' => t('If you select the same menu as primary links then secondary links will display the appropriate second level of your navigation hierarchy.'),
+  );
+
+  $form['domain_settings_authoring'] = array('#type' => 'fieldset',
+    '#title' => t('Content authoring form settings'),
+  );
+
+  $form['domain_settings_authoring']['intro'] = array('#type' => 'item',
+    '#value' => t('The menu module allows on-the-fly creation of menu links in the content authoring forms. The following option limits the menus in which a new link may be added. E.g., this can be used to force new menu items to be created in the primary links menu or to hide admin menu items.'),
+  );
+
+  $authoring_options = $root_menus;
+  $authoring_options[0] = t('Show all menus');
+
+  $form['domain_settings_authoring']['menu_parent_items'] = array('#type' => 'select',
+    '#title' => t('Restrict parent items to'),
+    '#default_value' => $domain_menus['menu_default_node_menu'] ? $domain_menus['menu_default_node_menu'] : 0,
+    '#options' => $authoring_options,
+    '#description' => t('Choose the menu to be made available in the content authoring form. Only this menu item and its children will be shown.'),
+   );
+
+  // Which domain are we editing?
+  $form['domain_id'] = array(
+    '#type' => 'value',
+    '#value' => $_domain['domain_id'],
+  );
+
+  // Our submit handlers.
+
+  $form['#submit'][] = 'domain_menu_submit';
+  $form['submit'] = array(
+    '#type' => 'submit',
+    '#value' => t('Save configuration'),
+  );
+  return $form;
+}
+
+function domain_menu_submit($form, &$form_state) {
+  $form_values = $form_state['values'];
+  $id = $form_values['domain_id'];
+
+  $menus = array();
+  $menus['menu_primary_links_source'] = $form_values['menu_primary_menu'];
+  $menus['menu_secondary_links_source'] = $form_values['menu_secondary_menu'];
+  $menus['menu_default_node_menu'] = $form_values['menu_parent_items']; // temp
+
+  $menus = serialize($menus);
+  $check = 0;
+  $check = db_result(db_query("SELECT COUNT(domain_id) FROM {domain_conf} WHERE domain_id = %d", $id));
+
+  if ($check <= 0) {
+    db_query("INSERT INTO {domain_conf} (domain_id, menu_settings) VALUES (%d, '%s')", $id, $menus);
+  }
+  else {
+    db_query("UPDATE {domain_conf} SET menu_settings = '%s' WHERE domain_id = %d", $menus, $id);
+  }
+
+  drupal_set_message(t('Domain menu options saved successfully.'));
+}
+
diff -urp orig/domain_conf.install new/domain_conf.install
--- orig/domain_conf.install	2008-03-26 03:47:31.000000000 +0100
+++ new/domain_conf.install	2008-06-25 15:55:35.476000000 +0200
@@ -20,7 +20,8 @@ function domain_conf_schema() {
   $schema['domain_conf'] = array(
     'fields' => array(
       'domain_id' => array('type' => 'int', 'not null' => TRUE, 'default' => 0),
-      'settings' => array('type' => 'blob', 'not null' => FALSE)),
+      'settings' => array('type' => 'blob', 'not null' => FALSE),
+      'menu_settings' => array('type' => 'blob', 'not null' => FALSE)),
     'primary key' => array('domain_id'),
   );
   return $schema;
diff -urp orig/domain_conf.module new/domain_conf.module
--- orig/domain_conf.module	2008-06-08 17:12:38.000000000 +0200
+++ new/domain_conf.module	2008-06-22 03:35:26.000000000 +0200
@@ -51,6 +51,16 @@ function domain_conf_menu() {
     'page arguments' => array(4),
     'file' => 'domain_conf.admin.inc',
   );
+  
+  $items['admin/build/domain/menu/%domain'] = array(
+	'title' => t('Menu settings'),	
+	'page callback' => 'domain_menu_page',
+	'page arguments' => array(4),
+	'access arguments' => array('administer domains'),
+	'file' => 'domain_conf.admin.inc',
+	'type' => MENU_CALLBACK,
+	);
+	
   return $items;
 }
 
@@ -74,6 +84,10 @@ function domain_conf_domainlinks($domain
     'title' => t('settings'),
     'path' => 'admin/build/domain/conf/'. $domain['domain_id']
   );
+  $links[] = array(
+    'title' => t('menus'),
+    'path' => 'admin/build/domain/menu/'. $domain['domain_id']
+  );
   return $links;
 }
 
diff -urp orig/settings_domain_conf.inc new/settings_domain_conf.inc
--- orig/settings_domain_conf.inc	2008-06-08 17:32:48.000000000 +0200
+++ new/settings_domain_conf.inc	2008-06-25 16:35:15.253000000 +0200
@@ -41,14 +41,27 @@ function _domain_conf_load($domain = NUL
       $domain['domain_id'] = 0;
     }
     $data = array();
-    $data = db_fetch_array(db_query("SELECT settings FROM {domain_conf} WHERE domain_id = %d", $domain['domain_id']));
+    $data = db_fetch_array(db_query("SELECT settings, menu_settings FROM {domain_conf} WHERE domain_id = %d", $domain['domain_id']));
     if (!empty($data)) {
-      global $conf;
-      $settings = unserialize($data['settings']);
-      // Overwrite the $conf variables.
-      foreach ($settings as $key => $value) {
-        $conf[$key] = $value;
+      if (!empty($data['settings'])) {
+        $settings = unserialize($data['settings']);
+        _domain_update_config($settings);
+      }
+
+      if (!empty($data['menu_settings'])){
+        $domain_menu= unserialize($data['menu_settings']);
+        _domain_update_config($domain_menu);
       }
     }
   }
 }
+
+function _domain_update_config($values){
+  global $conf;
+  if (is_array($values)) {
+    // Overwrite the $conf variables.
+    foreach ($values as $key => $value) {
+      $conf[$key] = $value;
+    }
+  }
+}
\ No newline at end of file
