updated piwik tracking code
[fsf-giving-guide.git] / v9 / givingguide.html
index 4fb5d22b60a91249fe8a55ca5a476968ab74ec54..c07dad889cd3f6338ac89f7842dc278b905ec3e8 100644 (file)
 -->
 
 <body>
+
+<!-- Add banner and modal window here -->
+
+<iframe src="//static.fsf.org/nosvn/banners/2020fundraiser-spring/" width="100%" height="100%" scrolling="no" style="overflow: hidden; margin: 0; border: 0 none; display: block;"></iframe>
+
+            <!-- begin fsf-modal-window-elem campaign element -->
+            <link type="text/css" rel="stylesheet" href="https://static.fsf.org/nosvn/fonts/fa/css/font-awesome.min.css">
+            <style>
+#fsf-modal-window-elem-container div {
+    -webkit-box-sizing: border-box;
+       -moz-box-sizing: border-box;
+            box-sizing: border-box;
+}
+
+@media screen and (min-width: 700px) {
+
+    #fsf-modal-window-elem-outer-v-center {
+        display: table;
+        position: absolute;
+        height: 100%;
+        width: 100%;
+    }
+    #fsf-modal-window-elem-inner-v-center {
+        display: table-cell;
+        vertical-align: middle;
+    }
+
+    #fsf-modal-window-elem {
+        width: 687px;
+        margin-left: auto;
+        margin-right: auto;
+    }
+
+    #fsf-modal-window-elem-right-column {
+        float: right;
+        width: 280px;
+        padding-left: 20px;
+    }
+
+    #fsf-modal-window-elem-left-column {
+        width: 100%;
+        float: left;
+        margin-right: -280px;
+    }
+
+    #fsf-modal-window-elem-text {
+        margin-right: 280px;
+    }
+}
+
+@media screen and (max-width: 699px) {
+
+    #fsf-modal-window-elem {
+
+        -ms-box-orient: horizontal;
+        display: -webkit-box;
+        display: -moz-box;
+        display: -ms-flexbox;
+        display: -moz-flex;
+        display: -webkit-flex;
+        display: flex;
+
+        -webkit-flex-flow: row wrap;
+        flex-flow: row wrap;
+    }
+
+    #fsf-modal-window-elem {
+        width: 80vw;
+        margin-left: 10vw;
+        margin-right: 10vw;
+        margin-top: 40px;
+        margin-bottom: 40px;
+    }
+
+    #fsf-modal-window-elem-right-column {
+        width: 100%;
+        order: 1;
+    }
+
+    #fsf-modal-window-elem-left-column {
+        width: 100%;
+        order: 2;
+    }
+
+    #fsf-modal-window-elem-text {
+        margin-top: 20px;
+    }
+}
+
+@media screen and (max-width: 360px) {
+    .long-button-text {
+        font-size: 25px !important;
+    }
+}
+
+#fsf-modal-window-elem-container {
+    position: fixed;
+    z-index: 10000;
+    left: 0;
+    top: 0;
+    width: 100%;
+    height: 100%;
+    overflow: auto;
+    background-color: rgba(0,0,0,0.8);
+
+    font-weight: normal;
+}
+
+#fsf-modal-window-elem a, a:active, a:focus {
+    outline: none;
+    border-bottom: 0px;
+}
+
+#fsf-modal-window-elem {
+    overflow: auto;
+    zoom: 1;
+    padding: 20px;
+    border-style: solid;
+    border-width: 5px;
+    border-color: #0f68a7;
+    border-radius: 20px;
+    box-shadow: 0px 0px 10px #111111;
+    background-color: #fdd474;
+}
+
+#fsf-modal-window-elem-header {
+    width: 100%;
+}
+
+#fsf-modal-window-elem-header h2 {
+    font-family: sans-serif,"Helvetica",Arial;
+    font-weight: bold;
+    font-size: 24px;
+    color: #002047;
+    /* text-shadow: 0px 0px 8px #00378c; */
+    padding-bottom: 20px;
+    margin-top: 0px;
+    margin-bottom: 0px;
+    border: none;
+}
+
+#fsf-modal-window-elem-close-button {
+    float: right;
+    height: 40px;
+    margin-right: -20px;
+    margin-top: -20px;
+    padding: 11px;
+    color: #888;
+    cursor: pointer;
+}
+
+#fsf-modal-window-elem-close-button:hover {
+    color: #aaf;
+}
+
+#fsf-modal-window-elem-right-column {
+    text-align: center;
+    -webkit-user-select: none;
+       -moz-user-select: none;
+        -ms-user-select: none;
+            user-select: none;
+}
+
+#fsf-modal-window-elem-buttons div {
+    height:53.333px;
+    line-height: 53.333px;
+    margin-left:auto;
+    margin-right:auto;
+    display:block;
+}
+
+#fsf-modal-window-elem-buttons {
+}
+
+#fsf-modal-window-elem-buttons a {
+    width: 100%;
+    display: block;
+    text-align:center;
+    font-size:35px;
+    color:#002047;
+    text-decoration: none;
+    font-family: sans-serif,"Helvetica",Arial;
+    font-weight: normal;
+}
+
+#fsf-modal-window-elem-maybe-later {
+    margin-top: 5px;
+    margin-bottom: -5px;
+}
+
+#fsf-modal-window-elem-maybe-later a {
+    color: #367c93;
+    line-height: 20px;
+    text-decoration: none;
+    cursor: pointer;
+    font-weight: normal;
+    font-family: sans-serif,"Helvetica",Arial;
+    font-size: 16px;
+}
+
+#fsf-modal-window-elem-text {
+}
+
+#fsf-modal-window-elem-text a {
+    color: #002047;
+    font-weight: 700;
+    text-decoration: none;
+}
+
+#fsf-modal-window-elem-text a:hover {
+    color: #fd8e1b;
+}
+
+#fsf-modal-window-elem-text a:focus {
+    color: #fd8e1b;
+}
+
+#fsf-modal-window-elem-text a:active {
+    color: #ffac30;
+}
+
+#fsf-modal-window-elem-text p {
+    font-family: sans-serif,"Helvetica",Arial;
+    font-size: 17px;
+    font-weight: normal;
+    margin: 0px 0px 10px 0px;
+    line-height: 20px;
+    color: #002047;
+    /* text-shadow: 0px 0px 8px #004067;*/
+}
+            </style>
+            <div id="fsf-modal-window-elem-container" style="display: none;">
+                <div id="fsf-modal-window-elem-outer-v-center">
+                    <div id="fsf-modal-window-elem-inner-v-center">
+                        <div id="fsf-modal-window-elem">
+                            <div id="fsf-modal-window-elem-header">
+                                <div id="fsf-modal-window-elem-close-button" onclick="//fsfModalWindowElemDontShowForAWhile();">
+                                    <i class="fa fa-close">&#8203;</i>
+                                </div>
+                                <h2>The free software community must grow in order to meet new threats.</h2>
+                            </div>
+                            <div id="fsf-modal-window-elem-left-column">
+                                <div id="fsf-modal-window-elem-text">
+
+<p>
+
+In our now socially distant society, we can't live, work, or learn in freedom unless the software we use is free. Your membership protects everyone's digital freedoms from powerful forces using technology to disempower the public.
+
+</p>
+
+<p>
+
+Join us today for $10/month ($5 for students) and help us reach our August 7th goal of 200 new associate members!
+
+</p>
+
+<p><span id="fsf-modal-window-text-link"><a href="https://www.fsf.org/appeal?pk_campaign=frspring2020&pk_kwd=learn-more&pk_source=modal">Read more</a> | <a href="https://my.fsf.org/join?pk_campaign=frspring2020&pk_source=modal">Join</a></span></p>
+
+                                </div>
+                            </div>
+                            <div id="fsf-modal-window-elem-right-column">
+                                <div id="fsf-modal-window-elem-buttons" style="border-radius: 20px; box-shadow: 0px 0px 5px #0c2b2b;">
+                                    <div style="background-color:#fb6b73; border-top-right-radius: 20px; border-top-left-radius: 20px;">
+                                      <a style="text-shadow: 0px 0px 8px #f999ef;" href="https://my.fsf.org/join?pk_campaign=frspring2020&pk_source=modal" onclick="//fsfModalWindowElemFollowedLink();"><i class="fa fa-check-circle">&nbsp;</i>Join</a>
+                                    </div>
+
+                                    <div style="background-color:#fdd474">
+                                      <a style="text-shadow: 0px 0px 8px #ffffff;" href="https://my.fsf.org/renew?pk_campaign=frspring2020&pk_source=modal" onclick="//fsfModalWindowElemFollowedLink();"><i class="fa fa-refresh">&nbsp;</i>Renew</a>
+                                    </div>
+
+                                    <div style="background-color:#99d8fd; border-bottom-right-radius: 20px; border-bottom-left-radius: 20px; margin-bottom: 2px">
+                                      <a style="text-shadow: 0px 0px 8px #ffffff;" href="https://my.fsf.org/donate?pk_campaign=frspring2020&pk_source=modal" onclick="//fsfModalWindowElemFollowedLink();"><i class="fa fa-money">&nbsp;</i>Donate</a>
+                                    </div>
+                                </div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+                <script type="text/javascript">
+// @license magnet:?xt=urn:btih:1f739d935676111cfff4b4693e3816e664797050&dn=gpl-3.0.txt GPL-3.0
+
+// licensed GPLv3-or-later by Andrew Engelbrecht
+
+var startTime, endTime, switchTextTime;
+
+startTime = new Date('2020-07-01T04:00:00Z');
+switchTextTime = new Date('2020-08-08T04:00:00Z');
+endTime = new Date('2020-08-08T04:00:00Z');
+
+// possibly switch the text that is displayed in the modal window, depending
+// upon the current date.
+function fsfModalWindowElemMaybeSwitchText () {
+
+    var now;
+
+    now = new Date();
+    if (now.getTime() < switchTextTime.getTime()) {
+        return; // don't switch the dbd text
+    }
+
+    // switch dbd text
+    document.getElementById("fsf-modal-window-elem-text").innerHTML =' \
+\
+<p>In our now socially distant society, we can\'t live, work, or learn in freedom unless the software we use is free. Your membership protects everyone\'s digital freedoms from powerful forces using technology to disempower the public.<\/p><p>Join us today for $10\/month ($5 for students) and help us reach our August 7th goal of 200 new associate members!<\/p> \
+\
+<p><span id="fsf-modal-window-text-link"><a href="https://www.fsf.org/appeal?pk_campaign=frspring2020&pk_kwd=learn-more&pk_source=modal">Read more<\/a> |  <a href="https://my.fsf.org/join?pk_campaign=frspring2020&pk_source=modal">Join<\/a><\/span><\/p>';
+}
+
+// show fsf-modal-window-elem if it hasn't been previously closed by
+// the user, nor recently hit "maybe later",
+// and the campaign is still happening
+function fsfModalWindowElemMaybeShow () {
+
+    var pattern, noShowFsfModalWindowElementP, now;
+
+    // see if cookie says not to show element
+    pattern = /showFsfSpring2020FundraiserModalWindowElementP\s*=\s*false/;
+    noShowFsfModalWindowElementP = pattern.test(document.cookie);
+
+//// uncomment here to enable modal window hiding
+    if (!noShowFsfModalWindowElementP) {
+        setTimeout(function () {
+            // display the element
+            document.getElementById("fsf-modal-window-elem-container").style.display="block";
+        }, 0);
+    }
+}
+
+// call this first to set the proper text
+fsfModalWindowElemMaybeSwitchText();
+// call this right away to avoid flicker
+fsfModalWindowElemMaybeShow();
+
+
+// get the time `plusDays` in the future.
+// can be a fraction.
+function daysInFuture (plusDays) {
+    var now, future;
+
+    now = new Date();
+    future = new Date(now.getTime() + Math.floor(1000 * 60 * 60 * 24 * plusDays));
+    return future.toGMTString();
+}
+
+// hide the fsf-modal-window-elem
+function fsfModalWindowElemHide () {
+    document.getElementById("fsf-modal-window-elem-container").style.display="none";
+}
+
+// optionally hide elem and set a cookie to keep the fsf-modal-window-elem hidden for the next `forDays`.
+function fsfModalWindowElemDontShowForDays (forDays, hideNow) {
+    if (hideNow === true) {
+        fsfModalWindowElemHide();
+    }
+    //document.cookie = "showFsfSpring2020FundraiserModalWindowElementP=false; path=/; domain=.fsf.org; expires=" + daysInFuture(forDays);
+    document.cookie = "showFsfSpring2020FundraiserModalWindowElementP=false; path=/; expires=" + daysInFuture(forDays);
+}
+
+// hide the element from now to two weeks after closing it
+function fsfModalWindowElemDontShowForAWhile () {
+    fsfModalWindowElemDontShowForDays(7, true);
+}
+
+// keep the element visible for now, but don't show it for a while
+function fsfModalWindowElemFollowedLink () {
+    fsfModalWindowElemDontShowForDays(14, false);
+}
+
+// close popup if user clicks trasparent part
+document.getElementById("fsf-modal-window-elem-container").addEventListener("click", function(event){
+    fsfModalWindowElemDontShowForAWhile();
+});
+
+// don't close popup if clicking non-trasparent part (with the text and buttons)
+document.getElementById("fsf-modal-window-elem").addEventListener("click", function(event){
+    event.stopPropagation();
+});
+
+// close popup if user clicks X icon
+document.getElementById("fsf-modal-window-elem-close-button").addEventListener("click", function(event){
+    fsfModalWindowElemDontShowForAWhile();
+});
+
+// disable popup if user clicks one of the main buttons
+document.getElementById("fsf-modal-window-elem-buttons").addEventListener("click", function(event){
+    fsfModalWindowElemFollowedLink();
+});
+
+// disable popup if user clicks one of the "Read more" link
+document.getElementById("fsf-modal-window-text-link").addEventListener("click", function(event){
+    fsfModalWindowElemFollowedLink();
+});
+
+// close popup if user presses escape key 
+window.addEventListener("keydown",  function  (event)  {
+    switch  (event.key)  {
+        case  "Escape":
+            fsfModalWindowElemDontShowForAWhile();
+            break;
+        default:
+            return;
+    }
+},  true);
+
+// @license-end
+                </script>
+            </div>
+            <!-- end fsf-modal-window-elem campaign element -->
+
   <nav class="navbar navbar-default">
     <div class="container-fluid">
       <!-- Brand and toggle get grouped for better mobile display -->
