<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="__UP_title__"
             author="__MSG_google__"
             author_email="sophia.feedback+googlegram@gmail.com"
             screenshot="__MSG_googlegram_screenshot__"
             thumbnail="/ig/modules/gadgetmaker_content/thumbs/googlegram.png"
             description="__MSG_googlegram_description__">
  <Require feature="dynamic-height"/>
  <Require feature="setprefs"/>
  <Require feature="views"/>
  <Require feature="gadgetmaker"/>
  <Locale messages="/ig/modules/gadgetmaker_content/en_ALL.xml"/>
  <Locale lang="ar" messages="/ig/modules/gadgetmaker_content/ar_ALL.xml"
          language_direction="rtl"/>
  <Locale lang="bg" messages="/ig/modules/gadgetmaker_content/bg_ALL.xml"/>
  <Locale lang="ca" messages="/ig/modules/gadgetmaker_content/ca_ALL.xml"/>
  <Locale lang="cs" messages="/ig/modules/gadgetmaker_content/cs_ALL.xml"/>
  <Locale lang="da" messages="/ig/modules/gadgetmaker_content/da_ALL.xml"/>
  <Locale lang="de" messages="/ig/modules/gadgetmaker_content/de_ALL.xml"/>
  <Locale lang="el" messages="/ig/modules/gadgetmaker_content/el_ALL.xml"/>
  <Locale lang="en-GB"
          messages="/ig/modules/gadgetmaker_content/en-GB_ALL.xml"/>
  <Locale lang="es" messages="/ig/modules/gadgetmaker_content/es_ALL.xml"/>
  <Locale lang="es-419"
          messages="http://www.google.com/ig/modules/gadgetmaker/gadgetmaker_content/messages/es-419_ALL.xml"/>
  <Locale lang="et" messages="/ig/modules/gadgetmaker_content/et_ALL.xml"/>
  <Locale lang="fi" messages="/ig/modules/gadgetmaker_content/fi_ALL.xml"/>
  <Locale lang="fr" messages="/ig/modules/gadgetmaker_content/fr_ALL.xml"/>
  <Locale lang="he" messages="/ig/modules/gadgetmaker_content/iw_ALL.xml"
          language_direction="rtl"/>
  <Locale lang="hi" messages="/ig/modules/gadgetmaker_content/hi_ALL.xml"/>
  <Locale lang="hr" messages="/ig/modules/gadgetmaker_content/hr_ALL.xml"/>
  <Locale lang="hu" messages="/ig/modules/gadgetmaker_content/hu_ALL.xml"/>
  <Locale lang="hy" messages="/ig/modules/gadgetmaker_content/hy_ALL.xml"/>
  <Locale lang="id" messages="/ig/modules/gadgetmaker_content/id_ALL.xml"/>
  <Locale lang="in" messages="/ig/modules/gadgetmaker_content/in_ALL.xml"/>
  <Locale lang="is" messages="/ig/modules/gadgetmaker_content/is_ALL.xml"/>
  <Locale lang="it" messages="/ig/modules/gadgetmaker_content/it_ALL.xml"/>
  <Locale lang="iw" messages="/ig/modules/gadgetmaker_content/iw_ALL.xml"
          language_direction="rtl"/>
  <Locale lang="ja" messages="/ig/modules/gadgetmaker_content/ja_ALL.xml"/>
  <Locale lang="ko" messages="/ig/modules/gadgetmaker_content/ko_ALL.xml"/>
  <Locale lang="lt" messages="/ig/modules/gadgetmaker_content/lt_ALL.xml"/>
  <Locale lang="lv" messages="/ig/modules/gadgetmaker_content/lv_ALL.xml"/>
  <Locale lang="ms" messages="/ig/modules/gadgetmaker_content/ms_ALL.xml"/>
  <Locale lang="nl" messages="/ig/modules/gadgetmaker_content/nl_ALL.xml"/>
  <Locale lang="no" messages="/ig/modules/gadgetmaker_content/no_ALL.xml"/>
  <Locale lang="pl" messages="/ig/modules/gadgetmaker_content/pl_ALL.xml"/>
  <Locale lang="pt-BR"
          messages="/ig/modules/gadgetmaker_content/pt-BR_ALL.xml"/>
  <Locale lang="pt-PT"
          messages="/ig/modules/gadgetmaker_content/pt-PT_ALL.xml"/>
  <Locale lang="ro" messages="/ig/modules/gadgetmaker_content/ro_ALL.xml"/>
  <Locale lang="ru" messages="/ig/modules/gadgetmaker_content/ru_ALL.xml"/>
  <Locale lang="sk" messages="/ig/modules/gadgetmaker_content/sk_ALL.xml"/>
  <Locale lang="sl" messages="/ig/modules/gadgetmaker_content/sl_ALL.xml"/>
  <Locale lang="sr" messages="/ig/modules/gadgetmaker_content/sr_ALL.xml"/>
  <Locale lang="sv" messages="/ig/modules/gadgetmaker_content/sv_ALL.xml"/>
  <Locale lang="th" messages="/ig/modules/gadgetmaker_content/th_ALL.xml"/>
  <Locale lang="tl" messages="/ig/modules/gadgetmaker_content/tl_ALL.xml"/>
  <Locale lang="tr" messages="/ig/modules/gadgetmaker_content/tr_ALL.xml"/>
  <Locale lang="uk" messages="/ig/modules/gadgetmaker_content/uk_ALL.xml"/>
  <Locale lang="vi" messages="/ig/modules/gadgetmaker_content/vi_ALL.xml"/>
  <Locale lang="zh-CN"
          messages="/ig/modules/gadgetmaker_content/zh-CN_ALL.xml"/>
  <Locale lang="zh-HK"
          messages="http://www.google.com/ig/modules/gadgetmaker/gadgetmaker_content/messages/zh-HK_ALL.xml"/>
  <Locale lang="zh-TW"
          messages="/ig/modules/gadgetmaker_content/zh-TW_ALL.xml"/>
