<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="__UP_title__"
             author="__MSG_google__"
             author_email="sophia.feedback+youtube@gmail.com"
             screenshot="__MSG_youtube_screenshot__"
             thumbnail="/ig/modules/gadgetmaker_content/thumbs/youtube.png"
             description="__MSG_youtube_description__">
  <Require feature="dynamic-height"/>
  <Require feature="setprefs"/>
  <Require feature="flash"/>
  <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" display_name="__MSG_title__"
          default_value="__MSG_youtube__"  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_youtube_description__"
          datatype="hidden"/>
<UserPref name="v1" default_value="" datatype="hidden"/>
<UserPref name="v2" default_value="" datatype="hidden"/>
<UserPref name="v3" default_value="" datatype="hidden"/>
<UserPref name="v4" default_value="" datatype="hidden"/>
<UserPref name="v5" default_value="" datatype="hidden"/>
<UserPref name="v6" default_value="" datatype="hidden"/>
<UserPref name="v7" default_value="" datatype="hidden"/>
<UserPref name="v8" default_value="" datatype="hidden"/>
<UserPref name="v9" default_value="" datatype="hidden"/>
<UserPref name="v10" default_value="" datatype="hidden"/>
<UserPref name="vid" default_value="-1" datatype="hidden"/>
<Content type="html" view="home">
<![CDATA[
<script>
var MAX_NUM_VIDEOS = 10;
var VIDEO_NAME_LENGTH = 20;
var MAX_WIDTH = 425;
var videos = [];
var prefs;
var index;
_IG_RegisterOnloadHandler(
    function() {
      prefs = new _IG_Prefs(__MODULE_ID__);
      _gm = new _GadgetMaker(prefs);
      _gm._addFrameIfPreview();
      if (_gm._isPreviewWithHiddenBrowsing()) {
        _gel('vid').innerHTML = '<img ' +
            'src="/ig/modules/gadgetmaker_content/gm_youtube_preview.png" ' +
            'width="265" height="222" />';
        return;
      }
      for (var i = 0; i < MAX_NUM_VIDEOS; i++) {
        var vid = _hesc(prefs.getString('v' + (i + 1)));
        if (vid.length > 0 && vid.length < VIDEO_NAME_LENGTH) {
          videos.push(vid);
        } else if (vid.length > 0) {
          // Parse the URL.
          var pos = vid.indexOf('v=');
          if (pos >= 0) {
            var pos2 = vid.indexOf('&', pos);
            if (pos2 < 0) {
              pos2 = vid.length;
            }
            var videoId = vid.substring(pos + 2, pos2)
            videos.push(videoId);
          }
        }
      }
      if (videos.length < 2) {
        _toggle(_gel('arrows'));
      }
      showNextVideo();
    }
);

function showPrevVideo() {
  // Rotate to the next video every page refresh.
  if (videos.length < 1) {
    return;
  }
  if (index == null) {
    index = prefs.getInt('vid');
  }
  index = (videos.length + index - 1) % videos.length;
  prefs.set('vid', index);
  showVideo(index);
}

function showNextVideo() {
  // Rotate to the next video every page refresh.
  if (videos.length < 1) {
    return;
  }
  if (index == null) {
    index = prefs.getInt('vid');
  }
  index = (index + 1) % videos.length;
  prefs.set('vid', index);
  showVideo(index);
}

function showVideo(index) {
  var margin = 12;
  var width = document.body.clientWidth - margin;
  if (width > MAX_WIDTH || width <= 0) {
    width = MAX_WIDTH;
  }
  _gel('arrows').style.width = width;
  // Why 350?
  var height = Math.floor(width * 350 / MAX_WIDTH);
  var movieId = videos[index];
  _IG_EmbedFlash('http://www.youtube.com/v/' + movieId,
                 'vid', {width: width, height: height});
  _IG_AdjustIFrameHeight();
}
</script>
<style>
a.arrow, a:visited.arrow {
  font-size:83%;
  white-space:nowrap;
  color:#88e;
}
#box {
  padding:6px;
  text-align:center;
}
#arrows {
  padding-top:4px;
  margin:0px auto;
  text-align:__BIDI_START_EDGE__;
}
#vid {
  margin:0px auto;
}
</style>
<div id="box">
  <div id="vid">
  </div>
  <table id="arrows" width="100%" cellspacing="0" cellpadding="0">
    <tr>
      <td>
        <a class=arrow href="javascript:void(0)" onclick="showPrevVideo()">
          &laquo; __MSG_gm_prev_video__
        </a>
      </td>
      <td width="100%">
      </td>
      <td> 
        <a class="arrow" href="javascript:void(0)" onclick="showNextVideo()">
          __MSG_gm_next_video__ &raquo;
        </a>
      </td>
    </tr>
  </table>
