Index: modules/jstools/dynamicload/dynamicload.module
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/jstools/dynamicload/dynamicload.module,v
retrieving revision 1.40
diff -u -r1.40 dynamicload.module
--- modules/jstools/dynamicload/dynamicload.module	25 Jun 2007 16:25:45 -0000	1.40
+++ modules/jstools/dynamicload/dynamicload.module	26 Jun 2007 16:28:33 -0000
@@ -141,10 +141,8 @@
     ));
     drupal_add_js(drupal_get_path('module', 'jstools') . '/jquery.history_remote.min.js');
     // Insert dummy content that will be used to select the region container.
-    $regions = system_region_list(variable_get('theme_default', 'garland'));
-    foreach (array_keys($regions) as $key) {
-      drupal_set_content($key, '<div id="dynamicload-region-'. $key .'" class="dynamicload-region"></div>');
-    }
+    // We need to manually set the left and right
+    _dynamicload_set_region_markers(array('left', 'right'));
     drupal_add_css(drupal_get_path('module', 'block') .'/block.css');
 
     $loaded = TRUE;
@@ -159,8 +157,17 @@
  * to load data for.
  */
 function dynamicload_footer() {
+  global $theme;
+
   static $loaded = FALSE;
   if (!$loaded) {
+
+    // Insert dummy content that will be used to select the region container.
+    $regions = array_keys(system_region_list($theme));
+    // The left and right regions are handled separately in dynamicload_load().
+    unset($regions['left'], $regions['right']);
+    _dynamicload_set_region_markers($regions);
+
     $settings = dynamicload_block_data();
     foreach (module_invoke_all('dynamicload') as $setting) {
       $settings = array_merge($settings, $setting);
@@ -185,6 +192,18 @@
 }
 
 /**
+ * Set a marker div in a given set of regions.
+ *
+ * These divs can be used from Javascript to update regions with dynamically
+ * loaded content.
+ */
+function _dynamicload_set_region_markers($regions) {
+  foreach ($regions as $region) {
+    drupal_set_content($region, '<div id="dynamicload-region-'. $region .'" class="dynamicload-region"></div>');
+  }
+}
+
+/**
  * Implementation of hook_form_alter().
  */
 function dynamicload_form_alter($form_id, &$form) {
