// ==UserScript==
// @name           gPDF
// @version        3.0
// @author         ArpitNext
// @namespace      http://blog.arpitnext.com/gpdf
// @description    Scans web pages for pdf links and sets them to open with Google PDF viewer.
// @include        *
// @exclude        http://docs.google.com/*
// ==/UserScript==

//Copyright by Stephen Walker and Arpit Kumar

(function () {
  var extensions = new Array(".doc", ".pdf", ".ppt", ".docx");
  var dl = document.links;
  if (dl && document.location.host != "docs.google.com") {
    for (var i = 0; i < dl.length; ++i) {
      for (var j = 0; j < extensions.length; ++j) {
        if (dl[i].host != "docs.google.com" && dl[i].href.toLowerCase().indexOf(extensions[j]) != -1) {
          dl[i].href="https://docs.google.com/viewer?url="+encodeURI(dl[i].href)+"&embedded=true";
        }
      }
    }
  }

  if (document.location.host == "docs.google.com" && document.location.href.indexOf("&embedded=true") != -1) {
    var controlbarLogo = document.getElementById("controlbarLogo");

    var downloadLink = controlbarLogo.appendChild(document.createElement("a"));
    // non-hacky way would use gviewApp.setDisplayData's dlUrl object
    var downloadLinkURI = decodeURIComponent(document.location.search.split("=")[1]);
    if (downloadLinkURI.indexOf("?") != -1) {
      downloadLinkURI = downloadLinkURI.split("?")[0];
    } else if (downloadLinkURI.indexOf("&") != -1) {
      downloadLinkURI = downloadLinkURI.split("&")[0];
    }
    downloadLink.setAttribute("href", downloadLinkURI);
    downloadLink.setAttribute("style",
      "position: fixed; top: 0px; left: 30px;" +
      "margin: 5px 3px;" +
      "font-size: 12px;" +
      "line-height: 12px;"
    );
    downloadLink.setAttribute("title", "Download");
    downloadLink.textContent = "Download";
  }
})();