@@ -1114,7 +1523,7 @@ MakerBot was founded with a more freedom-respecting philosophy, but <a href="htt
              <li id="GNU-promotion"><strong>GNU Press Shop: </strong>5% discount on all items using the coupon code <span class="label label-default">GIVEFREELY</span>. Code expires on December 31st. As always, FSF members get a 20% discount.</li>
               <li id="libiquity-promotion"><strong>Libiquity: </strong>10% rebate off your subtotal price for any items you buy from the Web site. Libiquity will donate 5% of each purchase's subtotal price to the FSF. Ends at 00:00 EST on February 1st, 2019. Claim the rebate by sending the code <span class="label label-default">FSFGIVING</span> and your order number to <a href="mailto:sales@libiquity.com">sales@libiquity.com</a>. Libiquity will then credit the rebate amount to your payment method.</li>
               <li id="lulzbot-promotion"><strong>LulzBot: </strong><a href="https://www.lulzbot.com/lulzbot-sales-clearance-items">Features sales and clearance items on their Web site</a>.</li>
-             <li id="minifree-promotion"><strong>Minifrree: </strong><a href="https://minifree.org/">Offering a discount on all products through the end of the year.</a>
+             <li id="minifree-promotion"><strong>Minifree: </strong><a href="https://minifree.org/">Offering a discount on all products through the end of the year.</a>
                <li id="technoethical-promotion"><strong>Technoethical:</strong> 5% discount on <b>all</b> purchases using the coupon code <span class="label label-default">FSFHOLIDAYS</span>. FSF members get an additional 10% off, using the code <span class="label label-default">FSREWARDS</span>.</li>
                      <li id="thinkpenguin-promotion"><strong>ThinkPenguin:</strong> 5% discount on <b>all</b> products is available to <a href="https://fsf.org/join">FSF members</a>.</li>
                       <li id="vikings-promotion"><strong>Vikings:</strong> 5% discount on <b>all</b> products and services between now and February 1, 2019. <b>Help the FSF:</b> Vikings will also make a donation to the FSF for each product purchased using the coupon code  <span class="label label-default">fsfftw</span>.</li>
