var MATCHES_SELECTOR = [
'webkitMatchesSelector',
'mozMatchesSelector',
'matchesSelector'
].filter(function(name){
return this[name];
}, doc.body)[0];
var TPL_CARD = '
{{contents}}
';
var clickEvents = {
'.card, .card *': function(){
var sender = this;
}
};
delegate(doc.body, 'click', clickEvents);
function delegate(elm, subject, table){
var selectors = Object.keys(table);
elm.addEventListener(subject, function(e){
var target = e.target;
selectors.forEach(function(selector){
if (target[MATCHES_SELECTOR](selector)) {
this[selector].call(target, e);
}
}, table);
});
}