</div>
]]>
</Content>
<Content type="html" view="canvas">
<![CDATA[
<script>
var MAX_NUM_VIDEOS = 10;
var VIDEO_NAME_LENGTH = 20;
var MAX_WIDTH = 425;
var videos = [];
var prefs;
var index;
_IG_RegisterOnloadHandler(
    function() {
      prefs = new _IG_Prefs(__MODULE_ID__);
      _gm = new _GadgetMaker(prefs, __MODULE_ID__);
      _gm._showInfo('/ig/modules/gadgetmaker_content/thumbs/youtube.png');
      _gm._addFrameIfPreview();
      if (_gm._isPreviewWithHiddenBrowsing()) {
        _gel('vid').innerHTML = '<img ' +
            'src="/ig/modules/gadgetmaker_content/gm_youtube_preview.png" ' +
            'width="265" height="222" />';
        return;
      }
      for (var i = 0; i < MAX_NUM_VIDEOS; i++) {
        var vid = _hesc(prefs.getString('v' + (i + 1)));
        if (vid.length > 0 && vid.length < VIDEO_NAME_LENGTH) {
          videos.push(vid);
        } else if (vid.length > 0) {
          // Parse the URL.
          var pos = vid.indexOf('v=');
          if (pos >= 0) {
            var pos2 = vid.indexOf('&', pos);
            if (pos2 < 0) {
              pos2 = vid.length;
            }
            var videoId = vid.substring(pos + 2, pos2)
            videos.push(videoId);
          }
        }
      }
      if (videos.length < 2) {
        _toggle(_gel('arrows'));
      }
      showNextVideo();
    }
);

function showPrevVideo() {
  // Rotate to the next video every page refresh.
  if (videos.length < 1) {
    return;
  }
  if (index == null) {
    index = prefs.getInt('vid');
  }
  index = (videos.length + index - 1) % videos.length;
  prefs.set('vid', index);
  showVideo(index);
}

function showNextVideo() {
  // Rotate to the next video every page refresh.
  if (videos.length < 1) {
    return;
  }
  if (index == null) {
    index = prefs.getInt('vid');
  }
  index = (index + 1) % videos.length;
  prefs.set('vid', index);
  showVideo(index);
}

function showVideo(index) {
  var margin = 12;
  var width = document.body.clientWidth - margin;
  if (width > MAX_WIDTH || width <= 0) {
    width = MAX_WIDTH;
  }
  _gel('arrows').style.width = width;
  // Why 350?
  var height = Math.floor(width * 350 / MAX_WIDTH);
  var movieId = videos[index];
  _IG_EmbedFlash('http://www.youtube.com/v/' + movieId,
                 'vid', {width: width, height: height});
  _IG_AdjustIFrameHeight();
}
</script>
<style>
a.arrow, a:visited.arrow {
  font-size:83%;
  white-space:nowrap;
  color:#88e;
}
#box {
  padding:6px;
  text-align:center;
}
#arrows {
  padding-top:4px;
  margin:0px auto;
  text-align:__BIDI_START_EDGE__;
}
#vid {
  margin:0px auto;
}
</style>
<table width="100%">
  <tr>
    <td width="70%" valign="top">
      <div id="box">
        <div id="vid">
        </div>
        <table id="arrows" width="100%" cellspacing="0" cellpadding="0">
          <tr>
            <td>
              <a class=arrow href="javascript:void(0)" onclick="showPrevVideo()">
                &laquo; __MSG_gm_prev_video__
              </a>
            </td>
            <td width="100%">
            </td>
            <td> 
              <a class="arrow" href="javascript:void(0)" onclick="showNextVideo()">
                __MSG_gm_next_video__ &raquo;
              </a>
            </td>
          </tr>
        </table>
      </div>
    </td>
    <td width="30%" valign="top">
      <div id="info-box"/>
    </td>
  </tr>
</table>
]]>
</Content>
</Module>
