function FindElementIn (x, y, e) { if (x < e.offsetLeft || x > e.offsetLeft + e.offsetWidth) return null; else if (y < e.offsetTop || y > e.offsetTop + e.offsetHeight) return null; else { /* it's inside this element, try to find a more deeply nested one */ for (var el = e.firstChild; el != null; el = el.nextSibling) { var rv = FindElementIn (x - e.offsetLeft, y - e.offsetTop, el); if (rv != null) return rv; } return e; } }