Google Video script

By tk Last update May 4, 2006 — Installed 4,459 times. Daily Installs: 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 0, 3, 0, 1, 0, 1, 2, 0, 0, 0, 2, 1, 0, 0, 1, 0, 0, 1, 0, 0
// Google Video script, Copyright 2006, tk, under GPL license.
//
// ==UserScript==
// @name          Google Video script
// @namespace     http://tkhere.blogspot.com
// @description   Allows users to stream/download Google videos as avi files.
// @include       http://video.google.*/videoplay?docid=*
// ==/UserScript==

window.addEventListener("load", function(e) {
  function change_embed() {
    if (document.getElementById('VideoPlayback')) {
      var video = document.getElementById('VideoPlayback');
      if (video.style.display != 'none') {
        video.style.display = 'none';
        append_avinode();
        document.getElementById('flashkiller').innerHTML = 'Gimme back my flash!';
      }
      else {
        remove_avinode();
        video.style.display = 'block';
        document.getElementById('flashkiller').innerHTML = 'Kill the flash and watch the avi instead!';
      }
    }
  }
  
  function append_avinode() {
    if (document.getElementById('flashobjectplaceholder')) {
      var flashObj = document.createElement('embed');
      flashObj.style.width = '100%';
      flashObj.style.height = '100%'; 
      flashObj.style.display = 'block';
      flashObj.setAttribute('id', 'AviVideoPlayback');
      flashObj.setAttribute('align', 'middle');
      flashObj.setAttribute('src', document.getElementById('macdownloadlink').getAttribute('href'));
      document.getElementById('flashobjectplaceholder').appendChild(flashObj);
    }
  }
  
  function remove_avinode() {
    if (document.getElementById('flashobjectplaceholder').childNodes.length > 1) document.getElementById('flashobjectplaceholder').removeChild(document.getElementById('AviVideoPlayback'));
  }
  
  function get_random() {
    var ranNum= Math.floor(Math.random()*5);
    return ranNum;
  }

  function getQuote() {
    var ranQuote=get_random();
    var quote=new Array(5)
    quote[0]="Keeping it on my computer as an avi file!";
    quote[1]="posterity! Avi files rock!";
    quote[2]="fun! My harddisk doesn't have enough avi files!";   
    quote[3]="? You're asking me why I want this avi?!?";
    quote[4]="the sake of downloading avi files.";
    return quote[ranQuote]; 
  }

  if (document.getElementById('platform')) {
    var newoption = document.createElement('option');
    newoption.setAttribute('value', 'mac');
    newoption.appendChild(document.createTextNode(getQuote()));
    document.getElementById('platform').insertBefore(newoption, document.getElementById('platform').firstChild);
    var gvp = document.createElement('option');
    gvp.setAttribute('value', 'gvp');
    gvp.appendChild(document.createTextNode("Windows/Mac"));
    document.getElementById('platform').removeChild(document.getElementById('platform').childNodes[1]);
    document.getElementById('platform').insertBefore(gvp, document.getElementById('platform').childNodes[1]);
  }
  
  if (document.getElementById('description')) {
    var newline = document.createElement('p');
    var switch_embed = document.createElement('a');
    switch_embed.setAttribute('href', 'javascript:void(0);');
    switch_embed.addEventListener("click", change_embed, true);
    switch_embed.setAttribute('id', 'flashkiller');
    switch_embed.appendChild(document.createTextNode('Kill the flash and watch the avi instead!'));
    newline.appendChild(switch_embed);
    document.getElementById('description').insertBefore(newline, document.getElementById('description').firstChild);
  }
}, false);