<?xml version="1.0" encoding="UTF-8"?>
<Module>
<ModulePrefs title="__MSG_title__"
             render_inline="required"
             author="Eric U."
             author_email="eric.feedback+eyes@gmail.com"
             author_affiliation="Google Inc."
             author_location="Mountain View, CA"
             singleton="false"
             screenshot="/ig/modules/eyes.png"
             thumbnail="/ig/modules/eyes-thm.png"
             category="funandgames"
             description="__MSG_description__">
  <Locale messages="eyes_content/en_ALL.xml"/>
  <Locale lang="ar" messages="eyes_content/ar_ALL.xml"/>
  <Locale lang="bg" messages="eyes_content/bg_ALL.xml"/>
  <Locale lang="ca" messages="eyes_content/ca_ALL.xml"/>
  <Locale lang="cs" messages="eyes_content/cs_ALL.xml"/>
  <Locale lang="de" messages="eyes_content/de_ALL.xml"/>
  <Locale lang="el" messages="eyes_content/el_ALL.xml"/>
  <Locale lang="en" messages="eyes_content/en_ALL.xml"/>
  <Locale lang="es" messages="eyes_content/es_ALL.xml"/>
  <Locale lang="et" messages="eyes_content/et_ALL.xml"/>
  <Locale lang="fil" messages="eyes_content/tl_ALL.xml"/>
  <Locale lang="fr" messages="eyes_content/fr_ALL.xml"/>
  <Locale lang="hi" messages="eyes_content/hi_ALL.xml"/>
  <Locale lang="hr" messages="eyes_content/hr_ALL.xml"/>
  <Locale lang="hu" messages="eyes_content/hu_ALL.xml"/>
  <Locale lang="hy" messages="eyes_content/hy_ALL.xml"/>
  <Locale lang="id" messages="eyes_content/id_ALL.xml"/>
  <Locale lang="is" messages="eyes_content/is_ALL.xml"/>
  <Locale lang="it" messages="eyes_content/it_ALL.xml"/>
  <Locale lang="ja" messages="eyes_content/ja_ALL.xml"/>
  <Locale lang="ko" messages="eyes_content/ko_ALL.xml"/>
  <Locale lang="lt" messages="eyes_content/lt_ALL.xml"/>
  <Locale lang="lv" messages="eyes_content/lv_ALL.xml"/>
  <Locale lang="ms" messages="eyes_content/ms_ALL.xml"/>
  <Locale lang="nl" messages="eyes_content/nl_ALL.xml"/>
  <Locale lang="pl" messages="eyes_content/pl_ALL.xml"/>
  <Locale lang="pt-br" messages="eyes_content/pt-br_ALL.xml"/>
  <Locale lang="pt-pt" messages="eyes_content/pt-pt_ALL.xml"/>
  <Locale lang="ro" messages="eyes_content/ro_ALL.xml"/>
  <Locale lang="ru" messages="eyes_content/ru_ALL.xml"/>
  <Locale lang="sk" messages="eyes_content/sk_ALL.xml"/>
  <Locale lang="sl" messages="eyes_content/sl_ALL.xml"/>
  <Locale lang="sr" messages="eyes_content/sr_ALL.xml"/>
  <Locale lang="th" messages="eyes_content/th_ALL.xml"/>
  <Locale lang="tl" messages="eyes_content/tl_ALL.xml"/>
  <Locale lang="tr" messages="eyes_content/tr_ALL.xml"/>
  <Locale lang="uk" messages="eyes_content/uk_ALL.xml"/>
  <Locale lang="vi" messages="eyes_content/vi_ALL.xml"/>
  <Locale lang="zh-cn" messages="eyes_content/zh-cn_ALL.xml"/>
  <Locale lang="zh-tw" messages="eyes_content/zh-tw_ALL.xml"/>
</ModulePrefs>
<Content type="html"><![CDATA[
<style>
#EYES_pupil0__MODULE_ID__,#EYES_pupil1__MODULE_ID__ {
  position:relative;
  width:15px;
  height:15px;
  left:52px;
  top:52px;
}
</style>
<table cellpadding=0 cellspacing=0 border=0 align=center style="margin-top:5px;">
<tr>
  <td background="/ig/modules/eyes_content/eye-r.gif">
   <div style="width:117px;height:117px;">
    <img src="/ig/modules/eyes_content/pupil.gif" id="EYES_pupil0__MODULE_ID__">
   </div>
  </td>
  <td background="/ig/modules/eyes_content/eye-y.gif">
   <div style="width:117px;height:117px;">
    <img src="/ig/modules/eyes_content/pupil.gif" id="EYES_pupil1__MODULE_ID__">
    </div>
  </td>
</tr>
</table>


<script type="text/javascript">
<!-- With thanks to Keith Packard and Jeremy Huxtable and Dylan Parker -->

var EYES__MODULE_ID__ = {
  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() {
    _IG_AddDOMEventHandler(document, "mousemove", EYES__MODULE_ID__.moveEyes);
    EYES__MODULE_ID__.pupils =
      [ _gel("EYES_pupil0__MODULE_ID__"), _gel("EYES_pupil1__MODULE_ID__") ];
  },

  moveEyes : function(e) {
    if (!e) e = window.event;
    var app = EYES__MODULE_ID__;

    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 + app.EYE_RADIUS - app.PUPIL_RADIUS) + "px";
      pupil.style.top = parseInt(distY + app.EYE_RADIUS - app.PUPIL_RADIUS) + "px";
    }
  },

  // get page coords for an element
  getPagePos : function(el, left) {
    var val=0;
    while(el != null) {
      val += el["offset"+(left?"Left":"Top")];
      el = el.offsetParent;
    }
    return val;
  }

};

EYES__MODULE_ID__.init();

</script>
]]>
</Content>
</Module>
