base_logic_landing 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/app_mate_landing/engine.rb +12 -0
- data/lib/app_mate_landing/version.rb +3 -0
- data/lib/app_mate_landing.rb +77 -0
- metadata +18 -54
- data/lib/appmate_landing/version.rb +0 -3
- data/lib/appmate_landing.rb +0 -8
- data/vendor/assets/javascripts/app_mate.js +0 -0
- data/vendor/assets/javascripts/landing/common.js +0 -468
- data/vendor/assets/javascripts/landing/jwplayer/jwplayer.flash.swf +0 -0
- data/vendor/assets/javascripts/landing/jwplayer/jwplayer.html5.js +0 -258
- data/vendor/assets/javascripts/landing/jwplayer/jwplayer.js +0 -138
- data/vendor/assets/javascripts/landing/main.js +0 -669
- data/vendor/assets/javascripts/landing/owl-carousel/owl.carousel.js +0 -1512
- data/vendor/assets/javascripts/landing/owl-carousel/owl.carousel.min.js +0 -47
- data/vendor/assets/javascripts/landing/requirer.js +0 -0
- data/vendor/assets/javascripts/landing/third/detectmobilebrowser.js +0 -7
- data/vendor/assets/javascripts/landing/third/gmaps.js +0 -2149
- data/vendor/assets/javascripts/landing/third/html5shiv.js +0 -301
- data/vendor/assets/javascripts/landing/third/isotope.pkgd.min.js +0 -8
- data/vendor/assets/javascripts/landing/third/jquery.ajaxchimp.min.js +0 -1
- data/vendor/assets/javascripts/landing/third/jquery.counterup.min.js +0 -8
- data/vendor/assets/javascripts/landing/third/jquery.easing.1.3.js +0 -205
- data/vendor/assets/javascripts/landing/third/jquery.fitvids.js +0 -83
- data/vendor/assets/javascripts/landing/third/jquery.nicescroll.min.js +0 -114
- data/vendor/assets/javascripts/landing/third/jquery.stellar.js +0 -660
- data/vendor/assets/javascripts/landing/third/jquery.timeago.js +0 -214
- data/vendor/assets/javascripts/landing/third/jquery.tubular.1.0.js +0 -148
- data/vendor/assets/javascripts/landing/third/matchMedia.js +0 -46
- data/vendor/assets/javascripts/landing/third/owl.carousel.min.js +0 -47
- data/vendor/assets/javascripts/landing/third/tweetie.js +0 -142
- data/vendor/assets/javascripts/landing/third/waypoints.js +0 -8
- data/vendor/assets/javascripts/landing/third/wow.min.js +0 -2
- data/vendor/assets/stylesheets/app_mate.scss +0 -0
- data/vendor/assets/stylesheets/landing/app_mate/animate.min.css +0 -6
- data/vendor/assets/stylesheets/landing/app_mate/blog-single.css +0 -657
- data/vendor/assets/stylesheets/landing/app_mate/blog.css +0 -168
- data/vendor/assets/stylesheets/landing/app_mate/bootstrap.css +0 -6358
- data/vendor/assets/stylesheets/landing/app_mate/bootstrap.min.css +0 -10
- data/vendor/assets/stylesheets/landing/app_mate/colors/color1.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/colors/color2.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/colors/color3.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/colors/color4.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/colors/color5.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/colors/color6.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/colors/color7.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/colors/color8.css +0 -164
- data/vendor/assets/stylesheets/landing/app_mate/font-awesome.min.css +0 -4
- data/vendor/assets/stylesheets/landing/app_mate/fonts.css +0 -75
- data/vendor/assets/stylesheets/landing/app_mate/ionicons.min.css +0 -11
- data/vendor/assets/stylesheets/landing/app_mate/main.css +0 -2500
- data/vendor/assets/stylesheets/landing/app_mate/materialize.min.css +0 -16
- data/vendor/assets/stylesheets/landing/app_mate/responsive.css +0 -856
- data/vendor/assets/stylesheets/landing/owl-carousel/AjaxLoader.gif +0 -0
- data/vendor/assets/stylesheets/landing/owl-carousel/grabbing.png +0 -0
- data/vendor/assets/stylesheets/landing/owl-carousel/owl.carousel.css +0 -71
- data/vendor/assets/stylesheets/landing/owl-carousel/owl.theme.css +0 -79
- data/vendor/assets/stylesheets/landing/owl-carousel/owl.transitions.css +0 -163
| @@ -1,214 +0,0 @@ | |
| 1 | 
            -
            /**
         | 
| 2 | 
            -
             * Timeago is a jQuery plugin that makes it easy to support automatically
         | 
| 3 | 
            -
             * updating fuzzy timestamps (e.g. "4 minutes ago" or "about 1 day ago").
         | 
| 4 | 
            -
             *
         | 
| 5 | 
            -
             * @name timeago
         | 
| 6 | 
            -
             * @version 1.4.1
         | 
| 7 | 
            -
             * @requires jQuery v1.2.3+
         | 
| 8 | 
            -
             * @author Ryan McGeary
         | 
| 9 | 
            -
             * @license MIT License - http://www.opensource.org/licenses/mit-license.php
         | 
| 10 | 
            -
             *
         | 
| 11 | 
            -
             * For usage and examples, visit:
         | 
| 12 | 
            -
             * http://timeago.yarp.com/
         | 
| 13 | 
            -
             *
         | 
| 14 | 
            -
             * Copyright (c) 2008-2013, Ryan McGeary (ryan -[at]- mcgeary [*dot*] org)
         | 
| 15 | 
            -
             */
         | 
| 16 | 
            -
             | 
