Index: README.txt
===================================================================
RCS file: README.txt
diff -N README.txt
--- README.txt	12 May 2008 07:11:53 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,36 +0,0 @@
-$Id: README.txt,v 1.3 2008/05/12 07:11:53 arancaytar Exp $
-
-DESCRIPTION
------------
-
-DHTML Menus uses Javascript DHTML to reduce the number of page loads when using
-nested menus; this is particularly useful with Drupal's administration system.
-
-Ordinarily in Drupal, to expand a menu with sub-items, you need to click a 
-static link and load a full page with the expanded menu in it.
-With DHTML Menus, instead the sub-items are expanded dynamically when you click 
-on each item. Additionally, the module uses a cookie to remember which menus are 
-open and whih are closed, so as you navigate around the site your menus remain
-consistent.
-
-
-INSTALLATION
-------------
-
-1) Copy the dhtml_menu directory into your sites/all/modules directory.
-2) Enable the module at administer >> site building >> modules
-3) All menu blocks will be converted automatically to DHTML menus.
-4) On administer >> site building >> blocks, you can enable and disable
-   this for each block separately as the menu blocks now have an additional
-   DHTML option in their settings.
-5) Disabling the module will remove DHTML behavior from all your blocks immediately.
-
-Enjoy!
-
-
-CREDITS
--------
-
-Arancaytar                     <http://drupal.org/user/28680>
-Bruno Massa - "brmassa"        <http://drupal.org/user/67164>
-Earl Miles  - "merlinofchaos"  <http://drupal.org/user/26979>
Index: dhtml_menu.admin.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.admin.inc,v
retrieving revision 1.3
diff -u -p -r1.3 dhtml_menu.admin.inc
--- dhtml_menu.admin.inc	30 Jun 2008 15:08:57 -0000	1.3
+++ dhtml_menu.admin.inc	7 Jul 2008 22:15:16 -0000
@@ -1,64 +1,26 @@
 <?php
-// $Id: dhtml_menu.admin.inc,v 1.3 2008/06/30 15:08:57 arancaytar Exp $
+// $Id$
 
 /**
  * @file dhtml_menu.admin.inc
- * Configuration forms
+ * Functions that are only called on the admin pages.
  */
 
 /**
- * DHTML Menu Settings page.
- *
- * @ingroup form
+ * Module settings form.
  */
