--- views_ticker.module.orig	2008-04-14 14:11:32.000000000 +0100
+++ views_ticker.module	2008-06-03 09:09:04.653335608 +0100
@@ -337,17 +337,21 @@
 function _views_ticker_scroller($view, $nodes, $type, $direction) {
   switch ($direction) {
     case 'horizontal':
-      $jsclass = 'left';
+      $jsclass = variable_get('viewsticker_hscroller_direction', 'left');
+      $jspeed = variable_get('viewsticker_hscroller_speed', 30);
+      $jmouse = (variable_get('viewsticker_hscroller_mouseover', 0) ? ' jscroller2_mousemove' : '' );
       break;
     case 'vertical':
-      $jsclass = 'up';
+      $jsclass = variable_get('viewsticker_vscroller_direction', 'up');
+      $jspeed = variable_get('viewsticker_vscroller_speed', 30);
+      $jmouse = (variable_get('viewsticker_vscroller_mouseover', 0) ? ' jscroller2_mousemove' : '' );
       break;
   }
   $direction = 'scroller-'.$direction;   
   drupal_add_css(drupal_get_path('module', 'views_ticker') .'/views.ticker.scroller.css');
   drupal_add_js(drupal_get_path('module', 'views_ticker') .'/views.ticker.scroller.js');
   $fields = _views_get_fields();
-  $output = '<div id="views-ticker-' . $direction . '-' . $view->name . '" class="views-' . $direction . '-container"><div class="jscroller2_' . $jsclass . ' jscroller2_speed-30">';
+  $output = '<div id="views-ticker-'. $direction .'-'. $view->name .'" class="views-'. $direction .'-container"><div class="jscroller2_'. $jsclass .' jscroller2_speed-'. $jspeed . $jmouse .'">';
   foreach ($nodes as $node) {
       $items = '<div class="views-' . $direction . '-item views-' . $direction . '-item-' . $view->name . '">';
     foreach ($view->field as $field) {
@@ -447,3 +451,131 @@
 function theme_views_ticker_vscroll($view, $nodes, $type) {
   return _views_ticker_scroller($view, $nodes, $type, 'vertical');
 }
+
+// admin
+/**
+ * Implementation of hook_help().
+ */
+function views_ticker_help($section) {
+  switch ($section) {
+    case 'admin/modules#description':
+      return t('Adds javascript scrollers to the Views module.');
+  }
+}
+
+/**
+ * Implementation of hook_perm().
+ *
+ * Since we are limiting the ability to create new nodes to certain users,
+ * we need to define what those permissions are here. We also define a permission
+ * to allow users to edit the nodes they created.
+ */
+function views_ticker_perm() {
+  return array('administer views_ticker');
+}
+
+/**
+ * Implementation of hook_menu().
+ */
+function views_ticker_menu($may_cache) {
+  $items = array();
+  if ($may_cache) {
+    $items[] = array(
+      'path' => 'admin/settings/views_ticker',
+      'title' => t('Views ticker settings'),
+      'description' => t(''),
+      'access' => user_access('administer views_ticker'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => 'views_ticker_settings',
+      'type' => MENU_NORMAL_ITEM,
+    );
+
+  }
+
+  return $items;
+
+}
+
+/**
+ * Menu callback; presents the settings form for views_ticker
+ */
+function views_ticker_settings() {
+  $form = array();
+  // horizontal
+  $form['views_ticker_hscroller_set'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Horizontal scroller settings'),
+    '#description' => t(''),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+  );
+  $form['views_ticker_hscroller_set']['viewsticker_hscroller_speed'] = array(
+    '#type' => 'select',
+    '#title' => t('Horizontal scroller speed'),
+    '#description' => t(''),
+    '#default_value' => variable_get('viewsticker_hscroller_speed', 30),
+    '#options' => array(
+      '10' => t('Very slow'),
+      '20' => t('Slow'),
+      '30' => t('Normal'),
+      '40' => t('Fast'),
+      '50' => t('Very fast'),
+    ),
+  );
+  $form['views_ticker_hscroller_set']['viewsticker_hscroller_direction'] = array(
+    '#type' => 'select',
+    '#title' => t('Horizontal scroller direction'),
+    '#description' => t(''),
+    '#default_value' => variable_get('viewsticker_hscroller_direction', 'left'),
+    '#options' => array(
+      'left' => t('Left'),
+      'right' => t('Right'),
+    ),
+  );
+  $form['views_ticker_hscroller_set']['viewsticker_hscroller_mouseover'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Horizontal scroller mouseover'),
+    '#description' => t(''),
+    '#default_value' => variable_get('viewsticker_hscroller_mouseover', 0),
+  );
+  // vertical
+  $form['views_ticker_vscroller_set'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Vertical scroller settings'),
+    '#description' => t(''),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+  );
+  $form['views_ticker_vscroller_set']['viewsticker_vscroller_speed'] = array(
+    '#type' => 'select',
+    '#title' => t('Vertical scroller speed'),
+    '#description' => t(''),
+    '#default_value' => variable_get('viewsticker_vscroller_speed', 30),
+    '#options' => array(
+      '10' => t('Very slow'),
+      '20' => t('Slow'),
+      '30' => t('Normal'),
+      '40' => t('Fast'),
+      '50' => t('Very fast'),
+    ),
+  );
+  $form['views_ticker_vscroller_set']['viewsticker_vscroller_direction'] = array(
+    '#type' => 'select',
+    '#title' => t('Vertical scroller direction'),
+    '#description' => t(''),
+    '#default_value' => variable_get('viewsticker_vscroller_direction', 'up'),
+    '#options' => array(
+      'up' => t('Up'),
+      'down' => t('Down'),
+    ),
+  );
+  $form['views_ticker_vscroller_set']['viewsticker_vscroller_mouseover'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Vertical scroller mouseover'),
+    '#description' => t(''),
+    '#default_value' => variable_get('viewsticker_vscroller_mouseover', 0),
+  );
+
+  return system_settings_form($form);
+
+}