| 17 | 
            -
            (function (factory) {
         | 
| 18 | 
            -
              if (typeof define === 'function' && define.amd) {
         | 
| 19 | 
            -
                // AMD. Register as an anonymous module.
         | 
| 20 | 
            -
                define(['jquery.fitvids.js'], factory);
         | 
| 21 | 
            -
              } else {
         | 
| 22 | 
            -
                // Browser globals
         | 
| 23 | 
            -
                factory(jQuery);
         | 
| 24 | 
            -
              }
         | 
| 25 | 
            -
            }(function ($) {
         | 
| 26 | 
            -
              $.timeago = function(timestamp) {
         | 
| 27 | 
            -
                if (timestamp instanceof Date) {
         | 
| 28 | 
            -
                  return inWords(timestamp);
         | 
| 29 | 
            -
                } else if (typeof timestamp === "string") {
         | 
| 30 | 
            -
                  return inWords($.timeago.parse(timestamp));
         | 
| 31 | 
            -
                } else if (typeof timestamp === "number") {
         | 
| 32 | 
            -
                  return inWords(new Date(timestamp));
         | 
| 33 | 
            -
                } else {
         | 
| 34 | 
            -
                  return inWords($.timeago.datetime(timestamp));
         | 
| 35 | 
            -
                }
         | 
| 36 | 
            -
              };
         | 
| 37 | 
            -
              var $t = $.timeago;
         | 
| 38 | 
            -
             | 
| 39 | 
            -
              $.extend($.timeago, {
         | 
| 40 | 
            -
                settings: {
         | 
| 41 | 
            -
                  refreshMillis: 60000,
         | 
| 42 | 
            -
                  allowPast: true,
         | 
| 43 | 
            -
                  allowFuture: false,
         | 
| 44 | 
            -
                  localeTitle: false,
         | 
| 45 | 
            -
                  cutoff: 0,
         | 
| 46 | 
            -
                  strings: {
         | 
| 47 | 
            -
                    prefixAgo: null,
         | 
| 48 | 
            -
                    prefixFromNow: null,
         | 
| 49 | 
            -
                    suffixAgo: "ago",
         | 
| 50 | 
            -
                    suffixFromNow: "from now",
         | 
| 51 | 
            -
                    inPast: 'any moment now',
         | 
| 52 | 
            -
                    seconds: "less than a minute",
         | 
| 53 | 
            -
                    minute: "about a minute",
         | 
| 54 | 
            -
                    minutes: "%d minutes",
         | 
| 55 | 
            -
                    hour: "about an hour",
         | 
| 56 | 
            -
                    hours: "about %d hours",
         | 
| 57 | 
            -
                    day: "a day",
         | 
| 58 | 
            -
                    days: "%d days",
         | 
| 59 | 
            -
                    month: "about a month",
         | 
| 60 | 
            -
                    months: "%d months",
         | 
| 61 | 
            -
                    year: "about a year",
         | 
| 62 | 
            -
                    years: "%d years",
         | 
| 63 | 
            -
                    wordSeparator: " ",
         | 
| 64 | 
            -
                    numbers: []
         | 
| 65 | 
            -
                  }
         | 
| 66 | 
            -
                },
         | 
| 67 | 
            -
             | 
| 68 | 
            -
                inWords: function(distanceMillis) {
         | 
| 69 | 
            -
                  if(!this.settings.allowPast && ! this.settings.allowFuture) {
         | 
| 70 | 
            -
                      throw 'timeago allowPast and allowFuture settings can not both be set to false.';
         | 
| 71 | 
            -
                  }
         | 
| 72 | 
            -
             | 
| 73 | 
            -
                  var $l = this.settings.strings;
         | 
| 74 | 
            -
                  var prefix = $l.prefixAgo;
         | 
| 75 | 
            -
                  var suffix = $l.suffixAgo;
         | 
| 76 | 
            -
                  if (this.settings.allowFuture) {
         | 
| 77 | 
            -
                    if (distanceMillis < 0) {
         | 
| 78 | 
            -
                      prefix = $l.prefixFromNow;
         | 
| 79 | 
            -
                      suffix = $l.suffixFromNow;
         | 
| 80 | 
            -
                    }
         | 
| 81 | 
            -
                  }
         | 
| 82 | 
            -
             | 
| 83 | 
            -
                  if(!this.settings.allowPast && distanceMillis >= 0) {
         | 
| 84 | 
            -
                    return this.settings.strings.inPast;
         | 
| 85 | 
            -
                  }
         | 
| 86 | 
            -
             | 
| 87 | 
            -
                  var seconds = Math.abs(distanceMillis) / 1000;
         | 
| 88 | 
            -
                  var minutes = seconds / 60;
         | 
| 89 | 
            -
                  var hours = minutes / 60;
         | 
| 90 | 
            -
                  var days = hours / 24;
         | 
| 91 | 
            -
                  var years = days / 365;
         | 
| 92 | 
            -
             | 
| 93 | 
            -
                  function substitute(stringOrFunction, number) {
         | 
| 94 | 
            -
                    var string = $.isFunction(stringOrFunction) ? stringOrFunction(number, distanceMillis) : stringOrFunction;
         | 
| 95 | 
            -
                    var value = ($l.numbers && $l.numbers[number]) || number;
         | 
| 96 | 
            -
                    return string.replace(/%d/i, value);
         | 
| 97 | 
            -
                  }
         | 
| 98 | 
            -
             | 
| 99 | 
            -
                  var words = seconds < 45 && substitute($l.seconds, Math.round(seconds)) ||
         | 
| 100 | 
            -
                    seconds < 90 && substitute($l.minute, 1) ||
         | 
| 101 | 
            -
                    minutes < 45 && substitute($l.minutes, Math.round(minutes)) ||
         | 
| 102 | 
            -
                    minutes < 90 && substitute($l.hour, 1) ||
         | 
| 103 | 
            -
                    hours < 24 && substitute($l.hours, Math.round(hours)) ||
         | 
| 104 | 
            -
                    hours < 42 && substitute($l.day, 1) ||
         | 
| 105 | 
            -
                    days < 30 && substitute($l.days, Math.round(days)) ||
         | 
| 106 | 
            -
                    days < 45 && substitute($l.month, 1) ||
         | 
| 107 | 
            -
                    days < 365 && substitute($l.months, Math.round(days / 30)) ||
         | 
| 108 | 
            -
                    years < 1.5 && substitute($l.year, 1) ||
         | 
| 109 | 
            -
                    substitute($l.years, Math.round(years));
         | 
| 110 | 
            -
             | 
| 111 | 
            -
                  var separator = $l.wordSeparator || "";
         | 
| 112 | 
            -
                  if ($l.wordSeparator === undefined) { separator = " "; }
         | 
| 113 | 
            -
                  return $.trim([prefix, words, suffix].join(separator));
         | 
| 114 | 
            -
                },
         | 
| 115 | 
            -
             | 
| 116 | 
            -
                parse: function(iso8601) {
         | 
| 117 | 
            -
                  var s = $.trim(iso8601);
         | 
| 118 | 
            -
                  s = s.replace(/\.\d+/,""); // remove milliseconds
         | 
| 119 | 
            -
                  s = s.replace(/-/,"/").replace(/-/,"/");
         | 
| 120 | 
            -
                  s = s.replace(/T/," ").replace(/Z/," UTC");
         | 
| 121 | 
            -
                  s = s.replace(/([\+\-]\d\d)\:?(\d\d)/," $1$2"); // -04:00 -> -0400
         | 
| 122 | 
            -
                  s = s.replace(/([\+\-]\d\d)$/," $100"); // +09 -> +0900
         | 
| 123 | 
            -
                  return new Date(s);
         | 
| 124 | 
            -
                },
         | 
| 125 | 
            -
                datetime: function(elem) {
         | 
| 126 | 
            -
                  var iso8601 = $t.isTime(elem) ? $(elem).attr("datetime") : $(elem).attr("title");
         | 
| 127 | 
            -
                  return $t.parse(iso8601);
         | 
| 128 | 
            -
                },
         | 
| 129 | 
            -
                isTime: function(elem) {
         | 
| 130 | 
            -
                  // jQuery's `is()` doesn't play well with HTML5 in IE
         | 
| 131 | 
            -
                  return $(elem).get(0).tagName.toLowerCase() === "time"; // $(elem).is("time");
         | 
| 132 | 
            -
                }
         | 
| 133 | 
            -
              });
         | 
| 134 | 
            -
             | 
| 135 | 
            -
              // functions that can be called via $(el).timeago('action')
         | 
| 136 | 
            -
              // init is default when no action is given
         | 
| 137 | 
            -
              // functions are called with context of a single element
         | 
| 138 | 
            -
              var functions = {
         | 
| 139 | 
            -
                init: function(){
         | 
| 140 | 
            -
                  var refresh_el = $.proxy(refresh, this);
         | 
| 141 | 
            -
                  refresh_el();
         | 
| 142 | 
            -
                  var $s = $t.settings;
         | 
| 143 | 
            -
                  if ($s.refreshMillis > 0) {
         | 
| 144 | 
            -
                    this._timeagoInterval = setInterval(refresh_el, $s.refreshMillis);
         | 
| 145 | 
            -
                  }
         | 
| 146 | 
            -
                },
         | 
| 147 | 
            -
                update: function(time){
         | 
| 148 | 
            -
                  var parsedTime = $t.parse(time);
         | 
| 149 | 
            -
                  $(this).data('timeago', { datetime: parsedTime });
         | 
| 150 | 
            -
                  if($t.settings.localeTitle) $(this).attr("title", parsedTime.toLocaleString());
         | 
| 151 | 
            -
                  refresh.apply(this);
         | 
| 152 | 
            -
                },
         | 
| 153 | 
            -
                updateFromDOM: function(){
         | 
| 154 | 
            -
                  $(this).data('timeago', { datetime: $t.parse( $t.isTime(this) ? $(this).attr("datetime") : $(this).attr("title") ) });
         | 
| 155 | 
            -
                  refresh.apply(this);
         | 
| 156 | 
            -
                },
         | 
| 157 | 
            -
                dispose: function () {
         | 
| 158 | 
            -
                  if (this._timeagoInterval) {
         | 
| 159 | 
            -
                    window.clearInterval(this._timeagoInterval);
         | 
| 160 | 
            -
                    this._timeagoInterval = null;
         | 
| 161 | 
            -
                  }
         | 
| 162 | 
            -
                }
         | 
| 163 | 
            -
              };
         | 
| 164 | 
            -
             | 
| 165 | 
            -
              $.fn.timeago = function(action, options) {
         | 
| 166 | 
            -
                var fn = action ? functions[action] : functions.init;
         | 
| 167 | 
            -
                if(!fn){
         | 
| 168 | 
            -
                  throw new Error("Unknown function name '"+ action +"' for timeago");
         | 
| 169 | 
            -
                }
         | 
| 170 | 
            -
                // each over objects here and call the requested function
         | 
| 171 | 
            -
                this.each(function(){
         | 
| 172 | 
            -
                  fn.call(this, options);
         | 
| 173 | 
            -
                });
         | 
| 174 | 
            -
                return this;
         | 
| 175 | 
            -
              };
         | 
| 176 | 
            -
             | 
| 177 | 
            -
              function refresh() {
         | 
| 178 | 
            -
                var data = prepareData(this);
         | 
| 179 | 
            -
                var $s = $t.settings;
         | 
| 180 | 
            -
             | 
| 181 | 
            -
                if (!isNaN(data.datetime)) {
         | 
| 182 | 
            -
                  if ( $s.cutoff == 0 || Math.abs(distance(data.datetime)) < $s.cutoff) {
         | 
| 183 | 
            -
                    $(this).text(inWords(data.datetime));
         | 
| 184 | 
            -
                  }
         | 
| 185 | 
            -
                }
         | 
| 186 | 
            -
                return this;
         | 
| 187 | 
            -
              }
         | 
| 188 | 
            -
             | 
| 189 | 
            -
              function prepareData(element) {
         | 
| 190 | 
            -
                element = $(element);
         | 
| 191 | 
            -
                if (!element.data("timeago")) {
         | 
| 192 | 
            -
                  element.data("timeago", { datetime: $t.datetime(element) });
         | 
| 193 | 
            -
                  var text = $.trim(element.text());
         | 
| 194 | 
            -
                  if ($t.settings.localeTitle) {
         | 
| 195 | 
            -
                    element.attr("title", element.data('timeago').datetime.toLocaleString());
         | 
| 196 | 
            -
                  } else if (text.length > 0 && !($t.isTime(element) && element.attr("title"))) {
         | 
| 197 | 
            -
                    element.attr("title", text);
         | 
| 198 | 
            -
                  }
         | 
| 199 | 
            -
                }
         | 
| 200 | 
            -
                return element.data("timeago");
         | 
| 201 | 
            -
              }
         | 
| 202 | 
            -
             | 
| 203 | 
            -
              function inWords(date) {
         | 
| 204 | 
            -
                return $t.inWords(distance(date));
         | 
| 205 | 
            -
              }
         | 
| 206 | 
            -
             | 
| 207 | 
            -
              function distance(date) {
         | 
| 208 | 
            -
                return (new Date().getTime() - date.getTime());
         | 
| 209 | 
            -
              }
         | 
| 210 | 
            -
             | 
| 211 | 
            -
              // fix for IE6 suckage
         | 
| 212 | 
            -
              document.createElement("abbr");
         | 
| 213 | 
            -
              document.createElement("time");
         | 
| 214 | 
            -
            }));
         | 