-function dhtml_menu_settings() {
-  $form['dhtml_menu_menus_'] = array(
-    '#type'           => 'radios',
-    '#title'          => t('Use DHTML Effect'),
-    '#options'        => array('enable' => t('Enable on all menus.'), 0 => t('Keep current configuration.'), 'disable' => t('Disable on all menus.')),
-    '#default_value'  => 0,
+function dhtml_menu_settings(&$form_state) {
+  $form['dhtml_menu_effects'] = array(
+    '#type' => 'checkboxes',
+    '#title' => t('DHTML Menu effects'),
+    '#options' => array(
+      'slide' => t('Animated sliding effect'),
+      'siblings' => t('Keep only one menu open at a time.'),
+      'clone' => t('Add an extra page link to each expanding menu item.'),
+      'doubleclick' => t('Go to the page on double-click.'),
+    ),
+    '#default_value' => variable_get('dhtml_menu_effects', explode(',', DHTML_MENU_DEFAULT)),
   );
-  $form['#submit'][] = 'dhtml_menu_settings_submit';
-
-  $form['dhtml_menu_use_effects'] = array(
-    '#type'           => 'checkbox',
-    '#title'          => t('jQuery slide effect'),
-    '#description'    => t('Menu slides when it opens and closes.'),
-    '#default_value'  => variable_get('dhtml_menu_use_effects', 0),
-  );
-  
-  $form['dhtml_menu_hide_siblings'] = array(
-    '#type'           => 'checkbox',
-    '#title'          => t('Hide Siblings effect'),
-    '#description'    => t('Close all other menu items when one opens.'),
-    '#default_value'  => variable_get('dhtml_menu_hide_siblings', 0),
-  );
-
-  $form['dhtml_menu_duplicated'] = array(
-    '#type'           => 'textarea',
-    '#title'          => t('Duplicated menu items'),
-    '#description'    => t('You can specify a list of menu items that should be displayed twice: Once as a parent item that expands and collapses the sub-menu and again as its own child item, which points directly to the page (the parent items still links on double-click). Enter one internal path (like "admin") on each line. To specify a custom link text, put it after the path, separated by a space.'),
-    '#rows'           => 4,
-    '#default_value'  => variable_get('dhtml_menu_duplicated', DHTML_MENU_DUPLICATE_DEFAULT),
-  );
-
   return system_settings_form($form);
 }
 
-function dhtml_menu_settings_submit($form, &$form_state) {
-  variable_del('dhtml_menu_menus_');
-  $state = $form_state['values']['dhtml_menu_menus_'];
-
-  if ($state == 'enable') {
-    $dhtml['user'][1] = 1;
-    foreach (module_invoke('menu', 'block', 'list') as $delta => $block) {
-      $dhtml[$delta] = 1;
-    }
-    variable_set('dhtml_menu_menus', $dhtml);
-    drupal_set_message(t('DHTML has been enabled for all menus.'));
-  }
-  else if ($state == 'disable') {
-    variable_set('dhtml_menu_menus', array());
-    drupal_set_message(t('DHTML has been disabled for all menus.'));
-  }
-}
Index: dhtml_menu.css
===================================================================
RCS file: dhtml_menu.css
diff -N dhtml_menu.css
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ dhtml_menu.css	7 Jul 2008 22:15:16 -0000
@@ -0,0 +1,8 @@
+.fake-leaf {
+  font-size:5pt;
+  /*font-size:80%;*/
+}
+li.start-collapsed ul {
+  display:none;
+}
+
Index: dhtml_menu.info
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.info,v
retrieving revision 1.3
diff -u -p -r1.3 dhtml_menu.info
--- dhtml_menu.info	14 Feb 2008 17:15:57 -0000	1.3
+++ dhtml_menu.info	7 Jul 2008 22:15:16 -0000
@@ -1,5 +1,5 @@
 ; $Id: dhtml_menu.info,v 1.3 2008/02/14 17:15:57 arancaytar Exp $
-name = DHTML Menus
-description = Adds new menus with DHTML to reduce page refreshes
-dependencies[] = menu
+name = DHTML Menu
+description = Adds new menus with DHTML to reduce page refreshes.
 core = 6.x
+
Index: dhtml_menu.install
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.install,v
retrieving revision 1.8
diff -u -p -r1.8 dhtml_menu.install
--- dhtml_menu.install	7 Jul 2008 18:46:12 -0000	1.8
+++ dhtml_menu.install	7 Jul 2008 22:15:16 -0000
@@ -1,73 +1,72 @@
 <?php
-// $Id: dhtml_menu.install,v 1.8 2008/07/07 18:46:12 arancaytar Exp $
+// $Id$
 
 /**
  * @file dhtml_menu.install
- * Install and Uninstall processes for this module.
+ * Update functions for the DHTML Menu module.
  */
 
 /**
- * Implementation of hook_enable().
+ * #6000: 6.x-2.x upgrade. Custom blocks are gone, using preprocess instead.
+ * - Fixing a variable typo in dhtml_menus_menus.
+ * - Restore normal menu blocks.
+ * - Setting dhtml_menu_menus to its initial settings.
  */
-function dhtml_menu_enable() {
-  // If DHTML hasn't been configured yet, set the default values.
-  if (!$dhtml = variable_get('dhtml_menu_menus', array())) {
-    $dhtml['user'][1] = 1;
-    $menus = array_keys(module_invoke('menu', 'block', 'list'));
-    foreach ($menus as $delta) $dhtml['menu'][$delta] = 1;
-    variable_set('dhtml_menu_menus', $dhtml);
-    
-    // Notify about added DHTML behavior
-    drupal_set_message(t('All your menu blocks now use DHTML behavior by default. This configuration can be changed in the <a href="@url">block settings</a>.', array('@url' => url('admin/build/block'))));
+function dhtml_menu_update_6000() {
+  variable_del('dhtml_menus_menus');
+
+  $res = db_query("SELECT delta, theme, weight, region, custom, throttle, visibility, pages, title FROM {blocks} WHERE status AND module = '%s'", 'dhtml_menu');
+  while ($row = db_fetch_array($res)) {
+    if ($row['delta'] == 1) {
+      $module = 'user';
+    }
+    else {
+      $module = 'menu';
+    }
+    db_query("UPDATE {blocks} SET status = 1, weight = %d, region = '%s', custom = %d, throttle = %d, visibility = %d, pages = '%s', title = '%s' WHERE module = '%s' AND delta = '%s' AND theme = '%s'", $row['weight'], $row['region'], $row['custom'], $row['throttle'], $row['visibility'], $row['pages'], $row['title'], $module, $row['delta'], $row['theme']);
   }
+
+  variable_set('dhtml_menu_menus', array('navigation' => 1, 'primary-links' => 1, 'secondary-links' => 1));
+  return array();
 }
 
 /**
- * Implementation of hook_uninstall().
+ * #6001: 6.x-2.1 upgrade. A two-dimensional array is now used for these settings, indexing by module and block delta.
  */
-function dhtml_menu_uninstall() {
-  // Delete all global variables
-  variable_del('dhtml_menu_duplicated');
-  variable_del('dhtml_menu_use_effects');
-  variable_del('dhtml_menu_hide_siblings');
-  variable_del('dhtml_menu_menus');
+function dhtml_menu_update_6001() {
+  variable_set('dhtml_menu_menus', array('user' => array(1 => TRUE), 'menu' => array('primary-links' => TRUE, 'secondary-links' => TRUE)));
+  return array();
 }
 
 /**
- * #6000: 
- *  - Replace outdated DHTML blocks with normal menu blocks, enable DHTML for these blocks.
- *  - Fix a typo in one of the variable names.    
+ * #6002: 6.x-3.x upgrade. All existing variables are obsolete.
  */
-function dhtml_menu_update_6000() {
-  if ($old_variable = variable_get('dhtml_menus_menus', FALSE)) {
-    variable_set('dhtml_menu_menus', $old_variable);
-    variable_del('dhtml_menus_menus');
-  }
-  
-  $dhtml_menu_menus = variable_get('dhtml_menu_menus', array());
-  
-  $result = db_query("SELECT delta, region, weight, theme FROM {blocks} WHERE module = 'dhtml_menu' AND status = 1");
-  while ($row = db_fetch_array($result)) {
-    $dhtml_menu_menus[$row['delta']] = 1;
-    $module = $row['delta'] == 'navigation' ? 'user' : 'menu';
-    if ($row['delta'] == 'navigation') $row['delta'] = 1;
-    
-    $ret[] = update_sql("UPDATE {blocks} SET status = 1, region = '$row[region]', weight = '$row[weight]' WHERE module = '$module' AND delta = '$row[delta]' AND theme = '$row[theme]'");
-  }
-  $ret[] = update_sql("DELETE FROM {blocks} WHERE module = 'dhtml_menu'");
+function dhtml_menu_update_6002() {
+  $s['slide'] = variable_get('dhtml_menu_use_effects', FALSE);
+  $s['siblings'] = variable_get('dhtml_menu_hide_siblings', FALSE);
+  // don't confuse people by removing this functionality.
+  $s['doubleclick'] = TRUE;
+  // add this new functionality.
+  $s['clone'] = TRUE;
 
-  drupal_set_message(t('DHTML Menu no longer provides its own blocks. If your navigation menu appears to be missing, you will need to re-enable it manually in the <a href="@url">block administration</a>', array('@url' => url('admin/build/block'))), 'warning');
-  
-  variable_set('dhtml_menu_menus', $dhtml_menu_menus);
-  return $ret;
-}
+  // These settings are no longer needed.
+  variable_del('dhtml_menu_use_effects');
+  variable_del('dhtml_menu_hide_siblings');
+  variable_del('dhtml_menu_duplicated');
+  variable_del('dhtml_menu_menus');
 
-function dhtml_menu_update_6001() {
-  $dhtml = variable_get('dhtml_menu_menus', array());
-  
-  $new['user'][1] = $dhtml['navigation'];
-  unset($dhtml['navigation']);
-  $new['menu'] = $dhtml;
+  $var = array();
+  foreach ($s as $setting => $value) {
+    if ($value) {
+      $var[] = $setting;
+    }
+  }
 
-  variable_set('dhtml_menu_menus', $new);
+  // Store new settings.
+  variable_set('dhtml_menu_effects', $var);
+
+  // Rebuild theme registry now that our theme functions got added.
+  drupal_rebuild_theme_registry();
+  return array();
 }
+
Index: dhtml_menu.js
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.js,v
retrieving revision 1.15
diff -u -p -r1.15 dhtml_menu.js
--- dhtml_menu.js	23 Jun 2008 12:15:07 -0000	1.15
+++ dhtml_menu.js	7 Jul 2008 22:15:16 -0000
@@ -1,170 +1,126 @@
+// $Id$
+
 /**
- * $Id: dhtml_menu.js,v 1.15 2008/06/23 12:15:07 arancaytar Exp $
- * @author: Bruno Massa http://drupal.org/user/67164
- * @file slideshow_creator.js
- * The main Javacript for this module
+ * @file dhtml_menu.js
+ * The Javascript code for DHTML Menu
  */
-
+ 
 Drupal.dhtmlMenu = {};
-var dhtmlRun = false;
 
 /**
  * Initialize the module's JS functions
  */
-Drupal.behaviors.dhtmlMenu = function(context) {
+Drupal.behaviors.dhtmlMenu = function() {
+  var dhtmlRun;
+  
   // Do not run this function more than once.
-  if (dhtmlRun) return;
-  else dhtmlRun = true;
-  // Get the Cookie's data
-  var cookievalue = Drupal.dhtmlMenu.cookieGet();
-
-  // If there is any menus that should be expanded,
-  // do it now
-  if (cookievalue != '') {
-    var cookieList = cookievalue.split(',');
-    for (var i = 0; i < cookieList.length; i++) {
-      if (!document.getElementById(cookieList[i])) {
-        cookieList.splice(i, 1);
-      }
-      else {
-        submenu = document.getElementById(cookieList[i]);
-        menu = document.getElementById('menu-' + cookieList[i]);
-        $(menu).removeClass('collapsed').addClass('expanded');
-        $(submenu).removeClass('sub-collapsed').addClass('sub-expanded');
-        $(submenu).show();
-        $(submenu).css('display', 'block');
-      }
-    }
+  if (dhtmlRun) {
+    return;
+  }
+  else {
+    dhtmlRun = true;
   }
 
-  // Add jQuery effects (click and double click) to all menu items
-  $('ul.menu li[@class!="leaf"] > a').each(function() {
-    if ($(this).siblings('div.submenu').length > 0) {
-      $(this)
-      .css({display: 'block', zIndex: 2})
-      .dblclick(function(e) {
+  // Get the settings.
+  var effects = Drupal.settings.dhtmlMenu;
+
+  // Get the cookie and mark the saved menus.
+  var cookie = Drupal.dhtmlMenu.cookieGet().split(',');
+  
+  for (i in cookie) {
+    $('#menu-' + cookie[i]).parents('li:first').addClass('dhtml-open');
+  }
+
+  // Close the menu items that were not saved as open.
+  $('li.expanded').not('.dhtml-open')
+  .removeClass('expanded').addClass('collapsed').children('ul').css('display', 'none');
+  Drupal.dhtmlMenu.cookieSet();
+
+  /* Add jQuery effects and listeners to all menu items.
+   * The ~ (sibling) selector is unidirectional and selects 
+   * only the latter element, so we must use siblings() to get 
+   * back to the link element.
+   */
+  $('ul.menu a ~ ul').siblings('a').each(function() {
+    if (effects.clone) {
+      $(this).clone().prependTo($(this).siblings('ul')).wrap('<li class="leaf fake-leaf"></li>');
+    }
+
+    if (effects.doubleclick) {
+      $(this).dblclick(function(e) {
         window.location = this.href;
-      })
-      .click(function(e) {
-        id = $(this).parents()[0].id.replace('menu-', '');
-        Drupal.dhtmlMenu.switchMenu(id, $(this).parents()[0]);
-        return false;
       });
     }
+
+    $(this).click(function(e) {
+      Drupal.dhtmlMenu.toggleMenu($(this).parent());
+      return false;
+    });
   });
 }
 
 /**
- * Grabs the cookie data.
+ * Toggles the menu's state between open and closed.
  *
- * @return
- *   String. A list, separated by comma, of all menu IDs
- *   that should be expanded.
+ * @param li
+ *   Object. The <li> element that will be expanded or collapsed.
  */
-Drupal.dhtmlMenu.cookieGet = function() {
-  var string = 'dhtml_menu=';
-  var returnvalue = '';
+Drupal.dhtmlMenu.toggleMenu = function(li) {
+  var effects = Drupal.settings.dhtmlMenu;
 
-  // If there is a previous instance of this cookie
-  if (document.cookie.length > 0) {
+  // If the menu is expanded, collapse it.
+  if($(li).hasClass('expanded')) {
+    if (effects.slide) {
+      $(li).children('ul').animate({height: 'hide', opacity: 'hide'}, '1000');
+    }
+    else $(li).children('ul').css('display', 'none');
+    $(li).removeClass('expanded').addClass('collapsed');
+  }
+  // Otherwise, expand it.
+  else {
+    if (effects.slide) {
+      $(li).children('ul').animate({height: 'show', opacity: 'show'}, '1000');
+    }
+    else $(li).children('ul').css('display', 'block');
+    $(li).removeClass('collapsed').addClass('expanded');
 
-    // Get the number of characters that have the list of values
-    // from 'dhtml_menu' index.
-    offset = document.cookie.indexOf(string);
-
-    // If its positive, there is a list!
-    if (offset != -1) {
-      offset += string.length;
-      var end = document.cookie.indexOf(';', offset);
-      if (end == -1) {
-        end = document.cookie.length;
+    // If the effect is on, close all sibling menus.
+    if (effects.siblings) {
+      var id = $(li).children('a:first').attr('id');
+      siblings = $('ul.menu li.expanded').not(':has(#' + id + ')').filter(function() {
+        return !$(this).parents().is('#' + id);
+      });
+      if (effects.slide) {
+        $(siblings).children('ul').animate({height: 'hide', opacity: 'hide'}, '1000');
       }
-
-      // Get a list of all values that are saved on 'dhtml_menu='
-      returnvalue = unescape(document.cookie.substring(offset, end));
+      else $(siblings).children('ul').css('display', 'none');
+      $(siblings).removeClass('expanded').addClass('collapsed');
     }
   }
 
-  return returnvalue;
+  // Save the current state of the menus in the cookie.
+  Drupal.dhtmlMenu.cookieSet();
 }
 
 /**
- * Saves the states of the menus.
+ * Reads the dhtml_menu cookie.
  */
-Drupal.dhtmlMenu.cookieSet = function() {
-  var menus = '';
-
-  // Get a list of menu IDs, saparated by comma
-  $('div.submenu').each(function(i) {
-    if ($(this).hasClass('sub-expanded')) {
-      if (menus != '') {
-        menus += ',';
-      }
-      menus += this.id;
-    }
-  });
-
-  // Save this values on the cookie
-  document.cookie = 'dhtml_menu=' + escape(menus) + ';path=/';
+Drupal.dhtmlMenu.cookieGet = function() {
+  var c = /dhtml_menu=(.*?)(;|$)/.exec(document.cookie);
+  if (c) {
+    return c[1];
+  }
+  else return '';
 }
 
 /**
-* Hide all submenus
-*/
-Drupal.dhtmlMenu.hideSiblings = function(parent_menu) {
-  $(parent_menu).siblings('.expanded').each(function() {
-    id = $(this).attr('id').replace('menu-', '');
-    Drupal.dhtmlMenu.switchMenu(id, this);
-  });
-};
-
-/**
- * Changes the state of a submenu from open to close.
- *
- * @param submenu
- *   String. The submenu ID (including the "#")
- * @param parent_menu
- *   String. The parent item ID (including the "#")
+ * Saves the dhtml_menu cooki.
  */
-Drupal.dhtmlMenu.switchMenu = function(submenu, parent_menu) {
-  submenu = document.getElementById(submenu);
-
-  // First, see if the menu is already expanded or collapsed,
-  // and perform the opposing effect
-  if($(parent_menu).is('.expanded')) {
-
-    // If the user wants the Fading effects, use it,
-    // otherwise, simply make the menu disapear
-    if (Drupal.settings.dhtmlMenu_useEffects) {
-      $(submenu).hide('fast');
-    }
-    else {
-      $(submenu).css('display', 'none');
-    }
-
-    // Set the parent menu item as collapsed
-    $(parent_menu).removeClass('expanded').addClass('collapsed');
-    $(submenu).removeClass('sub-expanded').addClass('sub-collapsed');
-  }
-  else {
-    if (Drupal.settings.dhtmlMenu_hideSiblings) {
-      Drupal.dhtmlMenu.hideSiblings(parent_menu);
-    }
-
-    // If the user wants the Fading effects, use it,
-    // otherwise, simply make the menu apear
-    if (Drupal.settings.dhtmlMenu_useEffects) {
-      $(submenu).show('fast');
-    }
-    else {
-      $(submenu).css('display', 'block');
-    }
-    $(parent_menu).removeClass('collapsed').addClass('expanded');
-    $(submenu).removeClass('sub-collapsed').addClass('sub-expanded');
-  }
-
-  // After all changes, save the current state
-  // of the menus, so other pages will load and use
-  // this new layout
-  Drupal.dhtmlMenu.cookieSet();
+Drupal.dhtmlMenu.cookieSet = function() {
+  var expanded = new Array();
+  $('li.expanded').each(function() {
+    expanded.push($(this).children('a:first').attr('id').substr(5));
+  });
+  document.cookie = 'dhtml_menu=' + expanded.join(',') + ';path=/';
 }
+
Index: dhtml_menu.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/dhtml_menu/dhtml_menu.module,v
retrieving revision 1.27
diff -u -p -r1.27 dhtml_menu.module
--- dhtml_menu.module	30 Jun 2008 14:49:06 -0000	1.27
+++ dhtml_menu.module	7 Jul 2008 22:15:16 -0000
@@ -1,98 +1,165 @@
 <?php
-// $Id: dhtml_menu.module,v 1.27 2008/06/30 14:49:06 arancaytar Exp $
+// $Id$
 
 /**
  * @file dhtml_menu.module
- * Allow click expansion of the menu tree via javascript, with
- * graceful degradation.
+ * Adds preprocessors to the menu theming functions
+ * that will add dynamic expansion to their menus.
  */
 
-define('DHTML_MENU_DUPLICATE_DEFAULT', "admin\nadmin/build/menu\nnode/add");
+/**
+ * Effects enabled by default. This is an array and
+ * must be split to be used. Constants can not contain arrays.
+ */
+define('DHTML_MENU_DEFAULT', 'slide,clone');
 
 /**
- * Implementation of hook_menu().
+ * Implementation of hook_init().
+ * Adds CSS, Javascript and settings to the page.
  */
-function dhtml_menu_menu() {
-  $items['admin/settings/dhtml_menu'] = array(
-    'title'            => 'DHTML Menu',
-    'description'      => 'Adds new menus with DHTML to reduce page refreshes',
-    'page callback'    => 'drupal_get_form',
-    'page arguments'   => array('dhtml_menu_settings'),
-    'access arguments' => array('administer site configuration'),
-    'file'             => 'dhtml_menu.admin.inc',
-  );
+function dhtml_menu_init() {
+  drupal_add_css(drupal_get_path('module', 'dhtml_menu') .'/dhtml_menu.css');
+  drupal_add_js(drupal_get_path('module', 'dhtml_menu') .'/dhtml_menu.js');
+  $settings = variable_get('dhtml_menu_effects', explode(',', DHTML_MENU_DEFAULT));
+  $valid    = array('slide', 'clone', 'siblings', 'doubleclick');
+  $settings = array_intersect($settings, $valid);
+  foreach (variable_get('dhtml_menu_effects', explode(',', DHTML_MENU_DEFAULT)) as $effect) {
+    if (in_array($effect, $valid)) {
+      $settings[$effect] = TRUE;
+    }
+  }
+  drupal_add_js(array('dhtmlMenu' => $settings), 'setting');
+}
 
-  return $items;
+/** Implementation of hook_theme_registry_alter().
+ * Replaces the theme functions for the menu_item functions
+ */
+function dhtml_menu_theme_registry_alter(&$theme_registry) {
+  $theme_registry['menu_item']['function'] = 'dhtml_menu_theme_menu_item';
+  $theme_registry['menu_item_link']['function'] = 'dhtml_menu_theme_menu_item_link';
 }
 
 /**
- * Implementation of hook_form_alter().
- * @ingroup form
+ * Preprocessor for menu_item_link.
+ * Adds an ID attribute to menu links and helps the module
+ * follow the recursion of menu_tree_output().
  */
-function dhtml_menu_form_block_admin_configure_alter(&$form, $form_state) {
-  // Modify the form if it is a menu or the navigation block.
-  if ($form['module']['#value'] == 'menu' || ($form['module']['#value'] == 'user' && $form['delta']['#value'] == 1)) {
-    $dhtml = variable_get('dhtml_menu_menus', array());
-    
-    $form['dhtml_menu'] = array(
-      '#default_value'  => !empty($dhtml[$form['module']['#value']][$form['delta']['#value']]),
-      '#title'          => t('Use the DHTML effect'),
-      '#type'           => 'checkbox',
-      '#weight'         => -3,
-    );
-    $form['#submit']['_dhtml_menu_form_block_submit'] = '_dhtml_menu_form_block_submit';
+function dhtml_menu_theme_menu_item_link($link) {
+  // The ID is the mlid or a stripped form of the link path. It just must be unique.
+  $id = isset($link['mlid']) ? $link['mlid'] : preg_replace('/[^a-z0-9]/', '0', $link['href']);
+  $link['localized_options']['attributes']['id'] = "menu-". $id;
+
+  // Each link in series is another level of recursion. Add it to the stack.
+  _dhtml_menu_stack($link);
+
+  // Pass the altered variables to the normal menu themer.
+  return theme_menu_item_link($link);
+}
+
+/**
+ * Preprocessor for menu_item.
+ * Checks whether the current item has children that
+ * were not rendered, and loads and renders them.
+ */
+function dhtml_menu_theme_menu_item($link, $has_children, $menu = '', $in_active_trail = FALSE, $extra_class = NULL) {
+  static $cookie;
+  if (!isset($cookie)) {
+    $cookie = explode(',', @$_COOKIE['dhtml_menu']);
+  }
+
+  /* When theme('menu_item') is called, the menu tree below it has been
+   * rendered already. Since we are done on this recursion level,
+   * one element must be popped off the stack.
+   */
+  $stack = _dhtml_menu_stack();
+
+  // If there are children, but they were not loaded...
+  if ($has_children && !$menu) {
+    // Load the tree below the current position.
+    $tree = _dhtml_menu_subtree($stack);
+
+    // Render it...
+    $menu = menu_tree_output($tree);
+    if (!in_array(end($stack), $cookie)) {
+      $extra_class .= ' collapsed start-collapsed';
+    }
   }
+
+  return theme_menu_item($link, $has_children, $menu, $in_active_trail, $extra_class);
 }
 
 /**
- * Save the DHTML options
+ * Helper function for storing recursion levels.
+ *
+ * @param $link
+ *   If a menu item link is passed, it will be appended to the stack.
+ *   If none is given, the stack will be returned and popped by one.
  *
- * @ingroup form
+ * @return
+ *   The stack, if no parameter is given.
  */
-function _dhtml_menu_form_block_submit(&$form, $form_state) {
-  $dhtml = variable_get('dhtml_menu_menus', array());
-  $dhtml[$form_state['values']['module']][$form_state['values']['delta']] = $form_state['values']['dhtml_menu'];
-  variable_set('dhtml_menu_menus', $dhtml);
+function _dhtml_menu_stack($link = FALSE) {
+  static $stack;
+  if ($link) {
+    $stack[] = $link;
+  }
+  else {
+    $copy = $stack;
+    array_pop($stack);
+    return $copy;
+  }
 }
 
 /**
- * Implementation of hook_preprocess().
- * Change the normal behaviour ('theming') of hook_block().
+ * Traverses the menu tree and returns the sub-tree of the item
+ * indicated by the parameter.
  *
- * @ingroup themable
+ * @param $stack
+ *   An array of menu item links that are nested in each other in the tree.
+ *
+ * @return
+ *   The items below the lowest item in the stack.
  */
-function dhtml_menu_preprocess_block(&$variables) {
-  $delta = $variables['block']->delta;
-  $module = $variables['block']->module;
-  $dhtml = variable_get('dhtml_menu_menus', array());
-  
-  // If the menu has the DHTML menu option enabled,
-  // replace the entire block content with its DHTML equivalent
-  if (!empty($dhtml[$module][$delta])) {
-    $variables['block']->content = _dhtml_menu_build_block($module, $delta);
+function _dhtml_menu_subtree($stack) {
+  $tree = menu_tree_all_data($stack[0]['menu_name']);
+  foreach ($stack as $item) {
+    // Generate the sortable array key of an item:
+    $path[] = (50000 + $item['weight']) .' '. $item['title'] .' '. $item['mlid'];
+  }
+
+  // Traverse the tree.
+  foreach ($path as $key) {
+    if (!isset($tree[$key])) {
+      $tree = $tree[key($tree)]['below'];
+    }
+    $tree = $tree[$key]['below'];
   }
+  return $tree;
 }
 
-/** 
- * Build a specific DHTML Menu block's content.
+/**
+ * Implementation of hook_menu().
+ * Adds a settings page.
  */
-function _dhtml_menu_build_block($module, $delta) {
-  $menu_name = $module == 'user' ? 'navigation' : $delta;
-  // Retrieve menu tree data and build a DHTML menu from it.
-  return theme('dhtml_menu_tree', menu_tree_all_data($menu_name));
+function dhtml_menu_menu() {
+  $menu['admin/settings/dhtml_menu'] = array(
+    'title' => 'DHTML Menu',
+    'description' => 'Configure the effects of DHTML Menu',
+    'page callback' => 'drupal_get_form',
+    'page arguments' => array('dhtml_menu_settings'),
+    'access arguments' => array('administer site configuration'),
+    'file' => 'dhtml_menu.admin.inc',
+  );
+  return $menu;
 }
 
 /**
- * Implementation of hook_theme().
+ * Implementation of hook_help().
  */
-function dhtml_menu_theme($existing, $type) {
-  $theme['dhtml_menu_item'] = array(
-    'file'      => 'dhtml_menu.theme.inc',
-    'arguments' => array('item' => array(), 'id' => NULL),
-  );
-  $theme['dhtml_menu_tree'] = array(
-    'file'      => 'dhtml_menu.theme.inc',
-    'arguments' => array('tree' => array(), 'parent' => NULL, 'pid' => NULL),
-  );
-  return $theme;
+function dhtml_menu_help($path) {
+  switch ($path) {
+    case 'admin/settings/dhtml_menu':
+      return t('<em>DHTML Menu</em> adds dynamic functionality to the menus of your site. Ordinarily, reaching the child elements below an item requires you to visit its page. With DHTML Menu, clicking on an item with child elements will expand it without leaving the page, saving time. You can reach the actual page of such an item either by double-clicking on it or visiting the small extra link that will be shown right below it when expanded.');
+  }
 }
+
Index: dhtml_menu.theme.inc
===================================================================
RCS file: dhtml_menu.theme.inc
diff -N dhtml_menu.theme.inc
--- dhtml_menu.theme.inc	12 May 2008 06:40:27 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,130 +0,0 @@
-<?php
-// $Id: dhtml_menu.theme.inc,v 1.1 2008/05/12 06:40:27 arancaytar Exp $
-
-/**
- * @file dhtml_menu.inc
- * Themable functions required to render a DHTML menu block 
- */
-
-/**
- * Theme each menu item, adding important CSS data
- *
- * @ingroup themable
- */
-function theme_dhtml_menu_item($item, $id) {
-  static $expanded = NULL;
-  if (!is_array($expanded)) {
-    if (!isset($_COOKIE['dhtml_menu'])) {
-      $_COOKIE['dhtml_menu'] = '';
-    }
-    $expanded = explode(',', $_COOKIE['dhtml_menu']);
-  }
-
-  // Unset hidden sub-items. This avoids items with empty, all-hidden sub-menus.
-  if (!empty($item['below'])) {
-    foreach ($item['below'] as $index => $leaf) {
-      if ($leaf['link']['hidden']) {
-        unset($item['below'][$index]);
-      }
-    }
-  }
-
-  // Check if the menu item has a submenu
-  // If no, create a normal menu item
-  // If yes, create the submenu too
-  if (empty($item['below'])) {
-    return '  <li class="leaf" id="menu-leaf'. $id .'">' . theme('menu_item_link', $item['link']) . "</li>\n";
-  }
-  else {
-    $type = isset($item['link']['type']) ? $item['link']['type'] : NULL;
-    if ($item['link']['in_active_trail'] || $item['link']['expanded'] || in_array("sub$id", $expanded)) {
-      $state = 'expanded';
-      $display = '';
-    }
-    else {
-      $state = 'collapsed';
-      $display = ' style="display: none;"';
-    } 
-
-    return "<li class=\"menutitle $state\" id=\"menu-sub$id\">"
-      . theme('menu_item_link', $item['link'])
-      ."<div class=\"submenu\" id=\"sub$id\"$display>"
-      . theme('dhtml_menu_tree', $item['below'], $item['link'], $id)
-      .'</div>'
-      .'</li>';
-  }
-}
-
-/**
- * Theme each menu, adding important CSS data
- *
- * @ingroup themable
- */
-function theme_dhtml_menu_tree($tree, $parent = NULL, $pid = NULL) {
-  // If no further items, return blank
-  if (empty($tree)) {
-    return '';
-  }
-
-  $add_links = _dhtml_get_add_links();
-  $output = '';
-  if ($parent && isset($add_links[$parent['link_path']])) {
-    $duplication = $parent;
-    if ($add_links[$parent['link_path']] !== TRUE) {
-      $duplication['title'] = $add_links[$parent['link_path']];
-    }
-    $output .= '<li class="leaf" id="menu-leaf'. $pid .'">'. theme('menu_item_link', $duplication) ."</li>\n";
-  }
-
-  $class = 'menu';
-  if ($parent == NULL) {
-    $class .= ' menu-root';
-
-    // Add the proper JS file
-    drupal_add_js(drupal_get_path('module', 'dhtml_menu') .'/dhtml_menu.js');
-
-    // If the effect is on, tell it to JS
-    if ($effects = variable_get('dhtml_menu_use_effects', 0)) {
-      drupal_add_js(array('dhtmlMenu_useEffects' => 1), 'setting');
-    }
-    // If Hide Siblings is on, tell it to JS
-    if ($effects = variable_get('dhtml_menu_hide_siblings', 0)) {
-      drupal_add_js(array('dhtmlMenu_hideSiblings' => 1), 'setting');
-    }
-  }
-
-  foreach ($tree as $pid => $item) {
-    // hidden sub-items are removed already; this line takes care of root items.
-    if ($item['link']['hidden']) {
-      continue;
-    }
-
-    // pid is going to be a DOM identifier, and can't have some characters
-    $pid = ereg_replace('[^A-Za-z0-9]', '', $pid);
-
-    $output .= theme('dhtml_menu_item', $item, $pid);
-  }
-
-  return "\n<ul class=\"$class\">\n". $output ."\n</ul>\n";
-}
-
-/**
- * Fetch duplicated menu items - this is a configurable setting.
- */
-function _dhtml_get_add_links() {
-  static $dhtml_menu_duplicated;
- 
-  if (!isset($dhtml_menu_duplicated)) {
-    $dhtml_menu_duplicated = array();
-    $text = variable_get('dhtml_menu_duplicated', DHTML_MENU_DUPLICATE_DEFAULT);
-    $text = preg_split('/\n/', $text, -1, PREG_SPLIT_NO_EMPTY); // explode returns array(0 => '') for $text == ''
-
-    foreach($text as $line) {
-      $line = trim($line);
-      preg_match('/^([^ ]+)( (.*))?$/',$line,$match);
-      $dhtml_menu_duplicated[$match[1]] = !empty($match[3]) ? $match[3] : TRUE;
-    }
-  }
- 
-  return $dhtml_menu_duplicated;
-}
Index: po/de.po
===================================================================
RCS file: po/de.po
diff -N po/de.po
--- po/de.po	16 Jun 2008 20:40:49 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,70 +0,0 @@
-# $Id: de.po,v 1.1 2008/06/16 20:40:49 arancaytar Exp $
-#
-# LANGUAGE translation of DHTML Menu
-# Copyright 2008 Arancaytar <arancaytar.ilyaran@gmail.com>
-# Generated from files:
-#  dhtml_menu.admin.inc,v 1.2 2008/05/12 06:40:27 arancaytar
-#  dhtml_menu.module,v 1.25 2008/05/12 06:39:52 arancaytar
-#  dhtml_menu.info,v 1.3 2008/02/14 17:15:57 arancaytar
-#  dhtml_menu.install,v 1.6 2008/05/12 06:39:52 arancaytar
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: dhtml_menu 6.x-2.x\n"
-"POT-Creation-Date: 2008-06-16 04:10-0700\n"
-"PO-Revision-Date: 2008-06-16 14:20+0200\n"
-"Last-Translator: Arancaytar <arancaytar.ilyaran@gmail.com>\n"
-"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: dhtml_menu.admin.inc:17
-msgid "jQuery slide effect"
-msgstr "jQuery Schiebeeffekt"
-
-#: dhtml_menu.admin.inc:18
-msgid "Menu slides when it opens and closes."
-msgstr "Das ffnen und Schlieen des Mens ist animiert."
-
-#: dhtml_menu.admin.inc:23
-msgid "Hide Siblings effect"
-msgstr "Mens automatisch schlieen"
-
-#: dhtml_menu.admin.inc:24
-msgid "Close all other menu items when one opens."
-msgstr "Wenn ein Men geffnet wird, schlieen sich alle anderen."
-
-#: dhtml_menu.admin.inc:30
-msgid "Duplicated menu items"
-msgstr "Verdoppelte Menpunkte"
-
-#: dhtml_menu.admin.inc:31
-msgid "You can specify a list of menu items that should be displayed twice: Once as a parent item that expands and collapses the sub-menu and again as its own child item, which points directly to the page (the parent items still links on double-click). Enter one internal path (like \"admin\") on each line. To specify a custom link text, put it after the path, separated by a space."
-msgstr "Sie knnen eine Liste von Menpunkten eingeben, die doppelt angezeigt werden sollen: Der erste Punkt im Untermen ist dann ein Zwilling des bergeordneten Punktes, der direkt zu der verlinkten Seite fhrt. (Diese Seite kann immer durch Doppelklick auf den Menpunkt geffnet werden.) Geben Sie einen interne Pfad (wie \"admin\") pro Zeile ein. Ein Zwilling kann mit einem anderen Linktext beschriftet werden, wie \"admin Hauptmen\"."
-
-#: dhtml_menu.module:39
-msgid "Use the DHTML effect"
-msgstr "Aktiviere den DHTML-Effekt"
-
-#: dhtml_menu.module:17
-msgid "DHTML Menu"
-msgstr "DHTML Mens"
-
-#: dhtml_menu.module:18 dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr "Erzeugt neue Mens mit DHTML-Effekt um Seitenaufrufe zu verringern"
-
-#: dhtml_menu.module:0
-msgid "dhtml_menu"
-msgstr "dhtml_menu"
-
-#: dhtml_menu.install:21
-msgid "All your menu blocks now use DHTML behavior by default. This configuration can be changed in the block settings."
-msgstr "All Ihre Menblcke verwenden nun den DHTML-Effekt. Sie knnen diese Konfiguration in den Blockeinstellungen ndern."
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr "DHTML Mens"
Index: po/dhtml_menu.pot
===================================================================
RCS file: po/dhtml_menu.pot
diff -N po/dhtml_menu.pot
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ po/dhtml_menu.pot	7 Jul 2008 22:15:16 -0000
@@ -0,0 +1,62 @@
+# $Id$
+#
+# LANGUAGE translation of Drupal (general)
+# Copyright YEAR NAME <EMAIL@ADDRESS>
+# Generated from files:
+#  dhtml_menu.admin.inc: n/a
+#  dhtml_menu.module: n/a
+#  dhtml_menu.info,v 1.3 2008/02/14 17:15:57 arancaytar
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PROJECT VERSION\n"
+"POT-Creation-Date: 2008-07-07 14:46-0700\n"
+"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
+"Last-Translator: NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
+
+#: dhtml_menu.admin.inc:15
+msgid "DHTML Menu effects"
+msgstr ""
+
+#: dhtml_menu.admin.inc:17
+msgid "Animated sliding effect"
+msgstr ""
+
+#: dhtml_menu.admin.inc:18
+msgid "Keep only one menu open at a time."
+msgstr ""
+
+#: dhtml_menu.admin.inc:19
+msgid "Add an extra page link to each expanding menu item."
+msgstr ""
+
+#: dhtml_menu.admin.inc:20
+msgid "Go to the page on double-click."
+msgstr ""
+
+#: dhtml_menu.module:162
+msgid "<em>DHTML Menu</em> adds dynamic functionality to the menus of your site. Ordinarily, reaching the child elements below an item requires you to visit its page. With DHTML Menu, clicking on an item with child elements will expand it without leaving the page, saving time. You can reach the actual page of such an item either by double-clicking on it or visiting the small extra link that will be shown right below it when expanded."
+msgstr ""
+
+#: dhtml_menu.module:146 dhtml_menu.info:0
+msgid "DHTML Menu"
+msgstr ""
+
+#: dhtml_menu.module:147
+msgid "Configure the effects of DHTML Menu"
+msgstr ""
+
+#: dhtml_menu.module:0
+msgid "dhtml_menu"
+msgstr ""
+
+#: dhtml_menu.info:0
+msgid "Adds new menus with DHTML to reduce page refreshes."
+msgstr ""
+
Index: po/eo.po
===================================================================
RCS file: po/eo.po
diff -N po/eo.po
--- po/eo.po	2 Jun 2008 13:08:43 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,70 +0,0 @@
-# $Id: eo.po,v 1.1 2008/06/02 13:08:43 arancaytar Exp $
-#
-# LANGUAGE translation of DHTML Menu
-# Copyright 2008 Arancaytar <arancaytar.ilyaran@gmail.com>
-# Generated from files:
-#  dhtml_menu.admin.inc,v 1.2 2008/05/12 06:40:27 arancaytar
-#  dhtml_menu.module,v 1.25 2008/05/12 06:39:52 arancaytar
-#  dhtml_menu.info,v 1.3 2008/02/14 17:15:57 arancaytar
-#  dhtml_menu.install,v 1.6 2008/05/12 06:39:52 arancaytar
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: dhtml_menu 6.x-2.x\n"
-"POT-Creation-Date: 2008-06-02 04:10-0700\n"
-"PO-Revision-Date: 2008-06-02 14:20+0200\n"
-"Last-Translator: Arancaytar <arancaytar.ilyaran@gmail.com>\n"
-"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: dhtml_menu.admin.inc:17
-msgid "jQuery slide effect"
-msgstr "jQuery sovebla efekto"
-
-#: dhtml_menu.admin.inc:18
-msgid "Menu slides when it opens and closes."
-msgstr "Menuoj glitas kiam gis apertas au fermas."
-
-#: dhtml_menu.admin.inc:23
-msgid "Hide Siblings effect"
-msgstr "Kasi Gefratoj efekto"
-
-#: dhtml_menu.admin.inc:24
-msgid "Close all other menu items when one opens."
-msgstr "Kiam menuo apertas, cioj aliaj menuoj fermas."
-
-#: dhtml_menu.admin.inc:30
-msgid "Duplicated menu items"
-msgstr "Duiti menueroj"
-
-#: dhtml_menu.admin.inc:31
-msgid "You can specify a list of menu items that should be displayed twice: Once as a parent item that expands and collapses the sub-menu and again as its own child item, which points directly to the page (the parent items still links on double-click). Enter one internal path (like \"admin\") on each line. To specify a custom link text, put it after the path, separated by a space."
-msgstr "Vi povas enskribi liston de menueroj kioj vidigitu dufoje: Unue kiel patrero kio ekspansas la submenuon, kaj ree kiel sia idoero kio ligilas al la pago de la menuero. La patrero ankau ligilas al la pago kiam duoble klakita. Enskribu unu internan padon kaj etikedon por lineo (por eksamplo \"admin Administrapanelo\")."
-
-#: dhtml_menu.module:39
-msgid "Use the DHTML effect"
-msgstr "Uzu la DHTML efekton"
-
-#: dhtml_menu.module:17
-msgid "DHTML Menu"
-msgstr "DHTML Menuoj"
-
-#: dhtml_menu.module:18 dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr "Aldonas novajn menuojn kun DHTML funkcio por redukti pagorefresojn"
-
-#: dhtml_menu.module:0
-msgid "dhtml_menu"
-msgstr "dhtml_menu"
-
-#: dhtml_menu.install:21
-msgid "All your menu blocks now use DHTML behavior by default. This configuration can be changed in the block settings."
-msgstr "Via ciuj menublokoj nun uzas la DHTML funkcion per defaulto. Tion ci vi povas sango en la bloko administrejo."
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr "DHTML Menuoj"
Index: po/hu.po
===================================================================
RCS file: po/hu.po
diff -N po/hu.po
--- po/hu.po	20 Jun 2007 04:56:16 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,63 +0,0 @@
-# $Id: hu.po,v 1.1 2007/06/20 04:56:16 melon Exp $
-#
-# HUNGARIAN translation of Drupal (dhtml_menu)
-# Copyright 2007 Drupal.hu Fordítói Csapat <forditas [at] drupal.hu>
-# Generated from files:
-#  dhtml_menu.module,v 1.6 2007/01/21 09:03:12 stevemckenzie
-#  dhtml_menu.info,v 1.1 2006/12/09 19:42:54 merlinofchaos
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: DHTML menu 5.x-0.x-dev Hungarian Translation\n"
-"POT-Creation-Date: \n"
-"PO-Revision-Date: 2007-06-20 06:50+0100\n"
-"Last-Translator: Attila Beregszászi <melon@m42.hu>\n"
-"Language-Team: Drupal.hu Fordítói Csapat <forditas@drupal.hu>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=n != 1;\n"
-"X-Poedit-Language: Hungarian\n"
-
-#: dhtml_menu.module:30
-msgid "DHTML Menu"
-msgstr "DHTML Menü"
-
-#: dhtml_menu.module:50
-msgid "DHTML: "
-msgstr "DHTML: "
-
-#: dhtml_menu.module:66
-msgid "JavaScript Settings"
-msgstr "JavaScript Beállítások"
-
-#: dhtml_menu.module:69
-msgid "Use jQuery Slide Effects"
-msgstr "jQuery csúsztató hatások használata"
-
-#: dhtml_menu.module:70
-msgid "Menu's will slide open and closed."
-msgstr "A menük ki- és becsúsztatva jelennek meg."
-
-#: dhtml_menu.module:85
-msgid "Administer"
-msgstr "Aminisztráció"
-
-#: dhtml_menu.module:17
-msgid "administer dhtml menu"
-msgstr "dhtml menü adminisztrációja"
-
-#: dhtml_menu.module:0
-#: dhtml_menu.info:0
-msgid "dhtml_menu"
-msgstr "dhtml_menu"
-
-#: dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr "Új DHTML menüket hoz létre az oldalletöltése csökkentése érdekében"
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr "DHTML Menük"
-
Index: po/ja.po
===================================================================
RCS file: po/ja.po
diff -N po/ja.po
--- po/ja.po	24 Apr 2007 11:33:22 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,43 +0,0 @@
-# $Id: ja.po,v 1.2 2007/04/24 11:33:22 imagine Exp $
-# -----------------------------------------------------------------------------
-# Japanese translation of Drupal (dhtml_menu.module)
-#
-# Copyright (c) 2006-2007  Drupal Japan  ( http://drupal.jp/ )  /
-#                          Drupal Nippon ( http://drupon.org/ ) /
-#                          Takafumi      ( jp.drupal@imagine **reverse order**)
-#
-# Generated from file:
-#  dhtml_menu.module,v 1.5 2006/12/09 22:12:11 merlinofchaos
-#  dhtml_menu.info,v 1.1 2006/12/09 19:42:54 merlinofchaos
-#
-# -----------------------------------------------------------------------------
-msgid ""
-msgstr ""
-"POT-Creation-Date: 2007-04-05 22:06+0900\n"
-"Last-Translator: Takafumi <jp.drupal@imagine **reverse order**>\n"
-"Language-Team: Drupal Japan / Drupal Nippon\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-
-#: dhtml_menu.module:19
-msgid "DHTML: "
-msgstr "DHTML： "
-
-#: dhtml_menu.module:38
-#msgid "Administer"
-#msgstr "管理セクション"
-
-#: dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr "ページリフレッシュを減らすために、DHTMLを備えた新しいメニューを加えます。"
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr "DHTMLメニュー"
-
-#: dhtml_menu.info:0
-msgid "dhtml_menu"
-msgstr "dhtml_menu"
-
Index: po/ru.po
===================================================================
RCS file: po/ru.po
diff -N po/ru.po
--- po/ru.po	13 Mar 2007 09:32:32 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,56 +0,0 @@
-# Russian translation of Drupal (dhtml_menu.module)
-# Copyright 2007 vadbars <vadbars@mail.ru>
-# Generated from files:
-#  dhtml_menu.module,v 1.6 2007/01/21 09:03:12 stevemckenzie
-#  dhtml_menu.info,v 1.1 2006/12/09 19:42:54 merlinofchaos
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Drupal 5.x\n"
-"POT-Creation-Date: 2007-03-13 14:10+0500\n"
-"PO-Revision-Date: 2007-03-13 14:21+0500\n"
-"Last-Translator: vadbars <vadbars@mail.ru>\n"
-"Language-Team: Russian Drupal Translation Team (RDTT) <translators@drupal.ru>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=3; plural=((($n%10==1) && ($n%100!=11))?(0):((((($n%10)>=2)&&(($n%10)<=4))&&((($n%100)<10)||(($n%100)>=20)))?(1):2))\n"
-"X-Poedit-Language: Russian\n"
-"X-Poedit-Country: RUSSIAN FEDERATION\n"
-
-#: dhtml_menu.module:30
-msgid "DHTML Menu"
-msgstr "Меню DHTML"
-
-#: dhtml_menu.module:50
-msgid "DHTML: "
-msgstr "DHTML: "
-
-#: dhtml_menu.module:66
-msgid "JavaScript Settings"
-msgstr "Настройки JavaScript"
-
-#: dhtml_menu.module:69
-msgid "Use jQuery Slide Effects"
-msgstr "Использовать эффекты скольжения jQuery"
-
-#: dhtml_menu.module:70
-msgid "Menu's will slide open and closed."
-msgstr "Меню будут плавно раскрываться и закрываться."
-
-#: dhtml_menu.module:85
-msgid "Administer"
-msgstr "Управлять"
-
-#: dhtml_menu.module:17
-msgid "administer dhtml menu"
-msgstr "управлять меню dhtml"
-
-#: dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr "Добавляет новые меню с DHTML, что позволяет перемещаться по меню без лишних перезагрузок страниц"
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr "Меню DHTML"
-
Index: po/sv.po
===================================================================
RCS file: po/sv.po
diff -N po/sv.po
--- po/sv.po	8 Jun 2008 17:19:46 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,74 +0,0 @@
-# $Id: sv.po,v 1.1 2008/06/08 17:19:46 arancaytar Exp $
-#
-# Swedish translation of Drupal (dhtml_menu)
-# Copyright 2008 Magnus Gunnarsson <seals@passagen.se>
-# Generated from files:
-#  dhtml_menu.admin.inc,v 1.2 2008/05/12 06:40:27 arancaytar
-#  dhtml_menu.module,v 1.25 2008/05/12 06:39:52 arancaytar
-#  dhtml_menu.info,v 1.3 2008/02/14 17:15:57 arancaytar
-#  dhtml_menu.install,v 1.6 2008/05/12 06:39:52 arancaytar
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: DHTML Menu 6.x\n"
-"POT-Creation-Date: 2008-05-22 07:07+0200\n"
-"PO-Revision-Date: 2008-05-22 07:49+0100\n"
-"Last-Translator: Magnus Gunnarsson <seals@passagen.se>\n"
-"Language-Team: drupalsverige.\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n!=1);\n"
-"X-Poedit-Language: Swedish\n"
-"X-Poedit-Country: SWEDEN\n"
-"X-Poedit-SourceCharset: utf-8\n"
-
-#: dhtml_menu.admin.inc:17
-msgid "jQuery slide effect"
-msgstr "Glideffekt i jQuery"
-
-#: dhtml_menu.admin.inc:18
-msgid "Menu slides when it opens and closes."
-msgstr "Menyer glider när de öppnas och stängs."
-
-#: dhtml_menu.admin.inc:23
-msgid "Hide Siblings effect"
-msgstr "Göm besläktade effekter"
-
-#: dhtml_menu.admin.inc:24
-msgid "Close all other menu items when one opens."
-msgstr "Stäng alla andra menyval när en öppnas."
-
-#: dhtml_menu.admin.inc:30
-msgid "Duplicated menu items"
-msgstr "Dubbla menyval"
-
-#: dhtml_menu.admin.inc:31
-msgid "You can specify a list of menu items that should be displayed twice: Once as a parent item that expands and collapses the sub-menu and again as its own child item, which points directly to the page (the parent items still links on double-click). Enter one internal path (like \"admin\") on each line. To specify a custom link text, put it after the path, separated by a space."
-msgstr "Du kan ange en lista av menyval som skall visas två gånger: Först som överliggande alternativ som utökar och komprimerar undermenyn och sen är sitt eget underliggande alternativ som pekar direkt mot sidan (det överliggande alternativet länkas fortfarande vid dubbelklickning). Ange en intern sökväg (såsom \"admin\") på varje rad. Sätt det efter sökvägen separerat med ett mellanslag för att specificera en anpassad länktext."
-
-#: dhtml_menu.module:39
-msgid "Use the DHTML effect"
-msgstr "Använd effekten DHTML"
-
-#: dhtml_menu.module:17
-msgid "DHTML Menu"
-msgstr "DHTML-meny"
-
-#: dhtml_menu.module:18
-#: dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr "Lägger till nya menyer med DHTML för att minska omladdningen av sidor"
-
-#: dhtml_menu.module:0
-msgid "dhtml_menu"
-msgstr "dhtml_menu"
-
-#: dhtml_menu.install:21
-msgid "All your menu blocks now use DHTML behavior by default. This configuration can be changed in the block settings."
-msgstr "Alla dina menyblock använder sig nu av DTHML vid visning som standard. Denna inställning kan ändras i blockinställningarna."
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr "DHTML-menyer"
-
Index: translations/dhtml_menu.fr.po
===================================================================
RCS file: translations/dhtml_menu.fr.po
diff -N translations/dhtml_menu.fr.po
--- translations/dhtml_menu.fr.po	6 Jul 2008 16:58:59 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,105 +0,0 @@
-# translation of SB-dhtml_menu.po to
-# translation of dhtml_menu.po to
-msgid ""
-msgstr ""
-"Project-Id-Version: SB-dhtml_menu\n"
-"POT-Creation-Date: 2008-07-05 18:49+0200\n"
-"PO-Revision-Date: 2008-07-06 18:27+0200\n"
-"Last-Translator: sandrine\n"
-"Language-Team:  <fr@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#: dhtml_menu.admin.inc:17
-msgid "Use DHTML Effect"
-msgstr "Utiliser l'effet DHTML"
-
-#: dhtml_menu.admin.inc:18
-msgid "Enable on all menus."
-msgstr "Activer sur tous les menus."
-
-#: dhtml_menu.admin.inc:18
-msgid "Keep current configuration."
-msgstr "Conserver la configuration actuelle."
-
-#: dhtml_menu.admin.inc:18
-msgid "Disable on all menus."
-msgstr "Désactiver sur tous les menus."
-
-#: dhtml_menu.admin.inc:25
-msgid "jQuery slide effect"
-msgstr "Effet de glissement jQuery"
-
-#: dhtml_menu.admin.inc:26
-msgid "Menu slides when it opens and closes."
-msgstr "Le menu \"glisse\" lorsqu'il s'ouvre et se ferme."
-
-#: dhtml_menu.admin.inc:32
-msgid "Hide Siblings effect"
-msgstr "Effet de dissimulation des éléments frères"
-
-#: dhtml_menu.admin.inc:33
-msgid "Close all other menu items when one opens."
-msgstr "Lorsque l'on ouvre un élément de menu, tous les autres se ferment."
-
-#: dhtml_menu.admin.inc:39
-msgid "Duplicated menu items"
-msgstr "Éléments de menu dupliqués"
-
-#: dhtml_menu.admin.inc:40
-msgid ""
-"You can specify a list of menu items that should be displayed twice: Once as "
-"a parent item that expands and collapses the sub-menu and again as its own "
-"child item, which points directly to the page (the parent items still links "
-"on double-click). Enter one internal path (like \"admin\") on each line. To "
-"specify a custom link text, put it after the path, separated by a space."
-msgstr ""
-"Vous pouvez spécifier une liste d'éléments de menu devant apparaître deux "
-"fois : une fois en tant qu'élément parent dépliant et repliant le sous-menu, "
-"et une fois en tant que son propre élément enfant qui pointe directement "
-"vers la page (les éléments parents proposent aussi ce lien, mais nécessitent "
-"un double clic). Saisissez un chemin interne (par exemple \"admin\") par "
-"ligne. Pour spécifier un texte de lien personnalisé, renseignez-le après le "
-"chemin, séparé de celui-ci par un espace."
-
-#: dhtml_menu.admin.inc:58
-msgid "DHTML has been enabled for all menus."
-msgstr "DHTML a été activé pour tous les menus."
-
-#: dhtml_menu.admin.inc:62
-msgid "DHTML has been disabled for all menus."
-msgstr "DHTML a été désactivé pour tous les menus."
-
-#: dhtml_menu.module:39
-msgid "Use the DHTML effect"
-msgstr "Utiliser l'effet DHTML"
-
-#: dhtml_menu.module:17
-msgid "DHTML Menu"
-msgstr "Menu DHTML"
-
-#: dhtml_menu.module:18 dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr ""
-"Ajoute les nouveaux menus au format DHTML pour limiter les rafraîchissements "
-"de page"
-
-#: dhtml_menu.module:0
-msgid "dhtml_menu"
-msgstr "dhtml_menu"
-
-#: dhtml_menu.install:21
-msgid ""
-"All your menu blocks now use DHTML behavior by default. This configuration "
-"can be changed in the <a href=\"@url\">block settings</a>."
-msgstr ""
-"Tous vos blocs de menus utilisent désormais le comportement DHTML par "
-"défaut. Cette configuration peut être modifiée dans le <a href=\"@url\">paramétrage des blocs</a>."
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr "DHTML Menus"
-
Index: translations/dhtml_menu.pot
===================================================================
RCS file: translations/dhtml_menu.pot
diff -N translations/dhtml_menu.pot
--- translations/dhtml_menu.pot	6 Jul 2008 16:58:59 -0000	1.1
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,95 +0,0 @@
-# $Id: dhtml_menu.pot,v 1.1 2008/07/06 16:58:59 damz Exp $
-#
-# LANGUAGE translation of Drupal (root)
-# Copyright YEAR NAME <EMAIL@ADDRESS>
-# Generated from files:
-#  dhtml_menu.admin.inc,v 1.3 2008/06/30 15:08:57 arancaytar
-#  dhtml_menu.module,v 1.27 2008/06/30 14:49:06 arancaytar
-#  dhtml_menu.info,v 1.3 2008/02/14 17:15:57 arancaytar
-#  dhtml_menu.install,v 1.7 2008/06/30 14:49:06 arancaytar
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PROJECT VERSION\n"
-"POT-Creation-Date: 2008-07-05 18:49+0200\n"
-"PO-Revision-Date: YYYY-mm-DD HH:MM+ZZZZ\n"
-"Last-Translator: NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <EMAIL@ADDRESS>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=utf-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
-
-#: dhtml_menu.admin.inc:17
-msgid "Use DHTML Effect"
-msgstr ""
-
-#: dhtml_menu.admin.inc:18
-msgid "Enable on all menus."
-msgstr ""
-
-#: dhtml_menu.admin.inc:18
-msgid "Keep current configuration."
-msgstr ""
-
-#: dhtml_menu.admin.inc:18
-msgid "Disable on all menus."
-msgstr ""
-
-#: dhtml_menu.admin.inc:25
-msgid "jQuery slide effect"
-msgstr ""
-
-#: dhtml_menu.admin.inc:26
-msgid "Menu slides when it opens and closes."
-msgstr ""
-
-#: dhtml_menu.admin.inc:32
-msgid "Hide Siblings effect"
-msgstr ""
-
-#: dhtml_menu.admin.inc:33
-msgid "Close all other menu items when one opens."
-msgstr ""
-
-#: dhtml_menu.admin.inc:39
-msgid "Duplicated menu items"
-msgstr ""
-
-#: dhtml_menu.admin.inc:40
-msgid "You can specify a list of menu items that should be displayed twice: Once as a parent item that expands and collapses the sub-menu and again as its own child item, which points directly to the page (the parent items still links on double-click). Enter one internal path (like \"admin\") on each line. To specify a custom link text, put it after the path, separated by a space."
-msgstr ""
-
-#: dhtml_menu.admin.inc:58
-msgid "DHTML has been enabled for all menus."
-msgstr ""
-
-#: dhtml_menu.admin.inc:62
-msgid "DHTML has been disabled for all menus."
-msgstr ""
-
-#: dhtml_menu.module:39
-msgid "Use the DHTML effect"
-msgstr ""
-
-#: dhtml_menu.module:17
-msgid "DHTML Menu"
-msgstr ""
-
-#: dhtml_menu.module:18 dhtml_menu.info:0
-msgid "Adds new menus with DHTML to reduce page refreshes"
-msgstr ""
-
-#: dhtml_menu.module:0
-msgid "dhtml_menu"
-msgstr ""
-
-#: dhtml_menu.install:21
-msgid "All your menu blocks now use DHTML behavior by default. This configuration can be changed in the <a href=\"@url\">block settings</a>."
-msgstr ""
-
-#: dhtml_menu.info:0
-msgid "DHTML Menus"
-msgstr ""
-
