index.js
function on(el, eventName, callback) {
  if (el.addEventListener) {
    el.addEventListener(eventName, callback, false);
  }
  else if (el.attachEvent) {
    el.attachEvent('on'+eventName, function(e) {
      callback.call(el, e || window.event);
    });
  }
}
function on(el, eventName, callback) {
  if (el.addEventListener) {
    el.addEventListener(eventName, callback, false);
  }
  else if (el.attachEvent) {
    el.attachEvent('on'+eventName, function(e) {
      callback.call(el, e || window.event);
    });
  }
}
function on ( el , eventName , callback ) { if ( el . addEventListener ) { el . addEventListener ( eventName , callback , false ) ; } else if ( el . attachEvent ) { el . attachEvent ( 'on' + eventName , function ( e ) { callback . call ( el , e || window . event ) ; } ) ; } }
bigger = more forgivey when entering submenu 

DOM helpers
bigger = more forgivey when entering submenu