diff -wur contrib/.scrollable_content/scrollable_content.info custom/scrollable_content/scrollable_content.info
--- contrib/.scrollable_content/scrollable_content.info	2010-11-06 10:40:41.000000000 +0300
+++ custom/scrollable_content/scrollable_content.info	2011-02-04 16:06:50.000000000 +0300
@@ -1,13 +1,11 @@
-;$Id: scrollable_content.info,v 1.4 2010/11/04 14:09:25 goodman Exp $
+; $Id$
 
 name = "Scrollable Content"
 description = "Displays your content in a scrolling layout (content slider)."
-dependencies[] = jquery_update
-core = 6.x
-package = "Sliders"
-; Information added by drupal.org packaging script on 2010-11-06
-version = "6.x-2.0-beta2"
-core = "6.x"
-project = "scrollable_content"
-datestamp = "1289029241"
+core = 7.x
+package = Views
 
+;dependencies[] = jquery_update
+
+files[] = scrollable_content_plugin_style.inc
+; configure =
diff -wur contrib/.scrollable_content/scrollable_content.module custom/scrollable_content/scrollable_content.module
--- contrib/.scrollable_content/scrollable_content.module	2010-11-04 17:09:25.000000000 +0300
+++ custom/scrollable_content/scrollable_content.module	2011-02-04 17:58:04.000000000 +0300
@@ -1,4 +1,5 @@
 <?php
+
 // $Id: scrollable_content.module,v 1.4 2010/11/04 14:09:25 goodman Exp $
 
 /**
@@ -7,7 +8,6 @@
  *  It can be used either as a Block or in Views
  */
 
-
 /**
  * Implementation of hook_help().
  */
@@ -38,21 +38,24 @@
 }
 
 /**
- * Implementation of hook_block().
+ * Implementation of hook_block_info().
  */
-function scrollable_content_block($op = 'list', $delta = 0, $edit = array()) {
-  $block = array();
-  $field = 'content_types';
-
-  switch ($op) {
-    case 'list':
+function scrollable_content_block_info() {
       $blocks[0]['info'] = t('Scrollable Content');
       return $blocks;
+}
 
-    case 'configure':
+/**
+ * Implementation of hook_block_configure().
+ */
+function scrollable_content_block_configure($delta = '') {
       return scrollable_content_form('var', $delta);
+}
 
-    case 'save':
+/**
+ * Implementation of hook_block_save().
+ */
+function scrollable_content_block_save($delta = '', $edit = array()) {
       $form = scrollable_content_form('var');
       foreach ($form as $fieldset) {
         foreach ($fieldset as $key => $val) {
@@ -61,15 +64,20 @@
           }
         }
       }
-      break;
+}
+
+/**
+ * Implementation of hook_block_view().
+ */
+function scrollable_content_block_view($delta = '') {
+    $block = array();
+    $field = 'content_types';
 
-    case 'view':
       scrollable_content_include('all');
       $block['subject'] = t('Scrollable Content');
       $block['content'] = theme('scrollable_content', scrollable_content_get_slides());
       return $block;
   }
-}
 
 /**
  * Prepare Scrollable Content default values
@@ -80,8 +88,8 @@
 		'autoscroll', 'direction', 'interval', 'speed',
 		'keyboard', 'mousewheel',
 		'circular', 'navigator', 'history',
-		'theme_name');
-  $names = array_flip($names);
+	'theme_name', 'vertical');
+    $names = drupal_map_assoc($names);
 
   $defaults = array();
 
@@ -102,7 +110,7 @@
   $defaults[$names['circular']] = 1;
   $defaults[$names['navigator']] = 1;
   $defaults[$names['history']] = 1;
-
+    $defaults[$names['vertical']] = 0;
   $defaults[$names['theme_name']] = 'blue';
 
   return isset($field) ? $defaults[$field] : $defaults;
@@ -167,7 +175,7 @@
   );
 
     // Node types
-    $types = array_map('check_plain', node_get_types('names'));
+    $types = array_map('check_plain', node_type_get_names());
     if (!empty($types)) {
       $field = 'content_types';
       $form['scrollable_content_source'][$field] = array(
@@ -244,7 +252,7 @@
       '#default_value' => scrollable_content_field_default($type ,$field, $defaults[$field], $handler),
       '#description' => t('If Scrollable Content does not find any image in the node, it will use this default image.'),
       '#maxlength' => 255,
-      '#field_prefix' => '<strong>'. file_directory_path() . '/' .'</strong>',
+	'#field_prefix' => '<strong>' . variable_get('file_public_path', conf_path() . '/files') . '/' . '</strong>',
     );
 
     if (module_exists('imagecache')) {
@@ -406,15 +414,13 @@
   if (module_exists('imagecache')) {
     if (function_exists('_imagecache_get_presets')) {
       $presets = _imagecache_get_presets();
-    }
-    elseif (function_exists('imagecache_presets')) {
+	} elseif (function_exists('imagecache_presets')) {
       $ic_presets = imagecache_presets();
       $presets = array();
       foreach ($ic_presets as $preset_id => $preset_info) {
         $presets[$preset_info['presetid']] = $preset_info['presetname'];
       }
-    }
-    else {
+	} else {
       drupal_set_message(t('Unrecognized Imagecache API.'), 'error');
       return FALSE;
     }
@@ -528,6 +534,7 @@
  *  - title: node's title
  *  - image: image path in that node
  */
