var EYES114 = {
    MAX_DIST: 8,// furthest pupil can move from center
    EYE_RADIUS_X: 165,
	EYE_RADIUS_Y: 34,
    PUPIL_RADIUS:2,// pupil image width / 2
    pupils: [],
    init: function() {
        document.onmousemove = EYES114.moveEyes;
        EYES114.pupils = [document.getElementById("pup_eye")];
    },
    moveEyes: function(e) {
        if (!e) e = window.event;
        var app = EYES114;
        for (var i = 0; i < app.pupils.length; i++) {
            var pupil = app.pupils[i];
            var midx = app.getPagePos(pupil.parentNode, true) + app.EYE_RADIUS_X;
            var midy = app.getPagePos(pupil.parentNode, false) + app.EYE_RADIUS_Y;
            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;
            }
            var distX = e.clientX + scrollx - midx;
            var distY = e.clientY + scrolly - midy;
            var dist = Math.sqrt(Math.pow(distX, 2) + Math.pow(distY, 2));
            if (dist > app.MAX_DIST) {
                var scale = app.MAX_DIST / dist;
                distX *= scale;
                distY *= scale;
            }
            pupil.style.left = parseInt(distX + app.EYE_RADIUS_X - app.PUPIL_RADIUS) + "px";
            pupil.style.top = parseInt(distY + app.EYE_RADIUS_Y - app.PUPIL_RADIUS) + "px";
        }
    },
    getPagePos: function(el, left) {
        var val = 0;
        while (el != null) {
            val += el["offset" + (left ? "Left": "Top")];
            el = el.offsetParent;
        }
        return val;
    }
};
EYES114.init();