| @@ -1,148 +0,0 @@ | |
| 1 | 
            -
            /* jQuery tubular plugin
         | 
| 2 | 
            -
            |* by Sean McCambridge
         | 
| 3 | 
            -
            |* http://www.seanmccambridge.com/tubular
         | 
| 4 | 
            -
            |* version: 1.0
         | 
| 5 | 
            -
            |* updated: October 1, 2012
         | 
| 6 | 
            -
            |* since 2010
         | 
| 7 | 
            -
            |* licensed under the MIT License
         | 
| 8 | 
            -
            |* Enjoy.
         | 
| 9 | 
            -
            |* 
         | 
| 10 | 
            -
            |* Thanks,
         | 
| 11 | 
            -
            |* Sean */
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            ;(function ($, window) {
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                // test for feature support and return if failure
         | 
| 16 | 
            -
                
         | 
| 17 | 
            -
                // defaults
         | 
| 18 | 
            -
                var defaults = {
         | 
| 19 | 
            -
                    ratio: 16/9, // usually either 4/3 or 16/9 -- tweak as needed
         | 
| 20 | 
            -
                    videoId: 'ZCAnLxRvNNc', // toy robot in space is a good default, no?
         | 
| 21 | 
            -
                    mute: true,
         | 
| 22 | 
            -
                    repeat: true,
         | 
| 23 | 
            -
                    width: $(window).width(),
         | 
| 24 | 
            -
                    wrapperZIndex: 99,
         | 
| 25 | 
            -
                    playButtonClass: 'tubular-play',
         | 
| 26 | 
            -
                    pauseButtonClass: 'tubular-pause',
         | 
| 27 | 
            -
                    muteButtonClass: 'tubular-mute',
         | 
| 28 | 
            -
                    volumeUpClass: 'tubular-volume-up',
         | 
| 29 | 
            -
                    volumeDownClass: 'tubular-volume-down',
         | 
| 30 | 
            -
                    increaseVolumeBy: 10,
         | 
| 31 | 
            -
                    start: 0
         | 
| 32 | 
            -
                };
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                // methods
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                var tubular = function(node, options) { // should be called on the wrapper div
         | 
| 37 | 
            -
                    var options = $.extend({}, defaults, options),
         | 
| 38 | 
            -
                        $body = $('body') // cache body node
         | 
| 39 | 
            -
                        $node = $(node); // cache wrapper node
         | 
| 40 | 
            -
             | 
| 41 | 
            -
                    // build container
         | 
| 42 | 
            -
                    var tubularContainer = '<div id="tubular-container" style="overflow: hidden; position: fixed; z-index: 1; width: 100%; height: 100%"><div id="tubular-player" style="position: absolute"></div></div><div id="tubular-shield" style="width: 100%; height: 100%; z-index: 2; position: absolute; left: 0; top: 0;"></div>';
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                    // set up css prereq's, inject tubular container and set up wrapper defaults
         | 
| 45 | 
            -
                    $('html,body').css({'width': '100%', 'height': '100%'});
         | 
| 46 | 
            -
                    $body.prepend(tubularContainer);
         | 
| 47 | 
            -
                    $node.css({position: 'relative', 'z-index': options.wrapperZIndex});
         | 
| 48 | 
            -
             | 
| 49 | 
            -
                    // set up iframe player, use global scope so YT api can talk
         | 
| 50 | 
            -
                    window.player;
         | 
| 51 | 
            -
                    window.onYouTubeIframeAPIReady = function() {
         | 
| 52 | 
            -
                        player = new YT.Player('tubular-player', {
         | 
| 53 | 
            -
                            width: options.width,
         | 
| 54 | 
            -
                            height: Math.ceil(options.width / options.ratio),
         | 
| 55 | 
            -
                            videoId: options.videoId,
         | 
| 56 | 
            -
                            playerVars: {
         | 
| 57 | 
            -
                                controls: 0,
         | 
| 58 | 
            -
                                showinfo: 0,
         | 
| 59 | 
            -
                                modestbranding: 1,
         | 
| 60 | 
            -
                                wmode: 'transparent'
         | 
| 61 | 
            -
                            },
         | 
| 62 | 
            -
                            events: {
         | 
| 63 | 
            -
                                'onReady': onPlayerReady,
         | 
| 64 | 
            -
                                'onStateChange': onPlayerStateChange
         | 
| 65 | 
            -
                            }
         | 
| 66 | 
            -
                        });
         | 
| 67 | 
            -
                    }
         | 
| 68 | 
            -
             | 
| 69 | 
            -
                    window.onPlayerReady = function(e) {
         | 
| 70 | 
            -
                        resize();
         | 
| 71 | 
            -
                        if (options.mute) e.target.mute();
         | 
| 72 | 
            -
                        e.target.seekTo(options.start);
         | 
| 73 | 
            -
                        e.target.playVideo();
         | 
| 74 | 
            -
                    }
         | 
| 75 | 
            -
             | 
| 76 | 
            -
                    window.onPlayerStateChange = function(state) {
         | 
| 77 | 
            -
                        if (state.data === 0 && options.repeat) { // video ended and repeat option is set true
         | 
| 78 | 
            -
                            player.seekTo(options.start); // restart
         | 
| 79 | 
            -
                        }
         | 
| 80 | 
            -
                    }
         | 
| 81 | 
            -
             | 
| 82 | 
            -
                    // resize handler updates width, height and offset of player after resize/init
         | 
| 83 | 
            -
                    var resize = function() {
         | 
| 84 | 
            -
                        var width = $(window).width(),
         | 
| 85 | 
            -
                            pWidth, // player width, to be defined
         | 
| 86 | 
            -
                            height = $(window).height(),
         | 
| 87 | 
            -
                            pHeight, // player height, tbd
         | 
| 88 | 
            -
                            $tubularPlayer = $('#tubular-player');
         | 
| 89 | 
            -
             | 
| 90 | 
            -
                        // when screen aspect ratio differs from video, video must center and underlay one dimension
         | 
| 91 | 
            -
             | 
| 92 | 
            -
                        if (width / options.ratio < height) { // if new video height < window height (gap underneath)
         | 
| 93 | 
            -
                            pWidth = Math.ceil(height * options.ratio); // get new player width
         | 
| 94 | 
            -
                            $tubularPlayer.width(pWidth).height(height).css({left: (width - pWidth) / 2, top: 0}); // player width is greater, offset left; reset top
         | 
| 95 | 
            -
                        } else { // new video width < window width (gap to right)
         | 
| 96 | 
            -
                            pHeight = Math.ceil(width / options.ratio); // get new player height
         | 
| 97 | 
            -
                            $tubularPlayer.width(width).height(pHeight).css({left: 0, top: (height - pHeight) / 2}); // player height is greater, offset top; reset left
         | 
| 98 | 
            -
                        }
         | 
| 99 | 
            -
             | 
| 100 | 
            -
                    }
         | 
| 101 | 
            -
             | 
| 102 | 
            -
                    // events
         | 
| 103 | 
            -
                    $(window).on('resize.tubular', function() {
         | 
| 104 | 
            -
                        resize();
         | 
| 105 | 
            -
                    })
         | 
| 106 | 
            -
             | 
| 107 | 
            -
                    $('body').on('click','.' + options.playButtonClass, function(e) { // play button
         | 
| 108 | 
            -
                        e.preventDefault();
         | 
| 109 | 
            -
                        player.playVideo();
         | 
| 110 | 
            -
                    }).on('click', '.' + options.pauseButtonClass, function(e) { // pause button
         | 
| 111 | 
            -
                        e.preventDefault();
         | 
| 112 | 
            -
                        player.pauseVideo();
         | 
| 113 | 
            -
                    }).on('click', '.' + options.muteButtonClass, function(e) { // mute button
         | 
| 114 | 
            -
                        e.preventDefault();
         | 
| 115 | 
            -
                        (player.isMuted()) ? player.unMute() : player.mute();
         | 
| 116 | 
            -
                    }).on('click', '.' + options.volumeDownClass, function(e) { // volume down button
         | 
| 117 | 
            -
                        e.preventDefault();
         | 
| 118 | 
            -
                        var currentVolume = player.getVolume();
         | 
| 119 | 
            -
                        if (currentVolume < options.increaseVolumeBy) currentVolume = options.increaseVolumeBy;
         | 
| 120 | 
            -
                        player.setVolume(currentVolume - options.increaseVolumeBy);
         | 
| 121 | 
            -
                    }).on('click', '.' + options.volumeUpClass, function(e) { // volume up button
         | 
| 122 | 
            -
                        e.preventDefault();
         | 
| 123 | 
            -
                        if (player.isMuted()) player.unMute(); // if mute is on, unmute
         | 
| 124 | 
            -
                        var currentVolume = player.getVolume();
         | 
| 125 | 
            -
                        if (currentVolume > 100 - options.increaseVolumeBy) currentVolume = 100 - options.increaseVolumeBy;
         | 
| 126 | 
            -
                        player.setVolume(currentVolume + options.increaseVolumeBy);
         | 
| 127 | 
            -
                    })
         | 
| 128 | 
            -
                }
         | 
| 129 | 
            -
             | 
| 130 | 
            -
                // load yt iframe js api
         | 
| 131 | 
            -
             | 
| 132 | 
            -
                var tag = document.createElement('script');
         | 
| 133 | 
            -
                tag.src = "//www.youtube.com/iframe_api";
         | 
| 134 | 
            -
                var firstScriptTag = document.getElementsByTagName('script')[0];
         | 
| 135 | 
            -
                firstScriptTag.parentNode.insertBefore(tag, firstScriptTag);
         | 
| 136 | 
            -
             | 
| 137 | 
            -
                // create plugin
         | 
| 138 | 
            -
             | 
| 139 | 
            -
                $.fn.tubular = function (options) {
         | 
| 140 | 
            -
                    return this.each(function () {
         | 
| 141 | 
            -
                        if (!$.data(this, 'tubular_instantiated')) { // let's only run one
         | 
| 142 | 
            -
                            $.data(this, 'tubular_instantiated', 
         | 
| 143 | 
            -
                            tubular(this, options));
         | 
| 144 | 
            -
                        }
         | 
| 145 | 
            -
                    });
         | 
| 146 | 
            -
                }
         | 
| 147 | 
            -
             | 
| 148 | 
            -
            })(jQuery, window);
         | 
