// Generated by CoffeeScript 1.6.3 (function() { var $, create, hasAttr, init; $ = null; hasAttr = function(el, name) { var attr; attr = $(el).attr(name); return typeof attr !== 'undefined' && attr !== false; }; create = function(toggler, target, event, hideToggler) { if (event == null) { event = 'click'; } if (hideToggler == null) { hideToggler = false; } return toggler.on(event, function(e) { e.preventDefault(); target.toggle(); if (hideToggler) { return toggler.hide(); } }); }; init = function(jQuery, scope) { if (scope == null) { scope = 'body'; } $ = jQuery; return $(scope).find('*[data-toggle]').each(function(i, el) { var event, hideToggler, target, targetSelector; if (!hasAttr(el, 'data-target')) { throw new Error('Toggle: missing data-target attribute.'); } el = $(el); targetSelector = el.attr('data-target'); target = $(targetSelector); if (target.length === 0) { throw new Error("Toggle: element '" + targetSelector + "' was not found."); } event = hasAttr(el, 'data-event') ? el.attr('data-event') : 'click'; hideToggler = hasAttr(el, 'data-hide-toggler'); create(el, target, event, hideToggler); return null; }); }; if (typeof module === 'object') { module.exports = init; } else { window.Toggle = init; } }).call(this);