text: /*! DataTables Foundation integration
   * ©2011-2015 SpryMedia Ltd - datatables.net/license
   */
  
  /**
   * DataTables integration for Foundation. This requires Foundation 5 and
   * DataTables 1.10 or newer.
   *
   * This file sets the defaults and adds options to DataTables to style its
   * controls using Foundation. See http://datatables.net/manual/styling/foundation
   * for further information.
   */
  (function (factory) {
  	if (typeof define === 'function' && define.amd) {
  		// AMD
  		define(['jquery', 'datatables.net'], function ($) {
  			return factory($, window, document);
  		});
  	} else if (typeof exports === 'object') {
  		// CommonJS
  		module.exports = function (root, $) {
  			if (!root) {
  				root = window;
  			}
  
  			if (!$ || !$.fn.dataTable) {
  				$ = require('datatables.net')(root, $).$;
  			}
  
  			return factory($, root, root.document);
  		};
  	} else {
  		// Browser
  		factory(jQuery, window, document);
  	}
  }(function ($, window, document, undefined) {
  	'use strict';
  	var DataTable = $.fn.dataTable;
  
  // Detect Foundation 5 / 6 as they have different element and class requirements
  	var meta = $('<meta class="foundation-mq"/>').appendTo('head');
  	DataTable.ext.foundationVersion = meta.css('font-family').match(/small|medium|large/) ? 6 : 5;
  	meta.remove();
  
  
  	$.extend(DataTable.ext.classes, {
  		sWrapper: "dataTables_wrapper dt-foundation",
  		sProcessing: "dataTables_processing panel callout"
  	});
  
  
  	/* Set the defaults for DataTables initialisation */
  	$.extend(true, DataTable.defaults, {
  		dom:
  			"<'row grid-x'<'small-6 columns cell'l><'small-6 columns cell'f>r>" +
  			"t" +
  			"<'row grid-x'<'small-6 columns cell'i><'small-6 columns cell'p>>",
  		renderer: 'foundation'
  	});
  
  
  	/* Page button renderer */
  	DataTable.ext.renderer.pageButton.foundation = function (settings, host, idx, buttons, page, pages) {
  		var api = new DataTable.Api(settings);
  		var classes = settings.oClasses;
  		var lang = settings.oLanguage.oPaginate;
  		var aria = settings.oLanguage.oAria.paginate || {};
  		var btnDisplay, btnClass;
  		var tag;
  		var v5 = DataTable.ext.foundationVersion === 5;
  
  		var attach = function (container, buttons) {
  			var i, ien, node, button;
  			var clickHandler = function (e) {
  				e.preventDefault();
  				if (!$(e.currentTarget).hasClass('unavailable') && api.page() != e.data.action) {
  					api.page(e.data.action).draw('page');
  				}
  			};
  
  			for (i = 0, ien = buttons.length; i < ien; i++) {
  				button = buttons[i];
  
  				if ($.isArray(button)) {
  					attach(container, button);
  				} else {
  					btnDisplay = '';
  					btnClass = '';
  					tag = null;
  
  					switch (button) {
  						case 'ellipsis':
  							btnDisplay = '&#x2026;';
  							btnClass = 'unavailable disabled';
  							tag = null;
  							break;
  
  						case 'first':
  							btnDisplay = lang.sFirst;
  							btnClass = button + (page > 0 ?
  								'' : ' unavailable disabled');
  							tag = page > 0 ? 'a' : null;
  							break;
  
  						case 'previous':
  							btnDisplay = lang.sPrevious;
  							btnClass = button + (page > 0 ?
  								'' : ' unavailable disabled');
  							tag = page > 0 ? 'a' : null;
  							break;
  
  						case 'next':
  							btnDisplay = lang.sNext;
  							btnClass = button + (page < pages - 1 ?
  								'' : ' unavailable disabled');
  							tag = page < pages - 1 ? 'a' : null;
  							break;
  
  						case 'last':
  							btnDisplay = lang.sLast;
  							btnClass = button + (page < pages - 1 ?
  								'' : ' unavailable disabled');
  							tag = page < pages - 1 ? 'a' : null;
  							break;
  
  						default:
  							btnDisplay = button + 1;
  							btnClass = page === button ?
  								'current' : '';
  							tag = page === button ?
  								null : 'a';
  							break;
  					}
  
  					if (v5) {
  						tag = 'a';
  					}
  
  					if (btnDisplay) {
  						node = $('<li>', {
  							'class': classes.sPageButton + ' ' + btnClass,
  							'aria-controls': settings.sTableId,
  							'aria-label': aria[button],
  							'tabindex': settings.iTabIndex,
  							'id': idx === 0 && typeof button === 'string' ?
  								settings.sTableId + '_' + button :
  								null
  						})
  							.append(tag ?
  								$('<' + tag + '/>', {'href': '#'}).html(btnDisplay) :
  								btnDisplay
  							)
  							.appendTo(container);
  
  						settings.oApi._fnBindAction(
  							node, {action: button}, clickHandler
  						);
  					}
  				}
  			}
  		};
  
  		attach(
  			$(host).empty().html('<ul class="pagination"/>').children('ul'),
  			buttons
  		);
  	};
  
  
  	return DataTable;
  }));
  