wp/wp-content/themes/themeforest-2964855-scrn-responsive-single-page-portfolio/SCRN/js/jquery.flexslider.js
author ymh <ymh.work@gmail.com>
Wed, 06 Nov 2013 03:21:17 +0000
changeset 0 d970ebf37754
permissions -rwxr-xr-x
first import
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     1
/*
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     2
 * jQuery FlexSlider v2.1
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     3
 * http://www.woothemes.com/flexslider/
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     4
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     5
 * Copyright 2012 WooThemes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     6
 * Free to use under the GPLv2 license.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     7
 * http://www.gnu.org/licenses/gpl-2.0.html
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     8
 *
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
     9
 * Contributing author: Tyler Smith (@mbmufffin)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    10
 */
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    11
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    12
;(function ($) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    13
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    14
  //FlexSlider: Object Instance
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    15
  $.flexslider = function(el, options) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    16
    var slider = $(el),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    17
        vars = $.extend({}, $.flexslider.defaults, options),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    18
        namespace = vars.namespace,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    19
        touch = ("ontouchstart" in window) || window.DocumentTouch && document instanceof DocumentTouch,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    20
        eventType = (touch) ? "touchend" : "click",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    21
        vertical = vars.direction === "vertical",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    22
        reverse = vars.reverse,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    23
        carousel = (vars.itemWidth > 0),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    24
        fade = vars.animation === "fade",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    25
        asNav = vars.asNavFor !== "",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    26
        methods = {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    27
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    28
    // Store a reference to the slider object
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    29
    $.data(el, "flexslider", slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    30
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    31
    // Privat slider methods
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    32
    methods = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    33
      init: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    34
        slider.animating = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    35
        slider.currentSlide = vars.startAt;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    36
        slider.animatingTo = slider.currentSlide;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    37
        slider.atEnd = (slider.currentSlide === 0 || slider.currentSlide === slider.last);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    38
        slider.containerSelector = vars.selector.substr(0,vars.selector.search(' '));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    39
        slider.slides = $(vars.selector, slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    40
        slider.container = $(slider.containerSelector, slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    41
        slider.count = slider.slides.length;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    42
        // SYNC:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    43
        slider.syncExists = $(vars.sync).length > 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    44
        // SLIDE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    45
        if (vars.animation === "slide") vars.animation = "swing";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    46
        slider.prop = (vertical) ? "top" : "marginLeft";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    47
        slider.args = {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    48
        // SLIDESHOW:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    49
        slider.manualPause = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    50
        // TOUCH/USECSS:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    51
        slider.transitions = !vars.video && !fade && vars.useCSS && (function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    52
          var obj = document.createElement('div'),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    53
              props = ['perspectiveProperty', 'WebkitPerspective', 'MozPerspective', 'OPerspective', 'msPerspective'];
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    54
          for (var i in props) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    55
            if ( obj.style[ props[i] ] !== undefined ) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    56
              slider.pfx = props[i].replace('Perspective','').toLowerCase();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    57
              slider.prop = "-" + slider.pfx + "-transform";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    58
              return true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    59
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    60
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    61
          return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    62
        }());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    63
        // CONTROLSCONTAINER:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    64
        if (vars.controlsContainer !== "") slider.controlsContainer = $(vars.controlsContainer).length > 0 && $(vars.controlsContainer);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    65
        // MANUAL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    66
        if (vars.manualControls !== "") slider.manualControls = $(vars.manualControls).length > 0 && $(vars.manualControls);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    67
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    68
        // RANDOMIZE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    69
        if (vars.randomize) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    70
          slider.slides.sort(function() { return (Math.round(Math.random())-0.5); });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    71
          slider.container.empty().append(slider.slides);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    72
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    73
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    74
        slider.doMath();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    75
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    76
        // ASNAV:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    77
        if (asNav) methods.asNav.setup();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    78
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    79
        // INIT
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    80
        slider.setup("init");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    81
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    82
        // CONTROLNAV:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    83
        if (vars.controlNav) methods.controlNav.setup();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    84
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    85
        // DIRECTIONNAV:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    86
        if (vars.directionNav) methods.directionNav.setup();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    87
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    88
        // KEYBOARD:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    89
        if (vars.keyboard && ($(slider.containerSelector).length === 1 || vars.multipleKeyboard)) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    90
          $(document).bind('keyup', function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    91
            var keycode = event.keyCode;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    92
            if (!slider.animating && (keycode === 39 || keycode === 37)) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    93
              var target = (keycode === 39) ? slider.getTarget('next') :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    94
                           (keycode === 37) ? slider.getTarget('prev') : false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    95
              slider.flexAnimate(target, vars.pauseOnAction);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    96
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    97
          });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    98
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
    99
        // MOUSEWHEEL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   100
        if (vars.mousewheel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   101
          slider.bind('mousewheel', function(event, delta, deltaX, deltaY) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   102
            event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   103
            var target = (delta < 0) ? slider.getTarget('next') : slider.getTarget('prev');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   104
            slider.flexAnimate(target, vars.pauseOnAction);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   105
          });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   106
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   107
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   108
        // PAUSEPLAY
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   109
        if (vars.pausePlay) methods.pausePlay.setup();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   110
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   111
        // SLIDSESHOW
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   112
        if (vars.slideshow) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   113
          if (vars.pauseOnHover) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   114
            slider.hover(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   115
              if (!slider.manualPlay && !slider.manualPause) slider.pause();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   116
            }, function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   117
              if (!slider.manualPause && !slider.manualPlay) slider.play();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   118
            });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   119
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   120
          // initialize animation
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   121
          (vars.initDelay > 0) ? setTimeout(slider.play, vars.initDelay) : slider.play();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   122
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   123
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   124
        // TOUCH
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   125
        if (touch && vars.touch) methods.touch();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   126
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   127
        // FADE&&SMOOTHHEIGHT || SLIDE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   128
        if (!fade || (fade && vars.smoothHeight)) $(window).bind("resize focus", methods.resize);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   129
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   130
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   131
        // API: start() Callback
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   132
        setTimeout(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   133
          vars.start(slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   134
        }, 200);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   135
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   136
      asNav: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   137
        setup: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   138
          slider.asNav = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   139
          slider.animatingTo = Math.floor(slider.currentSlide/slider.move);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   140
          slider.currentItem = slider.currentSlide;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   141
          slider.slides.removeClass(namespace + "active-slide").eq(slider.currentItem).addClass(namespace + "active-slide");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   142
          slider.slides.click(function(e){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   143
            e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   144
            var $slide = $(this),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   145
                target = $slide.index();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   146
            if (!$(vars.asNavFor).data('flexslider').animating && !$slide.hasClass('active')) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   147
              slider.direction = (slider.currentItem < target) ? "next" : "prev";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   148
              slider.flexAnimate(target, vars.pauseOnAction, false, true, true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   149
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   150
          });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   151
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   152
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   153
      controlNav: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   154
        setup: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   155
          if (!slider.manualControls) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   156
            methods.controlNav.setupPaging();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   157
          } else { // MANUALCONTROLS:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   158
            methods.controlNav.setupManual();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   159
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   160
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   161
        setupPaging: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   162
          var type = (vars.controlNav === "thumbnails") ? 'control-thumbs' : 'control-paging',
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   163
              j = 1,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   164
              item;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   165
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   166
          slider.controlNavScaffold = $('<ol class="'+ namespace + 'control-nav ' + namespace + type + '"></ol>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   167
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   168
          if (slider.pagingCount > 1) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   169
            for (var i = 0; i < slider.pagingCount; i++) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   170
              item = (vars.controlNav === "thumbnails") ? '<img src="' + slider.slides.eq(i).attr("data-thumb") + '"/>' : '<a>' + j + '</a>';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   171
              slider.controlNavScaffold.append('<li>' + item + '</li>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   172
              j++;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   173
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   174
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   175
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   176
          // CONTROLSCONTAINER:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   177
          (slider.controlsContainer) ? $(slider.controlsContainer).append(slider.controlNavScaffold) : slider.append(slider.controlNavScaffold);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   178
          methods.controlNav.set();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   179
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   180
          methods.controlNav.active();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   181
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   182
          slider.controlNavScaffold.delegate('a, img', eventType, function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   183
            event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   184
            var $this = $(this),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   185
                target = slider.controlNav.index($this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   186
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   187
            if (!$this.hasClass(namespace + 'active')) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   188
              slider.direction = (target > slider.currentSlide) ? "next" : "prev";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   189
              slider.flexAnimate(target, vars.pauseOnAction);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   190
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   191
          });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   192
          // Prevent iOS click event bug
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   193
          if (touch) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   194
            slider.controlNavScaffold.delegate('a', "click touchstart", function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   195
              event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   196
            });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   197
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   198
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   199
        setupManual: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   200
          slider.controlNav = slider.manualControls;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   201
          methods.controlNav.active();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   202
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   203
          slider.controlNav.live(eventType, function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   204
            event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   205
            var $this = $(this),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   206
                target = slider.controlNav.index($this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   207
                
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   208
            if (!$this.hasClass(namespace + 'active')) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   209
              (target > slider.currentSlide) ? slider.direction = "next" : slider.direction = "prev";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   210
              slider.flexAnimate(target, vars.pauseOnAction);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   211
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   212
          });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   213
          // Prevent iOS click event bug
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   214
          if (touch) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   215
            slider.controlNav.live("click touchstart", function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   216
              event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   217
            });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   218
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   219
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   220
        set: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   221
          var selector = (vars.controlNav === "thumbnails") ? 'img' : 'a';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   222
          slider.controlNav = $('.' + namespace + 'control-nav li ' + selector, (slider.controlsContainer) ? slider.controlsContainer : slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   223
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   224
        active: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   225
          slider.controlNav.removeClass(namespace + "active").eq(slider.animatingTo).addClass(namespace + "active");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   226
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   227
        update: function(action, pos) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   228
          if (slider.pagingCount > 1 && action === "add") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   229
            slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   230
          } else if (slider.pagingCount === 1) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   231
            slider.controlNavScaffold.find('li').remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   232
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   233
            slider.controlNav.eq(pos).closest('li').remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   234
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   235
          methods.controlNav.set();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   236
          (slider.pagingCount > 1 && slider.pagingCount !== slider.controlNav.length) ? slider.update(pos, action) : methods.controlNav.active();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   237
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   238
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   239
      directionNav: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   240
        setup: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   241
          var directionNavScaffold = $('<ul class="' + namespace + 'direction-nav"><li><a class="' + namespace + 'prev" href="#">' + vars.prevText + '</a></li><li><a class="' + namespace + 'next" href="#">' + vars.nextText + '</a></li></ul>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   242
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   243
          // CONTROLSCONTAINER:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   244
          if (slider.controlsContainer) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   245
            $(slider.controlsContainer).append(directionNavScaffold);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   246
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider.controlsContainer);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   247
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   248
            slider.append(directionNavScaffold);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   249
            slider.directionNav = $('.' + namespace + 'direction-nav li a', slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   250
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   251
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   252
          methods.directionNav.update();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   253
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   254
          slider.directionNav.bind(eventType, function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   255
            event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   256
            var target = ($(this).hasClass(namespace + 'next')) ? slider.getTarget('next') : slider.getTarget('prev');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   257
            slider.flexAnimate(target, vars.pauseOnAction);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   258
          });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   259
          // Prevent iOS click event bug
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   260
          if (touch) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   261
            slider.directionNav.bind("click touchstart", function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   262
              event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   263
            });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   264
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   265
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   266
        update: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   267
          var disabledClass = namespace + 'disabled';
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   268
          if (slider.pagingCount === 1) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   269
            slider.directionNav.addClass(disabledClass);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   270
          } else if (!vars.animationLoop) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   271
            if (slider.animatingTo === 0) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   272
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "prev").addClass(disabledClass);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   273
            } else if (slider.animatingTo === slider.last) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   274
              slider.directionNav.removeClass(disabledClass).filter('.' + namespace + "next").addClass(disabledClass);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   275
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   276
              slider.directionNav.removeClass(disabledClass);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   277
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   278
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   279
            slider.directionNav.removeClass(disabledClass);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   280
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   281
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   282
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   283
      pausePlay: {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   284
        setup: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   285
          var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   286
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   287
          // CONTROLSCONTAINER:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   288
          if (slider.controlsContainer) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   289
            slider.controlsContainer.append(pausePlayScaffold);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   290
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider.controlsContainer);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   291
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   292
            slider.append(pausePlayScaffold);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   293
            slider.pausePlay = $('.' + namespace + 'pauseplay a', slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   294
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   295
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   296
          methods.pausePlay.update((vars.slideshow) ? namespace + 'pause' : namespace + 'play');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   297
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   298
          slider.pausePlay.bind(eventType, function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   299
            event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   300
            if ($(this).hasClass(namespace + 'pause')) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   301
              slider.manualPause = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   302
              slider.manualPlay = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   303
              slider.pause();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   304
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   305
              slider.manualPause = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   306
              slider.manualPlay = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   307
              slider.play();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   308
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   309
          });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   310
          // Prevent iOS click event bug
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   311
          if (touch) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   312
            slider.pausePlay.bind("click touchstart", function(event) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   313
              event.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   314
            });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   315
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   316
        },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   317
        update: function(state) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   318
          (state === "play") ? slider.pausePlay.removeClass(namespace + 'pause').addClass(namespace + 'play').text(vars.playText) : slider.pausePlay.removeClass(namespace + 'play').addClass(namespace + 'pause').text(vars.pauseText);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   319
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   320
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   321
      touch: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   322
        var startX,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   323
          startY,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   324
          offset,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   325
          cwidth,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   326
          dx,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   327
          startT,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   328
          scrolling = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   329
              
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   330
        el.addEventListener('touchstart', onTouchStart, false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   331
        function onTouchStart(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   332
          if (slider.animating) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   333
            e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   334
          } else if (e.touches.length === 1) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   335
            slider.pause();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   336
            // CAROUSEL: 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   337
            cwidth = (vertical) ? slider.h : slider. w;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   338
            startT = Number(new Date());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   339
            // CAROUSEL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   340
            offset = (carousel && reverse && slider.animatingTo === slider.last) ? 0 :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   341
                     (carousel && reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   342
                     (carousel && slider.currentSlide === slider.last) ? slider.limit :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   343
                     (carousel) ? ((slider.itemW + vars.itemMargin) * slider.move) * slider.currentSlide : 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   344
                     (reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   345
            startX = (vertical) ? e.touches[0].pageY : e.touches[0].pageX;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   346
            startY = (vertical) ? e.touches[0].pageX : e.touches[0].pageY;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   347
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   348
            el.addEventListener('touchmove', onTouchMove, false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   349
            el.addEventListener('touchend', onTouchEnd, false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   350
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   351
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   352
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   353
        function onTouchMove(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   354
          dx = (vertical) ? startX - e.touches[0].pageY : startX - e.touches[0].pageX;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   355
          scrolling = (vertical) ? (Math.abs(dx) < Math.abs(e.touches[0].pageX - startY)) : (Math.abs(dx) < Math.abs(e.touches[0].pageY - startY));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   356
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   357
          if (!scrolling || Number(new Date()) - startT > 500) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   358
            e.preventDefault();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   359
            if (!fade && slider.transitions) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   360
              if (!vars.animationLoop) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   361
                dx = dx/((slider.currentSlide === 0 && dx < 0 || slider.currentSlide === slider.last && dx > 0) ? (Math.abs(dx)/cwidth+2) : 1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   362
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   363
              slider.setProps(offset + dx, "setTouch");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   364
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   365
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   366
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   367
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   368
        function onTouchEnd(e) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   369
          if (slider.animatingTo === slider.currentSlide && !scrolling && !(dx === null)) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   370
            var updateDx = (reverse) ? -dx : dx,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   371
                target = (updateDx > 0) ? slider.getTarget('next') : slider.getTarget('prev');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   372
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   373
            if (slider.canAdvance(target) && (Number(new Date()) - startT < 550 && Math.abs(updateDx) > 50 || Math.abs(updateDx) > cwidth/2)) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   374
              slider.flexAnimate(target, vars.pauseOnAction);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   375
            } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   376
              slider.flexAnimate(slider.currentSlide, vars.pauseOnAction, true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   377
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   378
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   379
          // finish the touch by undoing the touch session
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   380
          el.removeEventListener('touchmove', onTouchMove, false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   381
          el.removeEventListener('touchend', onTouchEnd, false);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   382
          startX = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   383
          startY = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   384
          dx = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   385
          offset = null;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   386
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   387
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   388
      resize: function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   389
        if (!slider.animating && slider.is(':visible')) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   390
          if (!carousel) slider.doMath();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   391
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   392
          if (fade) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   393
            // SMOOTH HEIGHT:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   394
            methods.smoothHeight();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   395
          } else if (carousel) { //CAROUSEL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   396
            slider.slides.width(slider.computedW);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   397
            slider.update(slider.pagingCount);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   398
            slider.setProps();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   399
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   400
          else if (vertical) { //VERTICAL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   401
            slider.viewport.height(slider.h);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   402
            slider.setProps(slider.h, "setTotal");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   403
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   404
            // SMOOTH HEIGHT:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   405
            if (vars.smoothHeight) methods.smoothHeight();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   406
            slider.newSlides.width(slider.computedW);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   407
            slider.setProps(slider.computedW, "setTotal");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   408
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   409
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   410
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   411
      smoothHeight: function(dur) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   412
        if (!vertical || fade) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   413
          var $obj = (fade) ? slider : slider.viewport;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   414
          (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   415
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   416
      },
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   417
      sync: function(action) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   418
        var $obj = $(vars.sync).data("flexslider"),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   419
            target = slider.animatingTo;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   420
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   421
        switch (action) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   422
          case "animate": $obj.flexAnimate(target, vars.pauseOnAction, false, true); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   423
          case "play": if (!$obj.playing && !$obj.asNav) { $obj.play(); } break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   424
          case "pause": $obj.pause(); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   425
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   426
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   427
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   428
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   429
    // public methods
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   430
    slider.flexAnimate = function(target, pause, override, withSync, fromNav) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   431
      if (asNav && slider.pagingCount === 1) slider.direction = (slider.currentItem < target) ? "next" : "prev";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   432
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   433
      if (!slider.animating && (slider.canAdvance(target, fromNav) || override) && slider.is(":visible")) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   434
        if (asNav && withSync) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   435
          var master = $(vars.asNavFor).data('flexslider');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   436
          slider.atEnd = target === 0 || target === slider.count - 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   437
          master.flexAnimate(target, true, false, true, fromNav);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   438
          slider.direction = (slider.currentItem < target) ? "next" : "prev";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   439
          master.direction = slider.direction;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   440
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   441
          if (Math.ceil((target + 1)/slider.visible) - 1 !== slider.currentSlide && target !== 0) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   442
            slider.currentItem = target;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   443
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   444
            target = Math.floor(target/slider.visible);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   445
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   446
            slider.currentItem = target;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   447
            slider.slides.removeClass(namespace + "active-slide").eq(target).addClass(namespace + "active-slide");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   448
            return false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   449
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   450
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   451
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   452
        slider.animating = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   453
        slider.animatingTo = target;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   454
        // API: before() animation Callback
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   455
        vars.before(slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   456
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   457
        // SLIDESHOW:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   458
        if (pause) slider.pause();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   459
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   460
        // SYNC:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   461
        if (slider.syncExists && !fromNav) methods.sync("animate");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   462
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   463
        // CONTROLNAV
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   464
        if (vars.controlNav) methods.controlNav.active();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   465
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   466
        // !CAROUSEL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   467
        // CANDIDATE: slide active class (for add/remove slide)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   468
        if (!carousel) slider.slides.removeClass(namespace + 'active-slide').eq(target).addClass(namespace + 'active-slide');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   469
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   470
        // INFINITE LOOP:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   471
        // CANDIDATE: atEnd
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   472
        slider.atEnd = target === 0 || target === slider.last;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   473
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   474
        // DIRECTIONNAV:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   475
        if (vars.directionNav) methods.directionNav.update();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   476
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   477
        if (target === slider.last) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   478
          // API: end() of cycle Callback
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   479
          vars.end(slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   480
          // SLIDESHOW && !INFINITE LOOP:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   481
          if (!vars.animationLoop) slider.pause();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   482
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   483
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   484
        // SLIDE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   485
        if (!fade) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   486
          var dimension = (vertical) ? slider.slides.filter(':first').height() : slider.computedW,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   487
              margin, slideString, calcNext;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   488
          
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   489
          // INFINITE LOOP / REVERSE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   490
          if (carousel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   491
            margin = (vars.itemWidth > slider.w) ? vars.itemMargin * 2 : vars.itemMargin;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   492
            calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   493
            slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   494
          } else if (slider.currentSlide === 0 && target === slider.count - 1 && vars.animationLoop && slider.direction !== "next") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   495
            slideString = (reverse) ? (slider.count + slider.cloneOffset) * dimension : 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   496
          } else if (slider.currentSlide === slider.last && target === 0 && vars.animationLoop && slider.direction !== "prev") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   497
            slideString = (reverse) ? 0 : (slider.count + 1) * dimension;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   498
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   499
            slideString = (reverse) ? ((slider.count - 1) - target + slider.cloneOffset) * dimension : (target + slider.cloneOffset) * dimension;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   500
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   501
          slider.setProps(slideString, "", vars.animationSpeed);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   502
          if (slider.transitions) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   503
            if (!vars.animationLoop || !slider.atEnd) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   504
              slider.animating = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   505
              slider.currentSlide = slider.animatingTo;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   506
            }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   507
            slider.container.unbind("webkitTransitionEnd transitionend");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   508
            slider.container.bind("webkitTransitionEnd transitionend", function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   509
              slider.wrapup(dimension);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   510
            });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   511
          } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   512
            slider.container.animate(slider.args, vars.animationSpeed, vars.easing, function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   513
              slider.wrapup(dimension);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   514
            });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   515
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   516
        } else { // FADE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   517
          slider.slides.eq(slider.currentSlide).fadeOut(vars.animationSpeed, vars.easing);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   518
          slider.slides.eq(target).fadeIn(vars.animationSpeed, vars.easing, slider.wrapup);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   519
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   520
        // SMOOTH HEIGHT:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   521
        if (vars.smoothHeight) methods.smoothHeight(vars.animationSpeed);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   522
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   523
    } 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   524
    slider.wrapup = function(dimension) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   525
      // SLIDE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   526
      if (!fade && !carousel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   527
        if (slider.currentSlide === 0 && slider.animatingTo === slider.last && vars.animationLoop) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   528
          slider.setProps(dimension, "jumpEnd");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   529
        } else if (slider.currentSlide === slider.last && slider.animatingTo === 0 && vars.animationLoop) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   530
          slider.setProps(dimension, "jumpStart");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   531
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   532
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   533
      slider.animating = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   534
      slider.currentSlide = slider.animatingTo;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   535
      // API: after() animation Callback
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   536
      vars.after(slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   537
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   538
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   539
    // SLIDESHOW:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   540
    slider.animateSlides = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   541
      if (!slider.animating) slider.flexAnimate(slider.getTarget("next"));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   542
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   543
    // SLIDESHOW:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   544
    slider.pause = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   545
      clearInterval(slider.animatedSlides);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   546
      slider.playing = false;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   547
      // PAUSEPLAY:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   548
      if (vars.pausePlay) methods.pausePlay.update("play");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   549
      // SYNC:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   550
      if (slider.syncExists) methods.sync("pause");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   551
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   552
    // SLIDESHOW:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   553
    slider.play = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   554
      slider.animatedSlides = setInterval(slider.animateSlides, vars.slideshowSpeed);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   555
      slider.playing = true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   556
      // PAUSEPLAY:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   557
      if (vars.pausePlay) methods.pausePlay.update("pause");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   558
      // SYNC:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   559
      if (slider.syncExists) methods.sync("play");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   560
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   561
    slider.canAdvance = function(target, fromNav) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   562
      // ASNAV:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   563
      var last = (asNav) ? slider.pagingCount - 1 : slider.last;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   564
      return (fromNav) ? true :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   565
             (asNav && slider.currentItem === slider.count - 1 && target === 0 && slider.direction === "prev") ? true :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   566
             (asNav && slider.currentItem === 0 && target === slider.pagingCount - 1 && slider.direction !== "next") ? false :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   567
             (target === slider.currentSlide && !asNav) ? false :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   568
             (vars.animationLoop) ? true :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   569
             (slider.atEnd && slider.currentSlide === 0 && target === last && slider.direction !== "next") ? false :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   570
             (slider.atEnd && slider.currentSlide === last && target === 0 && slider.direction === "next") ? false :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   571
             true;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   572
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   573
    slider.getTarget = function(dir) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   574
      slider.direction = dir; 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   575
      if (dir === "next") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   576
        return (slider.currentSlide === slider.last) ? 0 : slider.currentSlide + 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   577
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   578
        return (slider.currentSlide === 0) ? slider.last : slider.currentSlide - 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   579
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   580
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   581
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   582
    // SLIDE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   583
    slider.setProps = function(pos, special, dur) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   584
      var target = (function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   585
        var posCheck = (pos) ? pos : ((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   586
            posCalc = (function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   587
              if (carousel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   588
                return (special === "setTouch") ? pos :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   589
                       (reverse && slider.animatingTo === slider.last) ? 0 :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   590
                       (reverse) ? slider.limit - (((slider.itemW + vars.itemMargin) * slider.move) * slider.animatingTo) :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   591
                       (slider.animatingTo === slider.last) ? slider.limit : posCheck;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   592
              } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   593
                switch (special) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   594
                  case "setTotal": return (reverse) ? ((slider.count - 1) - slider.currentSlide + slider.cloneOffset) * pos : (slider.currentSlide + slider.cloneOffset) * pos;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   595
                  case "setTouch": return (reverse) ? pos : pos;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   596
                  case "jumpEnd": return (reverse) ? pos : slider.count * pos;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   597
                  case "jumpStart": return (reverse) ? slider.count * pos : pos;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   598
                  default: return pos;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   599
                }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   600
              }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   601
            }());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   602
            return (posCalc * -1) + "px";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   603
          }());
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   604
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   605
      if (slider.transitions) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   606
        target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   607
        dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   608
        slider.container.css("-" + slider.pfx + "-transition-duration", dur);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   609
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   610
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   611
      slider.args[slider.prop] = target;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   612
      if (slider.transitions || dur === undefined) slider.container.css(slider.args);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   613
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   614
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   615
    slider.setup = function(type) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   616
      // SLIDE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   617
      if (!fade) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   618
        var sliderOffset, arr;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   619
            
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   620
        if (type === "init") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   621
          slider.viewport = $('<div class="' + namespace + 'viewport"></div>').css({"overflow": "hidden", "position": "relative"}).appendTo(slider).append(slider.container);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   622
          // INFINITE LOOP:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   623
          slider.cloneCount = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   624
          slider.cloneOffset = 0;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   625
          // REVERSE:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   626
          if (reverse) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   627
            arr = $.makeArray(slider.slides).reverse();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   628
            slider.slides = $(arr);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   629
            slider.container.empty().append(slider.slides);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   630
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   631
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   632
        // INFINITE LOOP && !CAROUSEL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   633
        if (vars.animationLoop && !carousel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   634
          slider.cloneCount = 2;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   635
          slider.cloneOffset = 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   636
          // clear out old clones
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   637
          if (type !== "init") slider.container.find('.clone').remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   638
          slider.container.append(slider.slides.first().clone().addClass('clone')).prepend(slider.slides.last().clone().addClass('clone'));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   639
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   640
        slider.newSlides = $(vars.selector, slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   641
        
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   642
        sliderOffset = (reverse) ? slider.count - 1 - slider.currentSlide + slider.cloneOffset : slider.currentSlide + slider.cloneOffset;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   643
        // VERTICAL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   644
        if (vertical && !carousel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   645
          slider.container.height((slider.count + slider.cloneCount) * 200 + "%").css("position", "absolute").width("100%");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   646
          setTimeout(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   647
            slider.newSlides.css({"display": "block"});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   648
            slider.doMath();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   649
            slider.viewport.height(slider.h);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   650
            slider.setProps(sliderOffset * slider.h, "init");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   651
          }, (type === "init") ? 100 : 0);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   652
        } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   653
          slider.container.width((slider.count + slider.cloneCount) * 200 + "%");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   654
          slider.setProps(sliderOffset * slider.computedW, "init");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   655
          setTimeout(function(){
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   656
            slider.doMath();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   657
            slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   658
            // SMOOTH HEIGHT:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   659
            if (vars.smoothHeight) methods.smoothHeight();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   660
          }, (type === "init") ? 100 : 0);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   661
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   662
      } else { // FADE: 
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   663
        slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   664
        if (type === "init") slider.slides.eq(slider.currentSlide).fadeIn(vars.animationSpeed, vars.easing);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   665
        // SMOOTH HEIGHT:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   666
        if (vars.smoothHeight) methods.smoothHeight();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   667
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   668
      // !CAROUSEL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   669
      // CANDIDATE: active slide
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   670
      if (!carousel) slider.slides.removeClass(namespace + "active-slide").eq(slider.currentSlide).addClass(namespace + "active-slide");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   671
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   672
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   673
    slider.doMath = function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   674
      var slide = slider.slides.first(),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   675
          slideMargin = vars.itemMargin,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   676
          minItems = vars.minItems,
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   677
          maxItems = vars.maxItems;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   678
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   679
      slider.w = slider.width();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   680
      slider.h = slide.height();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   681
      slider.boxPadding = slide.outerWidth() - slide.width();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   682
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   683
      // CAROUSEL:
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   684
      if (carousel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   685
        slider.itemT = vars.itemWidth + slideMargin;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   686
        slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   687
        slider.maxW = (maxItems) ? maxItems * slider.itemT : slider.w;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   688
        slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * minItems))/minItems :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   689
                       (slider.maxW < slider.w) ? (slider.w - (slideMargin * maxItems))/maxItems :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   690
                       (vars.itemWidth > slider.w) ? slider.w : vars.itemWidth;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   691
        slider.visible = Math.floor(slider.w/(slider.itemW + slideMargin));
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   692
        slider.move = (vars.move > 0 && vars.move < slider.visible ) ? vars.move : slider.visible;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   693
        slider.pagingCount = Math.ceil(((slider.count - slider.visible)/slider.move) + 1);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   694
        slider.last =  slider.pagingCount - 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   695
        slider.limit = (slider.pagingCount === 1) ? 0 :
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   696
                       (vars.itemWidth > slider.w) ? ((slider.itemW + (slideMargin * 2)) * slider.count) - slider.w - slideMargin : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   697
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   698
        slider.itemW = slider.w;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   699
        slider.pagingCount = slider.count;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   700
        slider.last = slider.count - 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   701
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   702
      slider.computedW = slider.itemW - slider.boxPadding;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   703
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   704
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   705
    slider.update = function(pos, action) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   706
      slider.doMath();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   707
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   708
      // update currentSlide and slider.animatingTo if necessary
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   709
      if (!carousel) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   710
        if (pos < slider.currentSlide) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   711
          slider.currentSlide += 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   712
        } else if (pos <= slider.currentSlide && pos !== 0) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   713
          slider.currentSlide -= 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   714
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   715
        slider.animatingTo = slider.currentSlide;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   716
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   717
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   718
      // update controlNav
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   719
      if (vars.controlNav && !slider.manualControls) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   720
        if ((action === "add" && !carousel) || slider.pagingCount > slider.controlNav.length) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   721
          methods.controlNav.update("add");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   722
        } else if ((action === "remove" && !carousel) || slider.pagingCount < slider.controlNav.length) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   723
          if (carousel && slider.currentSlide > slider.last) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   724
            slider.currentSlide -= 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   725
            slider.animatingTo -= 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   726
          }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   727
          methods.controlNav.update("remove", slider.last);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   728
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   729
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   730
      // update directionNav
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   731
      if (vars.directionNav) methods.directionNav.update();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   732
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   733
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   734
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   735
    slider.addSlide = function(obj, pos) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   736
      var $obj = $(obj);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   737
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   738
      slider.count += 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   739
      slider.last = slider.count - 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   740
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   741
      // append new slide
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   742
      if (vertical && reverse) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   743
        (pos !== undefined) ? slider.slides.eq(slider.count - pos).after($obj) : slider.container.prepend($obj);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   744
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   745
        (pos !== undefined) ? slider.slides.eq(pos).before($obj) : slider.container.append($obj);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   746
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   747
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   748
      // update currentSlide, animatingTo, controlNav, and directionNav
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   749
      slider.update(pos, "add");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   750
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   751
      // update slider.slides
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   752
      slider.slides = $(vars.selector + ':not(.clone)', slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   753
      // re-setup the slider to accomdate new slide
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   754
      slider.setup();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   755
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   756
      //FlexSlider: added() Callback
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   757
      vars.added(slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   758
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   759
    slider.removeSlide = function(obj) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   760
      var pos = (isNaN(obj)) ? slider.slides.index($(obj)) : obj;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   761
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   762
      // update count
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   763
      slider.count -= 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   764
      slider.last = slider.count - 1;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   765
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   766
      // remove slide
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   767
      if (isNaN(obj)) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   768
        $(obj, slider.slides).remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   769
      } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   770
        (vertical && reverse) ? slider.slides.eq(slider.last).remove() : slider.slides.eq(obj).remove();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   771
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   772
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   773
      // update currentSlide, animatingTo, controlNav, and directionNav
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   774
      slider.doMath();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   775
      slider.update(pos, "remove");
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   776
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   777
      // update slider.slides
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   778
      slider.slides = $(vars.selector + ':not(.clone)', slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   779
      // re-setup the slider to accomdate new slide
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   780
      slider.setup();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   781
      
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   782
      // FlexSlider: removed() Callback
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   783
      vars.removed(slider);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   784
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   785
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   786
    //FlexSlider: Initialize
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   787
    methods.init();
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   788
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   789
  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   790
  //FlexSlider: Default Settings
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   791
  $.flexslider.defaults = {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   792
    namespace: "flex-",             //{NEW} String: Prefix string attached to the class of every element generated by the plugin
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   793
    selector: ".slides > li",       //{NEW} Selector: Must match a simple pattern. '{container} > {slide}' -- Ignore pattern at your own peril
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   794
    animation: "fade",              //String: Select your animation type, "fade" or "slide"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   795
    easing: "swing",               //{NEW} String: Determines the easing method used in jQuery transitions. jQuery easing plugin is supported!
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   796
    direction: "horizontal",        //String: Select the sliding direction, "horizontal" or "vertical"
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   797
    reverse: false,                 //{NEW} Boolean: Reverse the animation direction
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   798
    animationLoop: true,             //Boolean: Should the animation loop? If false, directionNav will received "disable" classes at either end
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   799
    smoothHeight: false,            //{NEW} Boolean: Allow height of the slider to animate smoothly in horizontal mode  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   800
    startAt: 0,                     //Integer: The slide that the slider should start on. Array notation (0 = first slide)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   801
    slideshow: true,                //Boolean: Animate slider automatically
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   802
    slideshowSpeed: 7000,           //Integer: Set the speed of the slideshow cycling, in milliseconds
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   803
    animationSpeed: 600,            //Integer: Set the speed of animations, in milliseconds
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   804
    initDelay: 0,                   //{NEW} Integer: Set an initialization delay, in milliseconds
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   805
    randomize: false,               //Boolean: Randomize slide order
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   806
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   807
    // Usability features
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   808
    pauseOnAction: true,            //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   809
    pauseOnHover: false,            //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   810
    useCSS: true,                   //{NEW} Boolean: Slider will use CSS3 transitions if available
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   811
    touch: true,                    //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   812
    video: false,                   //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   813
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   814
    // Primary Controls
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   815
    controlNav: true,               //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   816
    directionNav: true,             //Boolean: Create navigation for previous/next navigation? (true/false)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   817
    prevText: "Previous",           //String: Set the text for the "previous" directionNav item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   818
    nextText: "Next",               //String: Set the text for the "next" directionNav item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   819
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   820
    // Secondary Navigation
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   821
    keyboard: true,                 //Boolean: Allow slider navigating via keyboard left/right keys
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   822
    multipleKeyboard: false,        //{NEW} Boolean: Allow keyboard navigation to affect multiple sliders. Default behavior cuts out keyboard navigation with more than one slider present.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   823
    mousewheel: false,              //{UPDATED} Boolean: Requires jquery.mousewheel.js (https://github.com/brandonaaron/jquery-mousewheel) - Allows slider navigating via mousewheel
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   824
    pausePlay: false,               //Boolean: Create pause/play dynamic element
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   825
    pauseText: "Pause",             //String: Set the text for the "pause" pausePlay item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   826
    playText: "Play",               //String: Set the text for the "play" pausePlay item
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   827
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   828
    // Special properties
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   829
    controlsContainer: "",          //{UPDATED} jQuery Object/Selector: Declare which container the navigation elements should be appended too. Default container is the FlexSlider element. Example use would be $(".flexslider-container"). Property is ignored if given element is not found.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   830
    manualControls: "",             //{UPDATED} jQuery Object/Selector: Declare custom control navigation. Examples would be $(".flex-control-nav li") or "#tabs-nav li img", etc. The number of elements in your controlNav should match the number of slides/tabs.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   831
    sync: "",                       //{NEW} Selector: Mirror the actions performed on this slider with another slider. Use with care.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   832
    asNavFor: "",                   //{NEW} Selector: Internal property exposed for turning the slider into a thumbnail navigation for another slider
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   833
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   834
    // Carousel Options
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   835
    itemWidth: 0,                   //{NEW} Integer: Box-model width of individual carousel items, including horizontal borders and padding.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   836
    itemMargin: 0,                  //{NEW} Integer: Margin between carousel items.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   837
    minItems: 0,                    //{NEW} Integer: Minimum number of carousel items that should be visible. Items will resize fluidly when below this.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   838
    maxItems: 0,                    //{NEW} Integer: Maxmimum number of carousel items that should be visible. Items will resize fluidly when above this limit.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   839
    move: 0,                        //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   840
                                    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   841
    // Callback API
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   842
    start: function(){},            //Callback: function(slider) - Fires when the slider loads the first slide
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   843
    before: function(){},           //Callback: function(slider) - Fires asynchronously with each slider animation
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   844
    after: function(){},            //Callback: function(slider) - Fires after each slider animation completes
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   845
    end: function(){},              //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   846
    added: function(){},            //{NEW} Callback: function(slider) - Fires after a slide is added
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   847
    removed: function(){}           //{NEW} Callback: function(slider) - Fires after a slide is removed
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   848
  }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   849
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   850
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   851
  //FlexSlider: Plugin Function
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   852
  $.fn.flexslider = function(options) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   853
    if (options === undefined) options = {};
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   854
    
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   855
    if (typeof options === "object") {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   856
      return this.each(function() {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   857
        var $this = $(this),
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   858
            selector = (options.selector) ? options.selector : ".slides > li",
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   859
            $slides = $this.find(selector);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   860
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   861
        if ($slides.length === 1) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   862
          $slides.fadeIn(400);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   863
          if (options.start) options.start($this);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   864
        } else if ($this.data('flexslider') === undefined) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   865
          new $.flexslider(this, options);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   866
        }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   867
      });
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   868
    } else {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   869
      // Helper strings to quickly perform functions on the slider
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   870
      var $slider = $(this).data('flexslider');
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   871
      switch (options) {
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   872
        case "play": $slider.play(); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   873
        case "pause": $slider.pause(); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   874
        case "next": $slider.flexAnimate($slider.getTarget("next"), true); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   875
        case "prev":
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   876
        case "previous": $slider.flexAnimate($slider.getTarget("prev"), true); break;
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   877
        default: if (typeof options === "number") $slider.flexAnimate(options, true);
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   878
      }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   879
    }
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   880
  }  
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   881
d970ebf37754 first import
ymh <ymh.work@gmail.com>
parents:
diff changeset
   882
})(jQuery);