' . "\n  ";
  $output .= $hidden_elements;
  $output .= '\n\n";
  return $output;
}
/**
 *  These are the slideshow elements themselves; not actually displayed, but used to give the html to the main element.
 */
function theme_views_slideshow_no_display_section($view, $rows, $id, $mode, $teaser = TRUE) {
  $output = '
' . "\n";
  if ($mode == VIEWS_SLIDESHOW_MODE_THUMBNAIL_HOVER) {
    foreach ($view->result as $count => $node) {
      $output .= theme('views_slideshow_no_display_teaser', node_view(node_load($node->nid), $teaser, FALSE, FALSE), $id, $count);
    }
  }
  else {
    // Add support for the jQuery Cycle plugin.
    // If we have the jQ module installed, use that to add the Cycle plugin if possible.
    // That allows for version control.
    if (module_exists('jq')) {
      $js = jq_add('cycle');
    }
    // Otherwise, we'll add the version included with this module.
    if (!$js) {
      drupal_add_js(drupal_get_path('module', 'views_slideshow') .'/js/jquery.cycle.all.min.js', 'module');
    }
    foreach ($rows as $count => $item) {
      $output .= theme('views_slideshow_no_display_teaser', $item, $id, $count);
    }
  }
  $output .= "
\n\n";
  return $output;
}
/**
 *  The html that will be placed into the element in its turn during its frame.
 */
function theme_views_slideshow_no_display_teaser($item, $id, $count) {
  $hidden = $count ? 'class="views_slideshow_hidden"' : '';
  $output = '  ' . "\n  ";
  $output .= $item . "\n";
  $output .= '  
' . "\n\n";
  return $output;
}
/**
 *  These are teasers that may be pointed at with a mouse to change the element directly.
 */
function theme_views_slideshow_breakout_teasers($items, $id) {
  $output = '' . "\n";
  $js = "$(document).ready(function() {\n";
  foreach ($items as $count => $item) {
    $output .= theme('views_slideshow_breakout_teaser', $item, $id, $count);
    $js .= theme('views_slideshow_breakout_teaser_js', $id, $count);
  }
  $js .= "})\n";
  drupal_add_js($js, 'inline');
  $output .= "
\n\n";
  return $output;
}
/**
 *  The mouseover event code for each breakout teaser.
 */
function theme_views_slideshow_breakout_teaser_js($id, $count) {
  // Return the js to set the main div to this teaser's element.
  $hover = (module_invoke('jq', 'add', 'hoverIntent')) ? 'hoverIntent' : 'hover';
  $js = '
  $("#views_slideshow_div_breakout_teaser_' . $id . '_' . $count . '").' . $hover . '(
    function() {
      views_slideshow_switch("' . $id . '", ' . $count . ');
      views_slideshow_pause("' . $id . '");
    },
    function() {
      views_slideshow_resume("' . $id . '");
   });
';
  return $js;
}
/**
 *  An individual breakout teaser.
 */
function theme_views_slideshow_breakout_teaser($item, $id, $count) {
  $class = $count ? '' : ' views_slideshow_active_teaser';
  $output = '  ' . "\n  ";
  $output .= $item . "\n";
  $output .= '  
' . "\n\n";
  return $output;
}