| @@ -1,46 +0,0 @@ | |
| 1 | 
            -
            /*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas, David Knight. Dual MIT/BSD license */
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            window.matchMedia || (window.matchMedia = function() {
         | 
| 4 | 
            -
                "use strict";
         | 
| 5 | 
            -
             | 
| 6 | 
            -
                // For browsers that support matchMedium api such as IE 9 and webkit
         | 
| 7 | 
            -
                var styleMedia = (window.styleMedia || window.media);
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                // For those that don't support matchMedium
         | 
| 10 | 
            -
                if (!styleMedia) {
         | 
| 11 | 
            -
                    var style       = document.createElement('style'),
         | 
| 12 | 
            -
                        script      = document.getElementsByTagName('script')[0],
         | 
| 13 | 
            -
                        info        = null;
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                    style.type  = 'text/css';
         | 
| 16 | 
            -
                    style.id    = 'matchmediajs-test';
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                    script.parentNode.insertBefore(style, script);
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                    // 'style.currentStyle' is used by IE <= 8 and 'window.getComputedStyle' for all other browsers
         | 
| 21 | 
            -
                    info = ('getComputedStyle' in window) && window.getComputedStyle(style, null) || style.currentStyle;
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                    styleMedia = {
         | 
| 24 | 
            -
                        matchMedium: function(media) {
         | 
| 25 | 
            -
                            var text = '@media ' + media + '{ #matchmediajs-test { width: 1px; } }';
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                            // 'style.styleSheet' is used by IE <= 8 and 'style.textContent' for all other browsers
         | 
| 28 | 
            -
                            if (style.styleSheet) {
         | 
| 29 | 
            -
                                style.styleSheet.cssText = text;
         | 
| 30 | 
            -
                            } else {
         | 
| 31 | 
            -
                                style.textContent = text;
         | 
| 32 | 
            -
                            }
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                            // Test if media query is true or false
         | 
| 35 | 
            -
                            return info.width === '1px';
         | 
| 36 | 
            -
                        }
         | 
| 37 | 
            -
                    };
         | 
| 38 | 
            -
                }
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                return function(media) {
         | 
| 41 | 
            -
                    return {
         | 
| 42 | 
            -
                        matches: styleMedia.matchMedium(media || 'all'),
         | 
| 43 | 
            -
                        media: media || 'all'
         | 
| 44 | 
            -
                    };
         | 
| 45 | 
            -
                };
         | 
| 46 | 
            -
            }());
         | 
| @@ -1,47 +0,0 @@ | |
| 1 | 
            -
            "function"!==typeof Object.create&&(Object.create=function(f){function g(){}g.prototype=f;return new g});
         | 
