Index: popups.js
===================================================================
--- popups.js	(revision 211)
+++ popups.js	(working copy)
@@ -73,12 +73,6 @@
     $element.click(function(e){ 
       var element = this;
 
-      // If element is inside of a #popup div, show alert and bail out. 
-      if ($(element).parents('#popups').length) { 
-        alert("Sorry, popup chaining is not supported (yet).");
-        return false;
-      }
-
       // If the element contains a on-popups-options attribute, use it instead of options param.
       if ($(element).attr('on-popups-options')) {
         options = eval('(' + $(element).attr('on-popups-options') + ')'); 
@@ -110,14 +104,24 @@
  */
 Drupal.popups.open = function(title, body, buttons, width) {
   Drupal.popups.addOverlay(); // TODO - nonModal option.
-  var $popups = $(Drupal.theme('popupDialog', title, body, buttons));
-  // Start with dialog off the side. Making it invisible causes flash in FF2.
-  $popups.css('left', '-9999px');
-  if (width) {
-    $popups.css('width', width);
+  // If a popup is currently open, just stuff new content into it.
+  if ($('#popups').length) {
+    $('#popups').fadeOut('fast', function() {
+      $('#popups-body').html(body);
+    }).fadeIn('fast');
+    var $popups = $('#popups');
+    // TODO - remove existing button functions.
   }
-  $('body').append( $popups ); // Add the popups to the DOM.
-
+  else {
+	  var $popups = $(Drupal.theme('popupDialog', title, body, buttons));
+	  // Start with dialog off the side. Making it invisible causes flash in FF2.
+	  $popups.css('left', '-9999px');
+	  if (width) {
+	    $popups.css('width', width);
+	  }
+	  $('body').append( $popups ); // Add the popups to the DOM.
+  }
+  
   // Adding button functions
   if (buttons) {
     jQuery.each(buttons, function (id, button) { 
