<!-- Modified for Mozilla / Firefox by Ed Randall bugs@ingenotech.com -->

<!-- Original:  demigod@psxexchange.com -->
<!-- Web Site:  http://www.psxexchange.com -->

<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->

var ex = 0, ey = 0, x0 = 0, y0 = 0, realx = 0, realy = 0;
var ae, le, re;
var tid;

function mouseMoveHandler(event) {
    if (window.event) {
        event = window.event;
    }
    if (event.pageX) {
        ex = event.pageX;
        ey = event.pageY;
        
    } else if (event.clientX) {
        ex = document.body.scrollLeft + event.clientX;
        ey = document.body.scrollTop + event.clientY;
        
    }
    moveeye();
}

function moveeye() {
    var dy = ey - y0 - 20;
    var dx1 = ex - x0 - 20;
    var dx2 = ex - x0 - 60;
    var r = Math.sqrt(dx1 * dx1 + dy * dy);
    if (r < 20) r = 20;
    dx1 = dx1 * 10 / r + x0 + 10;
    dy1 = dy * 10 / r + y0 + 10;
    r = Math.sqrt(dx2 * dx2 + dy * dy);
    if (r < 20) r = 20;
    dx2 = dx2 * 10 / r + x0 + 50;

    if (brDOM) {
        ae.style.left = x0+"px";
        ae.style.top = y0+"px";
        le.style.left = dx1+"px";
        le.style.top = dy1+"px";
        re.style.left = dx2+"px";
        re.style.top = dy1+"px";

    } else {
        ae.left = x0;
        ae.top = y0;
        le.left = dx1;
        le.top = dy1;
        re.left = dx2;
        re.top = dy1;
    }
}

function moveall() {
    var rx = realx + 40;
    var ry = realy + 40;
    rx += (ex - rx) * 0.1;
    ry += (ey - ry) * 0.1;
    realx = rx - 40;
    realy = ry - 40;
    x0 = Math.round(realx);
    y0 = Math.round(realy);
    moveeye();
    tid = setTimeout('moveall()', 50);
}

function placeeyes(x, y) {
    ex = x + 40;
    ey = y + 40;
    var s;
    s = '<DIV ID="dummy" STYLE="position:absolute; top:'+y+'px; left:'+x+'px; width:10px; height:10px;"> </DIV>';
    s += '<DIV ID="eyeballs" STYLE="position:absolute; top:'+y+'px; left:'+x+'px; width:80px; height:40px;">'+
         '<IMG SRC="/images/icons/whites.gif" border=0></DIV>';
    s += '<DIV ID="lefteye" STYLE="position:absolute; top:'+(y+10)+'px; left:'+(x+10)+'px; width:20px; height:20px;">' +
         '<IMG SRC="/images/icons/pupil.gif" border=0></DIV>';
    s += '<DIV ID="righteye" STYLE="position:absolute; top:'+(y+10)+'px; left:'+(x+50)+'px; width:20px; height:20px;">' +
         '<IMG SRC="/images/icons/pupil.gif" border=0></DIV>';
    document.writeln(s); 
}

function setHandlers() {
    if (brDOM) {
        ae = document.getElementById("eyeballs");
        le = document.getElementById("lefteye");
        re = document.getElementById("righteye");
        y0 = parseInt(ae.style.top);
        x0 = parseInt(ae.style.left);
        document.addEventListener('mousemove', mouseMoveHandler, true);
        
    } else if (brLAYERS) {
        ae = document.eyeballs;
        le = document.lefteye;   
        re = document.righteye;   
        y0 = ae.top;
        x0 = ae.left;
        window.captureEvents(Event.MOUSEMOVE);
        window.onmousemove = mouseMoveHandler;
        
    } else if (brMSIE) {
        ae = document.all.eyeballs.style;
        le = document.all.lefteye.style;
        re = document.all.righteye.style;
        y0 = ae.pixelTop;
        x0 = ae.pixelLeft;
        window.document.onmousemove = mouseMoveHandler;
    }
    realx = x0 + 0.1;
    realy = y0 + 0.1;
    moveall();
}

function clearEyes()  {
    if (tid) clearTimeout(tid);
}

var brDOM = false;
var brLAYERS = false;
var brMSIE = false;

if (document.all) {
    brMSIE = true;
} else if (document.getElementById && Event) {
    brDOM = true;
} else if (document.layers && Event) {
    brLAYERS = true;
}

if (brDOM || brLAYERS || brMSIE) {
    placeeyes(200, 100);
    window.onload = setHandlers;
    window.onunload = clearEyes;
}