@@ -1219,19 +1628,26 @@ MakerBot was founded with a more freedom-respecting philosophy, but <a href="htt
         <!-- Our JS -->
         <script src="js/magic.js" charset="utf-8"></script>
 
-        <!-- Piwik -->
-        <script type="text/javascript">
-        // @license magnet:?xt=urn:btih:c80d50af7d3db9be66a4d0a86db0286e4fd33292&dn=bsd-3-clause.txt
-        var pkBaseURL = (("https:" == document.location.protocol) ? "https://piwik.fsf.org/" : "http://piwik.fsf.org/");
-        document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
-        try {
-          var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 14);
-          piwikTracker.trackPageView();
-          piwikTracker.enableLinkTracking();
-        } catch (err) {}
-        // @license-end
-        </script><noscript><p><img src="//piwik.fsf.org/piwik.php?idsite=14" style="border:0" alt="" /></p></noscript>
-        <!-- End Piwik Tracking Code -->
+<!-- Piwik -->
+<script type="text/javascript">
+  // @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-2.0-or-later
+  var _paq = _paq || [];
+  _paq.push(["trackPageView"]);
+  _paq.push(["enableLinkTracking"]);
+
+  (function() {
+    var u = (("https:" == document.location.protocol) ? "https" : "http") + "://"+"piwik.fsf.org//";
+    _paq.push(["setTrackerUrl", u+"piwik.php"]);
+    _paq.push(["setSiteId", "14"]);
+    var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
+    g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
+  })();
+  // @license-end
+</script>
+<!-- End Piwik Code -->
+<!-- Piwik Image Tracker -->
+<noscript><img src="https://piwik.fsf.org//piwik.php?idsite=14&rec=1" style="border:0" alt="" /></noscript>
+<!-- End Piwik -->
       </body>
 
       </html>