packages/ssoinabox-webui/root/usr/local/share/ssoinabox/htdocs/res/bootstrap/js/bootstrap.js
author Dan Fuhry <dan@fuhry.us>
Tue, 08 Jan 2013 23:13:29 -0500
changeset 0 3906ca745819
permissions -rw-r--r--
First commit!
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     1
/* ===================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     2
 * bootstrap-transition.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     3
 * http://twitter.github.com/bootstrap/javascript.html#transitions
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     4
 * ===================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     5
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     6
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     7
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     8
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
     9
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    10
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    11
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    12
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    13
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    14
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    16
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    17
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    18
 * ========================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    19
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    20
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    21
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    22
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    23
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    24
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    25
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    26
  /* CSS TRANSITION SUPPORT (http://www.modernizr.com/)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    27
   * ======================================================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    28
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    29
  $(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    30
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    31
    $.support.transition = (function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    32
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    33
      var transitionEnd = (function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    34
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    35
        var el = document.createElement('bootstrap')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    36
          , transEndEventNames = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    37
               'WebkitTransition' : 'webkitTransitionEnd'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    38
            ,  'MozTransition'    : 'transitionend'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    39
            ,  'OTransition'      : 'oTransitionEnd otransitionend'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    40
            ,  'transition'       : 'transitionend'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    41
            }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    42
          , name
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    43
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    44
        for (name in transEndEventNames){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    45
          if (el.style[name] !== undefined) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    46
            return transEndEventNames[name]
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    47
          }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    48
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    49
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    50
      }())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    51
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    52
      return transitionEnd && {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    53
        end: transitionEnd
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    54
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    55
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    56
    })()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    57
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    58
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    59
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    60
}(window.jQuery);/* ==========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    61
 * bootstrap-alert.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    62
 * http://twitter.github.com/bootstrap/javascript.html#alerts
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    63
 * ==========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    64
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    65
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    66
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    67
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    68
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    69
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    70
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    71
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    72
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    73
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    74
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    75
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    76
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    77
 * ========================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    78
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    79
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    80
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    81
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    82
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    83
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    84
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    85
 /* ALERT CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    86
  * ====================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    87
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    88
  var dismiss = '[data-dismiss="alert"]'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    89
    , Alert = function (el) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    90
        $(el).on('click', dismiss, this.close)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    91
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    92
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    93
  Alert.prototype.close = function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    94
    var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    95
      , selector = $this.attr('data-target')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    96
      , $parent
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    97
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    98
    if (!selector) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
    99
      selector = $this.attr('href')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   100
      selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   101
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   102
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   103
    $parent = $(selector)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   104
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   105
    e && e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   106
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   107
    $parent.length || ($parent = $this.hasClass('alert') ? $this : $this.parent())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   108
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   109
    $parent.trigger(e = $.Event('close'))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   110
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   111
    if (e.isDefaultPrevented()) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   112
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   113
    $parent.removeClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   114
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   115
    function removeElement() {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   116
      $parent
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   117
        .trigger('closed')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   118
        .remove()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   119
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   120
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   121
    $.support.transition && $parent.hasClass('fade') ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   122
      $parent.on($.support.transition.end, removeElement) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   123
      removeElement()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   124
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   125
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   126
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   127
 /* ALERT PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   128
  * ======================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   129
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   130
  var old = $.fn.alert
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   131
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   132
  $.fn.alert = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   133
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   134
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   135
        , data = $this.data('alert')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   136
      if (!data) $this.data('alert', (data = new Alert(this)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   137
      if (typeof option == 'string') data[option].call($this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   138
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   139
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   140
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   141
  $.fn.alert.Constructor = Alert
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   142
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   143
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   144
 /* ALERT NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   145
  * ================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   146
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   147
  $.fn.alert.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   148
    $.fn.alert = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   149
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   150
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   151
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   152
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   153
 /* ALERT DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   154
  * ============== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   155
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   156
  $(document).on('click.alert.data-api', dismiss, Alert.prototype.close)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   157
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   158
}(window.jQuery);/* ============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   159
 * bootstrap-button.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   160
 * http://twitter.github.com/bootstrap/javascript.html#buttons
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   161
 * ============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   162
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   163
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   164
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   165
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   166
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   167
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   168
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   169
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   170
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   171
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   172
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   173
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   174
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   175
 * ============================================================ */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   176
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   177
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   178
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   179
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   180
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   181
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   182
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   183
 /* BUTTON PUBLIC CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   184
  * ============================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   185
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   186
  var Button = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   187
    this.$element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   188
    this.options = $.extend({}, $.fn.button.defaults, options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   189
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   190
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   191
  Button.prototype.setState = function (state) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   192
    var d = 'disabled'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   193
      , $el = this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   194
      , data = $el.data()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   195
      , val = $el.is('input') ? 'val' : 'html'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   196
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   197
    state = state + 'Text'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   198
    data.resetText || $el.data('resetText', $el[val]())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   199
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   200
    $el[val](data[state] || this.options[state])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   201
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   202
    // push to event loop to allow forms to submit
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   203
    setTimeout(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   204
      state == 'loadingText' ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   205
        $el.addClass(d).attr(d, d) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   206
        $el.removeClass(d).removeAttr(d)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   207
    }, 0)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   208
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   209
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   210
  Button.prototype.toggle = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   211
    var $parent = this.$element.closest('[data-toggle="buttons-radio"]')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   212
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   213
    $parent && $parent
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   214
      .find('.active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   215
      .removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   216
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   217
    this.$element.toggleClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   218
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   219
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   220
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   221
 /* BUTTON PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   222
  * ======================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   223
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   224
  var old = $.fn.button
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   225
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   226
  $.fn.button = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   227
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   228
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   229
        , data = $this.data('button')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   230
        , options = typeof option == 'object' && option
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   231
      if (!data) $this.data('button', (data = new Button(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   232
      if (option == 'toggle') data.toggle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   233
      else if (option) data.setState(option)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   234
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   235
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   236
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   237
  $.fn.button.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   238
    loadingText: 'loading...'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   239
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   240
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   241
  $.fn.button.Constructor = Button
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   242
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   243
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   244
 /* BUTTON NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   245
  * ================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   246
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   247
  $.fn.button.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   248
    $.fn.button = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   249
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   250
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   251
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   252
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   253
 /* BUTTON DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   254
  * =============== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   255
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   256
  $(document).on('click.button.data-api', '[data-toggle^=button]', function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   257
    var $btn = $(e.target)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   258
    if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   259
    $btn.button('toggle')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   260
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   261
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   262
}(window.jQuery);/* ==========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   263
 * bootstrap-carousel.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   264
 * http://twitter.github.com/bootstrap/javascript.html#carousel
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   265
 * ==========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   266
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   267
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   268
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   269
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   270
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   271
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   272
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   273
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   274
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   275
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   276
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   277
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   278
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   279
 * ========================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   280
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   281
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   282
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   283
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   284
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   285
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   286
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   287
 /* CAROUSEL CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   288
  * ========================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   289
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   290
  var Carousel = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   291
    this.$element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   292
    this.options = options
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   293
    this.options.pause == 'hover' && this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   294
      .on('mouseenter', $.proxy(this.pause, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   295
      .on('mouseleave', $.proxy(this.cycle, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   296
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   297
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   298
  Carousel.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   299
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   300
    cycle: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   301
      if (!e) this.paused = false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   302
      this.options.interval
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   303
        && !this.paused
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   304
        && (this.interval = setInterval($.proxy(this.next, this), this.options.interval))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   305
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   306
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   307
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   308
  , to: function (pos) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   309
      var $active = this.$element.find('.item.active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   310
        , children = $active.parent().children()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   311
        , activePos = children.index($active)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   312
        , that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   313
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   314
      if (pos > (children.length - 1) || pos < 0) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   315
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   316
      if (this.sliding) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   317
        return this.$element.one('slid', function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   318
          that.to(pos)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   319
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   320
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   321
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   322
      if (activePos == pos) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   323
        return this.pause().cycle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   324
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   325
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   326
      return this.slide(pos > activePos ? 'next' : 'prev', $(children[pos]))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   327
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   328
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   329
  , pause: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   330
      if (!e) this.paused = true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   331
      if (this.$element.find('.next, .prev').length && $.support.transition.end) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   332
        this.$element.trigger($.support.transition.end)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   333
        this.cycle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   334
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   335
      clearInterval(this.interval)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   336
      this.interval = null
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   337
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   338
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   339
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   340
  , next: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   341
      if (this.sliding) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   342
      return this.slide('next')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   343
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   344
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   345
  , prev: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   346
      if (this.sliding) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   347
      return this.slide('prev')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   348
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   349
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   350
  , slide: function (type, next) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   351
      var $active = this.$element.find('.item.active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   352
        , $next = next || $active[type]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   353
        , isCycling = this.interval
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   354
        , direction = type == 'next' ? 'left' : 'right'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   355
        , fallback  = type == 'next' ? 'first' : 'last'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   356
        , that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   357
        , e
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   358
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   359
      this.sliding = true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   360
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   361
      isCycling && this.pause()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   362
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   363
      $next = $next.length ? $next : this.$element.find('.item')[fallback]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   364
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   365
      e = $.Event('slide', {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   366
        relatedTarget: $next[0]
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   367
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   368
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   369
      if ($next.hasClass('active')) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   370
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   371
      if ($.support.transition && this.$element.hasClass('slide')) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   372
        this.$element.trigger(e)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   373
        if (e.isDefaultPrevented()) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   374
        $next.addClass(type)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   375
        $next[0].offsetWidth // force reflow
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   376
        $active.addClass(direction)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   377
        $next.addClass(direction)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   378
        this.$element.one($.support.transition.end, function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   379
          $next.removeClass([type, direction].join(' ')).addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   380
          $active.removeClass(['active', direction].join(' '))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   381
          that.sliding = false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   382
          setTimeout(function () { that.$element.trigger('slid') }, 0)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   383
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   384
      } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   385
        this.$element.trigger(e)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   386
        if (e.isDefaultPrevented()) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   387
        $active.removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   388
        $next.addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   389
        this.sliding = false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   390
        this.$element.trigger('slid')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   391
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   392
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   393
      isCycling && this.cycle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   394
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   395
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   396
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   397
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   398
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   399
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   400
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   401
 /* CAROUSEL PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   402
  * ========================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   403
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   404
  var old = $.fn.carousel
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   405
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   406
  $.fn.carousel = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   407
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   408
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   409
        , data = $this.data('carousel')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   410
        , options = $.extend({}, $.fn.carousel.defaults, typeof option == 'object' && option)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   411
        , action = typeof option == 'string' ? option : options.slide
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   412
      if (!data) $this.data('carousel', (data = new Carousel(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   413
      if (typeof option == 'number') data.to(option)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   414
      else if (action) data[action]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   415
      else if (options.interval) data.cycle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   416
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   417
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   418
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   419
  $.fn.carousel.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   420
    interval: 5000
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   421
  , pause: 'hover'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   422
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   423
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   424
  $.fn.carousel.Constructor = Carousel
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   425
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   426
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   427
 /* CAROUSEL NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   428
  * ==================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   429
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   430
  $.fn.carousel.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   431
    $.fn.carousel = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   432
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   433
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   434
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   435
 /* CAROUSEL DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   436
  * ================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   437
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   438
  $(document).on('click.carousel.data-api', '[data-slide]', function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   439
    var $this = $(this), href
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   440
      , $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   441
      , options = $.extend({}, $target.data(), $this.data())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   442
    $target.carousel(options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   443
    e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   444
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   445
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   446
}(window.jQuery);/* =============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   447
 * bootstrap-collapse.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   448
 * http://twitter.github.com/bootstrap/javascript.html#collapse
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   449
 * =============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   450
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   451
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   452
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   453
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   454
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   455
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   456
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   457
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   458
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   459
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   460
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   461
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   462
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   463
 * ============================================================ */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   464
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   465
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   466
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   467
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   468
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   469
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   470
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   471
 /* COLLAPSE PUBLIC CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   472
  * ================================ */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   473
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   474
  var Collapse = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   475
    this.$element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   476
    this.options = $.extend({}, $.fn.collapse.defaults, options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   477
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   478
    if (this.options.parent) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   479
      this.$parent = $(this.options.parent)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   480
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   481
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   482
    this.options.toggle && this.toggle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   483
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   484
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   485
  Collapse.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   486
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   487
    constructor: Collapse
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   488
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   489
  , dimension: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   490
      var hasWidth = this.$element.hasClass('width')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   491
      return hasWidth ? 'width' : 'height'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   492
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   493
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   494
  , show: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   495
      var dimension
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   496
        , scroll
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   497
        , actives
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   498
        , hasData
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   499
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   500
      if (this.transitioning) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   501
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   502
      dimension = this.dimension()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   503
      scroll = $.camelCase(['scroll', dimension].join('-'))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   504
      actives = this.$parent && this.$parent.find('> .accordion-group > .in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   505
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   506
      if (actives && actives.length) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   507
        hasData = actives.data('collapse')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   508
        if (hasData && hasData.transitioning) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   509
        actives.collapse('hide')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   510
        hasData || actives.data('collapse', null)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   511
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   512
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   513
      this.$element[dimension](0)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   514
      this.transition('addClass', $.Event('show'), 'shown')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   515
      $.support.transition && this.$element[dimension](this.$element[0][scroll])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   516
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   517
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   518
  , hide: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   519
      var dimension
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   520
      if (this.transitioning) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   521
      dimension = this.dimension()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   522
      this.reset(this.$element[dimension]())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   523
      this.transition('removeClass', $.Event('hide'), 'hidden')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   524
      this.$element[dimension](0)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   525
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   526
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   527
  , reset: function (size) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   528
      var dimension = this.dimension()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   529
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   530
      this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   531
        .removeClass('collapse')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   532
        [dimension](size || 'auto')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   533
        [0].offsetWidth
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   534
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   535
      this.$element[size !== null ? 'addClass' : 'removeClass']('collapse')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   536
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   537
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   538
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   539
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   540
  , transition: function (method, startEvent, completeEvent) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   541
      var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   542
        , complete = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   543
            if (startEvent.type == 'show') that.reset()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   544
            that.transitioning = 0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   545
            that.$element.trigger(completeEvent)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   546
          }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   547
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   548
      this.$element.trigger(startEvent)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   549
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   550
      if (startEvent.isDefaultPrevented()) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   551
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   552
      this.transitioning = 1
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   553
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   554
      this.$element[method]('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   555
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   556
      $.support.transition && this.$element.hasClass('collapse') ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   557
        this.$element.one($.support.transition.end, complete) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   558
        complete()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   559
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   560
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   561
  , toggle: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   562
      this[this.$element.hasClass('in') ? 'hide' : 'show']()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   563
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   564
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   565
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   566
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   567
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   568
 /* COLLAPSE PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   569
  * ========================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   570
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   571
  var old = $.fn.collapse
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   572
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   573
  $.fn.collapse = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   574
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   575
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   576
        , data = $this.data('collapse')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   577
        , options = typeof option == 'object' && option
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   578
      if (!data) $this.data('collapse', (data = new Collapse(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   579
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   580
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   581
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   582
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   583
  $.fn.collapse.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   584
    toggle: true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   585
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   586
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   587
  $.fn.collapse.Constructor = Collapse
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   588
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   589
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   590
 /* COLLAPSE NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   591
  * ==================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   592
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   593
  $.fn.collapse.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   594
    $.fn.collapse = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   595
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   596
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   597
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   598
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   599
 /* COLLAPSE DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   600
  * ================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   601
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   602
  $(document).on('click.collapse.data-api', '[data-toggle=collapse]', function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   603
    var $this = $(this), href
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   604
      , target = $this.attr('data-target')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   605
        || e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   606
        || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   607
      , option = $(target).data('collapse') ? 'toggle' : $this.data()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   608
    $this[$(target).hasClass('in') ? 'addClass' : 'removeClass']('collapsed')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   609
    $(target).collapse(option)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   610
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   611
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   612
}(window.jQuery);/* ============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   613
 * bootstrap-dropdown.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   614
 * http://twitter.github.com/bootstrap/javascript.html#dropdowns
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   615
 * ============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   616
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   617
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   618
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   619
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   620
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   621
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   622
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   623
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   624
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   625
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   626
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   627
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   628
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   629
 * ============================================================ */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   630
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   631
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   632
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   633
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   634
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   635
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   636
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   637
 /* DROPDOWN CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   638
  * ========================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   639
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   640
  var toggle = '[data-toggle=dropdown]'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   641
    , Dropdown = function (element) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   642
        var $el = $(element).on('click.dropdown.data-api', this.toggle)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   643
        $('html').on('click.dropdown.data-api', function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   644
          $el.parent().removeClass('open')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   645
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   646
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   647
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   648
  Dropdown.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   649
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   650
    constructor: Dropdown
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   651
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   652
  , toggle: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   653
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   654
        , $parent
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   655
        , isActive
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   656
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   657
      if ($this.is('.disabled, :disabled')) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   658
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   659
      $parent = getParent($this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   660
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   661
      isActive = $parent.hasClass('open')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   662
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   663
      clearMenus()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   664
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   665
      if (!isActive) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   666
        $parent.toggleClass('open')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   667
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   668
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   669
      $this.focus()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   670
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   671
      return false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   672
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   673
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   674
  , keydown: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   675
      var $this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   676
        , $items
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   677
        , $active
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   678
        , $parent
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   679
        , isActive
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   680
        , index
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   681
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   682
      if (!/(38|40|27)/.test(e.keyCode)) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   683
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   684
      $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   685
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   686
      e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   687
      e.stopPropagation()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   688
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   689
      if ($this.is('.disabled, :disabled')) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   690
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   691
      $parent = getParent($this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   692
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   693
      isActive = $parent.hasClass('open')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   694
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   695
      if (!isActive || (isActive && e.keyCode == 27)) return $this.click()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   696
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   697
      $items = $('[role=menu] li:not(.divider):visible a', $parent)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   698
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   699
      if (!$items.length) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   700
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   701
      index = $items.index($items.filter(':focus'))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   702
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   703
      if (e.keyCode == 38 && index > 0) index--                                        // up
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   704
      if (e.keyCode == 40 && index < $items.length - 1) index++                        // down
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   705
      if (!~index) index = 0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   706
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   707
      $items
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   708
        .eq(index)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   709
        .focus()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   710
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   711
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   712
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   713
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   714
  function clearMenus() {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   715
    $(toggle).each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   716
      getParent($(this)).removeClass('open')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   717
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   718
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   719
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   720
  function getParent($this) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   721
    var selector = $this.attr('data-target')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   722
      , $parent
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   723
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   724
    if (!selector) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   725
      selector = $this.attr('href')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   726
      selector = selector && /#/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   727
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   728
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   729
    $parent = $(selector)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   730
    $parent.length || ($parent = $this.parent())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   731
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   732
    return $parent
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   733
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   734
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   735
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   736
  /* DROPDOWN PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   737
   * ========================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   738
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   739
  var old = $.fn.dropdown
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   740
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   741
  $.fn.dropdown = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   742
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   743
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   744
        , data = $this.data('dropdown')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   745
      if (!data) $this.data('dropdown', (data = new Dropdown(this)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   746
      if (typeof option == 'string') data[option].call($this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   747
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   748
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   749
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   750
  $.fn.dropdown.Constructor = Dropdown
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   751
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   752
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   753
 /* DROPDOWN NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   754
  * ==================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   755
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   756
  $.fn.dropdown.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   757
    $.fn.dropdown = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   758
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   759
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   760
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   761
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   762
  /* APPLY TO STANDARD DROPDOWN ELEMENTS
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   763
   * =================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   764
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   765
  $(document)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   766
    .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   767
    .on('click.dropdown touchstart.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   768
    .on('touchstart.dropdown.data-api', '.dropdown-menu', function (e) { e.stopPropagation() })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   769
    .on('click.dropdown.data-api touchstart.dropdown.data-api'  , toggle, Dropdown.prototype.toggle)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   770
    .on('keydown.dropdown.data-api touchstart.dropdown.data-api', toggle + ', [role=menu]' , Dropdown.prototype.keydown)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   771
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   772
}(window.jQuery);/* =========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   773
 * bootstrap-modal.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   774
 * http://twitter.github.com/bootstrap/javascript.html#modals
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   775
 * =========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   776
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   777
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   778
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   779
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   780
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   781
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   782
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   783
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   784
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   785
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   786
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   787
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   788
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   789
 * ========================================================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   790
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   791
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   792
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   793
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   794
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   795
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   796
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   797
 /* MODAL CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   798
  * ====================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   799
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   800
  var Modal = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   801
    this.options = options
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   802
    this.$element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   803
      .delegate('[data-dismiss="modal"]', 'click.dismiss.modal', $.proxy(this.hide, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   804
    this.options.remote && this.$element.find('.modal-body').load(this.options.remote)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   805
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   806
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   807
  Modal.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   808
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   809
      constructor: Modal
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   810
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   811
    , toggle: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   812
        return this[!this.isShown ? 'show' : 'hide']()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   813
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   814
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   815
    , show: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   816
        var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   817
          , e = $.Event('show')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   818
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   819
        this.$element.trigger(e)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   820
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   821
        if (this.isShown || e.isDefaultPrevented()) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   822
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   823
        this.isShown = true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   824
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   825
        this.escape()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   826
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   827
        this.backdrop(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   828
          var transition = $.support.transition && that.$element.hasClass('fade')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   829
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   830
          if (!that.$element.parent().length) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   831
            that.$element.appendTo(document.body) //don't move modals dom position
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   832
          }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   833
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   834
          that.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   835
            .show()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   836
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   837
          if (transition) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   838
            that.$element[0].offsetWidth // force reflow
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   839
          }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   840
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   841
          that.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   842
            .addClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   843
            .attr('aria-hidden', false)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   844
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   845
          that.enforceFocus()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   846
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   847
          transition ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   848
            that.$element.one($.support.transition.end, function () { that.$element.focus().trigger('shown') }) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   849
            that.$element.focus().trigger('shown')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   850
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   851
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   852
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   853
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   854
    , hide: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   855
        e && e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   856
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   857
        var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   858
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   859
        e = $.Event('hide')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   860
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   861
        this.$element.trigger(e)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   862
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   863
        if (!this.isShown || e.isDefaultPrevented()) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   864
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   865
        this.isShown = false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   866
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   867
        this.escape()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   868
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   869
        $(document).off('focusin.modal')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   870
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   871
        this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   872
          .removeClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   873
          .attr('aria-hidden', true)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   874
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   875
        $.support.transition && this.$element.hasClass('fade') ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   876
          this.hideWithTransition() :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   877
          this.hideModal()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   878
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   879
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   880
    , enforceFocus: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   881
        var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   882
        $(document).on('focusin.modal', function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   883
          if (that.$element[0] !== e.target && !that.$element.has(e.target).length) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   884
            that.$element.focus()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   885
          }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   886
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   887
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   888
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   889
    , escape: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   890
        var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   891
        if (this.isShown && this.options.keyboard) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   892
          this.$element.on('keyup.dismiss.modal', function ( e ) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   893
            e.which == 27 && that.hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   894
          })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   895
        } else if (!this.isShown) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   896
          this.$element.off('keyup.dismiss.modal')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   897
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   898
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   899
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   900
    , hideWithTransition: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   901
        var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   902
          , timeout = setTimeout(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   903
              that.$element.off($.support.transition.end)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   904
              that.hideModal()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   905
            }, 500)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   906
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   907
        this.$element.one($.support.transition.end, function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   908
          clearTimeout(timeout)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   909
          that.hideModal()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   910
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   911
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   912
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   913
    , hideModal: function (that) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   914
        this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   915
          .hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   916
          .trigger('hidden')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   917
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   918
        this.backdrop()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   919
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   920
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   921
    , removeBackdrop: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   922
        this.$backdrop.remove()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   923
        this.$backdrop = null
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   924
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   925
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   926
    , backdrop: function (callback) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   927
        var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   928
          , animate = this.$element.hasClass('fade') ? 'fade' : ''
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   929
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   930
        if (this.isShown && this.options.backdrop) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   931
          var doAnimate = $.support.transition && animate
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   932
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   933
          this.$backdrop = $('<div class="modal-backdrop ' + animate + '" />')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   934
            .appendTo(document.body)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   935
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   936
          this.$backdrop.click(
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   937
            this.options.backdrop == 'static' ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   938
              $.proxy(this.$element[0].focus, this.$element[0])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   939
            : $.proxy(this.hide, this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   940
          )
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   941
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   942
          if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   943
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   944
          this.$backdrop.addClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   945
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   946
          doAnimate ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   947
            this.$backdrop.one($.support.transition.end, callback) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   948
            callback()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   949
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   950
        } else if (!this.isShown && this.$backdrop) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   951
          this.$backdrop.removeClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   952
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   953
          $.support.transition && this.$element.hasClass('fade')?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   954
            this.$backdrop.one($.support.transition.end, $.proxy(this.removeBackdrop, this)) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   955
            this.removeBackdrop()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   956
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   957
        } else if (callback) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   958
          callback()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   959
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   960
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   961
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   962
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   963
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   964
 /* MODAL PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   965
  * ======================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   966
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   967
  var old = $.fn.modal
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   968
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   969
  $.fn.modal = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   970
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   971
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   972
        , data = $this.data('modal')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   973
        , options = $.extend({}, $.fn.modal.defaults, $this.data(), typeof option == 'object' && option)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   974
      if (!data) $this.data('modal', (data = new Modal(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   975
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   976
      else if (options.show) data.show()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   977
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   978
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   979
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   980
  $.fn.modal.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   981
      backdrop: true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   982
    , keyboard: true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   983
    , show: true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   984
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   985
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   986
  $.fn.modal.Constructor = Modal
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   987
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   988
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   989
 /* MODAL NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   990
  * ================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   991
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   992
  $.fn.modal.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   993
    $.fn.modal = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   994
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   995
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   996
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   997
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   998
 /* MODAL DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
   999
  * ============== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1000
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1001
  $(document).on('click.modal.data-api', '[data-toggle="modal"]', function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1002
    var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1003
      , href = $this.attr('href')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1004
      , $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) //strip for ie7
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1005
      , option = $target.data('modal') ? 'toggle' : $.extend({ remote:!/#/.test(href) && href }, $target.data(), $this.data())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1006
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1007
    e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1008
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1009
    $target
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1010
      .modal(option)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1011
      .one('hide', function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1012
        $this.focus()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1013
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1014
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1015
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1016
}(window.jQuery);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1017
/* ===========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1018
 * bootstrap-tooltip.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1019
 * http://twitter.github.com/bootstrap/javascript.html#tooltips
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1020
 * Inspired by the original jQuery.tipsy by Jason Frame
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1021
 * ===========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1022
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1023
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1024
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1025
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1026
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1027
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1028
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1029
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1030
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1031
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1032
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1033
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1034
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1035
 * ========================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1036
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1037
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1038
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1039
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1040
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1041
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1042
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1043
 /* TOOLTIP PUBLIC CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1044
  * =============================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1045
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1046
  var Tooltip = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1047
    this.init('tooltip', element, options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1048
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1049
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1050
  Tooltip.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1051
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1052
    constructor: Tooltip
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1053
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1054
  , init: function (type, element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1055
      var eventIn
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1056
        , eventOut
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1057
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1058
      this.type = type
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1059
      this.$element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1060
      this.options = this.getOptions(options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1061
      this.enabled = true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1062
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1063
      if (this.options.trigger == 'click') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1064
        this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1065
      } else if (this.options.trigger != 'manual') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1066
        eventIn = this.options.trigger == 'hover' ? 'mouseenter' : 'focus'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1067
        eventOut = this.options.trigger == 'hover' ? 'mouseleave' : 'blur'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1068
        this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1069
        this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1070
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1071
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1072
      this.options.selector ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1073
        (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1074
        this.fixTitle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1075
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1076
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1077
  , getOptions: function (options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1078
      options = $.extend({}, $.fn[this.type].defaults, options, this.$element.data())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1079
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1080
      if (options.delay && typeof options.delay == 'number') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1081
        options.delay = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1082
          show: options.delay
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1083
        , hide: options.delay
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1084
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1085
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1086
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1087
      return options
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1088
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1089
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1090
  , enter: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1091
      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1092
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1093
      if (!self.options.delay || !self.options.delay.show) return self.show()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1094
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1095
      clearTimeout(this.timeout)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1096
      self.hoverState = 'in'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1097
      this.timeout = setTimeout(function() {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1098
        if (self.hoverState == 'in') self.show()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1099
      }, self.options.delay.show)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1100
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1101
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1102
  , leave: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1103
      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1104
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1105
      if (this.timeout) clearTimeout(this.timeout)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1106
      if (!self.options.delay || !self.options.delay.hide) return self.hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1107
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1108
      self.hoverState = 'out'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1109
      this.timeout = setTimeout(function() {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1110
        if (self.hoverState == 'out') self.hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1111
      }, self.options.delay.hide)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1112
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1113
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1114
  , show: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1115
      var $tip
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1116
        , inside
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1117
        , pos
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1118
        , actualWidth
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1119
        , actualHeight
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1120
        , placement
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1121
        , tp
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1122
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1123
      if (this.hasContent() && this.enabled) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1124
        $tip = this.tip()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1125
        this.setContent()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1126
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1127
        if (this.options.animation) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1128
          $tip.addClass('fade')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1129
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1130
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1131
        placement = typeof this.options.placement == 'function' ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1132
          this.options.placement.call(this, $tip[0], this.$element[0]) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1133
          this.options.placement
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1134
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1135
        inside = /in/.test(placement)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1136
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1137
        $tip
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1138
          .detach()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1139
          .css({ top: 0, left: 0, display: 'block' })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1140
          .insertAfter(this.$element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1141
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1142
        pos = this.getPosition(inside)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1143
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1144
        actualWidth = $tip[0].offsetWidth
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1145
        actualHeight = $tip[0].offsetHeight
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1146
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1147
        switch (inside ? placement.split(' ')[1] : placement) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1148
          case 'bottom':
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1149
            tp = {top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2}
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1150
            break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1151
          case 'top':
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1152
            tp = {top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2}
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1153
            break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1154
          case 'left':
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1155
            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth}
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1156
            break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1157
          case 'right':
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1158
            tp = {top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width}
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1159
            break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1160
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1161
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1162
        $tip
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1163
          .offset(tp)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1164
          .addClass(placement)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1165
          .addClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1166
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1167
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1168
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1169
  , setContent: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1170
      var $tip = this.tip()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1171
        , title = this.getTitle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1172
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1173
      $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1174
      $tip.removeClass('fade in top bottom left right')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1175
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1176
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1177
  , hide: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1178
      var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1179
        , $tip = this.tip()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1180
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1181
      $tip.removeClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1182
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1183
      function removeWithAnimation() {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1184
        var timeout = setTimeout(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1185
          $tip.off($.support.transition.end).detach()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1186
        }, 500)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1187
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1188
        $tip.one($.support.transition.end, function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1189
          clearTimeout(timeout)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1190
          $tip.detach()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1191
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1192
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1193
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1194
      $.support.transition && this.$tip.hasClass('fade') ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1195
        removeWithAnimation() :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1196
        $tip.detach()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1197
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1198
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1199
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1200
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1201
  , fixTitle: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1202
      var $e = this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1203
      if ($e.attr('title') || typeof($e.attr('data-original-title')) != 'string') {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1204
        $e.attr('data-original-title', $e.attr('title') || '').removeAttr('title')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1205
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1206
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1207
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1208
  , hasContent: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1209
      return this.getTitle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1210
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1211
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1212
  , getPosition: function (inside) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1213
      return $.extend({}, (inside ? {top: 0, left: 0} : this.$element.offset()), {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1214
        width: this.$element[0].offsetWidth
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1215
      , height: this.$element[0].offsetHeight
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1216
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1217
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1218
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1219
  , getTitle: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1220
      var title
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1221
        , $e = this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1222
        , o = this.options
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1223
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1224
      title = $e.attr('data-original-title')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1225
        || (typeof o.title == 'function' ? o.title.call($e[0]) :  o.title)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1226
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1227
      return title
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1228
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1229
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1230
  , tip: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1231
      return this.$tip = this.$tip || $(this.options.template)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1232
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1233
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1234
  , validate: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1235
      if (!this.$element[0].parentNode) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1236
        this.hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1237
        this.$element = null
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1238
        this.options = null
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1239
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1240
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1241
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1242
  , enable: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1243
      this.enabled = true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1244
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1245
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1246
  , disable: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1247
      this.enabled = false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1248
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1249
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1250
  , toggleEnabled: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1251
      this.enabled = !this.enabled
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1252
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1253
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1254
  , toggle: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1255
      var self = $(e.currentTarget)[this.type](this._options).data(this.type)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1256
      self[self.tip().hasClass('in') ? 'hide' : 'show']()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1257
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1258
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1259
  , destroy: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1260
      this.hide().$element.off('.' + this.type).removeData(this.type)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1261
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1262
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1263
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1264
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1265
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1266
 /* TOOLTIP PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1267
  * ========================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1268
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1269
  var old = $.fn.tooltip
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1270
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1271
  $.fn.tooltip = function ( option ) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1272
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1273
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1274
        , data = $this.data('tooltip')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1275
        , options = typeof option == 'object' && option
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1276
      if (!data) $this.data('tooltip', (data = new Tooltip(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1277
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1278
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1279
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1280
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1281
  $.fn.tooltip.Constructor = Tooltip
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1282
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1283
  $.fn.tooltip.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1284
    animation: true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1285
  , placement: 'top'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1286
  , selector: false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1287
  , template: '<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1288
  , trigger: 'hover'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1289
  , title: ''
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1290
  , delay: 0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1291
  , html: false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1292
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1293
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1294
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1295
 /* TOOLTIP NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1296
  * =================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1297
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1298
  $.fn.tooltip.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1299
    $.fn.tooltip = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1300
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1301
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1302
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1303
}(window.jQuery);/* ===========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1304
 * bootstrap-popover.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1305
 * http://twitter.github.com/bootstrap/javascript.html#popovers
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1306
 * ===========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1307
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1308
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1309
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1310
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1311
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1312
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1313
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1314
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1315
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1316
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1317
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1318
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1319
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1320
 * =========================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1321
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1322
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1323
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1324
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1325
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1326
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1327
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1328
 /* POPOVER PUBLIC CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1329
  * =============================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1330
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1331
  var Popover = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1332
    this.init('popover', element, options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1333
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1334
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1335
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1336
  /* NOTE: POPOVER EXTENDS BOOTSTRAP-TOOLTIP.js
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1337
     ========================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1338
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1339
  Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype, {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1340
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1341
    constructor: Popover
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1342
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1343
  , setContent: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1344
      var $tip = this.tip()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1345
        , title = this.getTitle()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1346
        , content = this.getContent()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1347
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1348
      $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1349
      $tip.find('.popover-content')[this.options.html ? 'html' : 'text'](content)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1350
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1351
      $tip.removeClass('fade top bottom left right in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1352
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1353
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1354
  , hasContent: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1355
      return this.getTitle() || this.getContent()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1356
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1357
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1358
  , getContent: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1359
      var content
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1360
        , $e = this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1361
        , o = this.options
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1362
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1363
      content = $e.attr('data-content')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1364
        || (typeof o.content == 'function' ? o.content.call($e[0]) :  o.content)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1365
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1366
      return content
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1367
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1368
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1369
  , tip: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1370
      if (!this.$tip) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1371
        this.$tip = $(this.options.template)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1372
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1373
      return this.$tip
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1374
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1375
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1376
  , destroy: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1377
      this.hide().$element.off('.' + this.type).removeData(this.type)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1378
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1379
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1380
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1381
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1382
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1383
 /* POPOVER PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1384
  * ======================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1385
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1386
  var old = $.fn.popover
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1387
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1388
  $.fn.popover = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1389
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1390
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1391
        , data = $this.data('popover')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1392
        , options = typeof option == 'object' && option
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1393
      if (!data) $this.data('popover', (data = new Popover(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1394
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1395
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1396
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1397
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1398
  $.fn.popover.Constructor = Popover
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1399
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1400
  $.fn.popover.defaults = $.extend({} , $.fn.tooltip.defaults, {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1401
    placement: 'right'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1402
  , trigger: 'click'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1403
  , content: ''
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1404
  , template: '<div class="popover"><div class="arrow"></div><div class="popover-inner"><h3 class="popover-title"></h3><div class="popover-content"></div></div></div>'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1405
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1406
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1407
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1408
 /* POPOVER NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1409
  * =================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1410
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1411
  $.fn.popover.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1412
    $.fn.popover = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1413
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1414
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1415
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1416
}(window.jQuery);/* =============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1417
 * bootstrap-scrollspy.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1418
 * http://twitter.github.com/bootstrap/javascript.html#scrollspy
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1419
 * =============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1420
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1421
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1422
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1423
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1424
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1425
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1426
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1427
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1428
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1429
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1430
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1431
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1432
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1433
 * ============================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1434
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1435
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1436
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1437
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1438
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1439
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1440
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1441
 /* SCROLLSPY CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1442
  * ========================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1443
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1444
  function ScrollSpy(element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1445
    var process = $.proxy(this.process, this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1446
      , $element = $(element).is('body') ? $(window) : $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1447
      , href
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1448
    this.options = $.extend({}, $.fn.scrollspy.defaults, options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1449
    this.$scrollElement = $element.on('scroll.scroll-spy.data-api', process)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1450
    this.selector = (this.options.target
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1451
      || ((href = $(element).attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1452
      || '') + ' .nav li > a'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1453
    this.$body = $('body')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1454
    this.refresh()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1455
    this.process()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1456
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1457
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1458
  ScrollSpy.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1459
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1460
      constructor: ScrollSpy
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1461
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1462
    , refresh: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1463
        var self = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1464
          , $targets
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1465
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1466
        this.offsets = $([])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1467
        this.targets = $([])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1468
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1469
        $targets = this.$body
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1470
          .find(this.selector)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1471
          .map(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1472
            var $el = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1473
              , href = $el.data('target') || $el.attr('href')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1474
              , $href = /^#\w/.test(href) && $(href)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1475
            return ( $href
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1476
              && $href.length
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1477
              && [[ $href.position().top + self.$scrollElement.scrollTop(), href ]] ) || null
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1478
          })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1479
          .sort(function (a, b) { return a[0] - b[0] })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1480
          .each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1481
            self.offsets.push(this[0])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1482
            self.targets.push(this[1])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1483
          })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1484
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1485
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1486
    , process: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1487
        var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1488
          , scrollHeight = this.$scrollElement[0].scrollHeight || this.$body[0].scrollHeight
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1489
          , maxScroll = scrollHeight - this.$scrollElement.height()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1490
          , offsets = this.offsets
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1491
          , targets = this.targets
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1492
          , activeTarget = this.activeTarget
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1493
          , i
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1494
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1495
        if (scrollTop >= maxScroll) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1496
          return activeTarget != (i = targets.last()[0])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1497
            && this.activate ( i )
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1498
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1499
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1500
        for (i = offsets.length; i--;) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1501
          activeTarget != targets[i]
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1502
            && scrollTop >= offsets[i]
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1503
            && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1504
            && this.activate( targets[i] )
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1505
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1506
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1507
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1508
    , activate: function (target) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1509
        var active
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1510
          , selector
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1511
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1512
        this.activeTarget = target
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1513
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1514
        $(this.selector)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1515
          .parent('.active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1516
          .removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1517
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1518
        selector = this.selector
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1519
          + '[data-target="' + target + '"],'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1520
          + this.selector + '[href="' + target + '"]'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1521
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1522
        active = $(selector)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1523
          .parent('li')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1524
          .addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1525
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1526
        if (active.parent('.dropdown-menu').length)  {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1527
          active = active.closest('li.dropdown').addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1528
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1529
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1530
        active.trigger('activate')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1531
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1532
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1533
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1534
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1535
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1536
 /* SCROLLSPY PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1537
  * =========================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1538
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1539
  var old = $.fn.scrollspy
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1540
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1541
  $.fn.scrollspy = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1542
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1543
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1544
        , data = $this.data('scrollspy')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1545
        , options = typeof option == 'object' && option
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1546
      if (!data) $this.data('scrollspy', (data = new ScrollSpy(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1547
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1548
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1549
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1550
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1551
  $.fn.scrollspy.Constructor = ScrollSpy
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1552
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1553
  $.fn.scrollspy.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1554
    offset: 10
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1555
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1556
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1557
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1558
 /* SCROLLSPY NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1559
  * ===================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1560
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1561
  $.fn.scrollspy.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1562
    $.fn.scrollspy = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1563
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1564
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1565
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1566
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1567
 /* SCROLLSPY DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1568
  * ================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1569
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1570
  $(window).on('load', function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1571
    $('[data-spy="scroll"]').each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1572
      var $spy = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1573
      $spy.scrollspy($spy.data())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1574
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1575
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1576
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1577
}(window.jQuery);/* ========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1578
 * bootstrap-tab.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1579
 * http://twitter.github.com/bootstrap/javascript.html#tabs
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1580
 * ========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1581
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1582
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1583
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1584
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1585
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1586
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1587
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1588
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1589
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1590
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1591
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1592
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1593
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1594
 * ======================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1595
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1596
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1597
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1598
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1599
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1600
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1601
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1602
 /* TAB CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1603
  * ==================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1604
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1605
  var Tab = function (element) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1606
    this.element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1607
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1608
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1609
  Tab.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1610
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1611
    constructor: Tab
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1612
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1613
  , show: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1614
      var $this = this.element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1615
        , $ul = $this.closest('ul:not(.dropdown-menu)')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1616
        , selector = $this.attr('data-target')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1617
        , previous
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1618
        , $target
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1619
        , e
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1620
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1621
      if (!selector) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1622
        selector = $this.attr('href')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1623
        selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') //strip for ie7
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1624
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1625
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1626
      if ( $this.parent('li').hasClass('active') ) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1627
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1628
      previous = $ul.find('.active:last a')[0]
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1629
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1630
      e = $.Event('show', {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1631
        relatedTarget: previous
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1632
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1633
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1634
      $this.trigger(e)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1635
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1636
      if (e.isDefaultPrevented()) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1637
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1638
      $target = $(selector)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1639
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1640
      this.activate($this.parent('li'), $ul)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1641
      this.activate($target, $target.parent(), function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1642
        $this.trigger({
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1643
          type: 'shown'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1644
        , relatedTarget: previous
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1645
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1646
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1647
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1648
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1649
  , activate: function ( element, container, callback) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1650
      var $active = container.find('> .active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1651
        , transition = callback
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1652
            && $.support.transition
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1653
            && $active.hasClass('fade')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1654
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1655
      function next() {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1656
        $active
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1657
          .removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1658
          .find('> .dropdown-menu > .active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1659
          .removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1660
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1661
        element.addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1662
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1663
        if (transition) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1664
          element[0].offsetWidth // reflow for transition
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1665
          element.addClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1666
        } else {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1667
          element.removeClass('fade')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1668
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1669
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1670
        if ( element.parent('.dropdown-menu') ) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1671
          element.closest('li.dropdown').addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1672
        }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1673
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1674
        callback && callback()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1675
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1676
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1677
      transition ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1678
        $active.one($.support.transition.end, next) :
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1679
        next()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1680
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1681
      $active.removeClass('in')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1682
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1683
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1684
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1685
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1686
 /* TAB PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1687
  * ===================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1688
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1689
  var old = $.fn.tab
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1690
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1691
  $.fn.tab = function ( option ) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1692
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1693
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1694
        , data = $this.data('tab')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1695
      if (!data) $this.data('tab', (data = new Tab(this)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1696
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1697
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1698
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1699
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1700
  $.fn.tab.Constructor = Tab
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1701
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1702
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1703
 /* TAB NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1704
  * =============== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1705
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1706
  $.fn.tab.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1707
    $.fn.tab = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1708
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1709
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1710
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1711
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1712
 /* TAB DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1713
  * ============ */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1714
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1715
  $(document).on('click.tab.data-api', '[data-toggle="tab"], [data-toggle="pill"]', function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1716
    e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1717
    $(this).tab('show')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1718
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1719
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1720
}(window.jQuery);/* =============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1721
 * bootstrap-typeahead.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1722
 * http://twitter.github.com/bootstrap/javascript.html#typeahead
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1723
 * =============================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1724
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1725
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1726
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1727
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1728
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1729
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1730
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1731
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1732
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1733
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1734
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1735
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1736
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1737
 * ============================================================ */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1738
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1739
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1740
!function($){
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1741
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1742
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1743
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1744
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1745
 /* TYPEAHEAD PUBLIC CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1746
  * ================================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1747
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1748
  var Typeahead = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1749
    this.$element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1750
    this.options = $.extend({}, $.fn.typeahead.defaults, options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1751
    this.matcher = this.options.matcher || this.matcher
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1752
    this.sorter = this.options.sorter || this.sorter
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1753
    this.highlighter = this.options.highlighter || this.highlighter
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1754
    this.updater = this.options.updater || this.updater
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1755
    this.source = this.options.source
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1756
    this.$menu = $(this.options.menu)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1757
    this.shown = false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1758
    this.listen()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1759
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1760
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1761
  Typeahead.prototype = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1762
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1763
    constructor: Typeahead
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1764
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1765
  , select: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1766
      var val = this.$menu.find('.active').attr('data-value')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1767
      this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1768
        .val(this.updater(val))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1769
        .change()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1770
      return this.hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1771
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1772
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1773
  , updater: function (item) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1774
      return item
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1775
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1776
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1777
  , show: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1778
      var pos = $.extend({}, this.$element.position(), {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1779
        height: this.$element[0].offsetHeight
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1780
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1781
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1782
      this.$menu
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1783
        .insertAfter(this.$element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1784
        .css({
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1785
          top: pos.top + pos.height
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1786
        , left: pos.left
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1787
        })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1788
        .show()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1789
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1790
      this.shown = true
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1791
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1792
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1793
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1794
  , hide: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1795
      this.$menu.hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1796
      this.shown = false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1797
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1798
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1799
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1800
  , lookup: function (event) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1801
      var items
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1802
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1803
      this.query = this.$element.val()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1804
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1805
      if (!this.query || this.query.length < this.options.minLength) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1806
        return this.shown ? this.hide() : this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1807
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1808
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1809
      items = $.isFunction(this.source) ? this.source(this.query, $.proxy(this.process, this)) : this.source
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1810
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1811
      return items ? this.process(items) : this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1812
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1813
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1814
  , process: function (items) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1815
      var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1816
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1817
      items = $.grep(items, function (item) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1818
        return that.matcher(item)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1819
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1820
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1821
      items = this.sorter(items)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1822
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1823
      if (!items.length) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1824
        return this.shown ? this.hide() : this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1825
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1826
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1827
      return this.render(items.slice(0, this.options.items)).show()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1828
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1829
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1830
  , matcher: function (item) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1831
      return ~item.toLowerCase().indexOf(this.query.toLowerCase())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1832
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1833
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1834
  , sorter: function (items) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1835
      var beginswith = []
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1836
        , caseSensitive = []
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1837
        , caseInsensitive = []
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1838
        , item
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1839
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1840
      while (item = items.shift()) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1841
        if (!item.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1842
        else if (~item.indexOf(this.query)) caseSensitive.push(item)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1843
        else caseInsensitive.push(item)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1844
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1845
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1846
      return beginswith.concat(caseSensitive, caseInsensitive)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1847
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1848
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1849
  , highlighter: function (item) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1850
      var query = this.query.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\\$&')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1851
      return item.replace(new RegExp('(' + query + ')', 'ig'), function ($1, match) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1852
        return '<strong>' + match + '</strong>'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1853
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1854
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1855
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1856
  , render: function (items) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1857
      var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1858
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1859
      items = $(items).map(function (i, item) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1860
        i = $(that.options.item).attr('data-value', item)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1861
        i.find('a').html(that.highlighter(item))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1862
        return i[0]
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1863
      })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1864
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1865
      items.first().addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1866
      this.$menu.html(items)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1867
      return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1868
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1869
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1870
  , next: function (event) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1871
      var active = this.$menu.find('.active').removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1872
        , next = active.next()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1873
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1874
      if (!next.length) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1875
        next = $(this.$menu.find('li')[0])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1876
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1877
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1878
      next.addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1879
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1880
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1881
  , prev: function (event) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1882
      var active = this.$menu.find('.active').removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1883
        , prev = active.prev()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1884
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1885
      if (!prev.length) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1886
        prev = this.$menu.find('li').last()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1887
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1888
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1889
      prev.addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1890
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1891
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1892
  , listen: function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1893
      this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1894
        .on('blur',     $.proxy(this.blur, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1895
        .on('keypress', $.proxy(this.keypress, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1896
        .on('keyup',    $.proxy(this.keyup, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1897
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1898
      if (this.eventSupported('keydown')) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1899
        this.$element.on('keydown', $.proxy(this.keydown, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1900
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1901
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1902
      this.$menu
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1903
        .on('click', $.proxy(this.click, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1904
        .on('mouseenter', 'li', $.proxy(this.mouseenter, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1905
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1906
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1907
  , eventSupported: function(eventName) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1908
      var isSupported = eventName in this.$element
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1909
      if (!isSupported) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1910
        this.$element.setAttribute(eventName, 'return;')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1911
        isSupported = typeof this.$element[eventName] === 'function'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1912
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1913
      return isSupported
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1914
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1915
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1916
  , move: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1917
      if (!this.shown) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1918
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1919
      switch(e.keyCode) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1920
        case 9: // tab
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1921
        case 13: // enter
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1922
        case 27: // escape
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1923
          e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1924
          break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1925
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1926
        case 38: // up arrow
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1927
          e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1928
          this.prev()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1929
          break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1930
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1931
        case 40: // down arrow
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1932
          e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1933
          this.next()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1934
          break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1935
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1936
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1937
      e.stopPropagation()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1938
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1939
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1940
  , keydown: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1941
      this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27])
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1942
      this.move(e)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1943
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1944
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1945
  , keypress: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1946
      if (this.suppressKeyPressRepeat) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1947
      this.move(e)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1948
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1949
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1950
  , keyup: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1951
      switch(e.keyCode) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1952
        case 40: // down arrow
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1953
        case 38: // up arrow
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1954
        case 16: // shift
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1955
        case 17: // ctrl
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1956
        case 18: // alt
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1957
          break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1958
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1959
        case 9: // tab
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1960
        case 13: // enter
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1961
          if (!this.shown) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1962
          this.select()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1963
          break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1964
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1965
        case 27: // escape
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1966
          if (!this.shown) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1967
          this.hide()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1968
          break
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1969
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1970
        default:
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1971
          this.lookup()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1972
      }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1973
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1974
      e.stopPropagation()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1975
      e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1976
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1977
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1978
  , blur: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1979
      var that = this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1980
      setTimeout(function () { that.hide() }, 150)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1981
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1982
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1983
  , click: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1984
      e.stopPropagation()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1985
      e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1986
      this.select()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1987
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1988
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1989
  , mouseenter: function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1990
      this.$menu.find('.active').removeClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1991
      $(e.currentTarget).addClass('active')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1992
    }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1993
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1994
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1995
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1996
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1997
  /* TYPEAHEAD PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1998
   * =========================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  1999
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2000
  var old = $.fn.typeahead
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2001
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2002
  $.fn.typeahead = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2003
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2004
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2005
        , data = $this.data('typeahead')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2006
        , options = typeof option == 'object' && option
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2007
      if (!data) $this.data('typeahead', (data = new Typeahead(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2008
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2009
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2010
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2011
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2012
  $.fn.typeahead.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2013
    source: []
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2014
  , items: 8
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2015
  , menu: '<ul class="typeahead dropdown-menu"></ul>'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2016
  , item: '<li><a href="#"></a></li>'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2017
  , minLength: 1
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2018
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2019
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2020
  $.fn.typeahead.Constructor = Typeahead
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2021
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2022
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2023
 /* TYPEAHEAD NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2024
  * =================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2025
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2026
  $.fn.typeahead.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2027
    $.fn.typeahead = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2028
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2029
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2030
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2031
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2032
 /* TYPEAHEAD DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2033
  * ================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2034
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2035
  $(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2036
    var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2037
    if ($this.data('typeahead')) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2038
    e.preventDefault()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2039
    $this.typeahead($this.data())
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2040
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2041
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2042
}(window.jQuery);
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2043
/* ==========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2044
 * bootstrap-affix.js v2.2.2
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2045
 * http://twitter.github.com/bootstrap/javascript.html#affix
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2046
 * ==========================================================
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2047
 * Copyright 2012 Twitter, Inc.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2048
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2049
 * Licensed under the Apache License, Version 2.0 (the "License");
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2050
 * you may not use this file except in compliance with the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2051
 * You may obtain a copy of the License at
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2052
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2053
 * http://www.apache.org/licenses/LICENSE-2.0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2054
 *
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2055
 * Unless required by applicable law or agreed to in writing, software
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2056
 * distributed under the License is distributed on an "AS IS" BASIS,
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2057
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2058
 * See the License for the specific language governing permissions and
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2059
 * limitations under the License.
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2060
 * ========================================================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2061
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2062
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2063
!function ($) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2064
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2065
  "use strict"; // jshint ;_;
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2066
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2067
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2068
 /* AFFIX CLASS DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2069
  * ====================== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2070
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2071
  var Affix = function (element, options) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2072
    this.options = $.extend({}, $.fn.affix.defaults, options)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2073
    this.$window = $(window)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2074
      .on('scroll.affix.data-api', $.proxy(this.checkPosition, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2075
      .on('click.affix.data-api',  $.proxy(function () { setTimeout($.proxy(this.checkPosition, this), 1) }, this))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2076
    this.$element = $(element)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2077
    this.checkPosition()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2078
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2079
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2080
  Affix.prototype.checkPosition = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2081
    if (!this.$element.is(':visible')) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2082
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2083
    var scrollHeight = $(document).height()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2084
      , scrollTop = this.$window.scrollTop()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2085
      , position = this.$element.offset()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2086
      , offset = this.options.offset
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2087
      , offsetBottom = offset.bottom
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2088
      , offsetTop = offset.top
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2089
      , reset = 'affix affix-top affix-bottom'
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2090
      , affix
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2091
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2092
    if (typeof offset != 'object') offsetBottom = offsetTop = offset
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2093
    if (typeof offsetTop == 'function') offsetTop = offset.top()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2094
    if (typeof offsetBottom == 'function') offsetBottom = offset.bottom()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2095
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2096
    affix = this.unpin != null && (scrollTop + this.unpin <= position.top) ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2097
      false    : offsetBottom != null && (position.top + this.$element.height() >= scrollHeight - offsetBottom) ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2098
      'bottom' : offsetTop != null && scrollTop <= offsetTop ?
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2099
      'top'    : false
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2100
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2101
    if (this.affixed === affix) return
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2102
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2103
    this.affixed = affix
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2104
    this.unpin = affix == 'bottom' ? position.top - scrollTop : null
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2105
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2106
    this.$element.removeClass(reset).addClass('affix' + (affix ? '-' + affix : ''))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2107
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2108
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2109
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2110
 /* AFFIX PLUGIN DEFINITION
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2111
  * ======================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2112
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2113
  var old = $.fn.affix
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2114
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2115
  $.fn.affix = function (option) {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2116
    return this.each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2117
      var $this = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2118
        , data = $this.data('affix')
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2119
        , options = typeof option == 'object' && option
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2120
      if (!data) $this.data('affix', (data = new Affix(this, options)))
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2121
      if (typeof option == 'string') data[option]()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2122
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2123
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2124
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2125
  $.fn.affix.Constructor = Affix
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2126
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2127
  $.fn.affix.defaults = {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2128
    offset: 0
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2129
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2130
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2131
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2132
 /* AFFIX NO CONFLICT
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2133
  * ================= */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2134
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2135
  $.fn.affix.noConflict = function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2136
    $.fn.affix = old
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2137
    return this
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2138
  }
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2139
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2140
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2141
 /* AFFIX DATA-API
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2142
  * ============== */
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2143
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2144
  $(window).on('load', function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2145
    $('[data-spy="affix"]').each(function () {
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2146
      var $spy = $(this)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2147
        , data = $spy.data()
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2148
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2149
      data.offset = data.offset || {}
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2150
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2151
      data.offsetBottom && (data.offset.bottom = data.offsetBottom)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2152
      data.offsetTop && (data.offset.top = data.offsetTop)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2153
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2154
      $spy.affix(data)
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2155
    })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2156
  })
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2157
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2158
3906ca745819 First commit!
Dan Fuhry <dan@fuhry.us>
parents:
diff changeset
  2159
}(window.jQuery);