| 2 | 
            -
            (function(f,g,k){var l={init:function(a,b){this.$elem=f(b);this.options=f.extend({},f.fn.owlCarousel.options,this.$elem.data(),a);this.userOptions=a;this.loadContent()},loadContent:function(){function a(a){var d,e="";if("function"===typeof b.options.jsonSuccess)b.options.jsonSuccess.apply(this,[a]);else{for(d in a.owl)a.owl.hasOwnProperty(d)&&(e+=a.owl[d].item);b.$elem.html(e)}b.logIn()}var b=this,e;"function"===typeof b.options.beforeInit&&b.options.beforeInit.apply(this,[b.$elem]);"string"===typeof b.options.jsonPath?
         | 
| 3 | 
            -
            (e=b.options.jsonPath,f.getJSON(e,a)):b.logIn()},logIn:function(){this.$elem.data("owl-originalStyles",this.$elem.attr("style"));this.$elem.data("owl-originalClasses",this.$elem.attr("class"));this.$elem.css({opacity:0});this.orignalItems=this.options.items;this.checkBrowser();this.wrapperWidth=0;this.checkVisible=null;this.setVars()},setVars:function(){if(0===this.$elem.children().length)return!1;this.baseClass();this.eventTypes();this.$userItems=this.$elem.children();this.itemsAmount=this.$userItems.length;
         | 
| 4 | 
            -
            this.wrapItems();this.$owlItems=this.$elem.find(".owl-item");this.$owlWrapper=this.$elem.find(".owl-wrapper");this.playDirection="next";this.prevItem=0;this.prevArr=[0];this.currentItem=0;this.customEvents();this.onStartup()},onStartup:function(){this.updateItems();this.calculateAll();this.buildControls();this.updateControls();this.response();this.moveEvents();this.stopOnHover();this.owlStatus();!1!==this.options.transitionStyle&&this.transitionTypes(this.options.transitionStyle);!0===this.options.autoPlay&&
         | 
| 5 | 
            -
            (this.options.autoPlay=5E3);this.play();this.$elem.find(".owl-wrapper").css("display","block");this.$elem.is(":visible")?this.$elem.css("opacity",1):this.watchVisibility();this.onstartup=!1;this.eachMoveUpdate();"function"===typeof this.options.afterInit&&this.options.afterInit.apply(this,[this.$elem])},eachMoveUpdate:function(){!0===this.options.lazyLoad&&this.lazyLoad();!0===this.options.autoHeight&&this.autoHeight();this.onVisibleItems();"function"===typeof this.options.afterAction&&this.options.afterAction.apply(this,
         | 
| 6 | 
            -
            [this.$elem])},updateVars:function(){"function"===typeof this.options.beforeUpdate&&this.options.beforeUpdate.apply(this,[this.$elem]);this.watchVisibility();this.updateItems();this.calculateAll();this.updatePosition();this.updateControls();this.eachMoveUpdate();"function"===typeof this.options.afterUpdate&&this.options.afterUpdate.apply(this,[this.$elem])},reload:function(){var a=this;g.setTimeout(function(){a.updateVars()},0)},watchVisibility:function(){var a=this;if(!1===a.$elem.is(":visible"))a.$elem.css({opacity:0}),
         | 
| 7 | 
            -
            g.clearInterval(a.autoPlayInterval),g.clearInterval(a.checkVisible);else return!1;a.checkVisible=g.setInterval(function(){a.$elem.is(":visible")&&(a.reload(),a.$elem.animate({opacity:1},200),g.clearInterval(a.checkVisible))},500)},wrapItems:function(){this.$userItems.wrapAll('<div class="owl-wrapper">').wrap('<div class="owl-item"></div>');this.$elem.find(".owl-wrapper").wrap('<div class="owl-wrapper-outer">');this.wrapperOuter=this.$elem.find(".owl-wrapper-outer");this.$elem.css("display","block")},
         | 
| 8 | 
            -
            baseClass:function(){var a=this.$elem.hasClass(this.options.baseClass),b=this.$elem.hasClass(this.options.theme);a||this.$elem.addClass(this.options.baseClass);b||this.$elem.addClass(this.options.theme)},updateItems:function(){var a,b;if(!1===this.options.responsive)return!1;if(!0===this.options.singleItem)return this.options.items=this.orignalItems=1,this.options.itemsCustom=!1,this.options.itemsDesktop=!1,this.options.itemsDesktopSmall=!1,this.options.itemsTablet=!1,this.options.itemsTabletSmall=
         | 
| 9 | 
            -
            !1,this.options.itemsMobile=!1;a=f(this.options.responsiveBaseWidth).width();a>(this.options.itemsDesktop[0]||this.orignalItems)&&(this.options.items=this.orignalItems);if(!1!==this.options.itemsCustom)for(this.options.itemsCustom.sort(function(a,b){return a[0]-b[0]}),b=0;b<this.options.itemsCustom.length;b+=1)this.options.itemsCustom[b][0]<=a&&(this.options.items=this.options.itemsCustom[b][1]);else a<=this.options.itemsDesktop[0]&&!1!==this.options.itemsDesktop&&(this.options.items=this.options.itemsDesktop[1]),
         | 
| 10 | 
            -
            a<=this.options.itemsDesktopSmall[0]&&!1!==this.options.itemsDesktopSmall&&(this.options.items=this.options.itemsDesktopSmall[1]),a<=this.options.itemsTablet[0]&&!1!==this.options.itemsTablet&&(this.options.items=this.options.itemsTablet[1]),a<=this.options.itemsTabletSmall[0]&&!1!==this.options.itemsTabletSmall&&(this.options.items=this.options.itemsTabletSmall[1]),a<=this.options.itemsMobile[0]&&!1!==this.options.itemsMobile&&(this.options.items=this.options.itemsMobile[1]);this.options.items>this.itemsAmount&&
         | 
| 11 | 
            -
            !0===this.options.itemsScaleUp&&(this.options.items=this.itemsAmount)},response:function(){var a=this,b,e;if(!0!==a.options.responsive)return!1;e=f(g).width();a.resizer=function(){f(g).width()!==e&&(!1!==a.options.autoPlay&&g.clearInterval(a.autoPlayInterval),g.clearTimeout(b),b=g.setTimeout(function(){e=f(g).width();a.updateVars()},a.options.responsiveRefreshRate))};f(g).resize(a.resizer)},updatePosition:function(){this.jumpTo(this.currentItem);!1!==this.options.autoPlay&&this.checkAp()},appendItemsSizes:function(){var a=
         | 
| 12 | 
            -
            this,b=0,e=a.itemsAmount-a.options.items;a.$owlItems.each(function(c){var d=f(this);d.css({width:a.itemWidth}).data("owl-item",Number(c));if(0===c%a.options.items||c===e)c>e||(b+=1);d.data("owl-roundPages",b)})},appendWrapperSizes:function(){this.$owlWrapper.css({width:this.$owlItems.length*this.itemWidth*2,left:0});this.appendItemsSizes()},calculateAll:function(){this.calculateWidth();this.appendWrapperSizes();this.loops();this.max()},calculateWidth:function(){this.itemWidth=Math.round(this.$elem.width()/
         | 
| 13 | 
            -
            this.options.items)},max:function(){var a=-1*(this.itemsAmount*this.itemWidth-this.options.items*this.itemWidth);this.options.items>this.itemsAmount?this.maximumPixels=a=this.maximumItem=0:(this.maximumItem=this.itemsAmount-this.options.items,this.maximumPixels=a);return a},min:function(){return 0},loops:function(){var a=0,b=0,e,c;this.positionsInArray=[0];this.pagesInArray=[];for(e=0;e<this.itemsAmount;e+=1)b+=this.itemWidth,this.positionsInArray.push(-b),!0===this.options.scrollPerPage&&(c=f(this.$owlItems[e]),
         | 
| 14 | 
            -
            c=c.data("owl-roundPages"),c!==a&&(this.pagesInArray[a]=this.positionsInArray[e],a=c))},buildControls:function(){if(!0===this.options.navigation||!0===this.options.pagination)this.owlControls=f('<div class="owl-controls"/>').toggleClass("clickable",!this.browser.isTouch).appendTo(this.$elem);!0===this.options.pagination&&this.buildPagination();!0===this.options.navigation&&this.buildButtons()},buildButtons:function(){var a=this,b=f('<div class="owl-buttons"/>');a.owlControls.append(b);a.buttonPrev=
         | 
| 15 | 
            -
            f("<div/>",{"class":"owl-prev",html:a.options.navigationText[0]||""});a.buttonNext=f("<div/>",{"class":"owl-next",html:a.options.navigationText[1]||""});b.append(a.buttonPrev).append(a.buttonNext);b.on("touchstart.owlControls mousedown.owlControls",'div[class^="owl"]',function(a){a.preventDefault()});b.on("touchend.owlControls mouseup.owlControls",'div[class^="owl"]',function(b){b.preventDefault();f(this).hasClass("owl-next")?a.next():a.prev()})},buildPagination:function(){var a=this;a.paginationWrapper=
         | 
| 16 | 
            -
            f('<div class="owl-pagination"/>');a.owlControls.append(a.paginationWrapper);a.paginationWrapper.on("touchend.owlControls mouseup.owlControls",".owl-page",function(b){b.preventDefault();Number(f(this).data("owl-page"))!==a.currentItem&&a.goTo(Number(f(this).data("owl-page")),!0)})},updatePagination:function(){var a,b,e,c,d,g;if(!1===this.options.pagination)return!1;this.paginationWrapper.html("");a=0;b=this.itemsAmount-this.itemsAmount%this.options.items;for(c=0;c<this.itemsAmount;c+=1)0===c%this.options.items&&
         | 
| 17 | 
            -
            (a+=1,b===c&&(e=this.itemsAmount-this.options.items),d=f("<div/>",{"class":"owl-page"}),g=f("<span></span>",{text:!0===this.options.paginationNumbers?a:"","class":!0===this.options.paginationNumbers?"owl-numbers":""}),d.append(g),d.data("owl-page",b===c?e:c),d.data("owl-roundPages",a),this.paginationWrapper.append(d));this.checkPagination()},checkPagination:function(){var a=this;if(!1===a.options.pagination)return!1;a.paginationWrapper.find(".owl-page").each(function(){f(this).data("owl-roundPages")===
         | 
| 18 | 
            -
            f(a.$owlItems[a.currentItem]).data("owl-roundPages")&&(a.paginationWrapper.find(".owl-page").removeClass("active"),f(this).addClass("active"))})},checkNavigation:function(){if(!1===this.options.navigation)return!1;!1===this.options.rewindNav&&(0===this.currentItem&&0===this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.addClass("disabled")):0===this.currentItem&&0!==this.maximumItem?(this.buttonPrev.addClass("disabled"),this.buttonNext.removeClass("disabled")):this.currentItem===
         | 
| 19 | 
            -
            this.maximumItem?(this.buttonPrev.removeClass("disabled"),this.buttonNext.addClass("disabled")):0!==this.currentItem&&this.currentItem!==this.maximumItem&&(this.buttonPrev.removeClass("disabled"),this.buttonNext.removeClass("disabled")))},updateControls:function(){this.updatePagination();this.checkNavigation();this.owlControls&&(this.options.items>=this.itemsAmount?this.owlControls.hide():this.owlControls.show())},destroyControls:function(){this.owlControls&&this.owlControls.remove()},next:function(a){if(this.isTransition)return!1;
         | 
| 20 | 
            -
            this.currentItem+=!0===this.options.scrollPerPage?this.options.items:1;if(this.currentItem>this.maximumItem+(!0===this.options.scrollPerPage?this.options.items-1:0))if(!0===this.options.rewindNav)this.currentItem=0,a="rewind";else return this.currentItem=this.maximumItem,!1;this.goTo(this.currentItem,a)},prev:function(a){if(this.isTransition)return!1;this.currentItem=!0===this.options.scrollPerPage&&0<this.currentItem&&this.currentItem<this.options.items?0:this.currentItem-(!0===this.options.scrollPerPage?
         | 
| 21 | 
            -
            this.options.items:1);if(0>this.currentItem)if(!0===this.options.rewindNav)this.currentItem=this.maximumItem,a="rewind";else return this.currentItem=0,!1;this.goTo(this.currentItem,a)},goTo:function(a,b,e){var c=this;if(c.isTransition)return!1;"function"===typeof c.options.beforeMove&&c.options.beforeMove.apply(this,[c.$elem]);a>=c.maximumItem?a=c.maximumItem:0>=a&&(a=0);c.currentItem=c.owl.currentItem=a;if(!1!==c.options.transitionStyle&&"drag"!==e&&1===c.options.items&&!0===c.browser.support3d)return c.swapSpeed(0),
         | 
| 22 | 
            -
            !0===c.browser.support3d?c.transition3d(c.positionsInArray[a]):c.css2slide(c.positionsInArray[a],1),c.afterGo(),c.singleItemTransition(),!1;a=c.positionsInArray[a];!0===c.browser.support3d?(c.isCss3Finish=!1,!0===b?(c.swapSpeed("paginationSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},c.options.paginationSpeed)):"rewind"===b?(c.swapSpeed(c.options.rewindSpeed),g.setTimeout(function(){c.isCss3Finish=!0},c.options.rewindSpeed)):(c.swapSpeed("slideSpeed"),g.setTimeout(function(){c.isCss3Finish=!0},
         | 
| 23 | 
            -
            c.options.slideSpeed)),c.transition3d(a)):!0===b?c.css2slide(a,c.options.paginationSpeed):"rewind"===b?c.css2slide(a,c.options.rewindSpeed):c.css2slide(a,c.options.slideSpeed);c.afterGo()},jumpTo:function(a){"function"===typeof this.options.beforeMove&&this.options.beforeMove.apply(this,[this.$elem]);a>=this.maximumItem||-1===a?a=this.maximumItem:0>=a&&(a=0);this.swapSpeed(0);!0===this.browser.support3d?this.transition3d(this.positionsInArray[a]):this.css2slide(this.positionsInArray[a],1);this.currentItem=
         | 
| 24 | 
            -
            this.owl.currentItem=a;this.afterGo()},afterGo:function(){this.prevArr.push(this.currentItem);this.prevItem=this.owl.prevItem=this.prevArr[this.prevArr.length-2];this.prevArr.shift(0);this.prevItem!==this.currentItem&&(this.checkPagination(),this.checkNavigation(),this.eachMoveUpdate(),!1!==this.options.autoPlay&&this.checkAp());"function"===typeof this.options.afterMove&&this.prevItem!==this.currentItem&&this.options.afterMove.apply(this,[this.$elem])},stop:function(){this.apStatus="stop";g.clearInterval(this.autoPlayInterval)},
         | 
| 25 | 
            -
            checkAp:function(){"stop"!==this.apStatus&&this.play()},play:function(){var a=this;a.apStatus="play";if(!1===a.options.autoPlay)return!1;g.clearInterval(a.autoPlayInterval);a.autoPlayInterval=g.setInterval(function(){a.next(!0)},a.options.autoPlay)},swapSpeed:function(a){"slideSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.slideSpeed)):"paginationSpeed"===a?this.$owlWrapper.css(this.addCssSpeed(this.options.paginationSpeed)):"string"!==typeof a&&this.$owlWrapper.css(this.addCssSpeed(a))},
         | 
| 26 | 
            -
            addCssSpeed:function(a){return{"-webkit-transition":"all "+a+"ms ease","-moz-transition":"all "+a+"ms ease","-o-transition":"all "+a+"ms ease",transition:"all "+a+"ms ease"}},removeTransition:function(){return{"-webkit-transition":"","-moz-transition":"","-o-transition":"",transition:""}},doTranslate:function(a){return{"-webkit-transform":"translate3d("+a+"px, 0px, 0px)","-moz-transform":"translate3d("+a+"px, 0px, 0px)","-o-transform":"translate3d("+a+"px, 0px, 0px)","-ms-transform":"translate3d("+
         | 
| 27 | 
            -
            a+"px, 0px, 0px)",transform:"translate3d("+a+"px, 0px,0px)"}},transition3d:function(a){this.$owlWrapper.css(this.doTranslate(a))},css2move:function(a){this.$owlWrapper.css({left:a})},css2slide:function(a,b){var e=this;e.isCssFinish=!1;e.$owlWrapper.stop(!0,!0).animate({left:a},{duration:b||e.options.slideSpeed,complete:function(){e.isCssFinish=!0}})},checkBrowser:function(){var a=k.createElement("div");a.style.cssText="  -moz-transform:translate3d(0px, 0px, 0px); -ms-transform:translate3d(0px, 0px, 0px); -o-transform:translate3d(0px, 0px, 0px); -webkit-transform:translate3d(0px, 0px, 0px); transform:translate3d(0px, 0px, 0px)";
         | 
| 28 | 
            -
            a=a.style.cssText.match(/translate3d\(0px, 0px, 0px\)/g);this.browser={support3d:null!==a&&1===a.length,isTouch:"ontouchstart"in g||g.navigator.msMaxTouchPoints}},moveEvents:function(){if(!1!==this.options.mouseDrag||!1!==this.options.touchDrag)this.gestures(),this.disabledEvents()},eventTypes:function(){var a=["s","e","x"];this.ev_types={};!0===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl mousedown.owl","touchmove.owl mousemove.owl","touchend.owl touchcancel.owl mouseup.owl"]:
         | 
| 29 | 
            -
            !1===this.options.mouseDrag&&!0===this.options.touchDrag?a=["touchstart.owl","touchmove.owl","touchend.owl touchcancel.owl"]:!0===this.options.mouseDrag&&!1===this.options.touchDrag&&(a=["mousedown.owl","mousemove.owl","mouseup.owl"]);this.ev_types.start=a[0];this.ev_types.move=a[1];this.ev_types.end=a[2]},disabledEvents:function(){this.$elem.on("dragstart.owl",function(a){a.preventDefault()});this.$elem.on("mousedown.disableTextSelect",function(a){return f(a.target).is("input, textarea, select, option")})},
         | 
| 30 | 
            -
            gestures:function(){function a(a){if(void 0!==a.touches)return{x:a.touches[0].pageX,y:a.touches[0].pageY};if(void 0===a.touches){if(void 0!==a.pageX)return{x:a.pageX,y:a.pageY};if(void 0===a.pageX)return{x:a.clientX,y:a.clientY}}}function b(a){"on"===a?(f(k).on(d.ev_types.move,e),f(k).on(d.ev_types.end,c)):"off"===a&&(f(k).off(d.ev_types.move),f(k).off(d.ev_types.end))}function e(b){b=b.originalEvent||b||g.event;d.newPosX=a(b).x-h.offsetX;d.newPosY=a(b).y-h.offsetY;d.newRelativeX=d.newPosX-h.relativePos;
         | 
| 31 | 
            -
            "function"===typeof d.options.startDragging&&!0!==h.dragging&&0!==d.newRelativeX&&(h.dragging=!0,d.options.startDragging.apply(d,[d.$elem]));(8<d.newRelativeX||-8>d.newRelativeX)&&!0===d.browser.isTouch&&(void 0!==b.preventDefault?b.preventDefault():b.returnValue=!1,h.sliding=!0);(10<d.newPosY||-10>d.newPosY)&&!1===h.sliding&&f(k).off("touchmove.owl");d.newPosX=Math.max(Math.min(d.newPosX,d.newRelativeX/5),d.maximumPixels+d.newRelativeX/5);!0===d.browser.support3d?d.transition3d(d.newPosX):d.css2move(d.newPosX)}
         | 
| 32 | 
            -
            function c(a){a=a.originalEvent||a||g.event;var c;a.target=a.target||a.srcElement;h.dragging=!1;!0!==d.browser.isTouch&&d.$owlWrapper.removeClass("grabbing");d.dragDirection=0>d.newRelativeX?d.owl.dragDirection="left":d.owl.dragDirection="right";0!==d.newRelativeX&&(c=d.getNewPosition(),d.goTo(c,!1,"drag"),h.targetElement===a.target&&!0!==d.browser.isTouch&&(f(a.target).on("click.disable",function(a){a.stopImmediatePropagation();a.stopPropagation();a.preventDefault();f(a.target).off("click.disable")}),
         | 
| 33 | 
            -
            a=f._data(a.target,"events").click,c=a.pop(),a.splice(0,0,c)));b("off")}var d=this,h={offsetX:0,offsetY:0,baseElWidth:0,relativePos:0,position:null,minSwipe:null,maxSwipe:null,sliding:null,dargging:null,targetElement:null};d.isCssFinish=!0;d.$elem.on(d.ev_types.start,".owl-wrapper",function(c){c=c.originalEvent||c||g.event;var e;if(3===c.which)return!1;if(!(d.itemsAmount<=d.options.items)){if(!1===d.isCssFinish&&!d.options.dragBeforeAnimFinish||!1===d.isCss3Finish&&!d.options.dragBeforeAnimFinish)return!1;
         | 
| 34 | 
            -
            !1!==d.options.autoPlay&&g.clearInterval(d.autoPlayInterval);!0===d.browser.isTouch||d.$owlWrapper.hasClass("grabbing")||d.$owlWrapper.addClass("grabbing");d.newPosX=0;d.newRelativeX=0;f(this).css(d.removeTransition());e=f(this).position();h.relativePos=e.left;h.offsetX=a(c).x-e.left;h.offsetY=a(c).y-e.top;b("on");h.sliding=!1;h.targetElement=c.target||c.srcElement}})},getNewPosition:function(){var a=this.closestItem();a>this.maximumItem?a=this.currentItem=this.maximumItem:0<=this.newPosX&&(this.currentItem=
         | 
| 35 | 
            -
            a=0);return a},closestItem:function(){var a=this,b=!0===a.options.scrollPerPage?a.pagesInArray:a.positionsInArray,e=a.newPosX,c=null;f.each(b,function(d,g){e-a.itemWidth/20>b[d+1]&&e-a.itemWidth/20<g&&"left"===a.moveDirection()?(c=g,a.currentItem=!0===a.options.scrollPerPage?f.inArray(c,a.positionsInArray):d):e+a.itemWidth/20<g&&e+a.itemWidth/20>(b[d+1]||b[d]-a.itemWidth)&&"right"===a.moveDirection()&&(!0===a.options.scrollPerPage?(c=b[d+1]||b[b.length-1],a.currentItem=f.inArray(c,a.positionsInArray)):
         | 
| 36 | 
            -
            (c=b[d+1],a.currentItem=d+1))});return a.currentItem},moveDirection:function(){var a;0>this.newRelativeX?(a="right",this.playDirection="next"):(a="left",this.playDirection="prev");return a},customEvents:function(){var a=this;a.$elem.on("owl.next",function(){a.next()});a.$elem.on("owl.prev",function(){a.prev()});a.$elem.on("owl.play",function(b,e){a.options.autoPlay=e;a.play();a.hoverStatus="play"});a.$elem.on("owl.stop",function(){a.stop();a.hoverStatus="stop"});a.$elem.on("owl.goTo",function(b,e){a.goTo(e)});
         | 
| 37 | 
            -
            a.$elem.on("owl.jumpTo",function(b,e){a.jumpTo(e)})},stopOnHover:function(){var a=this;!0===a.options.stopOnHover&&!0!==a.browser.isTouch&&!1!==a.options.autoPlay&&(a.$elem.on("mouseover",function(){a.stop()}),a.$elem.on("mouseout",function(){"stop"!==a.hoverStatus&&a.play()}))},lazyLoad:function(){var a,b,e,c,d;if(!1===this.options.lazyLoad)return!1;for(a=0;a<this.itemsAmount;a+=1)b=f(this.$owlItems[a]),"loaded"!==b.data("owl-loaded")&&(e=b.data("owl-item"),c=b.find(".lazyOwl"),"string"!==typeof c.data("src")?
         | 
| 38 | 
            -
            b.data("owl-loaded","loaded"):(void 0===b.data("owl-loaded")&&(c.hide(),b.addClass("loading").data("owl-loaded","checked")),(d=!0===this.options.lazyFollow?e>=this.currentItem:!0)&&e<this.currentItem+this.options.items&&c.length&&this.lazyPreload(b,c)))},lazyPreload:function(a,b){function e(){a.data("owl-loaded","loaded").removeClass("loading");b.removeAttr("data-src");"fade"===d.options.lazyEffect?b.fadeIn(400):b.show();"function"===typeof d.options.afterLazyLoad&&d.options.afterLazyLoad.apply(this,
         | 
| 39 | 
            -
            [d.$elem])}function c(){f+=1;d.completeImg(b.get(0))||!0===k?e():100>=f?g.setTimeout(c,100):e()}var d=this,f=0,k;"DIV"===b.prop("tagName")?(b.css("background-image","url("+b.data("src")+")"),k=!0):b[0].src=b.data("src");c()},autoHeight:function(){function a(){var a=f(e.$owlItems[e.currentItem]).height();e.wrapperOuter.css("height",a+"px");e.wrapperOuter.hasClass("autoHeight")||g.setTimeout(function(){e.wrapperOuter.addClass("autoHeight")},0)}function b(){d+=1;e.completeImg(c.get(0))?a():100>=d?g.setTimeout(b,
         | 
| 40 | 
            -
            100):e.wrapperOuter.css("height","")}var e=this,c=f(e.$owlItems[e.currentItem]).find("img"),d;void 0!==c.get(0)?(d=0,b()):a()},completeImg:function(a){return!a.complete||"undefined"!==typeof a.naturalWidth&&0===a.naturalWidth?!1:!0},onVisibleItems:function(){var a;!0===this.options.addClassActive&&this.$owlItems.removeClass("active");this.visibleItems=[];for(a=this.currentItem;a<this.currentItem+this.options.items;a+=1)this.visibleItems.push(a),!0===this.options.addClassActive&&f(this.$owlItems[a]).addClass("active");
         | 
| 41 | 
            -
            this.owl.visibleItems=this.visibleItems},transitionTypes:function(a){this.outClass="owl-"+a+"-out";this.inClass="owl-"+a+"-in"},singleItemTransition:function(){var a=this,b=a.outClass,e=a.inClass,c=a.$owlItems.eq(a.currentItem),d=a.$owlItems.eq(a.prevItem),f=Math.abs(a.positionsInArray[a.currentItem])+a.positionsInArray[a.prevItem],g=Math.abs(a.positionsInArray[a.currentItem])+a.itemWidth/2;a.isTransition=!0;a.$owlWrapper.addClass("owl-origin").css({"-webkit-transform-origin":g+"px","-moz-perspective-origin":g+
         | 
| 42 | 
            -
            "px","perspective-origin":g+"px"});d.css({position:"relative",left:f+"px"}).addClass(b).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endPrev=!0;d.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(d,b)});c.addClass(e).on("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend",function(){a.endCurrent=!0;c.off("webkitAnimationEnd oAnimationEnd MSAnimationEnd animationend");a.clearTransStyle(c,e)})},clearTransStyle:function(a,
         | 
| 43 | 
            -
            b){a.css({position:"",left:""}).removeClass(b);this.endPrev&&this.endCurrent&&(this.$owlWrapper.removeClass("owl-origin"),this.isTransition=this.endCurrent=this.endPrev=!1)},owlStatus:function(){this.owl={userOptions:this.userOptions,baseElement:this.$elem,userItems:this.$userItems,owlItems:this.$owlItems,currentItem:this.currentItem,prevItem:this.prevItem,visibleItems:this.visibleItems,isTouch:this.browser.isTouch,browser:this.browser,dragDirection:this.dragDirection}},clearEvents:function(){this.$elem.off(".owl owl mousedown.disableTextSelect");
         | 
| 44 | 
            -
            f(k).off(".owl owl");f(g).off("resize",this.resizer)},unWrap:function(){0!==this.$elem.children().length&&(this.$owlWrapper.unwrap(),this.$userItems.unwrap().unwrap(),this.owlControls&&this.owlControls.remove());this.clearEvents();this.$elem.attr("style",this.$elem.data("owl-originalStyles")||"").attr("class",this.$elem.data("owl-originalClasses"))},destroy:function(){this.stop();g.clearInterval(this.checkVisible);this.unWrap();this.$elem.removeData()},reinit:function(a){a=f.extend({},this.userOptions,
         | 
| 45 | 
            -
            a);this.unWrap();this.init(a,this.$elem)},addItem:function(a,b){var e;if(!a)return!1;if(0===this.$elem.children().length)return this.$elem.append(a),this.setVars(),!1;this.unWrap();e=void 0===b||-1===b?-1:b;e>=this.$userItems.length||-1===e?this.$userItems.eq(-1).after(a):this.$userItems.eq(e).before(a);this.setVars()},removeItem:function(a){if(0===this.$elem.children().length)return!1;a=void 0===a||-1===a?-1:a;this.unWrap();this.$userItems.eq(a).remove();this.setVars()}};f.fn.owlCarousel=function(a){return this.each(function(){if(!0===
         | 
| 46 | 
            -
            f(this).data("owl-init"))return!1;f(this).data("owl-init",!0);var b=Object.create(l);b.init(a,this);f.data(this,"owlCarousel",b)})};f.fn.owlCarousel.options={items:5,itemsCustom:!1,itemsDesktop:[1199,4],itemsDesktopSmall:[979,3],itemsTablet:[768,2],itemsTabletSmall:!1,itemsMobile:[479,1],singleItem:!1,itemsScaleUp:!1,slideSpeed:200,paginationSpeed:800,rewindSpeed:1E3,autoPlay:!1,stopOnHover:!1,navigation:!1,navigationText:["prev","next"],rewindNav:!0,scrollPerPage:!1,pagination:!0,paginationNumbers:!1,
         | 
| 47 | 
            -
            responsive:!0,responsiveRefreshRate:200,responsiveBaseWidth:g,baseClass:"owl-carousel",theme:"owl-theme",lazyLoad:!1,lazyFollow:!0,lazyEffect:"fade",autoHeight:!1,jsonPath:!1,jsonSuccess:!1,dragBeforeAnimFinish:!0,mouseDrag:!0,touchDrag:!0,addClassActive:!1,transitionStyle:!1,beforeUpdate:!1,afterUpdate:!1,beforeInit:!1,afterInit:!1,beforeMove:!1,afterMove:!1,afterAction:!1,startDragging:!1,afterLazyLoad:!1}})(jQuery,window,document);
         | 
