=== modified file 'uc_deliverytimeslot.module'
--- uc_deliverytimeslot.module	2010-01-04 20:47:43 +0000
+++ uc_deliverytimeslot.module	2010-01-05 01:46:42 +0000
@@ -235,24 +235,16 @@
     case 'view':
       drupal_add_css(drupal_get_path('module', 'uc_deliverytimeslot') .'/uc_deliverytimeslot.css');
       $description = variable_get('uc_deliverytimeslot_display_text', t('Please specify a date and time of delivery.'));
+      $no_slot_selection = t("With the selected Shipping Method is not possible to choose a delivery timeslot.");
       $contents['delivery_timeslot'] = array('#type' => 'radios');
-      if(variable_get('uc_deliverytimeslot_display_show', 0) == 1) {
-        $no_hide = TRUE;
-      }
       // back and error on checkout form
       if (is_numeric($arg1->deliverytimeslot['delivery_day']) && is_numeric($arg1->deliverytimeslot['delivery_sid'])) {
-        $no_hide = TRUE;
         $_SESSION['deliverytimeslot'] = $arg1->deliverytimeslot['delivery_day'] .'|'. $arg1->deliverytimeslot['delivery_sid'];
       }
       elseif (isset($_SESSION['deliverytimeslot'])) {
         unset($_SESSION['deliverytimeslot']);
       }
 
-      // if customer go away and back on the same session, quote is stored
-      if (isset($_SESSION['quote']['method']) && in_array($_SESSION['quote']['method'], $shipping_quote)) {
-        $no_hide = TRUE;
-      }
-
       // ad js when select shipping quote
       $reg = '';
       foreach ($shipping_quote AS $quote) {
@@ -260,15 +252,19 @@
       }
       $reg = substr($reg, 0, -1);
       $js = 'Drupal.behaviors.deliverytimeslot = function() {';
-      $no_hide ? $js .= '$("#deliverytimeslot-pane").show();' : $js .= '$("#deliverytimeslot-pane").hide();';
       // case : only one shipping quote, no input radios
       $js .= 'var onevalue = $("#quote").find("input:hidden[name=quote-option]").val();';
+      $js .= 'function slotIn() {setTimeout($("#deliverytimeslot-pane table").fadeIn("slow"),200);}';
+      $js .= 'function slotOut() {setTimeout($("#deliverytimeslot-pane table").fadeOut("slow"),200);}';
       $js .= 'if(window.set_line_item && onevalue){
                 var reg = new RegExp("('. $reg .')", \'g\');
+                  $("#deliverytimeslot-pane").fadeIn("slow");
                 if (reg.test(onevalue)){
-                  $("#deliverytimeslot-pane").fadeIn("slow");
+                  $("#deliverytimeslot-pane div.description").text("' . $description . '");
+                  $("#edit-panes-quotes-next").click(slotIn);
                 } else {
-                  $("#deliverytimeslot-pane").fadeOut("slow");
+                  $("#deliverytimeslot-pane div.description").text("' . $no_slot_selection . '");
+                  $("#edit-panes-quotes-next").click(slotOut);
                 }
               };';
       // case : multiple quote
@@ -276,9 +272,11 @@
                   var checkedvalue=$(this).val();
                     var reg = new RegExp("('. $reg .')", \'g\');
                     if (checkedvalue && reg.test(checkedvalue)){
-                      $("#deliverytimeslot-pane").fadeIn("slow");
+                      $("#deliverytimeslot-pane div.description").text("' . $description . '");
+                      $("#edit-panes-quotes-next").click(slotIn);
                     } else {
-                      $("#deliverytimeslot-pane").fadeOut("slow");
+                      $("#deliverytimeslot-pane div.description").text("' . $no_slot_selection . '");
+                      $("#edit-panes-quotes-next").click(slotOut);
                     }
                 });}';
       drupal_add_js($js, 'inline');

