Update main video ID.
[gnupg-doc.git] / web / share / campaign / campaign.js
index e06d356..4190bb9 100644 (file)
@@ -1,3 +1,10 @@
+/* Javascript for campaign related pages
+ *
+ * This code is Copyright 2017 The GnuPG Project and licensed
+ * under a Creative Commons Attribution-ShareAlike 4.0 International
+ * License.  See the file copying.org for details.
+ */
+
 /* For mobile devices in landscape orientation, the navbar is in the
    way of the video.  So hide it automatically then.  */
 $(document).ready(function() {
@@ -43,28 +50,96 @@ $(document).ready(function() {
   $('.carousel').bcSwipe({ threshold: 50 });
 });
 
-/* Defer loading Youtube iframe until the user clicks on the video.  */
-$(document).ready(function() {
-  /* For the video preview, we use this for devices without hover events.  */
-  if ("ontouchstart" in document.documentElement) {
-    $("body").addClass("touch");
-  }
-
-  /* Click handler for all videos.  */
-  $(".camp-video").one("click", function() {
-    let yt_id = $(this).data("embed");
-    $(this).html('<iframe class="embed-responsive-item" allowfullscreen src="https://www.youtube.com/embed/' + yt_id + '?autoplay=1&rel=0"></iframe>');
-  });
-});
 
 /* Fill donation amounts w/ javascript if possible.  */
 $(document).ready(function() {
   let vals = ["500", "200", "100", "50", "20", "10", "5"];
 
-  for (let value of vals) {
-    $(".amount-btn-" + value.toString()).attr("href","#");
-    $(".amount-btn-" + value.toString()).one("click",function() {
-      $("#amountother").attr("value",value.toString());
+  for (let idx = 0; idx < vals.length; ++idx) {
+    let value = vals[idx];
+    $(".amount-btn-" + value.toString()).attr("href", "#");
+    $(".amount-btn-" + value.toString()).on("click", function(event) {
+      $("#amountother").prop("value", value.toString());
+      $("#currency option").prop("selected", false);
+      $("#currency option[value='EUR']").prop("selected", true);
+      $("#recur option").prop("selected", false);
+      $("#recur option[value='12']").prop("selected", true);
+      event.preventDefault();
     });
   }
 });
+
+function get_param_from_url(name) {
+    let params = location.search.substring(1); // Snip away the ?
+    params = params.split('&');
+    let idx = 0;
+    for (; idx < params.length; idx++) {
+       let param = params[idx].split('=');
+       if (param[0] != name) {
+           return;
+       }
+       if (param.length > 1) {
+           return decodeURIComponent(param[1]);
+       }
+       return "";
+    }
+}
+
+/* Defer loading Youtube iframe until the user clicks on the video.  */
+$(document).ready(function() {
+
+    let YTID = { "main": "wNHhkntqklg",
+                "thenmozhi": "2V-6JdTsIns",
+                "sze": "tKPMof5ptc0",
+                "sheera": "zwPaVA4vhDM",
+                "seanus": "H6iO_MkOICM",
+                "noah": "neibFsqgxgw",
+                "michael": "w4PY1ihLm0w",
+                "matt": "MWxhdPw9I8c",
+                "lisa": "Vd8sz5X-1og",
+                "john": "xdVHQhWrIro",
+                "jason": "RtvlfTiSEMc",
+                "geoffrey": "Y4yat43CvEc",
+                "daniel": "coFFCJlMRjk",
+                "cindy": "kPSEYvmFLWY",
+                "benjamin": "mnVsS_kuwqo",
+                "arthur": "Js_OqRLm9F4",
+                "andrew": "DXiU9wewjn4",
+                "andre": "sYXQxEPpnvA",
+                "alex": "5FtL5hAcxk4"
+              };
+
+    /* For the video preview, we use this for devices without hover events.  */
+    if ("ontouchstart" in document.documentElement) {
+       $("body").addClass("touch");
+    }
+
+    let wanted_yt_id = get_param_from_url('play');
+    $(".camp-video").each(function() {
+       let yt_ids = $(this).data("embed").split(",");
+       let yt_id_idx = yt_ids.indexOf(wanted_yt_id);
+       if (yt_id_idx != -1) {
+           $(this).data("embed", wanted_yt_id);
+           $(this).children("img").attr("src", "/share/campaign/img/thumbs/" + wanted_yt_id + ".jpg");
+       }
+    });
+
+    /* To download the thumbs in share/campaign/img/thumbs:
+       for f in YTID1 YTID2 ...; do wget -O $f.jpg http://i1.ytimg.com/vi/$f/maxresdefault.jpg; done # or hqdefault.jpg */
+
+    /* Click handler for all videos.  */
+    $(".camp-video").one("click", function() {
+       let yt_id = $(this).data("embed").split(",")[0];
+       yt_id = YTID[yt_id]; // What if key does not exist?
+       let yt_list = $(this).data("embed-list");
+       let extra_parms = "";
+       if (yt_list) {
+           extra_parms = "&list=" + yt_list;
+       }
+       if (screen.width < 768) {
+           extra_parms = extra_parms + "&cc_load_policy=1"
+       }
+       $(this).html('<iframe class="embed-responsive-item" allowfullscreen src="https://www.youtube.com/embed/'
+                    + yt_id + '?autoplay=1&modestbranding=1&rel=0' + extra_parms + '"></iframe>');
+    });
+});