--- nodeincck.module	2009-10-13 18:56:21.000000000 -0400
+++ nodeincck.new	2010-01-05 14:03:39.000000000 -0400
@@ -24,6 +24,20 @@ function nodeincck_field_settings($op, $
   switch ($op) {
     case 'form':
       $form = array();
+      if (module_exists('token')) {
+        $form['view']['token_help'] = array(
+          '#title' => t('Replacement patterns'),
+          '#type' => 'fieldset',
+          '#collapsible' => TRUE,
+          '#collapsed' => TRUE,
+    //      '#description' => t('Prefer raw-text replacements for text to avoid problems with HTML entities!'),
+          );
+
+        $form['view']['token_help']['help'] = array(
+          '#value' => theme('token_help', 'node'),
+          );
+      }
+      
       $form['nodeincck_nid'] = array(
         '#type' => 'textfield',
         '#title' => t('Node id'),
@@ -102,6 +116,10 @@ function nodeincck_field($op, &$node, $f
  * Implements hook_widget().
  */
 function nodeincck_widget(&$form, &$form_state, $field, $items, $delta = 0) {
+  if (module_exists('token')) {
+    $field['nodeincck_nid']=token_replace($field['nodeincck_nid'],'node',$form['#node']);
+  }
+  
   return array(
     '#type' => 'markup',
     '#title' => '',
@@ -170,11 +188,21 @@ function nodeincck_field_formatter_info(
 function theme_nodeincck_formatter_full_teaser($element) {
 //	$field = content_fields($element['#field_name'], $element['#type_name']);
   $field = $element['#item']['field'];
+
+  if (module_exists('token')) { //proceed to token replacement
+    $field['nodeincck_nid']=token_replace($field['nodeincck_nid'],'node',$element['#node']);
+  }
+
   return _nodeincck_get_node($field, $element['#formatter'] == 'teaser');
 }
 
 
 function _nodeincck_get_node($field, $teaser) {
+  // sanity check on the nodeincck_nid value
+  if (!intval($field['nodeincck_nid'])) {
+    return '';
+  }
+  
   $node = node_load($field['nodeincck_nid']);
   // set this to indicate the node being render is for nodeincck
   $node->nodeincck_field = $field;
