--- dynamic_persistent_menu.js.orig	2010-02-14 16:56:34.000000000 +0530
+++ dynamic_persistent_menu.js	2010-02-14 16:57:00.000000000 +0530
@@ -1,26 +1,40 @@
+// $Id$
+
+/**
+ * @file dynamic_persistent_menu.js
+ * The Javascript code for Dynamic Persistent Menu
+ */
+
 var overMenu;
 var overStatus = 1;
 
+/**
+ * Initialize the module's JS functions
+ */
 Drupal.behaviors.dynamic_persistent_menu = function() {
+  // Show current submenu, hide previous submenu, if any.
   $(".dynamic-persistent-menu-menu-item").mouseover(
     function () {
       overStatus = 1 ;
-      
+      
+      // If there was a previous menu which received a mouseover, hide the submenu.
       if (overMenu) {
         subMenu = dynamic_persistent_menu_get_sub_menu(overMenu);
         $('#' + subMenu).hide();
         $('#' + overMenu).removeClass('dynamic-persistent-menu-children-active');
       }
-
+      // Show the submenu of the current menu.
       overMenu = this.id;
       subMenu = dynamic_persistent_menu_get_sub_menu(overMenu);
       $('#' + subMenu).show();
       $('#' + this.id).addClass('dynamic-persistent-menu-children-active')
     }
   ).mouseout(
+    // Set timeout for the hide function
     dynamic_persistent_menu_set_timeout
   );
       
+  // Keep over status as long as mouse is over the current menu.
   $(".dynamic-persistent-menu-sub-menu").mouseover(
     function() {
       if (dynamic_persistent_menu_get_sub_menu(overMenu) == this.id) {
@@ -32,10 +46,16 @@
   )
 };
 
+/**
+ * Get the id of the submenu of a menu, given its id.
+ */
 function dynamic_persistent_menu_get_sub_menu(menu_id) {
   return menu_id.replace('dynamic-persistent-menu-menu','dynamic-persistent-menu-sub-menu');
 }
 
+/**
+ * Reset all submenus and the corresponding statuses.
+ */
 function dynamic_persistent_menu_reset() {
   if (!overStatus) {
     $('#' + dynamic_persistent_menu_get_sub_menu(overMenu)).hide();
@@ -45,6 +65,9 @@
   }
 }
 
+/**
+ * Call timeout function.
+ */
 function dynamic_persistent_menu_set_timeout() {
   overStatus = 0 ;
   setTimeout('dynamic_persistent_menu_reset()', subMenuTimeout);