| @@ -1,142 +0,0 @@ | |
| 1 | 
            -
            /**
         | 
| 2 | 
            -
             * Tweetie: A simple Twitter feed plugin
         | 
| 3 | 
            -
             * Author: Sonny T. <hi@sonnyt.com>, sonnyt.com
         | 
| 4 | 
            -
             */
         | 
| 5 | 
            -
             | 
| 6 | 
            -
            (function ($) {
         | 
| 7 | 
            -
                'use strict';
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                $.fn.twittie = function () {
         | 
| 10 | 
            -
                    var options = (arguments[0] instanceof Object) ? arguments[0] : {},
         | 
| 11 | 
            -
                        callback = (typeof arguments[0] === 'function') ? arguments[0] : arguments[1];
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                    // Default settings
         | 
| 14 | 
            -
                    var settings = $.extend({
         | 
| 15 | 
            -
                        'username': null,
         | 
| 16 | 
            -
                        'list': null,
         | 
| 17 | 
            -
                        'hashtag': null,
         | 
| 18 | 
            -
                        'count': 10,
         | 
| 19 | 
            -
                        'hideReplies': false,
         | 
| 20 | 
            -
                        'dateFormat': '%b/%d/%Y',
         | 
| 21 | 
            -
                        'template': '{{date}} - {{tweet}}',
         | 
| 22 | 
            -
                        'apiPath' : 'assets/api/tweet.php',
         | 
| 23 | 
            -
                        'loadingText': 'Loading...',
         | 
| 24 | 
            -
                    }, options);
         | 
| 25 | 
            -
             | 
| 26 | 
            -
                    if (settings.list && !settings.username) {
         | 
| 27 | 
            -
                        $.error('If you want to fetch tweets from a list, you must define the username of the list owner.');
         | 
| 28 | 
            -
                    }
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                    /**
         | 
| 31 | 
            -
                     * Applies @reply, #hash and http links
         | 
| 32 | 
            -
                     * @param  {String} tweet A single tweet
         | 
| 33 | 
            -
                     * @return {String}       Fixed tweet
         | 
| 34 | 
            -
                     *
         | 
| 35 | 
            -
                     * Thanks to @Wachem enhanced linking.
         | 
| 36 | 
            -
                     */
         | 
| 37 | 
            -
                    var linking = function (tweet) {
         | 
| 38 | 
            -
                        var twit = tweet.replace(/(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?)/ig,'<a href="$1" target="_blank" title="Visit this link">$1</a>')
         | 
| 39 | 
            -
                             .replace(/#([a-zA-Z0-9_]+)/g,'<a href="https://twitter.com/search?q=%23$1&src=hash" target="_blank" title="Search for #$1">#$1</a>')
         | 
| 40 | 
            -
                             .replace(/@([a-zA-Z0-9_]+)/g,'<a href="https://twitter.com/$1" target="_blank" title="$1 on Twitter">@$1</a>');
         | 
| 41 | 
            -
             | 
| 42 | 
            -
                        return twit;
         | 
| 43 | 
            -
                    };
         | 
| 44 | 
            -
             | 
| 45 | 
            -
                    /**
         | 
| 46 | 
            -
                     * Formating a date
         | 
| 47 | 
            -
                     * @param  {String} twt_date Twitter date
         | 
| 48 | 
            -
                     * @return {String}          Formatted date
         | 
| 49 | 
            -
                     */
         | 
| 50 | 
            -
                    var dating = function (twt_date) {
         | 
| 51 | 
            -
                        // fix for IE
         | 
| 52 | 
            -
                        var time = twt_date.split(' ');
         | 
| 53 | 
            -
                        twt_date = new Date(Date.parse(time[1] + ' ' + time[2] + ', ' + time[5] + ' ' + time[3] + ' UTC'));
         | 
| 54 | 
            -
             | 
| 55 | 
            -
                        var months = ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];
         | 
| 56 | 
            -
             | 
| 57 | 
            -
                        var _date = {
         | 
| 58 | 
            -
                            '%d': twt_date.getDate(),
         | 
| 59 | 
            -
                            '%m': twt_date.getMonth()+1,
         | 
| 60 | 
            -
                            '%b': months[twt_date.getMonth()].substr(0, 3),
         | 
| 61 | 
            -
                            '%B': months[twt_date.getMonth()],
         | 
| 62 | 
            -
                            '%y': String(twt_date.getFullYear()).slice(-2),
         | 
| 63 | 
            -
                            '%Y': twt_date.getFullYear()
         | 
| 64 | 
            -
                        };
         | 
| 65 | 
            -
             | 
| 66 | 
            -
                        var date = settings.dateFormat;
         | 
| 67 | 
            -
                        var format = settings.dateFormat.match(/%[dmbByY]/g);
         | 
| 68 | 
            -
             | 
| 69 | 
            -
                        for (var i = 0, len = format.length; i < len; i++) {
         | 
| 70 | 
            -
                            date = date.replace(format[i], _date[format[i]]);
         | 
| 71 | 
            -
                        }
         | 
| 72 | 
            -
             | 
| 73 | 
            -
                        return date;
         | 
| 74 | 
            -
                    };
         | 
| 75 | 
            -
             | 
| 76 | 
            -
                    /**
         | 
| 77 | 
            -
                     * Templating a tweet using '{{ }}' braces
         | 
| 78 | 
            -
                     * @param  {Object} data Tweet details are passed
         | 
| 79 | 
            -
                     * @return {String}      Templated string
         | 
| 80 | 
            -
                     */
         | 
| 81 | 
            -
                    var templating = function (data) {
         | 
| 82 | 
            -
                        var temp = settings.template;
         | 
| 83 | 
            -
                        var temp_variables = [
         | 
| 84 | 
            -
                            'date',
         | 
| 85 | 
            -
                            'tweet',
         | 
| 86 | 
            -
                            'avatar',
         | 
| 87 | 
            -
                            'url',
         | 
| 88 | 
            -
                            'tweetId',
         | 
| 89 | 
            -
                            'retweeted',
         | 
| 90 | 
            -
                            'screen_name',
         | 
| 91 | 
            -
                            'user_name',
         | 
| 92 | 
            -
                        ];
         | 
| 93 | 
            -
             | 
| 94 | 
            -
                        for (var i = 0, len = temp_variables.length; i < len; i++) {
         | 
| 95 | 
            -
                            temp = temp.replace(new RegExp('{{' + temp_variables[i] + '}}', 'gi'), data[temp_variables[i]]);
         | 
| 96 | 
            -
                        }
         | 
| 97 | 
            -
             | 
| 98 | 
            -
                        return temp;
         | 
| 99 | 
            -
                    };
         | 
| 100 | 
            -
             | 
| 101 | 
            -
                    // Set loading
         | 
| 102 | 
            -
                   	this.html('<span>'+settings.loadingText+'</span>');
         | 
| 103 | 
            -
             | 
| 104 | 
            -
                    var that = this;
         | 
| 105 | 
            -
             | 
| 106 | 
            -
                    // Fetch tweets
         | 
| 107 | 
            -
             | 
| 108 | 
            -
                    $.getJSON(settings.apiPath, { username: settings.username, list: settings.list, hashtag: settings.hashtag, count: settings.count, exclude_replies: settings.hideReplies }, function (twt) {
         | 
| 109 | 
            -
             | 
| 110 | 
            -
                        that.find('span').fadeOut('fast', function () {
         | 
| 111 | 
            -
                            that.html('<div id="allTweets"></div>');
         | 
| 112 | 
            -
             | 
| 113 | 
            -
                            for (var i = 0; i < settings.count; i++) {
         | 
| 114 | 
            -
                                var tweet = false;
         | 
| 115 | 
            -
                                if(twt[i]) {
         | 
| 116 | 
            -
                                    tweet = twt[i];
         | 
| 117 | 
            -
                                } else if(twt.statuses !== undefined && twt.statuses[i]) {
         | 
| 118 | 
            -
                                    tweet = twt.statuses[i];
         | 
| 119 | 
            -
                                } else {
         | 
| 120 | 
            -
                                    break;
         | 
| 121 | 
            -
                                }
         | 
| 122 | 
            -
             | 
| 123 | 
            -
                                var temp_data = {
         | 
| 124 | 
            -
                                    user_name: tweet.user.name,
         | 
| 125 | 
            -
                                    date: dating(tweet.created_at),
         | 
| 126 | 
            -
                                    tweet: (tweet.retweeted) ? linking('RT @'+ tweet.user.screen_name +': '+ tweet.retweeted_status.text) : linking(tweet.text),
         | 
| 127 | 
            -
                                    avatar: '<img src="'+ tweet.user.profile_image_url +'" />',
         | 
| 128 | 
            -
                                    url: 'https://twitter.com/' + tweet.user.screen_name + '/status/' + tweet.id_str,
         | 
| 129 | 
            -
                                    tweetId: tweet.id_str,
         | 
| 130 | 
            -
                                    retweeted: tweet.retweeted,
         | 
| 131 | 
            -
                                    screen_name: linking('@'+ tweet.user.screen_name)
         | 
| 132 | 
            -
                                };
         | 
| 133 | 
            -
             | 
| 134 | 
            -
                                that.find('#allTweets').append('<div class="single-tweet">' + templating(temp_data) + '</div>');
         | 
| 135 | 
            -
                            }
         | 
| 136 | 
            -
             | 
| 137 | 
            -
                            if (typeof callback === 'function') { callback(); }
         | 
| 138 | 
            -
                        });
         | 
| 139 | 
            -
                    });
         | 
| 140 | 
            -
                };
         | 
| 141 | 
            -
             | 
| 142 | 
            -
            })(jQuery);
         | 
