!function() { var doc = document, htm = doc.documentElement, lct = null, // last click target nearest = function(elm, tag) { while (elm && elm.nodeName != tag) { elm = elm.parentNode; } return elm; }; // Listeners for our most common interations htm.onclick = function(e) { e = e || window.event; lct = e.target || e.srcElement; var elem = nearest(lct, 'A') || htm, href = elem.getAttribute('ajaxify') || elem.href; switch (elem.rel) { case 'dialog': case 'dialog-post': Bootloader.loadComponents('dialog', function() { Dialog.bootstrap(href, null, elem.rel == 'dialog'); }); break; case 'async': case 'async-post': Bootloader.loadComponents('async', function() { AsyncRequest.bootstrap(href, elem); }); break; default: return; } return false; }; htm.onsubmit = function(e) { e = e || window.event; var elem = e.target || e.srcElement; if (!elem || elem.nodeName != 'FORM' || !elem.getAttribute('ajaxify')) { return; } Bootloader.loadComponents('dom-form', function() { bootstrap_form(elem, lct); }); return false; }; // Remove the no JS class, if it is here htm.className = htm.className.replace('no_js', ''); }();