function initVideoPage() {
  NTS_setDebug();
  NTS_setLanguage();
  NTS_setUTC(function() {
    NTS_setDifference();
    NTS_setElapsed();
    NTS_setCurrentState();
    NTS_setCurrentIndex();
    if (NTS_Globals.state == NTS_Globals.STATE_DURING ||
        NTS_Globals.state == NTS_Globals.STATE_AFTER) {
      NTSV_updatePage(NTS_Globals.index);
    }
  });
}

function NTSV_getVideoTd(videoIndex) {
  var videoId = videos[videoIndex][NTS_Globals.language];
  var videoImg = 'http://i1.ytimg.com/vi/' + videoId + '/default.jpg';
  var videoLoc = regions[videoIndex][NTS_Globals.language];

  return [
    '<td class="videothumb"><a href="javascript:NTSV_updateMovie(',
    videoIndex,
    ');"><img src="',
    videoImg,
    '" width="75" /><p>',
    videoLoc,
    '</p></td>'].join('');
}

function NTSV_updatePage(currentIndex) {
  var table = ['<table>'];
  var videoIndex = -1;
  var videoCount = 0;

  for (var i = 0; i <= currentIndex; i++) {
    var video = locations[i].video;
    if (video && video != '' && videoCount < regions.length) {
      videoIndex = videoCount;
      videoCount++;
      var td = NTSV_getVideoTd(videoIndex);

      if (videoCount % 2 == 1) {
        // Start of row
        table.push('<tr>');
        table.push(td);
      } else {
        // End of row
        table.push(td);
        table.push('</tr>');
      }
    }
  }

  // In case of missing element on last row
  if (videoCount % 2 == 1) {
    table.push('<td></td></tr>');
  }

  table.push('</table>');

  document.getElementById('videothumbs').innerHTML = table.join('');

  if (videoIndex >= 0) {
    var videoContent = document.getElementById('videocontent');
    videoContent.style.display = 'block';

    NTSV_updateMovie(videoIndex);
  }

  var nextVideoIndex = -1;
  for (i = currentIndex + 1; i < locations.length; i++) {
    if (locations[i].video && locations[i].video != '') {
      nextVideoIndex = i;
      break;
    }
  }

  if (nextVideoIndex >= 0) {
    var time = locations[nextVideoIndex].time;
    var timeSplit = time.split(':');
    var hour = parseInt(timeSplit[0], 10);
    var minute = parseInt(timeSplit[1], 10);

    var miliseconds = ((hour * 60 * 60) + (minute * 60)) * 1000;

    var milisecondsToWait = miliseconds -
      (NTS_Globals.currentUTC - NTS_Globals.startUTC);

    window.setTimeout(function() {
      NTS_setDifference();
      NTS_setElapsed();
      NTS_setCurrentState();
      NTS_setCurrentIndex();
      if (NTS_Globals.state == NTS_Globals.STATE_DURING ||
          NTS_Globals.state == NTS_Globals.STATE_AFTER) {
        NTSV_updatePage(NTS_Globals.index);
      }
    }, milisecondsToWait);
  }
}


function NTSV_updateMovie(videoIndex) {
  var movie = document.getElementById('movie');
  var lastLoc = document.getElementById('lastloc');
  var videoLoc = regions[videoIndex][NTS_Globals.language];
  var youtubeUrl = 'http://www.youtube.com/v/' +
                   videos[videoIndex][NTS_Globals.language];

  var newVideo = [
    '<object type="application/x-shockwave-flash" ',
    'style="width:400px; height:324px;" data="',
    youtubeUrl,
    '&autoplay=1&egm=0&rel=0&showinfo=0">',
    '<param name="movie" value="',
    youtubeUrl,
    '&autoplay=1"/></object>'].join('');

  lastLoc.innerHTML = videoLoc;
  movie.innerHTML = newVideo;
}

