4f1f40dc4dae64b548560664edfb07923385d296
[ratchet] / lib / js / modals.js
1 /* ----------------------------------
2  * MODAL v1.0.0
3  * Licensed under The MIT License
4  * http://opensource.org/licenses/MIT
5  * ---------------------------------- */
6
7 !function () {
8   var findModals = function (target) {
9     var i;
10     var modals = document.querySelectorAll('a');
11
12     for (; target && target !== document; target = target.parentNode) {
13       for (i = modals.length; i--;) { if (modals[i] === target) return target; }
14     }
15   };
16
17   var getModal = function (event) {
18     var modalToggle = findModals(event.target);
19     if (!modalToggle || !modalToggle.hash) return;
20     
21     return document.querySelector(modalToggle.hash);
22   };
23
24   window.addEventListener('touchend', function (event) {
25     var modal = getModal(event);
26     if (modal) modal.classList.toggle('active');
27   });
28
29   window.addEventListener('click', function (event) { 
30     if (getModal(event)) event.preventDefault();
31   });
32 }();