+
 function scrollable_content_get_slide_pieces($node) {
   $path = scrollable_content_get_slide_image($node->nid);
   $url = '';
@@ -548,6 +555,7 @@
 /*
  * Get and determine image path in a node
  */
+
 function scrollable_content_get_slide_image($nid) {
   global $base_url, $base_path, $base_root;
 
@@ -674,18 +682,22 @@
  * @param: $options: array of scrollable options
  */
 function scrollable_content_build_js_code($options) {
-  $js = "\$(function() {\n";
-
-    $js .= "\$(\"#scrollable_content_" . $options['items'] . "\").scrollable({\n";
-      $js .= "  keyboard: " . $options['keyboard'] . ", \n";
-      $js .= "  mousewheel: " . $options['mousewheel'] . ", \n";
-      $js .= "  circular: " . $options['circular'] . ", \n";
-
-      $js .= "  speed: " . $options['speed'] . ", \n";
+    $js = '(function ($) {
+    Drupal.behaviors.scrollable_content = {
+	attach: function (context, settings) {' . PHP_EOL;
+    //$js .= 'console.log( $("#scrollable_content_' . $options['items'] . '" ));';
+
+    $js .= '$( "#scrollable_content_' . $options['items'] . '", context ).once( "", function() {
+    $(this).scrollable({
+	keyboard: ' . $options['keyboard'] . ',
+	mousewheel: ' . $options['mousewheel'] . ',
+	circular: ' . $options['circular'] . ',
+	speed: ' . $options['speed'] . ', ';
 
       if (!$options['direction']) {
         $js .= "  vertical: true, \n";
       }
+    
     $js .= "})";
 
     if ($options['navigator']) {
@@ -708,9 +720,10 @@
       $js .= "})";
     }
 
-    $js .= ";\n";
-
-  $js .= "});";
+    $js .= '}); // once
+	} // attach
+    } // Behaviour
+})(jQuery);';
 
   return $js;
 }
\ No newline at end of file
diff -wur contrib/.scrollable_content/scrollable-content-view.tpl.php custom/scrollable_content/scrollable-content-view.tpl.php
--- contrib/.scrollable_content/scrollable-content-view.tpl.php	2010-11-04 17:09:25.000000000 +0300
+++ custom/scrollable_content/scrollable-content-view.tpl.php	2011-02-04 17:11:41.000000000 +0300
@@ -10,6 +10,7 @@
  * @see template_preprocess_scrollable_content_view()
  * @ingroup views_templates
  */
+
 ?>
 
 <ul id="scrollable_content_<?php print $options['items']; ?>_navi" class="main_navi <?php print $classes; ?>">