</ModulePrefs>
<UserPref name="preview" default_value="false" datatype="hidden"/>
<UserPref name="hide_browsing_for_preview" default_value="false"
          datatype="hidden"/>
<UserPref name="title" default_value="__MSG_googlegram__" datatype="hidden"/>
<UserPref name="created" default_value="" datatype="hidden"/>
<UserPref name="last_modified" default_value="" datatype="hidden"/>
<UserPref name="author" default_value="" datatype="hidden"/>
<UserPref name="location" default_value="" datatype="hidden"/>
<UserPref name="email" default_value="" datatype="hidden"/>
<UserPref name="description" default_value="__MSG_googlegram_description__"
          datatype="hidden"/>
<UserPref name="gift" default_value="s" datatype="hidden"/>
<!--
Possible values (commented out, as it's valid only for "enum" datatype):
  <EnumValue value="s" display_value="Sunflowers"/>
  <EnumValue value="r" display_value="Roses"/>
  <EnumValue value="c" display_value="Candy"/>
  <EnumValue value="bo" display_value="Bonsai"/>
  <EnumValue value="ba" display_value="Baloons"/>
  <EnumValue value="v" display_value="Valentine's Chocolates"/>
-->
<UserPref name="c1" default_value="" datatype="hidden"/>
<UserPref name="c2" default_value="" datatype="hidden"/>
<UserPref name="c3" default_value="" datatype="hidden"/>
<UserPref name="c4" default_value="" datatype="hidden"/>
<UserPref name="c5" default_value="" datatype="hidden"/>
<UserPref name="c6" default_value="" datatype="hidden"/>
<UserPref name="c7" default_value="" datatype="hidden"/>
<UserPref name="sig" default_value="" datatype="hidden"/>
<UserPref name="from" default_value="" datatype="hidden"/>
<UserPref name="first_day" default_value=""  datatype="hidden"/>
<UserPref name="owner_first_day" default_value="" datatype="hidden"/>
<Content type="html" view="home">
<![CDATA[
<script>
var LAST_DAY = 6;
var prefs = new _IG_Prefs(__MODULE_ID__);
var is_owner =
    !document.location.toString().match('url=http://www.google.com/ig/shared');

var dir = 'http://www.google.com/ig/modules/gadgetmaker_content/';
var images = {'s' : [dir + 'sunflower/sunflower1.gif',
                     dir + 'sunflower/sunflower2.gif',
                     dir + 'sunflower/sunflower3.gif',
                     dir + 'sunflower/sunflower4.gif',
                     dir + 'sunflower/sunflower5.gif',
                     dir + 'sunflower/sunflower6.gif',
                     dir + 'sunflower/sunflower7.gif'],
              'c' : [dir + 'candy/candy1.jpg',
                     dir + 'candy/candy2.jpg',
                     dir + 'candy/candy3.jpg',
                     dir + 'candy/candy4.jpg',
                     dir + 'candy/candy5.jpg',
                     dir + 'candy/candy6.jpg',
                     dir + 'candy/candy7.jpg'],
              'r' : [dir + 'roses/rose1.jpg',
                     dir + 'roses/rose2.jpg',
                     dir + 'roses/rose3.jpg',
                     dir + 'roses/rose4.jpg',
                     dir + 'roses/rose5.jpg',
                     dir + 'roses/rose6.jpg',
                     dir + 'roses/rose7.jpg'],
              'v' : [dir + 'vday/v1.jpg',
                     dir + 'vday/v2.jpg',
                     dir + 'vday/v3.jpg',
                     dir + 'vday/v4.jpg',
                     dir + 'vday/v5.jpg',
                     dir + 'vday/v6.jpg',
                     dir + 'vday/v7.jpg'],
              'bo' : [dir + 'bonsai/bon1.gif',
                      dir + 'bonsai/bon2.gif',
                      dir + 'bonsai/bon3.gif',
                      dir + 'bonsai/bon4.gif',
                      dir + 'bonsai/bon5.gif',
                      dir + 'bonsai/bon6.gif',
                      dir + 'bonsai/bon7.gif'],
              'ba' : [dir + 'balloon/balloons1.gif',
                      dir + 'balloon/balloons2.gif',
                      dir + 'balloon/balloons3.gif',
                      dir + 'balloon/balloons4.gif',
                      dir + 'balloon/balloons5.gif',
                      dir + 'balloon/balloons6.gif',
                      dir + 'balloon/balloons7.gif']};
var captions = [prefs.getString('c1'),
                prefs.getString('c2'),
                prefs.getString('c3'),
                prefs.getString('c4'),
                prefs.getString('c5'),
                prefs.getString('c6'),
                prefs.getString('c7')];

var image;
var count = 0;
var index = 0;
var preloadedImages;

function preloadImages() {
  preloadedImages = [];
  image_srcs = images[prefs.getString('gift')];
  for (var i = 0; i < image_srcs.length; ++i) {
    var tempImage = new Image();
    tempImage.src = image_srcs[i];
    preloadedImages.push(tempImage);
  }
}

// Gets the number of days since the gadget was first viewed.
function getDay() {
  // The owner's first_day pref needs to be kept separate from the
  // non-owner's first_day pref so that the owner, in viewing their own
  // gadget, doesn't clobber the general first day pref (resulting in a new
  // user starting on day 7).
  var firstDayPrefKey = (is_owner ? 'owner_first_day' : 'first_day');
  var prefs = new _IG_Prefs(__MODULE_ID__);
  if (prefs.getString(firstDayPrefKey) == '') {
    // Set the pref that keeps track of the first day.
    var today = new Date();
    prefs.set(firstDayPrefKey, today.getTime());
    return 0;
  } else {
    var tempDay = new Date();
    tempDay.setTime(prefs.getInt(firstDayPrefKey));
    var today = new Date();
    var retVal = 0;
    while(tempDay.getFullYear() != today.getFullYear() ||
          tempDay.getMonth() != today.getMonth() ||
          tempDay.getDate() != today.getDate()) {
      ++retVal;
      if (retVal >= LAST_DAY) break;
      tempDay.setDate(tempDay.getDate() + 1);
    }
    return retVal;
  }
}

function displayImage(day) {
  var img = _gel('myimg');
  img.src = images[prefs.getString('gift')][day];
}

function displayCaption(day) {
  var captionElem = _gel('cap');
  var text = captions[day];
  captionElem.innerHTML = _hesc(text);
}

function prevDay() {
  index--;
  if (index < 0) {
    index = LAST_DAY;
  }
  displayImage(index);
  displayCaption(index);
  _gel('dayof').innerHTML = getDayText(index + 1);
  _IG_AdjustIFrameHeight();
}

function nextDay() {
  index++;
  if (index > LAST_DAY) {
    index = 0;
  }
  displayImage(index);
  displayCaption(index);
  _gel('dayof').innerHTML = getDayText(index + 1);
  _IG_AdjustIFrameHeight();
}

function getDayText(day) {
  var dayText = '__MSG_dayof__';
  dayText = dayText.replace(/\%VAL1\%/g, day);
  dayText = dayText.replace(/\%VAL2\%/g, (LAST_DAY + 1));
  return dayText;
}

_IG_RegisterOnloadHandler(
    function() {
      _gm = new _GadgetMaker(prefs);
      var day = index;
      _gm._addFrameIfPreview();
      if (_gm._isPreview()) {
        preloadImages();
        _gel('current_day').style.display = 'none';
        _gel('dayof').innerHTML = getDayText(index + 1);
        if (_gm._hideBrowsingForPreview()) {
          _gel('preview_section').style.display = 'none';
        }
      } else {
        day = getDay();
        _gel('preview_section').style.display = 'none';
        var dayText = '__MSG_currentday__';
        dayText = dayText.replace(/\%VAL1\%/g, day + 1);
        _gel('current_day').innerHTML = dayText;
      }
      displayImage(day);
      displayCaption(day);
      var signature = _trim(_hesc(prefs.getString('sig')));
      var sender = _trim(_hesc(prefs.getString('from')));
      if (sender != '') {
        if (signature != '') {
          signature += '<br>';
        }
        signature += sender;
      }
      if (signature == '') {
        _gel('sig').style.display = 'none';
      } else {
        _gel('sig').innerHTML = ' -- ' + signature;
      }
      _IG_AdjustIFrameHeight();
    }
);
</script>
<style>
#sig {
  padding-top:4px;
  font-style:italic;
  text-align:center;
  font-size:82%;
}
#box {
  padding:6px;
}
#dayof {
  width:100%;
  font-size:82%;
  color:#676767;
  text-align:center;
}
a.arrow, a:visited.arrow {
  font-size:82%;
  white-space:nowrap;
  color:#88e;
}
#preview_section {
  padding-top:6px;
  padding-bottom:6px;
}
#current_day {
  font-size:72%;
  color:#676767;
  padding-top:2px;
  text-align:center;
}
</style>
<div id="box">
  <div id="current_day">
  </div>
  <div style="text-align:center;padding:0px 0px 6px 0px">
    <img id="myimg"/>
  </div>
  <div id="cap" style="font-size:smaller;text-align:center">
  </div>
  <div id="sig"></div>
