diff -rup storm/storm.module storm-343818-52/storm.module
--- storm/storm.module	2009-08-24 09:59:38.000000000 +0100
+++ storm-343818-52/storm.module	2009-09-04 14:23:51.000000000 +0100
@@ -89,7 +89,7 @@ function storm_theme() {
     ),
     'storm_link' => array(
       'file'      => 'storm.theme.inc',
-      'arguments' => array(),
+      'arguments' => array('source_module', 'destination_module', 'node_nid', 'weight'),
     ),
     'storm_list_report' => array(
       'file'      => 'storm.theme.inc',
diff -rup storm/stormproject/stormproject.module storm-343818-52/stormproject/stormproject.module
--- storm/stormproject/stormproject.module	2009-07-27 10:34:02.000000000 +0100
+++ storm-343818-52/stormproject/stormproject.module	2009-09-04 14:28:24.000000000 +0100
@@ -45,6 +45,17 @@ function stormproject_init() {
   drupal_add_js(drupal_get_path('module', 'stormproject') .'/stormproject.js', 'module', 'header', FALSE);
 }
 
+function stormproject_content_extra_fields($type_name) {
+  if ($type_name == 'stormproject') {
+    return array(
+      'group1' => array('label' => 'Organization', 'weight' => -20),
+      'group2' => array('label' => 'Category/Status/Priority Group', 'weight' => -19),
+      'group3' => array('label' => 'Date/Duration Group', 'weight' => -18),
+      'group4' => array('label' => 'Price Group', 'weight' => -17),
+    );
+  }
+}
+
 function stormproject_access($op, $node, $account=NULL) {
   if (empty($account)) {
     global $user;
@@ -250,7 +261,7 @@ function stormproject_form(&$node) {
   $form['group1'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -49,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group1') : -20,
   );
 
   $s_org = stormorganization_access_sql($s_org);
@@ -269,17 +280,18 @@ function stormproject_form(&$node) {
     '#process' => array('storm_dependent_select_process'),
   );
 
-  $form['group1']['title'] = array(
+  $form['title'] = array(
     '#type' => 'textfield',
     '#title' => check_plain($type->title_label),
     '#required' => TRUE,
     '#default_value' => $node->title,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'title') : -18,
   );
 
   $form['group2'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -48,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group2') : -19,
   );
 
   $category_list = stormattribute_attributes_bydomain('Project category');
@@ -309,7 +321,7 @@ function stormproject_form(&$node) {
   $form['group3'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -47,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group3') : -17,
   );
 
   $form['group3']['datebegin'] = array(
@@ -344,7 +356,7 @@ function stormproject_form(&$node) {
   $form['group4'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -45,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group4') : -16,
   );
 
   $pricemode_list = stormattribute_attributes_bydomain('Price mode');
@@ -371,7 +383,7 @@ function stormproject_form(&$node) {
   );
 
   if ($type->has_body) {
-    $form['body_filter']['#weight'] = -44;
+    $form['body_filter']['#weight'] = module_exists('content') ? content_extra_field_weight($node->type, 'body_field') : 0;
     $form['body_filter']['body'] = array(
       '#type' => 'textarea',
       '#title' => check_plain($type->body_label),
diff -rup storm/stormproject/stormproject.theme.inc storm-343818-52/stormproject/stormproject.theme.inc
--- storm/stormproject/stormproject.theme.inc	2009-08-22 15:53:27.000000000 +0100
+++ storm-343818-52/stormproject/stormproject.theme.inc	2009-09-04 14:33:20.000000000 +0100
@@ -35,68 +35,65 @@ function theme_stormproject_list($header
 function theme_stormproject_view($node, $teaser = FALSE, $page = FALSE) {
   $node = node_prepare($node, $teaser);
 
-  $w = 0;
-  $node->content['stormproject'] = array(
-    '#prefix' => '<div id="stormproject" class="stormcomponent">',
-    '#suffix' => '</div>',
-    '#weight' => $w++,
+  $node->content['links'] = array(
+    '#prefix' => '<div class="stormlinks"><dl>',
+    '#suffix' => '</dl></div>',
+    '#weight' => -25,
   );
 
-  $node->content['stormproject']['fields'] = array(
-    '#prefix' => '<div id="fields">',
+  $node->content['links']['expenses'] = theme('storm_link', 'stormproject', 'stormexpense', $node->nid, 1);
+  $node->content['links']['notes'] = theme('storm_link', 'stormproject', 'stormnote', $node->nid, 2);
+  $node->content['links']['tasks'] = theme('storm_link', 'stormproject', 'stormtask', $node->nid, 3);
+  $node->content['links']['tickets'] = theme('storm_link', 'stormproject', 'stormticket', $node->nid, 4);  
+  $node->content['links']['timetrackings'] = theme('storm_link', 'stormproject', 'stormtimetracking', $node->nid, 5);
+  
+  $node->content['group1'] = array(
+    '#prefix' => '<div class="stormfields">',
     '#suffix' => '</div>',
-    '#weight' => $w++,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group1') : -20,
   );
 
-  $node->content['stormproject']['fields']['organization'] = array(
+  $node->content['group1']['organization'] = array(
     '#prefix' => '<div class="organization">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Organization'), l($node->organization_title, 'node/'. $node->organization_nid)),
-    '#weight' => $w++,
+    '#weight' => 1,
+  );
+
+  $node->content['group2'] = array(
+    '#prefix' => '<div class="stormfields">',
+    '#suffix' => '</div>',
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group2') : -19,
   );
-  $node->content['stormproject']['fields']['projectcategory'] = array(
+
+  $node->content['group2']['projectcategory'] = array(
     '#prefix' => '<div class="projectcategory">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Category'), stormattribute_value('Project category', $node->projectcategory)),
-    '#weight' => $w++,
+    '#weight' => 1,
   );
 
-  $node->content['stormproject']['fields']['projectstatus'] = array(
+  $node->content['group2']['projectstatus'] = array(
     '#prefix' => '<div class="projectstatus">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Status'), stormattribute_value('Project status', $node->projectstatus)),
-    '#weight' => $w++,
+    '#weight' => 2,
   );
 
-  $node->content['stormproject']['fields']['projectpriority'] = array(
+  $node->content['group2']['projectpriority'] = array(
     '#prefix' => '<div class="projectpriority">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Priority'), stormattribute_value('Project priority', $node->projectpriority)),
-    '#weight' => $w++,
+    '#weight' => 3,
   );
 
-  $node->content['stormproject']['fields']['body'] = array(
-    '#prefix' => '<div class="body">',
+  $node->content['body_field'] = array(
+    '#prefix' => '<div class="stormbody">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Description'), $node->content['body']['#value']),
-    '#weight' => $w++,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'body_field') : -18,
   );
   unset($node->content['body']);
 
-  $node->content['stormproject']['links'] = array(
-    '#prefix' => '<div id="links">',
-    '#suffix' => '</div>',
-    '#weight' => $w++,
-  );
-
-  $w = 0;
-  $i = new stdClass();
-  
-  $node->content['stormproject']['links']['expenses'] = theme('storm_link', 'stormproject', 'stormexpense', $node->nid, $w++);
-  $node->content['stormproject']['links']['notes'] = theme('storm_link', 'stormproject', 'stormnote', $node->nid, $w++);
-  $node->content['stormproject']['links']['tasks'] = theme('storm_link', 'stormproject', 'stormtask', $node->nid, $w++);
-  $node->content['stormproject']['links']['tickets'] = theme('storm_link', 'stormproject', 'stormticket', $node->nid, $w++);  
-  $node->content['stormproject']['links']['timetrackings'] = theme('storm_link', 'stormproject', 'stormtimetracking', $node->nid, $w++);
-  
   return $node;
 }
\ No newline at end of file
diff -rup storm/stormtask/stormtask.module storm-343818-52/stormtask/stormtask.module
--- storm/stormtask/stormtask.module	2009-08-05 00:00:18.000000000 +0100
+++ storm-343818-52/stormtask/stormtask.module	2009-09-04 14:40:25.000000000 +0100
@@ -43,6 +43,17 @@ function stormtask_init() {
   drupal_add_js(drupal_get_path('module', 'stormtask') .'/stormtask.js', 'module', 'header', FALSE);
 }
 
+function stormtask_content_extra_fields($type_name) {
+  if ($type_name == 'stormtask') {
+    return array(
+      'group1' => array('label' => 'Organization/Project/Task/Weight/Step Group', 'weight' => -20),
+      'group2' => array('label' => 'Category/Status/Priority Group', 'weight' => -19),
+      'group3' => array('label' => 'Date/Duration Group', 'weight' => -18),
+      'group4' => array('label' => 'Price Group', 'weight' => -17),
+    );
+  }
+}
+
 function stormtask_access($op, $node, $account=NULL) {
   if (empty($account)) {
     global $user;
@@ -372,7 +383,7 @@ function stormtask_form(&$node) {
   $form['group1'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -50,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group1') : -20,
   );
 
   $s_org = stormorganization_access_sql($s_org);
@@ -428,13 +439,7 @@ function stormtask_form(&$node) {
     '#default_value' => $node->weight,
   );
 
-  $form['group2'] = array(
-    '#type' => 'markup',
-    '#theme' => 'storm_form_group',
-    '#weight' => -49,
-  );
-
-  $form['group2']['stepno'] = array(
+  $form['group1']['stepno'] = array(
     '#type' => 'textfield',
     '#title' => t('Step no.'),
     '#size' => 15,
@@ -442,21 +447,22 @@ function stormtask_form(&$node) {
     '#default_value' => $node->stepno,
   );
 
-  $form['group2']['title'] = array(
+  $form['title'] = array(
     '#type' => 'textfield',
     '#title' => check_plain($type->title_label),
     '#required' => TRUE,
     '#default_value' => $node->title,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'title') : -18,
   );
 
-  $form['group3'] = array(
+  $form['group2'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -48,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group2') : -17,
   );
 
   $taskcategory_list = stormattribute_attributes_bydomain('Task category');
-  $form['group3']['taskcategory'] = array(
+  $form['group2']['taskcategory'] = array(
     '#type' => 'select',
     '#title' => t('Category'),
     '#default_value' => $node->taskcategory,
@@ -464,7 +470,7 @@ function stormtask_form(&$node) {
   );
 
   $taskstatus_list = stormattribute_attributes_bydomain('Task status');
-  $form['group3']['taskstatus'] = array(
+  $form['group2']['taskstatus'] = array(
     '#type' => 'select',
     '#title' => t('Status'),
     '#default_value' => $node->taskstatus,
@@ -472,27 +478,27 @@ function stormtask_form(&$node) {
   );
 
   $taskpriority_list = stormattribute_attributes_bydomain('Task priority');
-  $form['group3']['taskpriority'] = array(
+  $form['group2']['taskpriority'] = array(
     '#type' => 'select',
     '#title' => t('Priority'),
     '#default_value' => $node->taskpriority,
     '#options' => $taskpriority_list['values'],
   );
 
-  $form['group4'] = array(
+  $form['group3'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -47,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group3') : -16,
   );
 
-  $form['group4']['datebegin'] = array(
+  $form['group3']['datebegin'] = array(
     '#type' => 'dateext',
     '#title' => t('Date begin'),
     '#withnull' => true,
     '#default_value' => _storm_gmtimestamp_to_date($node->datebegin),
   );
 
-  $form['group4']['dateend'] = array(
+  $form['group3']['dateend'] = array(
     '#type' => 'dateext',
     '#title' => t('Date end'),
     '#withnull' => true,
@@ -500,35 +506,35 @@ function stormtask_form(&$node) {
   );
 
   $durationunit_list = stormattribute_attributes_bydomain('Duration unit');
-  $form['group4']['durationunit'] = array(
+  $form['group3']['durationunit'] = array(
     '#type' => 'select',
     '#title' => t('Duration unit'),
     '#default_value' => $node->durationunit,
     '#options' => $durationunit_list['values'],
   );
 
-  $form['group4']['duration'] = array(
+  $form['group3']['duration'] = array(
     '#type' => 'textfield',
     '#title' => t('Duration'),
     '#size' => 20,
     '#default_value' => $node->duration,
   );
 
-  $form['group5'] = array(
+  $form['group4'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -45,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group4') : -16,
   );
 
   $pricemode_list = stormattribute_attributes_bydomain('Price mode');
-  $form['group5']['pricemode'] = array(
+  $form['group4']['pricemode'] = array(
     '#type' => 'select',
     '#title' => t('Price mode'),
     '#default_value' => $node->pricemode,
     '#options' => $pricemode_list['values'],
   );
 
-  $form['group5']['price'] = array(
+  $form['group4']['price'] = array(
     '#title' => t('Price'),
     '#type' => 'textfield',
     '#size' => 15,
@@ -536,7 +542,7 @@ function stormtask_form(&$node) {
   );
 
   $currency_list = stormattribute_attributes_bydomain('Currency');
-  $form['group5']['currency'] = array(
+  $form['group4']['currency'] = array(
     '#type' => 'select',
     '#title' => t('Price currency'),
     '#default_value' => $node->currency,
@@ -544,7 +550,7 @@ function stormtask_form(&$node) {
   );
 
   if ($type->has_body) {
-    $form['body_filter']['#weight'] = -44;
+    $form['body_filter']['#weight'] = module_exists('content') ? content_extra_field_weight($node->type, 'body_field') : 0;
     $form['body_filter']['body'] = array(
       '#type' => 'textarea',
       '#title' => check_plain($type->body_label),
diff -rup storm/stormtask/stormtask.theme.inc storm-343818-52/stormtask/stormtask.theme.inc
--- storm/stormtask/stormtask.theme.inc	2009-08-22 15:51:36.000000000 +0100
+++ storm-343818-52/stormtask/stormtask.theme.inc	2009-09-04 14:48:28.000000000 +0100
@@ -75,62 +75,78 @@ function theme_stormtask_list($header, $
 function theme_stormtask_view($node, $teaser = FALSE, $page = FALSE) {
   $node = node_prepare($node, $teaser);
 
-  $w = 0;
-  $node->content['stormtask'] = array(
-    '#prefix' => '<div id="stormtask" class="stormcomponent">',
+  $node->content['links'] = array(
+    '#prefix' => '<div class="stormlinks">',
     '#suffix' => '</div>',
-    '#weight' => $w++,
+    '#weight' => -25,
   );
 
-  $node->content['stormtask']['fields'] = array(
-    '#prefix' => '<div id="fields">',
+  $node->content['links']['expenses'] = theme('storm_link', 'stormtask', 'stormexpense', $node->nid, $w++);
+  $node->content['links']['notes'] = theme('storm_link', 'stormtask', 'stormnote', $node->nid, $w++);
+  $node->content['links']['tickets'] = theme('storm_link', 'stormtask', 'stormticket', $node->nid, $w++);
+  $node->content['links']['timetrackings'] = theme('storm_link', 'stormtask', 'stormtimetracking', $node->nid, $w++);
+  
+  $node->content['group1'] = array(
+    '#prefix' => '<div class="stormfields">',
     '#suffix' => '</div>',
-    '#weight' => $w++,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group1') : -20,
   );
 
-  $node->content['stormtask']['fields']['organization'] = array(
+  $node->content['group1']['organization'] = array(
     '#prefix' => '<div class="organization">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Organization'), l($node->organization_title, 'node/'. $node->organization_nid)),
-    '#weight' => $w++,
+    '#weight' => 1,
   );
 
-  $node->content['stormtask']['fields']['project'] = array(
+  $node->content['group1']['project'] = array(
     '#prefix' => '<div class="project">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Project'), l($node->project_title, 'node/'. $node->project_nid)),
-    '#weight' => $w++,
+    '#weight' => 2,
   );
 
-  $node->content['stormtask']['fields']['stepno'] = array(
+  $node->content['group1']['stepno'] = array(
     '#prefix' => '<div class="stepno">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Step no.'), $node->stepno),
-    '#weight' => $w++,
+    '#weight' => 3,
   );
 
-  $node->content['stormtask']['fields']['body'] = array(
-    '#prefix' => '<div class="body">',
+  $node->content['group2'] = array(
+    '#prefix' => '<div class="stormfields">',
     '#suffix' => '</div>',
-    '#value' => theme('storm_view_item', t('Description'), $node->content['body']['#value']),
-    '#weight' => $w++,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group2') : -19,
   );
-  unset($node->content['body']);
 
-  $node->content['stormtask']['links'] = array(
-    '#prefix' => '<div id="links">',
+  $node->content['group2']['category'] = array(
+    '#prefix' => '<div class="category">',
     '#suffix' => '</div>',
-    '#value' => '&nbsp;',
-    '#weight' => $w++,
+    '#value' => theme('storm_view_item', t('Category'), stormattribute_value('Task category', $node->taskcategory)),
+    '#weight' => 1,
   );
 
-  $w = 0;
-  $i = new stdClass();
-
-  $node->content['stormtask']['links']['expenses'] = theme('storm_link', 'stormtask', 'stormexpense', $node->nid, $w++);
-  $node->content['stormtask']['links']['notes'] = theme('storm_link', 'stormtask', 'stormnote', $node->nid, $w++);
-  $node->content['stormtask']['links']['tickets'] = theme('storm_link', 'stormtask', 'stormticket', $node->nid, $w++);
-  $node->content['stormtask']['links']['timetrackings'] = theme('storm_link', 'stormtask', 'stormtimetracking', $node->nid, $w++);
+  $node->content['group2']['status'] = array(
+    '#prefix' => '<div class="storm_status">',
+    '#suffix' => '</div>',
+    '#value' => theme('storm_view_item', t('Status'), stormattribute_value('Task status', $node->taskstatus)),
+    '#weight' => 2,
+  );
+ 
+  $node->content['group2']['priority'] = array(
+    '#prefix' => '<div class="priority">',
+    '#suffix' => '</div>',
+    '#value' => theme('storm_view_item', t('Priority'), stormattribute_value('Task priority', $node->taskpriority)),
+    '#weight' => 3,
+  );
   
+  $node->content['body_field'] = array(
+    '#prefix' => '<div class="stormbody">',
+    '#suffix' => '</div>',
+    '#value' => theme('storm_view_item', t('Description'), $node->content['body']['#value']),
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'body_field') : -18,
+  );
+  unset($node->content['body']);
+
   return $node;
 }
\ No newline at end of file
diff -rup storm/storm.theme.inc storm-343818-52/storm.theme.inc
--- storm/storm.theme.inc	2009-08-22 15:49:19.000000000 +0100
+++ storm-343818-52/storm.theme.inc	2009-09-04 14:49:24.000000000 +0100
@@ -88,7 +88,7 @@ function theme_storm_report($header, $co
 }
 
 function theme_storm_view_item($label, $value) {
-  $o = '<div class="label"><span class="label">'. t($label) .' : </span></div><div class="value">'. $value .'</div>';
+  $o = '<div class="label"><span class="label">'. t($label) .':&nbsp;</span></div><div class="value">'. $value .'</div>';
   return $o;
 }
 
diff -rup storm/stormticket/stormticket.module storm-343818-52/stormticket/stormticket.module
--- storm/stormticket/stormticket.module	2009-07-15 18:27:20.000000000 +0100
+++ storm-343818-52/stormticket/stormticket.module	2009-09-04 14:52:00.000000000 +0100
@@ -47,6 +47,17 @@ function stormticket_init() {
   drupal_add_js($settings, 'setting');
 }
 
+function stormticket_content_extra_fields($type_name) {
+  if ($type_name == 'stormticket') {
+    return array(
+      'group1' => array('label' => 'Organization/Project/Task Group', 'weight' => -20),
+      'group2' => array('label' => 'Category/Status/Priority Group', 'weight' => -19),
+      'group3' => array('label' => 'Date/Duration Group', 'weight' => -18),
+      'group4' => array('label' => 'Price Group', 'weight' => -17),
+    );
+  }
+}
+
 // ACCESS FUNCTIONS
 function stormticket_access($op, $node, $account=NULL) {
   if (empty($account)) {
@@ -281,7 +292,7 @@ function stormticket_form(&$node) {
   $form['group1'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -20,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group1') : -20,
   );
 
   $s_org = stormorganization_access_sql($s_org);
@@ -331,7 +342,7 @@ function stormticket_form(&$node) {
   $form['group2'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => -19,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group2') : -19,
   );
 
   $category_list = stormattribute_attributes_bydomain('Ticket category');
@@ -363,13 +374,13 @@ function stormticket_form(&$node) {
     '#title' => check_plain($type->title_label),
     '#required' => TRUE,
     '#default_value' => $node->title,
-    '#weight' => 1,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'title') : -18,
   );
 
   $form['group3'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
-    '#weight' => 2,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group3') : -17,
   );
 
   $form['group3']['datebegin'] = array(
@@ -401,21 +412,22 @@ function stormticket_form(&$node) {
     '#default_value' => $node->duration,
   );
 
-  $form['group5'] = array(
+  $form['group4'] = array(
     '#type' => 'markup',
     '#theme' => 'storm_form_group',
     '#weight' => 3,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group4') : -16,
   );
 
   $pricemodes = stormattribute_attributes_bydomain('Price mode');
-  $form['group5']['pricemode'] = array(
+  $form['group4']['pricemode'] = array(
     '#type' => 'select',
     '#title' => t('Price mode'),
     '#default_value' => $node->pricemode,
     '#options' => array('-' => '-') + $pricemodes['values'],
   );
 
-  $form['group5']['price'] = array(
+  $form['group4']['price'] = array(
     '#title' => t('Price'),
     '#type' => 'textfield',
     '#size' => 15,
@@ -423,7 +435,7 @@ function stormticket_form(&$node) {
   );
 
   $currencies = stormattribute_attributes_bydomain('Currency');
-  $form['group5']['currency'] = array(
+  $form['group4']['currency'] = array(
     '#type' => 'select',
     '#title' => t('Price currency'),
     '#default_value' => $node->currency,
@@ -431,7 +443,7 @@ function stormticket_form(&$node) {
   );
 
   if ($type->has_body) {
-    $form['body_filter']['#weight'] = 4;
+    $form['body_filter']['#weight'] = module_exists('content') ? content_extra_field_weight($node->type, 'body_field') : 0;
     $form['body_filter']['body'] = array(
       '#type' => 'textarea',
       '#title' => check_plain($type->body_label),
diff -rup storm/stormticket/stormticket.theme.inc storm-343818-52/stormticket/stormticket.theme.inc
--- storm/stormticket/stormticket.theme.inc	2009-08-22 15:54:08.000000000 +0100
+++ storm-343818-52/stormticket/stormticket.theme.inc	2009-09-04 14:55:27.000000000 +0100
@@ -36,82 +36,76 @@ function theme_stormticket_list($header,
 function theme_stormticket_view($node, $teaser = FALSE, $page = FALSE) {
   $node = node_prepare($node, $teaser);
   
-  $w = 0;
-  $node->content['stormticket'] = array(
-    '#prefix' => '<div id="stormticket" class="stormcomponent">',
-    '#suffix' => '</div>',
-    '#weight' => $w++,
+  $node->content['links'] = array(
+    '#prefix' => '<div class="stormlinks"><dl>',
+    '#suffix' => '</dl></div>',
+    '#weight' => -25,
   );
 
-  $node->content['stormticket']['fields'] = array(
-    '#prefix' => '<div id="fields">',
+  $node->content['links']['expenses'] = theme('storm_link', 'stormticket', 'stormexpense', $node->nid, 1);
+  $node->content['links']['timetrackings'] = theme('storm_link', 'stormticket', 'stormtimetracking', $node->nid, 5);
+
+  $node->content['group1'] = array(
+    '#prefix' => '<div class="stormfields">',
     '#suffix' => '</div>',
-    '#weight' => $w++,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group1') : -20,
   );
 
-  $node->content['stormticket']['fields']['organization'] = array(
+  $node->content['group1']['organization'] = array(
     '#prefix' => '<div class="organization">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Organization'), l($node->organization_title, 'node/'. $node->organization_nid)),
     '#weight' => $w++,
   );
 
-  $node->content['stormticket']['fields']['project'] = array(
+  $node->content['group1']['project_nid'] = array(
     '#prefix' => '<div class="project">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Project'), l($node->project_title, 'node/'. $node->project_nid)),
     '#weight' => $w++,
   );
 
-  $node->content['stormticket']['fields']['task'] = array(
+  $node->content['group1']['task_nid'] = array(
     '#prefix' => '<div class="task">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Task'), l($node->task_title, 'node/'. $node->task_nid)),
     '#weight' => $w++,
   );
 
-  $node->content['stormticket']['fields']['category'] = array(
+  $node->content['group2'] = array(
+    '#prefix' => '<div class="stormfields">',
+    '#suffix' => '</div>',
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'group2') : -19,
+  );
+
+  $node->content['group2']['category'] = array(
     '#prefix' => '<div class="category">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Category'), stormattribute_value('Ticket category', $node->ticketcategory)),
-    '#weight' => $w++,
+    '#weight' => 1,
   );
   
-  $node->content['stormticket']['fields']['status'] = array(
+  $node->content['group2']['status'] = array(
     '#prefix' => '<div class="storm_status">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Status'), stormattribute_value('Ticket status', $node->ticketstatus)),
-    '#weight' => $w++,
+    '#weight' => 2,
   );
 
-  $node->content['stormticket']['fields']['priority'] = array(
+  $node->content['group2']['priority'] = array(
     '#prefix' => '<div class="priority">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Priority'), stormattribute_value('Ticket priority', $node->ticketpriority)),
-    '#weight' => $w++,
+    '#weight' => 3,
   );
   
-  $node->content['stormticket']['fields']['body'] = array(
-    '#prefix' => '<div class="body">',
+  $node->content['body_field'] = array(
+    '#prefix' => '<div class="stormbody">',
     '#suffix' => '</div>',
     '#value' => theme('storm_view_item', t('Description'), $node->content['body']['#value']),
-    '#weight' => $w++,
+    '#weight' => module_exists('content') ? content_extra_field_weight($node->type, 'body_field') : -18,
   );
   unset($node->content['body']);
 
-  $node->content['stormticket']['links'] = array(
-    '#prefix' => '<div id="links">',
-    '#suffix' => '</div>',
-    '#value' => '&nbsp;',
-    '#weight' => $w++,
-  );
-  
-  $w = 0;
-
-  $i = new stdClass();
-  
-  $node->content['stormticket']['links']['expenses'] = theme('storm_link', 'stormticket', 'stormexpense', $node->nid, $w++);
-  $node->content['stormticket']['links']['timetrackings'] = theme('storm_link', 'stormticket', 'stormtimetracking', $node->nid, $w++);
-  
   return $node;
 }
\ No newline at end of file
