| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447 | 
							- /*
 
-  * Foundation Responsive Library
 
-  * http://foundation.zurb.com
 
-  * Copyright 2013, ZURB
 
-  * Free to use under the MIT license.
 
-  * http://www.opensource.org/licenses/mit-license.php
 
- */
 
- /*jslint unparam: true, browser: true, indent: 2 */
 
- // Accommodate running jQuery or Zepto in noConflict() mode by
 
- // using an anonymous function to redefine the $ shorthand name.
 
- // See http://docs.jquery.com/Using_jQuery_with_Other_Libraries
 
- // and http://zeptojs.com/
 
- var libFuncName = null;
 
- if (typeof jQuery === "undefined" &&
 
-     typeof Zepto === "undefined" &&
 
-     typeof $ === "function") {
 
-   libFuncName = $;
 
- } else if (typeof jQuery === "function") {
 
-   libFuncName = jQuery;
 
- } else if (typeof Zepto === "function") {
 
-   libFuncName = Zepto;
 
- } else {
 
-   throw new TypeError();
 
- }
 
- (function ($, window, document, undefined) {
 
-   'use strict';
 
-   /*
 
-     matchMedia() polyfill - Test a CSS media 
 
-     type/query in JS. Authors & copyright (c) 2012: 
 
-     Scott Jehl, Paul Irish, Nicholas Zakas. 
 
-     Dual MIT/BSD license
 
-     https://github.com/paulirish/matchMedia.js
 
-   */
 
-   window.matchMedia = window.matchMedia || (function( doc, undefined ) {
 
-     "use strict";
 
-     var bool,
 
-         docElem = doc.documentElement,
 
-         refNode = docElem.firstElementChild || docElem.firstChild,
 
-         // fakeBody required for <FF4 when executed in <head>
 
-         fakeBody = doc.createElement( "body" ),
 
-         div = doc.createElement( "div" );
 
-     div.id = "mq-test-1";
 
-     div.style.cssText = "position:absolute;top:-100em";
 
-     fakeBody.style.background = "none";
 
-     fakeBody.appendChild(div);
 
-     return function(q){
 
-       div.innerHTML = "­<style media=\"" + q + "\"> #mq-test-1 { width: 42px; }</style>";
 
-       docElem.insertBefore( fakeBody, refNode );
 
-       bool = div.offsetWidth === 42;
 
-       docElem.removeChild( fakeBody );
 
-       return {
 
-         matches: bool,
 
-         media: q
 
-       };
 
-     };
 
-   }( document ));
 
-   // add dusty browser stuff
 
-   if (!Array.prototype.filter) {
 
-     Array.prototype.filter = function(fun /*, thisp */) {
 
-       "use strict";
 
-    
 
-       if (this == null) {
 
-         throw new TypeError();
 
-       }
 
-       var t = Object(this),
 
-           len = t.length >>> 0;
 
-       if (typeof fun != "function") {
 
-           return;
 
-       }
 
-       var res = [],
 
-           thisp = arguments[1];
 
-       for (var i = 0; i < len; i++) {
 
-         if (i in t) {
 
-           var val = t[i]; // in case fun mutates this
 
-           if (fun && fun.call(thisp, val, i, t)) {
 
-             res.push(val);
 
-           }
 
-         }
 
-       }
 
-       return res;
 
-     }
 
-   }
 
-   if (!Function.prototype.bind) {
 
-     Function.prototype.bind = function (oThis) {
 
-       if (typeof this !== "function") {
 
-         // closest thing possible to the ECMAScript 5 internal IsCallable function
 
-         throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable");
 
-       }
 
-    
 
-       var aArgs = Array.prototype.slice.call(arguments, 1), 
 
-           fToBind = this, 
 
-           fNOP = function () {},
 
-           fBound = function () {
 
-             return fToBind.apply(this instanceof fNOP && oThis
 
-                ? this
 
-                : oThis,
 
-              aArgs.concat(Array.prototype.slice.call(arguments)));
 
-           };
 
-    
 
-       fNOP.prototype = this.prototype;
 
-       fBound.prototype = new fNOP();
 
-    
 
-       return fBound;
 
-     };
 
-   }
 
-   if (!Array.prototype.indexOf) {
 
-     Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {
 
-       "use strict";
 
-       if (this == null) {
 
-         throw new TypeError();
 
-       }
 
-       var t = Object(this);
 
-       var len = t.length >>> 0;
 
-       if (len === 0) {
 
-         return -1;
 
-       }
 
-       var n = 0;
 
-       if (arguments.length > 1) {
 
-         n = Number(arguments[1]);
 
-         if (n != n) { // shortcut for verifying if it's NaN
 
-           n = 0;
 
-         } else if (n != 0 && n != Infinity && n != -Infinity) {
 
-           n = (n > 0 || -1) * Math.floor(Math.abs(n));
 
-         }
 
-       }
 
-       if (n >= len) {
 
-           return -1;
 
-       }
 
-       var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);
 
-       for (; k < len; k++) {
 
-         if (k in t && t[k] === searchElement) {
 
-           return k;
 
-         }
 
-       }
 
-       return -1;
 
-     }
 
-   }
 
-   // fake stop() for zepto.
 
-   $.fn.stop = $.fn.stop || function() {
 
-     return this;
 
-   };
 
-   window.Foundation = {
 
-     name : 'Foundation',
 
-     version : '4.2.0',
 
-     cache : {},
 
-     init : function (scope, libraries, method, options, response, /* internal */ nc) {
 
-       var library_arr,
 
-           args = [scope, method, options, response],
 
-           responses = [],
 
-           nc = nc || false;
 
-       // disable library error catching,
 
-       // used for development only
 
-       if (nc) this.nc = nc;
 
-       // check RTL
 
-       this.rtl = /rtl/i.test($('html').attr('dir'));
 
-       // set foundation global scope
 
-       this.scope = scope || this.scope;
 
-       if (libraries && typeof libraries === 'string' && !/reflow/i.test(libraries)) {
 
-         if (/off/i.test(libraries)) return this.off();
 
-         library_arr = libraries.split(' ');
 
-         if (library_arr.length > 0) {
 
-           for (var i = library_arr.length - 1; i >= 0; i--) {
 
-             responses.push(this.init_lib(library_arr[i], args));
 
-           }
 
-         }
 
-       } else {
 
-         if (/reflow/i.test(libraries)) args[1] = 'reflow';
 
-         for (var lib in this.libs) {
 
-           responses.push(this.init_lib(lib, args));
 
-         }
 
-       }
 
-       // if first argument is callback, add to args
 
-       if (typeof libraries === 'function') {
 
-         args.unshift(libraries);
 
-       }
 
-       return this.response_obj(responses, args);
 
-     },
 
-     response_obj : function (response_arr, args) {
 
-       for (var i = 0, len = args.length; i < len; i++) {
 
-         if (typeof args[i] === 'function') {
 
-           return args[i]({
 
-             errors: response_arr.filter(function (s) {
 
-               if (typeof s === 'string') return s;
 
-             })
 
-           });
 
-         }
 
-       }
 
-       return response_arr;
 
-     },
 
-     init_lib : function (lib, args) {
 
-       return this.trap(function () {
 
-         if (this.libs.hasOwnProperty(lib)) {
 
-           this.patch(this.libs[lib]);
 
-           return this.libs[lib].init.apply(this.libs[lib], args);
 
-         }
 
-         else {
 
-           return function () {};
 
-         }
 
-       }.bind(this), lib);
 
-     },
 
-     trap : function (fun, lib) {
 
-       if (!this.nc) {
 
-         try {
 
-           return fun();
 
-         } catch (e) {
 
-           return this.error({name: lib, message: 'could not be initialized', more: e.name + ' ' + e.message});
 
-         }
 
-       }
 
-       return fun();
 
-     },
 
-     patch : function (lib) {
 
-       this.fix_outer(lib);
 
-       lib.scope = this.scope;
 
-       lib.rtl = this.rtl;
 
-     },
 
-     inherit : function (scope, methods) {
 
-       var methods_arr = methods.split(' ');
 
-       for (var i = methods_arr.length - 1; i >= 0; i--) {
 
-         if (this.lib_methods.hasOwnProperty(methods_arr[i])) {
 
-           this.libs[scope.name][methods_arr[i]] = this.lib_methods[methods_arr[i]];
 
-         }
 
-       }
 
-     },
 
-     random_str : function (length) {
 
-       var chars = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split('');
 
-       if (!length) {
 
-         length = Math.floor(Math.random() * chars.length);
 
-       }
 
-       var str = '';
 
-       for (var i = 0; i < length; i++) {
 
-         str += chars[Math.floor(Math.random() * chars.length)];
 
-       }
 
-       return str;
 
-     },
 
-     libs : {},
 
-     // methods that can be inherited in libraries
 
-     lib_methods : {
 
-       set_data : function (node, data) {
 
-         // this.name references the name of the library calling this method
 
-         var id = [this.name,+new Date(),Foundation.random_str(5)].join('-');
 
-         Foundation.cache[id] = data;
 
-         node.attr('data-' + this.name + '-id', id);
 
-         return data;
 
-       },
 
-       get_data : function (node) {
 
-         return Foundation.cache[node.attr('data-' + this.name + '-id')];
 
-       },
 
-       remove_data : function (node) {
 
-         if (node) {
 
-           delete Foundation.cache[node.attr('data-' + this.name + '-id')];
 
-           node.attr('data-' + this.name + '-id', '');
 
-         } else {
 
-           $('[data-' + this.name + '-id]').each(function () {
 
-             delete Foundation.cache[$(this).attr('data-' + this.name + '-id')];
 
-             $(this).attr('data-' + this.name + '-id', '');
 
-           });
 
-         }
 
-       },
 
-       throttle : function(fun, delay) {
 
-         var timer = null;
 
-         return function () {
 
-           var context = this, args = arguments;
 
-           clearTimeout(timer);
 
-           timer = setTimeout(function () {
 
-             fun.apply(context, args);
 
-           }, delay);
 
-         };
 
-       },
 
-       // parses data-options attribute on nodes and turns
 
-       // them into an object
 
-       data_options : function (el) {
 
-         var opts = {}, ii, p,
 
-             opts_arr = (el.attr('data-options') || ':').split(';'),
 
-             opts_len = opts_arr.length;
 
-         function isNumber (o) {
 
-           return ! isNaN (o-0) && o !== null && o !== "" && o !== false && o !== true;
 
-         }
 
-         function trim(str) {
 
-           if (typeof str === 'string') return $.trim(str);
 
-           return str;
 
-         }
 
-         // parse options
 
-         for (ii = opts_len - 1; ii >= 0; ii--) {
 
-           p = opts_arr[ii].split(':');
 
-           if (/true/i.test(p[1])) p[1] = true;
 
-           if (/false/i.test(p[1])) p[1] = false;
 
-           if (isNumber(p[1])) p[1] = parseInt(p[1], 10);
 
-           if (p.length === 2 && p[0].length > 0) {
 
-             opts[trim(p[0])] = trim(p[1]);
 
-           }
 
-         }
 
-         return opts;
 
-       },
 
-       delay : function (fun, delay) {
 
-         return setTimeout(fun, delay);
 
-       },
 
-       // animated scrolling
 
-       scrollTo : function (el, to, duration) {
 
-         if (duration < 0) return;
 
-         var difference = to - $(window).scrollTop();
 
-         var perTick = difference / duration * 10;
 
-         this.scrollToTimerCache = setTimeout(function() {
 
-           if (!isNaN(parseInt(perTick, 10))) {
 
-             window.scrollTo(0, $(window).scrollTop() + perTick);
 
-             this.scrollTo(el, to, duration - 10);
 
-           }
 
-         }.bind(this), 10);
 
-       },
 
-       // not supported in core Zepto
 
-       scrollLeft : function (el) {
 
-         if (!el.length) return;
 
-         return ('scrollLeft' in el[0]) ? el[0].scrollLeft : el[0].pageXOffset;
 
-       },
 
-       // test for empty object or array
 
-       empty : function (obj) {
 
-         if (obj.length && obj.length > 0)    return false;
 
-         if (obj.length && obj.length === 0)  return true;
 
-         for (var key in obj) {
 
-           if (hasOwnProperty.call(obj, key))    return false;
 
-         }
 
-         return true;
 
-       }
 
-     },
 
-     fix_outer : function (lib) {
 
-       lib.outerHeight = function (el, bool) {
 
-         if (typeof Zepto === 'function') {
 
-           return el.height();
 
-         }
 
-         if (typeof bool !== 'undefined') {
 
-           return el.outerHeight(bool);
 
-         }
 
-         return el.outerHeight();
 
-       };
 
-       lib.outerWidth = function (el) {
 
-         if (typeof Zepto === 'function') {
 
-           return el.width();
 
-         }
 
-         if (typeof bool !== 'undefined') {
 
-           return el.outerWidth(bool);
 
-         }
 
-         return el.outerWidth();
 
-       };
 
-     },
 
-     error : function (error) {
 
-       return error.name + ' ' + error.message + '; ' + error.more;
 
-     },
 
-     // remove all foundation events.
 
-     off: function () {
 
-       $(this.scope).off('.fndtn');
 
-       $(window).off('.fndtn');
 
-       return true;
 
-     },
 
-     zj : function () {
 
-       if (typeof Zepto !== 'undefined') {
 
-         return Zepto;
 
-       } else {
 
-         return jQuery;
 
-       }
 
-     }()
 
-   };
 
-   $.fn.foundation = function () {
 
-     var args = Array.prototype.slice.call(arguments, 0);
 
-     return this.each(function () {
 
-       Foundation.init.apply(Foundation, [this].concat(args));
 
-       return this;
 
-     });
 
-   };
 
- }(libFuncName, this, this.document));
 
 
  |