</div>
<div id="preview_section">
  <table width="100%" cellspacing="0" cellpadding="0">
    <tr>
      <td>
        <a class="arrow" href="javascript:void(0)" onclick="prevDay()">
          &laquo; __MSG_gm_prev_day__
        </a>
      </td>
      <td id="dayof">
      </td>
      <td>
        <a class="arrow" href="javascript:void(0)" onclick="nextDay()">
          __MSG_gm_next_day__ &raquo;
        </a>
      </td>
    </tr>
  </table>
</div>
]]>
</Content>
<Content type="html" view="canvas">
<![CDATA[
<script>
var LAST_DAY = 6;
var prefs = new _IG_Prefs(__MODULE_ID__);
var is_owner =
    !document.location.toString().match('url=http://www.google.com/ig/shared');

var dir = 'http://www.google.com/ig/modules/gadgetmaker_content/';
var images = {'s' : [dir + 'sunflower/sunflower1.gif',
                     dir + 'sunflower/sunflower2.gif',
                     dir + 'sunflower/sunflower3.gif',
                     dir + 'sunflower/sunflower4.gif',
                     dir + 'sunflower/sunflower5.gif',
                     dir + 'sunflower/sunflower6.gif',
                     dir + 'sunflower/sunflower7.gif'],
              'c' : [dir + 'candy/candy1.jpg',
                     dir + 'candy/candy2.jpg',
                     dir + 'candy/candy3.jpg',
                     dir + 'candy/candy4.jpg',
                     dir + 'candy/candy5.jpg',
                     dir + 'candy/candy6.jpg',
                     dir + 'candy/candy7.jpg'],
              'r' : [dir + 'roses/rose1.jpg',
                     dir + 'roses/rose2.jpg',
                     dir + 'roses/rose3.jpg',
                     dir + 'roses/rose4.jpg',
                     dir + 'roses/rose5.jpg',
                     dir + 'roses/rose6.jpg',
                     dir + 'roses/rose7.jpg'],
              'v' : [dir + 'vday/v1.jpg',
                     dir + 'vday/v2.jpg',
                     dir + 'vday/v3.jpg',
                     dir + 'vday/v4.jpg',
                     dir + 'vday/v5.jpg',
                     dir + 'vday/v6.jpg',
                     dir + 'vday/v7.jpg'],
              'bo' : [dir + 'bonsai/bon1.gif',
                      dir + 'bonsai/bon2.gif',
                      dir + 'bonsai/bon3.gif',
                      dir + 'bonsai/bon4.gif',
                      dir + 'bonsai/bon5.gif',
                      dir + 'bonsai/bon6.gif',
                      dir + 'bonsai/bon7.gif'],
              'ba' : [dir + 'balloon/balloons1.gif',
                      dir + 'balloon/balloons2.gif',
                      dir + 'balloon/balloons3.gif',
                      dir + 'balloon/balloons4.gif',
                      dir + 'balloon/balloons5.gif',
                      dir + 'balloon/balloons6.gif',
                      dir + 'balloon/balloons7.gif']};
var captions = [prefs.getString('c1'),
                prefs.getString('c2'),
                prefs.getString('c3'),
                prefs.getString('c4'),
                prefs.getString('c5'),
                prefs.getString('c6'),
                prefs.getString('c7')];

var image;
var count = 0;
var index = 0;
var preloadedImages;
var current;

function preloadImages() {
  preloadedImages = [];
  image_srcs = images[prefs.getString('gift')];
  for (var i = 0; i < image_srcs.length; ++i) {
    var tempImage = new Image();
    tempImage.src = image_srcs[i];
    preloadedImages.push(tempImage);
  }
}

// Gets the number of days since the gadget was first viewed.
function getDay() {
  // The owner's first_day pref needs to be kept separate from the
  // non-owner's first_day pref so that the owner, in viewing their own
  // gadget, doesn't clobber the general first day pref (resulting in a new
  // user starting on day 7).
  var firstDayPrefKey = (is_owner ? 'owner_first_day' : 'first_day');
  var prefs = new _IG_Prefs(__MODULE_ID__);
  if (prefs.getString(firstDayPrefKey) == '') {
    // Set the pref that keeps track of the first day.
    var today = new Date();
    prefs.set(firstDayPrefKey, today.getTime());
    return 0;
  } else {
    var tempDay = new Date();
    tempDay.setTime(prefs.getInt(firstDayPrefKey));
    var today = new Date();
    var retVal = 0;
    while(tempDay.getFullYear() != today.getFullYear() ||
          tempDay.getMonth() != today.getMonth() ||
          tempDay.getDate() != today.getDate()) {
      ++retVal;
      if (retVal >= LAST_DAY) break;
      tempDay.setDate(tempDay.getDate() + 1);
    }
    return retVal;
  }
}

function displayImage(day) {
  var img = _gel('myimg');
  img.src = images[prefs.getString('gift')][day];
}

function displayCaption(day) {
  var captionElem = _gel('cap');
  var text = captions[day];
  captionElem.innerHTML = _hesc(text);
}

function prevDay() {
  index--;
  if (index < 0) {
    index = LAST_DAY;
  }
  displayImage(index);
  displayCaption(index);
  showPrevNextLinks(index);
  _gel('dayof').innerHTML = getDayText(index + 1);
  _IG_AdjustIFrameHeight();
}

function nextDay() {
  index++;
  if (index > LAST_DAY) {
    index = 0;
  }
  displayImage(index);
  displayCaption(index);
  showPrevNextLinks(index);
  _gel('dayof').innerHTML = getDayText(index + 1);
  _IG_AdjustIFrameHeight();
}

function getDayText(day) {
  var dayText = '__MSG_dayof__';
  dayText = dayText.replace(/\%VAL1\%/g, day);
  dayText = dayText.replace(/\%VAL2\%/g, (LAST_DAY + 1));
  return dayText;
}

function showPrevNextLinks(day) {
  if (day == 0) {
    _gel('prev').style.display = 'none';
  } else {
    _gel('prev').style.display = 'block';
  }
  if (day >= current) {
    _gel('next').style.display = 'none';
  } else {
    _gel('next').style.display = 'block';
  }
}

_IG_RegisterOnloadHandler(
    function() {
      _gm = new _GadgetMaker(prefs, __MODULE_ID__);
      _gm._showInfo('/ig/modules/gadgetmaker_content/thumbs/googlegram.png');
      preloadImages();
      var day = getDay();
      current = day;
      index = day;
      _gel('dayof').innerHTML = getDayText(day + 1);
      var dayText = '__MSG_googlegram_v2_current_day__';
      dayText = dayText.replace(/\%VAL1\%/g, day + 1);
      _gel('current_day').innerHTML = dayText;
      displayImage(day);
      displayCaption(day);
      showPrevNextLinks(index);
      var signature = _trim(_hesc(prefs.getString('sig')));
      var sender = _trim(_hesc(prefs.getString('from')));
      if (sender != '') {
        if (signature != '') {
          signature += '<br>';
        }
        signature += sender;
      }
      if (signature == '') {
        _gel('sig').style.display = 'none';
      } else {
        _gel('sig').innerHTML = ' -- ' + signature;
      }
      _IG_AdjustIFrameHeight();
    }
);
</script>
<style>
#sig {
  padding-top:4px;
  font-style:italic;
  text-align:center;
  font-size:82%;
}
#box {
  padding:6px;
}
#dayof {
  font-size:82%;
  color:#676767;
  text-align:center;
}
a.arrow, a:visited.arrow {
  font-size:82%;
  white-space:nowrap;
  color:#88e;
}
#preview_section {
  padding-top:6px;
  padding-bottom:6px;
}
#current_day {
  color:#676767;
  padding-top:2px;
  text-align:center;
}
.prev {
  text-align:__BIDI_START_EDGE__;
  padding-__BIDI_START_EDGE__:18px;
}
.next {
  text-align:__BIDI_END_EDGE__;
  padding-__BIDI_END_EDGE__:18px;
}
</style>
<table width="100%">
  <tr>
    <td width="70%" valign="top">
      <div id="box">
        <div id="current_day"></div>
        <br>
        <div id="preview_section">
          <table width="100%" cellspacing="0" cellpadding="0">
            <tr>
              <td width="30%">
                <div id="prev" class="prev">
                  <a class="arrow" href="javascript:void(0)" 
                     onclick="prevDay()">
                    &laquo; __MSG_gm_prev_day__
                  </a>
                </div>
              </td>
              <td id="dayof" width="40%" stle="text-align:center;">
              </td>
              <td width="30%">
                <div id="next" class="next">
                  <a class="arrow" href="javascript:void(0)"
                     onclick="nextDay()">
                    __MSG_gm_next_day__ &raquo;
                  </a>
                </div>
              </td>
            </tr>
          </table>
        </div>
        <div style="text-align:center;padding:0px 0px 6px 0px">
          <img id="myimg"/>
        </div>
        <div id="cap" style="font-size:smaller;text-align:center">
        </div>
        <div id="sig"></div>
      </div>
    </td>
    <td width="30%" valign="top">
      <div id="info-box"/>
    </td>
  </tr>
</table>
]]>
</Content>
</Module>
