diff -u -F'^f' /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/panels.module ./panels.module
--- /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/panels.module	2007-10-26 01:37:36.000000000 +0200
+++ ./panels.module	2007-10-26 01:40:03.000000000 +0200
@@ -647,7 +647,7 @@ function panels_render_panes($display) {
         $panel[$pid] = $panes[$pid];
       }
     }
-    $content[$panel_name] = panels_render_panel($display, $panel);
+    $content[$panel_name] = panels_render_panel($display, $panel, $panel_name);
   }
 
   return $content;
@@ -743,11 +743,13 @@ function panels_pane_select_context($pan
  *   A display object.
  * @param $panes
  *   An array of panes that are assigned to the panel that's being rendered.
+ * @param $panel_name
+ *  Panel name to pass on to theme function (NC addition)
  * @return
  *   The rendered HTML for a panel.
  * @render
  */
-function panels_render_panel($display, $panes) {
+function panels_render_panel($display, $panes, /*NC*/ $panel_name='unknown-panel') {
   if (!empty($display->panel_settings)) {
     $style = panels_get_style($display->panel_settings['style']);
   }
@@ -764,7 +766,7 @@ function panels_render_panel($display, $
     $panel_id = $display->owner->pid;
   }
 
-  return theme($style['render panel'], $display, $panel_id, $panes, $display->panel_settings['style_settings']);
+  return theme($style['render panel'], $display, $panel_id, $panes, $display->panel_settings['style_settings'], $panel_name);
 }
 
diff -u -F'^f' /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/block.inc ././content_types/block.inc
--- /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/block.inc	2007-10-26 01:37:36.000000000 +0200
+++ ././content_types/block.inc	2007-10-31 08:22:37.000000000 +0100
@@ -106,6 +106,25 @@ function panels_admin_edit_block($id, $p
     '#value' => $conf['delta'],
   );
 
+  //NC
+  $form['css_id'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $conf['css_id'],
+    '#title' => t('CSS ID'),
+    '#description' => t('CSS ID of this custom content.'),
+    '#weight' => 2,
+    '#size' => 15,
+  );
+  $form['css_class'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $conf['css_class'],
+    '#title' => t('CSS class'),
+    '#description' => t('CSS class of this node.'),
+    '#weight' => 2,
+    '#size' => 15,
+  );
+  //NC
+
   // Module-specific block configurations.
   if (user_access('administer advanced pane settings') && $settings = module_invoke($conf['module'], 'block', 'configure', $conf['delta'])) {
     // Specifically modify a couple of core block forms.
diff -u -F'^f' /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/custom.inc ././content_types/custom.inc
--- /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/custom.inc	2007-10-26 01:37:36.000000000 +0200
+++ ././content_types/custom.inc	2007-10-26 01:40:03.000000000 +0200
@@ -27,22 +27,10 @@ function panels_content_custom($conf) {
   $block->module = 'custom';
   $block->delta = ++$delta;
   $block->subject = filter_xss_admin($conf['title']);
-  $block->content = theme('panels_custom_content', check_markup($conf['body'], $conf['format'], FALSE), check_plain($conf['css_id']), check_plain($conf['css_class']));
+  $block->content = check_markup($conf['body'], $conf['format'], FALSE);
   return $block;
 }
 
-function theme_panels_custom_content($content, $id, $class) {
-  if ($id) {
-    $id = 'id="' . $id . '"';
-  }
-
-  if ($content) {
-    $output = '<div class="panels-custom ' . $class . '" ' . $id . '>';
-    $output .= $content;
-    $output .= '</div>';
-  }
-  return $output;
-}
 
 /**
  * Return all content types available.
diff -u -F'^f' /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/node.inc ././content_types/node.inc
--- /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/node.inc	2007-10-26 01:37:36.000000000 +0200
+++ ././content_types/node.inc	2007-10-31 08:22:37.000000000 +0100
@@ -40,6 +40,9 @@ function panels_content_node($conf, $pan
     }
   }
 
+  if (!is_numeric($nid)) {
+    return;
+  }
   $node = node_load($nid);
   if (!node_access('view', $node)) {
     return;
@@ -50,7 +53,7 @@ function panels_content_node($conf, $pan
 
   $block->subject = $node->title;
 
-  unset($node->title);
+  //NC unset($node->title);
   $block->content = node_view($node, $conf['teaser'], FALSE, $conf['links']);
   return $block;
 }
@@ -109,6 +112,25 @@ function panels_admin_edit_node($id, $pa
     '#description' => t('Check here to display the links with the post.')
   );
 
+  //NC
+  $form['css_id'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $conf['css_id'],
+    '#title' => t('CSS ID'),
+    '#description' => t('CSS ID of this custom content.'),
+    '#weight' => 2,
+    '#size' => 15,
+  );
+  $form['css_class'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $conf['css_class'],
+    '#title' => t('CSS class'),
+    '#description' => t('CSS class of this node.'),
+    '#weight' => 2,
+    '#size' => 15,
+  );
+  //NC
+
   return $form;
 }
 
@@ -139,6 +161,9 @@ function panels_admin_validate_node($for
  * Returns the administrative title for a node.
  */
 function panels_admin_title_node($conf) {
+  if (!is_numeric($conf['nid'])) {
+    return;
+  }
   $node = node_load($conf['nid']);
   if ($node) {
     return check_plain($node->title);
diff -u -F'^f' /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/views.inc ././content_types/views.inc
--- /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./content_types/views.inc	2007-10-26 01:37:37.000000000 +0200
+++ ././content_types/views.inc	2007-10-26 01:40:03.000000000 +0200
@@ -242,6 +242,25 @@ function panels_admin_edit_views($id, $p
     '#description' => t('If this is set, override the View URL; this can sometimes be useful to set to the panel URL'),
   );
 
+  //NC
+  $form['css_id'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $conf['css_id'],
+    '#title' => t('CSS ID'),
+    '#description' => t('CSS ID of this custom content.'),
+    '#weight' => 2,
+    '#size' => 15,
+  );
+  $form['css_class'] = array(
+    '#type' => 'textfield',
+    '#default_value' => $conf['css_class'],
+    '#title' => t('CSS class'),
+    '#description' => t('CSS class of this node.'),
+    '#weight' => 2,
+    '#size' => 15,
+  );
+  //NC
+
   return $form;
 }
 
@@ -251,7 +270,9 @@ function panels_admin_edit_views($id, $p
 function panels_admin_title_views($conf) {
   $view = views_get_view($conf['view']);
   $title = views_get_title($view, 'admin');
-  return $title ? $title : $view->name;
+  $offset = intval($conf['offset']);
+  $result = $title ? $title : $view->name;
+  return $result . ($offset ? (' (offset ' . $offset . ')') : '');
 }
 
 /**
diff -u -F'^f' /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./styles/default.inc ././styles/default.inc
--- /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./styles/default.inc	2007-09-28 12:44:14.000000000 +0200
+++ ././styles/default.inc	2007-10-26 01:40:03.000000000 +0200
@@ -19,7 +19,7 @@ function panels_default_panels_styles() 
 /**
  * Panel style: default (panes separated by whitespace).
  */
-function theme_panels_default_style_render_panel($display, $panel_id, $panes, $settings) {
+function theme_panels_default_style_render_panel($display, $panel_id, $panes, $settings, $panel_name='') {
   $output = '';
 
   $print_separator = FALSE;
diff -u -F'^f' /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./includes/plugins.inc ././includes/plugins.inc
--- /www/contaire.net/nc/cvsmaster/sites/all/modules/panels/./includes/plugins.inc	2007-10-26 01:37:37.000000000 +0200
+++ ././includes/plugins.inc	2007-10-31 08:22:37.000000000 +0100
@@ -160,7 +160,12 @@ function panels_pane_access($pane, $acco
  */
 function panels_ct_get_content($type, $conf, $args, $context, $incoming_content) {
   if ($function = panels_plugin_get_function('content_types', $type, 'render callback')) {
-    return $function($conf, $args, $context, $incoming_content);
+    //NC return $function($conf, $args, $context, $incoming_content);
+    $block = $function($conf, $args, $context, $incoming_content);
+    $block->css_id =  check_plain($conf['css_id']);
+    $block->css_class = check_plain($conf['css_class']);
+
+    return $block;
   }
 }
 
