
function listen(o, e, f) {

  o = typeof(o) == 'object' ? o : document.getElementById(o);

  if( o ) {

    if( o.addEventListener ) {

      o.addEventListener(e, f, false);

      return true;

    } else if( o.attachEvent ) {

      o.attachEvent('on' + e, f);

      return true;

    }

  }

  return false;

} // ! listen()



function source(e) {

  if( !e ) { var e = window.event; }

  var o = e.target ?
          e.target
        : e.srcElement;

  return o.nodeType != 3 ? o : o.parentNode;

} // ! source()
