| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172 | 
							- /* ========================================================================
 
-  * Bootstrap: scrollspy.js v3.3.7
 
-  * http://getbootstrap.com/javascript/#scrollspy
 
-  * ========================================================================
 
-  * Copyright 2011-2016 Twitter, Inc.
 
-  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 
-  * ======================================================================== */
 
- +function ($) {
 
-   'use strict';
 
-   // SCROLLSPY CLASS DEFINITION
 
-   // ==========================
 
-   function ScrollSpy(element, options) {
 
-     this.$body          = $(document.body)
 
-     this.$scrollElement = $(element).is(document.body) ? $(window) : $(element)
 
-     this.options        = $.extend({}, ScrollSpy.DEFAULTS, options)
 
-     this.selector       = (this.options.target || '') + ' .nav li > a'
 
-     this.offsets        = []
 
-     this.targets        = []
 
-     this.activeTarget   = null
 
-     this.scrollHeight   = 0
 
-     this.$scrollElement.on('scroll.bs.scrollspy', $.proxy(this.process, this))
 
-     this.refresh()
 
-     this.process()
 
-   }
 
-   ScrollSpy.VERSION  = '3.3.7'
 
-   ScrollSpy.DEFAULTS = {
 
-     offset: 10
 
-   }
 
-   ScrollSpy.prototype.getScrollHeight = function () {
 
-     return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
 
-   }
 
-   ScrollSpy.prototype.refresh = function () {
 
-     var that          = this
 
-     var offsetMethod  = 'offset'
 
-     var offsetBase    = 0
 
-     this.offsets      = []
 
-     this.targets      = []
 
-     this.scrollHeight = this.getScrollHeight()
 
-     if (!$.isWindow(this.$scrollElement[0])) {
 
-       offsetMethod = 'position'
 
-       offsetBase   = this.$scrollElement.scrollTop()
 
-     }
 
-     this.$body
 
-       .find(this.selector)
 
-       .map(function () {
 
-         var $el   = $(this)
 
-         var href  = $el.data('target') || $el.attr('href')
 
-         var $href = /^#./.test(href) && $(href)
 
-         return ($href
 
-           && $href.length
 
-           && $href.is(':visible')
 
-           && [[$href[offsetMethod]().top + offsetBase, href]]) || null
 
-       })
 
-       .sort(function (a, b) { return a[0] - b[0] })
 
-       .each(function () {
 
-         that.offsets.push(this[0])
 
-         that.targets.push(this[1])
 
-       })
 
-   }
 
-   ScrollSpy.prototype.process = function () {
 
-     var scrollTop    = this.$scrollElement.scrollTop() + this.options.offset
 
-     var scrollHeight = this.getScrollHeight()
 
-     var maxScroll    = this.options.offset + scrollHeight - this.$scrollElement.height()
 
-     var offsets      = this.offsets
 
-     var targets      = this.targets
 
-     var activeTarget = this.activeTarget
 
-     var i
 
-     if (this.scrollHeight != scrollHeight) {
 
-       this.refresh()
 
-     }
 
-     if (scrollTop >= maxScroll) {
 
-       return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
 
-     }
 
-     if (activeTarget && scrollTop < offsets[0]) {
 
-       this.activeTarget = null
 
-       return this.clear()
 
-     }
 
-     for (i = offsets.length; i--;) {
 
-       activeTarget != targets[i]
 
-         && scrollTop >= offsets[i]
 
-         && (offsets[i + 1] === undefined || scrollTop < offsets[i + 1])
 
-         && this.activate(targets[i])
 
-     }
 
-   }
 
-   ScrollSpy.prototype.activate = function (target) {
 
-     this.activeTarget = target
 
-     this.clear()
 
-     var selector = this.selector +
 
-       '[data-target="' + target + '"],' +
 
-       this.selector + '[href="' + target + '"]'
 
-     var active = $(selector)
 
-       .parents('li')
 
-       .addClass('active')
 
-     if (active.parent('.dropdown-menu').length) {
 
-       active = active
 
-         .closest('li.dropdown')
 
-         .addClass('active')
 
-     }
 
-     active.trigger('activate.bs.scrollspy')
 
-   }
 
-   ScrollSpy.prototype.clear = function () {
 
-     $(this.selector)
 
-       .parentsUntil(this.options.target, '.active')
 
-       .removeClass('active')
 
-   }
 
-   // SCROLLSPY PLUGIN DEFINITION
 
-   // ===========================
 
-   function Plugin(option) {
 
-     return this.each(function () {
 
-       var $this   = $(this)
 
-       var data    = $this.data('bs.scrollspy')
 
-       var options = typeof option == 'object' && option
 
-       if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
 
-       if (typeof option == 'string') data[option]()
 
-     })
 
-   }
 
-   var old = $.fn.scrollspy
 
-   $.fn.scrollspy             = Plugin
 
-   $.fn.scrollspy.Constructor = ScrollSpy
 
-   // SCROLLSPY NO CONFLICT
 
-   // =====================
 
-   $.fn.scrollspy.noConflict = function () {
 
-     $.fn.scrollspy = old
 
-     return this
 
-   }
 
-   // SCROLLSPY DATA-API
 
-   // ==================
 
-   $(window).on('load.bs.scrollspy.data-api', function () {
 
-     $('[data-spy="scroll"]').each(function () {
 
-       var $spy = $(this)
 
-       Plugin.call($spy, $spy.data())
 
-     })
 
-   })
 
- }(jQuery);
 
 
  |