| @@ -1,8 +0,0 @@ | |
| 1 | 
            -
            /*
         | 
| 2 | 
            -
            jQuery Waypoints - v1.1.7
         | 
| 3 | 
            -
            Copyright (c) 2011-2012 Caleb Troughton
         | 
| 4 | 
            -
            Dual licensed under the MIT license and GPL license.
         | 
| 5 | 
            -
            https://github.com/imakewebthings/jquery-waypoints/blob/master/MIT-license.txt
         | 
| 6 | 
            -
            https://github.com/imakewebthings/jquery-waypoints/blob/master/GPL-license.txt
         | 
| 7 | 
            -
            */
         | 
| 8 | 
            -
            (function($,k,m,i,d){var e=$(i),g="waypoint.reached",b=function(o,n){o.element.trigger(g,n);if(o.options.triggerOnce){o.element[k]("destroy")}},h=function(p,o){if(!o){return -1}var n=o.waypoints.length-1;while(n>=0&&o.waypoints[n].element[0]!==p[0]){n-=1}return n},f=[],l=function(n){$.extend(this,{element:$(n),oldScroll:0,waypoints:[],didScroll:false,didResize:false,doScroll:$.proxy(function(){var q=this.element.scrollTop(),p=q>this.oldScroll,s=this,r=$.grep(this.waypoints,function(u,t){return p?(u.offset>s.oldScroll&&u.offset<=q):(u.offset<=s.oldScroll&&u.offset>q)}),o=r.length;if(!this.oldScroll||!q){$[m]("refresh")}this.oldScroll=q;if(!o){return}if(!p){r.reverse()}$.each(r,function(u,t){if(t.options.continuous||u===o-1){b(t,[p?"down":"up"])}})},this)});$(n).bind("scroll.waypoints",$.proxy(function(){if(!this.didScroll){this.didScroll=true;i.setTimeout($.proxy(function(){this.doScroll();this.didScroll=false},this),$[m].settings.scrollThrottle)}},this)).bind("resize.waypoints",$.proxy(function(){if(!this.didResize){this.didResize=true;i.setTimeout($.proxy(function(){$[m]("refresh");this.didResize=false},this),$[m].settings.resizeThrottle)}},this));e.load($.proxy(function(){this.doScroll()},this))},j=function(n){var o=null;$.each(f,function(p,q){if(q.element[0]===n){o=q;return false}});return o},c={init:function(o,n){this.each(function(){var u=$.fn[k].defaults.context,q,t=$(this);if(n&&n.context){u=n.context}if(!$.isWindow(u)){u=t.closest(u)[0]}q=j(u);if(!q){q=new l(u);f.push(q)}var p=h(t,q),s=p<0?$.fn[k].defaults:q.waypoints[p].options,r=$.extend({},s,n);r.offset=r.offset==="bottom-in-view"?function(){var v=$.isWindow(u)?$[m]("viewportHeight"):$(u).height();return v-$(this).outerHeight()}:r.offset;if(p<0){q.waypoints.push({element:t,offset:null,options:r})}else{q.waypoints[p].options=r}if(o){t.bind(g,o)}if(n&&n.handler){t.bind(g,n.handler)}});$[m]("refresh");return this},remove:function(){return this.each(function(o,p){var n=$(p);$.each(f,function(r,s){var q=h(n,s);if(q>=0){s.waypoints.splice(q,1);if(!s.waypoints.length){s.element.unbind("scroll.waypoints resize.waypoints");f.splice(r,1)}}})})},destroy:function(){return this.unbind(g)[k]("remove")}},a={refresh:function(){$.each(f,function(r,s){var q=$.isWindow(s.element[0]),n=q?0:s.element.offset().top,p=q?$[m]("viewportHeight"):s.element.height(),o=q?0:s.element.scrollTop();$.each(s.waypoints,function(u,x){if(!x){return}var t=x.options.offset,w=x.offset;if(typeof x.options.offset==="function"){t=x.options.offset.apply(x.element)}else{if(typeof x.options.offset==="string"){var v=parseFloat(x.options.offset);t=x.options.offset.indexOf("%")?Math.ceil(p*(v/100)):v}}x.offset=x.element.offset().top-n+o-t;if(x.options.onlyOnScroll){return}if(w!==null&&s.oldScroll>w&&s.oldScroll<=x.offset){b(x,["up"])}else{if(w!==null&&s.oldScroll<w&&s.oldScroll>=x.offset){b(x,["down"])}else{if(!w&&s.element.scrollTop()>x.offset){b(x,["down"])}}}});s.waypoints.sort(function(u,t){return u.offset-t.offset})})},viewportHeight:function(){return(i.innerHeight?i.innerHeight:e.height())},aggregate:function(){var n=$();$.each(f,function(o,p){$.each(p.waypoints,function(q,r){n=n.add(r.element)})});return n}};$.fn[k]=function(n){if(c[n]){return c[n].apply(this,Array.prototype.slice.call(arguments,1))}else{if(typeof n==="function"||!n){return c.init.apply(this,arguments)}else{if(typeof n==="object"){return c.init.apply(this,[null,n])}else{$.error("Method "+n+" does not exist on jQuery "+k)}}}};$.fn[k].defaults={continuous:true,offset:0,triggerOnce:false,context:i};$[m]=function(n){if(a[n]){return a[n].apply(this)}else{return a.aggregate()}};$[m].settings={resizeThrottle:200,scrollThrottle:100};e.load(function(){$[m]("refresh")})})(jQuery,"waypoint","waypoints",window);
         |