Google xEyes JavaScript

Google xEyes JavaScript - from google.com/ig

by j08691

HTML

<table align="center" border="0" cellpadding="0" cellspacing="0" style="margin-top:5px;">
<TBODY><tr>
  <td background="http://www.gstatic.com/ig/modules/eyes/eye-r.gif">
   <div style="width:117px;height:117px;">
    <img id="EYES_pupil00" src="http://www.gstatic.com/ig/modules/eyes/pupil.gif">
   </div>
  </td>
  <td background="http://www.gstatic.com/ig/modules/eyes/eye-y.gif">
   <div style="width:117px;height:117px;">
    <img id="EYES_pupil10" src="http://www.gstatic.com/ig/modules/eyes/pupil.gif">
    </div>
  </td>
</tr>
</TBODY></table>

CSS

#EYES_pupil00,#EYES_pupil10 {
  position:relative;
  width:15px;
  height:15px;
  left:52px;
  top:52px;
}

JavaScript

var EYES0 = {
    MAX_DIST: 37,
    // furthest pupil can move from center
    EYE_RADIUS: 59,
    // eye image width / 2
    PUPIL_RADIUS: 7,
    // pupil image width / 2
    pupils: [],

    init: function() {
        if (document.addEventListener) {
            document.addEventListener('mousemove', EYES0.moveEyes, false);
        } else if (document.attachEvent) {
            document.attachEvent('onmousemove', EYES0.moveEyes);
        }
        EYES0.pupils = [document.getElementById("EYES_pupil00"), document.getElementById("EYES_pupil10")];
    },
    moveEyes: function(e) {
        if (!e) e = window.event;
        var app = EYES0;
        for (var i = 0; i < app.pupils.length; i++) {
            var pupil = app.pupils[i];

            // The middle points of the eyes
            var midx = app.getPagePos(pupil.parentNode, true) + app.EYE_RADIUS;
            var midy = app.getPagePos(pupil.parentNode, false) + app.EYE_RADIUS;

            // Page scroll
            var scrollx = 0;
            var scrolly = 0;
            if (typeof(window.pageXOffset) == 'number') {
                scrollx = window.pageXOffset;
                scrolly = window.pageYOffset;
            } else {
                scrollx = document.documentElement.scrollLeft;
                scrolly = document.documentElement.scrollTop;
            }

            // The distX/distY from eye middles to the mouse
            var distX = e.clientX + scrollx - midx;
            var distY = e.clientY + scrolly - midy;
            // The absolute distance from eye middles to the mouse
            var dist = Math.sqrt(Math.pow(distX, 2) + Math.pow(distY, 2));

            if (dist > app.MAX_DIST) {
                // mouse out of eyeball, scale distX/distY to be at eyeball edge
                var scale = app.MAX_DIST / dist;
                distX *= scale;
                distY *= scale;
            }
            // Place the pupil appropriately
            pupil.style.left = parseInt(distX +...