// when the DOM is ready...

if(jQuery) {
    jQuery(document).ready(function($){
    
    var slider_exclude = 0;
    var $panels = jQuery('#slider .scrollContainer > div');
    var $container = jQuery('#slider .scrollContainer');
    var $navigation = jQuery('#slider .navigation');
    var $scroll = jQuery('#slider .scroll').css('overflow', 'hidden');

    // if false, we'll float all the panels left and fix the width
    // of the container
    var horizontal = false;
    // float the panels left if we're going horizontal
    if (horizontal) {
      var newWidth = 0;
      for (i = 0; i < $panels.length; i++) {
        newWidth += $panels[i].offsetWidth;
      }

      $panels.css( {
        'float' :'left',
        'position' :'relative' // IE fix to ensure overflow is
                    // hidden
      });

      // calculate a new width for the container (so it holds all
      // panels)
      $container.css('width', newWidth);
    }

    // collect the scroll object, at the same time apply the hidden
    // overflow
    // to remove the default scrollbars that will appear
    // apply our left + right buttons
    /*
    $scroll
        .before('<div id="arrowleft"><img class="scrollButtons left" src="fileadmin/templates/_gfx/arrowleft.png" alt="" title="" /></div>')
        .after('<div id="arrowright"><img class="scrollButtons right" src="fileadmin/templates/_gfx/arrowright.png" alt="" title="" /></div>');
    */
    
    // handle nav selection
    function selectNav() {
      jQuery(this).parents('ul:first').find('a').removeClass('active')
          .end().end().addClass('active');
    }

    jQuery('#slider .navigation').find('a').click(selectNav);

    // go find the navigation link that has this target and select
    // the nav
    function trigger(data) {
      var el = jQuery('#slider .navigation').find(
          'a[href$="' + data.id + '"]').get(0);
      selectNav.call(el);
    }

    if (window.location.hash) {
      trigger( {
        id :window.location.hash.substr(1)
      });
    } else {
      jQuery('ul.navigation a:first').click();
    }

    // offset is used to move to *exactly* the right place, since
    // I'm using
    // padding on my example, I need to subtract the amount of
    // padding to
    // the offset. Try removing this to get a good idea of the
    // effect
    var offset = parseInt((horizontal ? $container
        .css('paddingTop') : $container.css('paddingLeft')) || 0)
        * -1;

    var scrollOptions = {
      target :$scroll, // the element that has the overflow

      // can be a selector which will be relative to the target
      items :$panels,

      navigation :'.navigation a',

      // selectors are NOT relative to document, i.e. make sure
      // they're unique
      prev :'img.left',
      next :'img.right',

      // allow the scroll effect to run both directions
      axis :'y',

      onAfter :trigger, // our final callback

      // duration of the sliding effect
      duration :1000,
      cycle: false,
      force: true,
      exclude :slider_exclude,

      // easing - can be used with the easing plugin:
      // http://gsgd.co.uk/sandbox/jquery/easing/
      easing :'easeInOutCubic'
    };

    // apply serialScroll to the slider - we chose this plugin
    // because it
    // supports// the indexed next and previous scroll along with
    // hooking
    // in to our navigation.
    jQuery('#slider').serialScroll(scrollOptions);

    // now apply localScroll to hook any other arbitrary links to
    // trigger
    // the effect
    $.localScroll(scrollOptions);

    // finally, if the URL has a hash, move the slider in to
    // position,
    // setting the duration to 1 because I don't want it to scroll
    // in the
    // very first page load. We don't always need this, but it
    // ensures
    // the positioning is absolutely spot on when the pages loads.
    scrollOptions.duration = 1;
    $.localScroll.hash(scrollOptions);

    // initialize the fader/cycle animation
    jQuery('#fader').cycle({
      timeout: 15000,
      speed: 3000,
      pause: 1,
      slideExpr: 'div.fader-content'
    });
  });
}

