diff --git a/README.txt b/README.txt
index dcb1e7d..bddb0ec 100644
--- a/README.txt
+++ b/README.txt
@@ -1,19 +1,19 @@
-README.txt
-----------
-Featurelist provides a configurable table of feature states, for example 
-your products or services features. You may check or negate a feature 
-and set an optional text for each.
-
-INSTALLATION
-------------
-- Copy featurelist directory to /sites/all/modules
-- Enable module at /admin/build/modules
-- Add a featurelist to a content type at /admin/content/node-type/[type]/fields
-- If you like to, you may customize settings at /admin/settings/featurelist
-
-AUTHOR/MAINTAINER
------------------
-- Julian Pustkuchen (http://Julian.Pustkuchen.com)
-
-The module is based on the "tablefield" module written by 
-Kevin Hankens (http://www.kevinhankens.com).
\ No newline at end of file
+README.txt
+----------
+Featurelist provides a configurable table of feature states, for example your
+products or services features. You may check or negate a feature and set an
+optional text for each.
+
+INSTALLATION
+------------
+- Copy featurelist directory to /sites/all/modules
+- Enable module at /admin/build/modules
+- Add a featurelist to a content type at /admin/content/node-type/[type]/fields
+- If you like to, you may customize settings at /admin/settings/featurelist
+
+AUTHOR/MAINTAINER
+-----------------
+- Julian Pustkuchen (http://Julian.Pustkuchen.com)
+
+The module is based on the "tablefield" module written by
+Kevin Hankens (http://www.kevinhankens.com).
diff --git a/featurelist.css b/featurelist.css
index f7abd0a..f51670b 100644
--- a/featurelist.css
+++ b/featurelist.css
@@ -1,112 +1,113 @@
-/*
- * Edit form Stylings:
- */
-table.featurelist_edit .node-tablefield .form-text {
-  width: auto;
-  margin: 1px 1px 1px 1px;
-  padding: 1px 1px 1px 1px;
-}
-table.featurelist_edit .node-featurelist .form-item {
-  margin: 0 0 0 0;
-  padding: 0 0 0 0;
-}
-table.featurelist_edit .node-featurelist table {
-  width: auto;
-}
-
-table.featurelist_edit tr td {
-  margin: 0 0 0 0;
-  padding: 7px;
-	border-width:0 1px 1px 0;
-	border-color:#ccc;
-	border-style:solid;
-}
-
-table.featurelist_edit tr td {
-  vertical-align:bottom;
-}
-
-table.featurelist_edit .node-featurelist .featurelist-rebuild {
-  margin-top: 0.5em;
-}
-
-/*
- * Output Stylings:
- */
-
-div.featurelist-wrapper th.row-0.col-0,
-div.featurelist-wrapper tbody{
-    border-width:0 1px 2px 0;
-    border-style:solid;
-    border-color:#c6c6c6;
-    background-color:transparent;
-}
-
-div.featurelist-wrapper .sticky-header{
-    margin-left:1px;
-}
-
-div.featurelist-wrapper th.col-even,
-div.featurelist-wrapper th.col-odd{
-    border-width:1px 1px 0 0;
-    border-style:solid;
-    border-color:#c6c6c6;
-    padding:6px 5px;
-}
-
-div.featurelist-wrapper tr.even, 
-div.featurelist-wrapper tr.odd{
-    background-color:transparent;
-    border:0;
-}
-
-div.featurelist-wrapper tr.even:hover td, 
-div.featurelist-wrapper tr.odd:hover td{
-  background-color:#fff;  
-}
-
-div.featurelist-wrapper tr.even:hover td.col-0, 
-div.featurelist-wrapper tr.odd:hover td.col-0,
-div.featurelist-wrapper tr.even:hover td.col-0 a, 
-div.featurelist-wrapper tr.odd:hover td.col-0 a{
-  color:#009CFF;  
-}
-
-div.featurelist-wrapper tr.even:hover, 
-div.featurelist-wrapper tr.odd:hover{
-  background-color:#fff;
-  box-shadow:0 0 6px #c6c6c6;
-  -moz-transform:scale(1.05);
-  -webkit-transform:scale(1.05);
-  transform:scale(1.05);
-}
-
-div.featurelist-wrapper td{
-    border-bottom:1px solid #eee;
-    text-align:center;
-    padding:6px 5px;
-}
-
-div.featurelist-wrapper td.col-0{
-    font-weight:bold;
-    border-bottom:0;
-    text-align:right;
-}
-
-div.featurelist-wrapper .col-even
-{
-    background-color:#eee;
-    border-width:0 1px 1px 1px;
-    border-color:#c6c6c6 #c6c6c6 #fff #c6c6c6;
-    border-style:solid;
-}
-
-div.featurelist-wrapper th.col-even{
-    border-width:1px 1px 0 1px;
-}
-
-div.featurelist-wrapper .col-last{
-    border-right:1px solid #c6c6c6;
-}
-
-div.featurelist-wrapper .featurelist-field-text{ display:block; }
\ No newline at end of file
+/*
+ * Edit form Stylings:
+ */
+table.featurelist_edit .node-tablefield .form-text {
+  width: auto;
+  margin: 1px 1px 1px 1px;
+  padding: 1px 1px 1px 1px;
+}
+table.featurelist_edit .node-featurelist .form-item {
+  margin: 0 0 0 0;
+  padding: 0 0 0 0;
+}
+table.featurelist_edit .node-featurelist table {
+  width: auto;
+}
+
+table.featurelist_edit tr td {
+  margin: 0 0 0 0;
+  padding: 7px;
+  border-width: 0 1px 1px 0;
+  border-color: #ccc;
+  border-style: solid;
+}
+
+table.featurelist_edit tr td {
+  vertical-align: bottom;
+}
+
+table.featurelist_edit .node-featurelist .featurelist-rebuild {
+  margin-top: 0.5em;
+}
+
+/*
+ * Output Stylings:
+ */
+div.featurelist-wrapper th.row-0.col-0,
+div.featurelist-wrapper tbody {
+  border-width: 0 1px 2px 0;
+  border-style: solid;
+  border-color: #c6c6c6;
+  background-color: transparent;
+}
+
+div.featurelist-wrapper .sticky-header {
+  margin-left: 1px;
+}
+
+div.featurelist-wrapper th.col-even,
+div.featurelist-wrapper th.col-odd {
+  border-width: 1px 1px 0 0;
+  border-style: solid;
+  border-color: #c6c6c6;
+  padding: 6px 5px;
+}
+
+div.featurelist-wrapper tr.even,
+div.featurelist-wrapper tr.odd {
+  background-color: transparent;
+  border: 0;
+}
+
+div.featurelist-wrapper tr.even:hover td,
+div.featurelist-wrapper tr.odd:hover td {
+  background-color: #fff;
+}
+
+div.featurelist-wrapper tr.even:hover td.col-0,
+div.featurelist-wrapper tr.odd:hover td.col-0,
+div.featurelist-wrapper tr.even:hover td.col-0 a,
+div.featurelist-wrapper tr.odd:hover td.col-0 a {
+  color: #009CFF;
+}
+
+div.featurelist-wrapper tr.even:hover,
+div.featurelist-wrapper tr.odd:hover {
+  background-color: #fff;
+  box-shadow: 0 0 6px #c6c6c6;
+  -moz-transform: scale(1.05);
+  -webkit-transform: scale(1.05);
+  transform: scale(1.05);
+}
+
+div.featurelist-wrapper td {
+  border-bottom: 1px solid #eee;
+  text-align: center;
+  padding: 6px 5px;
+}
+
+div.featurelist-wrapper td.col-0 {
+  font-weight: bold;
+  border-bottom: 0;
+  text-align: right;
+}
+
+div.featurelist-wrapper .col-even
+{
+  background-color: #eee;
+  border-width: 0 1px 1px 1px;
+  border-color: #c6c6c6 #c6c6c6 #fff #c6c6c6;
+  border-style: solid;
+}
+
+div.featurelist-wrapper th.col-even {
+  border-width: 1px 1px 0 1px;
+}
+
+div.featurelist-wrapper .col-last {
+  border-right: 1px solid #c6c6c6;
+}
+
+div.featurelist-wrapper .featurelist-field-text {
+  display: block;
+ }
diff --git a/featurelist.install b/featurelist.install
index 63c996e..9dc3d4c 100644
--- a/featurelist.install
+++ b/featurelist.install
@@ -1,13 +1,13 @@
 <?php
 
 /**
-* @file
-* Installation options for Featurelist
-*/
+ * @file
+ * Installation options for Featurelist.
+ */
 
 /*
-* Implementation of hook_install().
-*/
+ * Implements hook_install().
+ */
 function featurelist_install() {
   drupal_load('module', 'content');
   content_notify('install', 'featurelist');
@@ -32,15 +32,15 @@ function featurelist_install() {
   $group['settings']['display']['teaser']['exclude'] = 0;
   $group['settings']['display']['full'] = array();
   $group['settings']['display']['full']['format'] = 'fieldset';
-  $group['settings']['display']['full']['exclude'] = 0;   
+  $group['settings']['display']['full']['exclude'] = 0;
   fieldgroup_save_group('nnproject', $group);
-     
+
   // TODO: check of modul 'text'
   // Add 'Source code license' field
   $field = array();
   $field['field_name'] = 'field_nnproject_license';
-  $field['type_name'] = 'nnproject';   
-  $field['description'] = 'Please select a license.';     
+  $field['type_name'] = 'nnproject';
+  $field['description'] = 'Please select a license.';
   $field['type'] = 'text';
   $field['module'] = 'text';
   $field['required'] = FALSE;                        // Required
@@ -50,14 +50,14 @@ function featurelist_install() {
   $field['allowed_values_php'] = "return array( 1 => 'Apache License 2.0',
             2 => 'Artistic License/GPL',
                                                 3 => 'Eclipse Public License 1.0'
-                                              );";                
+                                              );";
   content_field_instance_create($field);
-  
-  
-  $field = content_fields('field_nnproject_license', 'nnproject');   
-  $field['group'] = 'group_nnproject_projectoptions';            
+
+
+  $field = content_fields('field_nnproject_license', 'nnproject');
+  $field['group'] = 'group_nnproject_projectoptions';
   $field['multiple'] = 0;                         // Number of values
-  $field['max_length'] = null;                    // Maximum length          
+  $field['max_length'] = null;                    // Maximum length
   $field['widget']['label'] = 'Source code license';
   $field['widget']['weight'] = -3;
   $field['widget']['type'] = 'optionwidgets_select';
@@ -65,19 +65,19 @@ function featurelist_install() {
   $field['display_settings']['label']['format'] = 'hidden';
   $field['display_settings']['teaser']['format'] = 'default';
   $field['display_settings']['full']['format'] = 'default';
-  content_field_instance_update($field); 
-  
-  
+  content_field_instance_update($field);
+
+
   fieldgroup_update_fields(array('field_name' => 'field_nnproject_license', 'group' => 'group_nnproject_projectoptions', 'type_name' => 'nnproject'));
   */
 }
 
 /**
-* Implementation of hook_uninstall().
-*/
+ * Implements hook_uninstall().
+ */
 function featurelist_uninstall() {
   drupal_load('module', 'content');
-  
+
   // Remove module variables.
   $result = db_query("SELECT name FROM {variable} WHERE name LIKE 'featurelist_%'");
   while ($var_name = db_result($result)) {
@@ -88,21 +88,21 @@ function featurelist_uninstall() {
 }
 
 /**
-* Implementation of hook_enable().
-*
-* Notify content module when this module is enabled.
-*/
+ * Implements hook_enable().
+ *
+ * Notify content module when this module is enabled.
+ */
 function featurelist_enable() {
   drupal_load('module', 'content');
   content_notify('enable', 'featurelist');
 }
 
 /**
-* Implementation of hook_disable().
-*
-* Notify content module when this module is disabled.
-*/
+ * Implements hook_disable().
+ *
+ * Notify content module when this module is disabled.
+ */
 function featurelist_disable() {
   drupal_load('module', 'content');
   content_notify('disable', 'featurelist');
-}
\ No newline at end of file
+}
diff --git a/featurelist.module b/featurelist.module
index fbf2de2..92c7742 100644
--- a/featurelist.module
+++ b/featurelist.module
@@ -2,30 +2,32 @@
 
 /**
  * @file
- * 
  * Implements the featurelist functionality based on the tablefield module.
  */
 
 /**
-* Display help and module information
-* @param path which path of the site we're displaying help
-* @param arg array that holds the current path as would be returned from arg() function
-* @return help text for the path
-*/
+ * Display help and module information
+ *
+ * @param $path
+ *   Which path of the site we're displaying help.
+ * @param $arg
+ *   Array that holds the current path as would be returned from arg() function.
+ *
+ * @return
+ *   Help text for the path.
+ */
 function featurelist_help($path, $arg) {
-  $output = '';  //declare your output variable
+  $output = ''; //declare your output variable.
   switch ($path) {
   case "admin/help#featurelist":
-    $output = '<p>'.  t("Featurelist provides a configurable table of feature status, for example you products or services features. You may check or negate a feature and set an optional text for each.") .'</p>';
+    $output = '<p>'. t("Featurelist provides a configurable table of feature status, for example you products or services features. You may check or negate a feature and set an optional text for each.") .'</p>';
     break;
   }
   return $output;
 }
 
 /**
- * Implementation of hook_menu().
- *
- * @return array
+ * Implements hook_menu().
  */
 function featurelist_menu() {
   $items = array();
@@ -45,13 +47,11 @@ function featurelist_menu() {
 
 /**
  * Helper function to return the icons default paths.
- * 
- * @return array
  */
 function _featurelist_admin_get_default_icon_path_array(){
   $path_to_module = drupal_get_path('module', 'featurelist');
-  
-  return array (
+
+  return array(
     'y' => check_plain(base_path() . $path_to_module) . '/icons/ico_check_green.png',
     'n' => check_plain(base_path() . $path_to_module) . '/icons/ico_not_red.png',
     'o' => check_plain(base_path() . $path_to_module) . '/icons/ico_optional.png',
@@ -59,78 +59,76 @@ function _featurelist_admin_get_default_icon_path_array(){
 }
 
 /**
- * Administration settings
- * 
- * @return array
+ * Administration settings.
  */
 function featurelist_admin_settings() {
   $form = array();
-  
+
   $form['icons'] = array(
     '#type' => 'fieldset',
     '#title' => t('Icons'),
-    '#description'	=>	t('Customize the icons representing the selected state.'),
+    '#description'  =>  t('Customize the icons representing the selected state.'),
     '#collapsible' => TRUE,
     '#collapsed' => FALSE,
   );
-    
+
   $default_icon_path_array = _featurelist_admin_get_default_icon_path_array();
-  
+
   $featurelist_icon_path_y = variable_get('featurelist_icon_path_y', $default_icon_path_array['y']);
   $form['icons']['featurelist_icon_path_y'] = array(
-    '#type'          => 'textfield',
-    '#title'         => t('Icon path "Checked"'),
+    '#type' => 'textfield',
+    '#title' => t('Icon path "Checked"'),
     '#default_value' => check_plain($featurelist_icon_path_y),
-    '#description'   => t('The path of the "checked" icon. Default: "%featurelist_icon_path_y_default"', array('%featurelist_icon_path_y_default' => $default_icon_path_array['y'])),
-    '#size'          => 120,
-    '#maxlength'     => 255,
-  	'#required'      => TRUE,
+    '#description' => t('The path of the "checked" icon. Default: "%featurelist_icon_path_y_default"', array('%featurelist_icon_path_y_default' => $default_icon_path_array['y'])),
+    '#size' => 120,
+    '#maxlength' => 255,
+    '#required' => TRUE,
   );
-  
-  
+
+
   $featurelist_icon_path_n = variable_get('featurelist_icon_path_n', $default_icon_path_array['n']);
   $form['icons']['featurelist_icon_path_n'] = array(
-    '#type'          => 'textfield',
-    '#title'         => t('Icon path "Negative"'),
+    '#type' => 'textfield',
+    '#title' => t('Icon path "Negative"'),
     '#default_value' => check_plain($featurelist_icon_path_n),
-    '#description'   => t('The path of the "checked" icon. Default: "%featurelist_icon_path_n_default"', array('%featurelist_icon_path_n_default' => $default_icon_path_array['n'])),
-    '#size'          => 120,
-    '#maxlength'     => 255,
-  	'#required'      => TRUE,
+    '#description' => t('The path of the "checked" icon. Default: "%featurelist_icon_path_n_default"', array('%featurelist_icon_path_n_default' => $default_icon_path_array['n'])),
+    '#size' => 120,
+    '#maxlength' => 255,
+    '#required' => TRUE,
   );
-  
-  
+
+
   $featurelist_icon_path_o = variable_get('featurelist_icon_path_o', $default_icon_path_array['o']);
   $form['icons']['featurelist_icon_path_o'] = array(
-    '#type'          => 'textfield',
-    '#title'         => t('Icon path "Neutral"'),
+    '#type' => 'textfield',
+    '#title' => t('Icon path "Neutral"'),
     '#default_value' => check_plain($featurelist_icon_path_o),
-    '#description'   => t('The path of the "checked" icon. Default: "%featurelist_icon_path_o_default"', array('%featurelist_icon_path_o_default' => $default_icon_path_array['o'])),
-    '#size'          => 120,
-    '#maxlength'     => 255,
-  	'#required'      => TRUE,
+    '#description' => t('The path of the "checked" icon. Default: "%featurelist_icon_path_o_default"', array('%featurelist_icon_path_o_default' => $default_icon_path_array['o'])),
+    '#size' => 120,
+    '#maxlength' => 255,
+    '#required' => TRUE,
   );
-    
+
   $options = array(
     'y' => '<img src="' . check_plain($featurelist_icon_path_y) . '" alt="' . t('Feature available') . '" />',
     'n' => '<img src="' . check_plain($featurelist_icon_path_n) . '" alt="' . t('Feature not available') . '" />',
     'o' => '<img src="' . check_plain($featurelist_icon_path_o) . '" alt="' . t('Optional feature') . '" />',
     'e' => t('None (Text only)'),
   );
-  
+
   $form['icons']['featurelist_icon_default'] = array(
-    '#type'          => 'radios',
-    '#title'         => t('Default Icon'),
-    '#options'       => $options,
+    '#type' => 'radios',
+    '#title' => t('Default Icon'),
+    '#options' => $options,
     '#default_value' => variable_get('featurelist_icon_default', 'e'),
-    '#description'   => t('Select the default icon, which is preselected.'),
+    '#description' => t('Select the default icon, which is preselected.'),
   );
-  
+
   return system_settings_form($form);
 }
 
 /**
- * Implementation of hook_theme().
+ * Implements hook_theme().
  */
 function featurelist_theme() {
   return array(
@@ -154,7 +152,7 @@ function featurelist_theme() {
 }
 
 /**
- * Implementation of hook_field_info().
+ * Implements hook_field_info().
  */
 function featurelist_field_info() {
   return array(
@@ -166,14 +164,14 @@ function featurelist_field_info() {
 }
 
 /**
- * Implementation of hook_field_settings().
+ * Implements hook_field_settings().
  */
 function featurelist_field_settings($op, $field) {
   return tablefield_field_settings($op, $field);
 }
 
 /**
- * Implementation of hook_field().
+ * Implements hook_field().
  */
 function featurelist_field($op, &$node, $field, &$items, $teaser, $page) {
   switch ($op) {
@@ -187,7 +185,7 @@ function featurelist_field($op, &$node, $field, &$items, $teaser, $page) {
           $items[$delta]['value'] = serialize($featurelist);
         }
         elseif (empty($table['tablefield'])) {
-          // Batch processing only provides the 'value'
+          // Batch processing only provides the 'value'.
           $items[$delta]['tablefield'] = unserialize($items[$delta]['value']);
         }
       }
@@ -198,7 +196,7 @@ function featurelist_field($op, &$node, $field, &$items, $teaser, $page) {
       }
       break;
     case 'sanitize':
-      // We need to make the table data available to display
+      // We need to make the table data available to display.
       foreach ($items as $delta => $table) {
         if (!empty($table['tablefield'])) {
           $tabledata = featurelist_rationalize_table($table['tablefield']);
@@ -206,11 +204,11 @@ function featurelist_field($op, &$node, $field, &$items, $teaser, $page) {
         elseif (!empty($table['value'])) {
           $tabledata = featurelist_rationalize_table(unserialize($table['value']));
         }
-    
-        // Multivalue fields will have one row in the db, so make sure that it isn't empty 
+
+        // Multivalue fields will have one row in the db, so make sure that it isn't empty.
         if (isset($tabledata)) {
           $tabledata_clean = array();
-          // Run the table body through input filters
+          // Run the table body through input filters.
           if (!empty($tabledata)) {
             $rows_abs = count($tabledata);
             foreach ($tabledata as $row_key => $row) {
@@ -229,11 +227,11 @@ function featurelist_field($op, &$node, $field, &$items, $teaser, $page) {
                   $tabledata_clean[$row_key]['class'] = 'row-' . $row_key
                     . ($rows_abs==$row_key+2) ? ' row-last' : '';
                 }
-              
+
                 if (!empty($field['cell_processing'])) {
-                  $tabledata_clean[$row_key]['data'][$col_key]['data'] .= ' <div class="featurelist-field-text">' . check_markup($cell['text'], $table['format'], FALSE) . '</div>'; } 
+                  $tabledata_clean[$row_key]['data'][$col_key]['data'] .= ' <div class="featurelist-field-text">' . check_markup($cell['text'], $table['format'], FALSE) . '</div>'; }
                 else {
-                  $tabledata_clean[$row_key]['data'][$col_key]['data'] .= ' <span class="featurelist-field-text">' . check_plain($cell['text']) . '</span>';  
+                  $tabledata_clean[$row_key]['data'][$col_key]['data'] .= ' <span class="featurelist-field-text">' . check_plain($cell['text']) . '</span>';
                 }
               }
             }
@@ -244,14 +242,14 @@ function featurelist_field($op, &$node, $field, &$items, $teaser, $page) {
           if (!empty($header_tmp['data'])) {
               foreach ($header_tmp['data'] as $col_key => $cell) {
                   $header[$col_key] = array(
-                  	'data' => $cell['data'],
-                  	'class' => $cell['class']
+                    'data' => $cell['data'],
+                    'class' => $cell['class']
                   );
               }
           }
-          //Remove empty line
+          //Remove empty line.
           array_shift($tabledata_clean);
-                    
+
           $items[$delta]['value'] = theme('featurelist_view', $header, $tabledata_clean, $field['field_name'], $delta);
         }
       }
@@ -261,42 +259,42 @@ function featurelist_field($op, &$node, $field, &$items, $teaser, $page) {
 }
 
 /**
- * Implementation of hook_content_is_empty().
+ * Implements hook_content_is_empty().
  */
 function featurelist_content_is_empty($item, $field) {
-  //Use tablefield
+  //Use tablefield.
   return tablefield_content_is_empty($item, $field);
 }
 
 /**
- * Implementation of hook_field_formatter_info().
+ * Implements hook_field_formatter_info().
  */
 function featurelist_field_formatter_info() {
   return array(
     'default' => array(
-      'label' => t('Tabular View'), 
-      'multiple values' => CONTENT_HANDLE_CORE, 
+      'label' => t('Tabular View'),
+      'multiple values' => CONTENT_HANDLE_CORE,
       'field types' => array('featurelist'),
     ),
-  ); 
+  );
 }
 
 /**
- * Theme function for default table display 
+ * Theme function for default table display.
  */
 function theme_featurelist_formatter_default($element) {
   return theme_tablefield_formatter_default($element);
 }
 
 /**
- * Theme function for form display 
+ * Theme function for form display.
  */
 function theme_featurelist($element) {
   return theme_tablefield($element);
 }
 
 /**
- * Theme function for table view 
+ * Theme function for table view.
  */
 function theme_featurelist_view($header, $rows, $field_name, $delta) {
   $class_field_name = str_replace('_', '-', $field_name);
@@ -304,7 +302,7 @@ function theme_featurelist_view($header, $rows, $field_name, $delta) {
 }
 
 /**
- * Implementation of hook_widget_info().
+ * Implements hook_widget_info().
  */
 function featurelist_widget_info() {
   return array(
@@ -320,7 +318,7 @@ function featurelist_widget_info() {
 }
 
 /**
- * Implementation of FAPI hook_elements().
+ * Implements FAPI hook_elements().
  */
 function featurelist_elements() {
   drupal_add_css(drupal_get_path('module', 'featurelist') . '/featurelist.css');
@@ -334,7 +332,7 @@ function featurelist_elements() {
 }
 
 /**
- * Implementation of hook_widget().
+ * Implements hook_widget().
  *
  * Attach a single form element to the form. It will be built out and
  * validated in the callback(s) listed in hook_elements. We build it
@@ -350,19 +348,19 @@ function featurelist_elements() {
  * call this function as many times as needed.
  *
  * @param $form
- *   the entire form array, $form['#node'] holds node information
+ *   The entire form array, $form['#node'] holds node information.
  * @param $form_status
- *   the form_status, $form_status['values'][$field['field_name']]
- *   holds the field's form values.
+ *   The form_status, $form_status['values'][$field['field_name']]
+ *   holds the field's form values..
  * @param $field
- *   the field array
+ *   The field array.
  * @param $items
- *   array of default values for this field
+ *   Array of default values for this field.
  * @param $delta
- *   the order of this item in the array of subelements (0, 1, 2, etc)
+ *   The order of this item in the array of subelements (0, 1, 2, etc).
  *
  * @return
- *   the form item for a single element for this field
+ *   The form item for a single element for this field.
  */
 function featurelist_widget(&$form, &$form_status, $field, $items, $delta = 0) {
   return tablefield_widget($form, $form_status, $field, $items, $delta);
@@ -370,27 +368,27 @@ function featurelist_widget(&$form, &$form_status, $field, $items, $delta = 0) {
 
 
 /**
- * Process the featurelist
+ * Process the featurelist.
  */
 function featurelist_process($element, $edit, $form_status, $form) {
   $delta = $element['#delta'];
   $field = $form['#field_info'][$element['#field_name']];
 
   if (isset($element['#value']['tablefield'])) {
-    // A form was submitted
+    // A form was submitted.
     $default_value = featurelist_rationalize_table($element['#value']['tablefield']);
 
-    // Catch empty form sumissions for required featurelists
+    // Catch empty form sumissions for required featurelists.
     if ($form_status['submitted'] && $element['#required'] && featurelist_content_is_empty($element['#value'], $field)) {
       form_set_error($element['#field_name'], t('@field is a required field.', array('@field' => $form[$element['#parents'][0]]['#title'])));
     }
   }
   elseif (isset($element['#default_value']['value'])) {
-    // Default from database
+    // Default from database.
     $default_value = featurelist_rationalize_table(unserialize($element['#default_value']['value']));
   }
   else {
-    // Get the widget default value
+    // Get the widget default value.
     $default_count_cols = $field['widget']['default_value'][0]['tablefield']['count_cols'];
     $default_count_rows = $field['widget']['default_value'][0]['tablefield']['count_rows'];
   }
@@ -412,7 +410,7 @@ function featurelist_process($element, $edit, $form_status, $form) {
     '#columns' => $element['#columns'],
   );
 
-  // Give the fieldset the appropriate class if it is required
+  // Give the fieldset the appropriate class if it is required.
   if ($element['#required']) {
     $element['tablefield']['#title'] .= ' <span class="form-required" title="' . t('This field is required') . '">*</span>';
   }
@@ -421,14 +419,14 @@ function featurelist_process($element, $edit, $form_status, $form) {
     $element['tablefield']['#description'] = t('The first row and column will appear as the table header. This form defines the featurelist defaults, but the number of rows / columns and content can be overridden on a per-node basis.');
   }
 
-  // Determine how many rows/columns are saved in the data
+  // Determine how many rows/columns are saved in the data.
   if (!empty($default_value)) {
     $count_rows = count($default_value);
     $count_cols = 0;
     foreach ($default_value as $row) {
       $temp_count = count($row);
       if ($temp_count > $count_cols) {
-        $count_cols = $temp_count; 
+        $count_cols = $temp_count;
       }
     }
   }
@@ -436,22 +434,22 @@ function featurelist_process($element, $edit, $form_status, $form) {
     $count_cols = $default_count_cols;
     $count_rows = $default_count_rows;
   }
-  
-  //#JP121210: One row less (else buggy)
+
+  //#JP121210: One row less (else buggy).
   $count_rows--;
 
-  // Override the number of rows/columns if the user rebuilds the form
+  // Override the number of rows/columns if the user rebuilds the form.
   if (!empty($edit['tablefield']['count_cols'])) {
     $count_cols = $edit['tablefield']['count_cols'];
   }
   if (!empty($edit['tablefield']['count_rows'])) {
     $count_rows = $edit['tablefield']['count_rows'];
   }
-  
-  // Allow the user to import a csv file
-  /* #JP121210: Disabled until it works properly. 
+
+  // Allow the user to import a csv file.
+  /* #JP121210: Disabled until it works properly.
    * TODO: Solve for example by syntax: y|Description for each field.
-   * If no | given, use as description if not only one character that matches. 
+   * If no | given, use as description if not only one character that matches.
   $element['tablefield']['import'] = array(
     '#type' => 'fieldset',
     '#tree' => FALSE,
@@ -478,10 +476,10 @@ function featurelist_process($element, $edit, $form_status, $form) {
   );
   */
 
-  // Render the form table
+  // Render the form table.
   $table_id = $element['#field_name'] . '-' . $delta;
-  
-  //TODO : Preparing draggable rows, unsure if that will work (without callback)
+
+  //TODO : Preparing draggable rows, unsure if that will work (without callback).
   //drupal_add_tabledrag($table_id, 'order', 'self', 'my-elements-weight');
   $element['tablefield']['a_break'] = array(
     '#type' => 'markup',
@@ -494,7 +492,7 @@ function featurelist_process($element, $edit, $form_status, $form) {
       '#value' => '<tr class="draggable tabledrag-leaf">',
     );
     for ($ii = 0; $ii < $count_cols; $ii++) {
-      //#JP111210:
+      //#JP111210:.
       $is_titlecol = $ii==0;
       $is_title = ($is_titlecol or $is_titlerow);
       if (!$is_title) {
@@ -508,12 +506,12 @@ function featurelist_process($element, $edit, $form_status, $form) {
             'e' => t('None'),
           ),
           '#attributes' => array(
-            'id'    => 'featurelist-' . str_replace('_', '-', $element['#field_name']) .'-'. $delta . '-cell-' . $i . '-' . $ii . '_status',
+            'id' => 'featurelist-' . str_replace('_', '-', $element['#field_name']) .'-'. $delta . '-cell-' . $i . '-' . $ii . '_status',
             'class' => 'featurelist-status',
           ),
-          '#default_value'  => empty($default_value[$i][$ii]['status']) ? check_plain(variable_get('featurelist_icon_default', 'e')) : check_plain($default_value[$i][$ii]['status']),
-          '#prefix'         => '<td>',
-          '#description'    => t('The status.'),
+          '#default_value' => empty($default_value[$i][$ii]['status']) ? check_plain(variable_get('featurelist_icon_default', 'e')) : check_plain($default_value[$i][$ii]['status']),
+          '#prefix' => '<td>',
+          '#description' => t('The status.'),
         );
       }
       $element['tablefield']['cell_' . $i . '_' . $ii] = array(
@@ -526,7 +524,7 @@ function featurelist_process($element, $edit, $form_status, $form) {
         '#default_value' => $default_value[$i][$ii]['text'],
         '#prefix' => $is_title ? '<th>' : '',
         '#suffix' => $is_title ? '</th>' : '</td>',
-        '#description'  =>  !($is_titlecol or $is_titlerow) ? t('Optional description.') : t('Optional matrix title.'),
+        '#description' => !($is_titlecol or $is_titlerow) ? t('Optional description.') : t('Optional matrix title.'),
       );
     }
     $element['tablefield']['d_break' . $i] = array(
@@ -539,14 +537,14 @@ function featurelist_process($element, $edit, $form_status, $form) {
     '#value' => '</table>',
   );
 
-  // Allow the user to add more rows/columns
+  // Allow the user to add more rows/columns.
   $element['tablefield']['count_cols'] = array(
     '#title' => t('How many data columns'),
     '#type' => 'textfield',
     '#size' => 5,
     '#prefix' => '<div class="clear-block">',
     '#suffix' => '</div>',
-  	'#description'	=>  t('Including fist description column.'),
+    '#description'  => t('Including fist description column.'),
     //'#default_value' => 2,
     '#value' => check_plain($count_cols),
   );
@@ -556,7 +554,7 @@ function featurelist_process($element, $edit, $form_status, $form) {
     '#size' => 5,
     '#prefix' => '<div class="clear-block">',
     '#suffix' => '</div>',
-    '#description'	=>  t('Including header row.'),
+    '#description'  => t('Including header row.'),
     //'#default_value' => 2,
     '#value' => check_plain($count_rows),
   );
@@ -565,7 +563,7 @@ function featurelist_process($element, $edit, $form_status, $form) {
     '#value' => t('Rebuild Table'),
     '#attributes' => array('class' => 'featurelist-rebuild'),
   );
-  
+
   if (!empty($field['cell_processing'])) {
     $filter_key = $element['#columns'][0]; // = 'filter'
     $format = isset($element['#value'][$filter_key]) ? $element['#value'][$filter_key] : FILTER_FORMAT_DEFAULT;
@@ -582,18 +580,18 @@ function featurelist_rationalize_table($featurelist) {
   $count_rows = $featurelist['count_rows'];
   unset($featurelist['count_rows']);
   unset($featurelist['rebuild']);
-  // Rationalize the table data
+  // Rationalize the table data.
   if (!empty($featurelist)) {
       foreach ($featurelist as $key => $value) {
         preg_match('/cell_(.*)_(.*)/', $key, $cell);
-        // $cell[1] is row count $cell[2] is col count
+        // $cell[1] is row count $cell[2] is col count.
         if ((int) $cell[1] < $count_rows && $cell['2'] < $count_cols) {
           $tabledata[$cell[1]][$cell[2]]['text'] = $value;
         }
-        
-        //#JP111210: status
+
+        //#JP111210: status.
         preg_match('/cell_(.*)_(.*)_status/', $key, $cell);
-        // $cell[1] is row count $cell[2] is col count
+        // $cell[1] is row count $cell[2] is col count.
         if ((int) $cell[1] < $count_rows && $cell['2'] < $count_cols) {
           $tabledata[$cell[1]][$cell[2]]['status'] = $value;
         }
@@ -604,37 +602,41 @@ function featurelist_rationalize_table($featurelist) {
 }
 
 /**
- * Validation function to help import data from a CSV file
- * @param array $form
- * @param array $form_status
+ * Validation function to help import data from a CSV file.
+ *
+ * @param $form
+ *   Array of @TODO.
+ * @param $form_status
+ *   Array of @TODO.
  */
 function featurelist_import_csv($form, &$form_status) {
   return tablefield_import_csv($form, $form_status);
 }
 
 /**
- * Helper function to remove all values in a particular table
- * @param array $featurelist
+ * Helper function to remove all values in a particular table.
+ *
+ * @param $featurelist
+ *   Array of @TODO.
  */
 function featurelist_delete_table_values(&$featurelist) {
   return tablefield_delete_table_values($featurelist);
 }
 
+/**
+ * @TODO
+ */
 function featurelist_get_icon($key) {
   //#JP111210: Neu!
   $default = variable_get('featurelist_icon_default', 'e');
-  
-  $default_icon_path_array = _featurelist_admin_get_default_icon_path_array();  
+
+  $default_icon_path_array = _featurelist_admin_get_default_icon_path_array();
   $iconpaths = array(
     'y' => '<img src="' . check_plain(variable_get('featurelist_icon_path_y', $default_icon_path_array['y'])) . '" alt="' . t('Feature available') . '" />',
     'n' => '<img src="' . check_plain(variable_get('featurelist_icon_path_n', $default_icon_path_array['n'])) . '" alt="' . t('Feature not available') . '" />',
     'o' => '<img src="' . check_plain(variable_get('featurelist_icon_path_o', $default_icon_path_array['o'])) . '" alt="' . t('Optional feature') . '" />',
     'e' => '',
   );
-  
-  if (!empty($iconpaths[$key])) {
-    return $iconpaths[$key]; }
-  else {
-    return $iconpaths[$default];
-  }
-}
\ No newline at end of file
+
+  return (!empty($iconpaths[$key])) ? $iconpaths[$key] : $iconpaths[$default];
+}
