diff -Naur /Users/acs/premium/premium.module premium/premium.module
--- /Users/acs/premium/premium.module	2009-01-16 16:30:39.000000000 -0800
+++ premium/premium.module	2009-01-16 16:54:00.000000000 -0800
@@ -56,7 +56,19 @@
       
     case 'view':
       if (!$node->premium_access) {
-        $node->content['body']['#value'] = theme('premium_body', $node);
+        $redirect_url = variable_get('premium_redirect_url', FALSE);
+        if ($redirect_url) {
+          $premium_message = variable_get('premium_message', '');
+          $override_message = module_invoke_all('premium_message', $premium_message, $node);
+          if ($override_message) {
+            $premium_message = $override_message;
+          }
+          drupal_set_message($premium_message);
+          drupal_goto($redirect_url, 'destination='. url('node/'. $node->nid));  
+        } 
+        else {
+          $node->content['body']['#value'] = theme('premium_body', $node);
+        }
       }
       return;
   }
@@ -184,6 +196,13 @@
     '#description' => t('Update all existing nodes of the types selected above with the new premium settings.'),
   );
   
+  $form['premium_redirect_url'] = array(
+    '#type' => 'textfield',
+    '#title' => t('Premium Redirect Url'),
+    '#default_value' => variable_get('premium_redirect_url', ''),
+    '#description' => ('If set, Premium module will redirect to the url specified.  If Premium body text is set, that message will be shown in a message on the page being redirected to.  The redirect page is also passed a destination -- useful if you are redirecting to a login page.')
+  );
+
   $form['premium_message'] = array(
     '#type'          => 'textarea', 
     '#title'         => t('Premium body text'), 
