I've cut all of the code related to the shipping estimator from the tpl_shopping_cart_default.php template and pasted it into a table cell to the right of my shopping cart contents.

It works perfectly when I'm logged in, but not at all when I am not logged in. Any idea why this would be? Here's the code:

Code:
<td><?php
    if (SHOW_SHIPPING_ESTIMATOR_BUTTON == '1') {

?>

<div class="buttonRow back"><?php echo '<a href="javascript:popupWindow(\'' . zen_href_link(FILENAME_POPUP_SHIPPING_ESTIMATOR) . '\')">' .

zen_image_button(BUTTON_IMAGE_SHIPPING_ESTIMATOR, BUTTON_SHIPPING_ESTIMATOR_ALT) . '</a>'; ?></div>

<?php
    }
?>

<?php
      if (SHOW_SHIPPING_ESTIMATOR_BUTTON == '2') {
/**
 * load the shipping estimator code if needed
 */
?>

      <?php require(DIR_WS_MODULES . zen_get_module_directory('shipping_estimator.php')); ?>

<?php
      }
?>

</td>