# webappsstore2

scope: emoh.:about
key: snippets
value:
  <div class="snippet_set">
    <style type="text/css">
  #snippetContainer div.snippet {
    display: none;
  }

  #snippetContainer div.snippet img.icon {
    margin: -0.75em 1em 0 0;
    float: left;
  }

    .snippet {
      position: relative;
    }

    .snippet .icon {
      position: absolute;
      right: 400px;
      top: 5px;
    }

    .snippet p {
      display: table-cell;
      height: 40px;
      padding-left: 80px;
      vertical-align: middle;
      width: 400px;
    }
  </style>      <div data-snippet-id="2934" data-weight="100"><!--basic-->
        <div class="snippet">
                  <!--icon:https://lh5.googleusercontent.com/-MXfb-qW5zf0/Ua5gKq8I2zI/AAAAAAAAAP4/jfHpok3SILU/w40-h50-no/SnippetNewsletter4.png-->
          <img class="icon" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAyCAYAAAAus5mQAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJ
  bWFnZVJlYWR5ccllPAAAA2hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdp
  bj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6
  eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0
  NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJo
  dHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlw
  dGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu
  MC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVz
  b3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1N
  Ok9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDowMTgwMTE3NDA3MjA2ODExOEMxNEFBN0YwQzM0
  QTAxNCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo2MjM1NTM4MEE5ODkxMUUyQkEyMkFBRDAx
  ODhFMDQ0RCIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo2MjM1NTM3RkE5ODkxMUUyQkEyMkFB
  RDAxODhFMDQ0RCIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRv
  c2gpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MDc4MDEx
  NzQwNzIwNjgxMThDMTRBQTdGMEMzNEEwMTQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MDE4
  MDExNzQwNzIwNjgxMThDMTRBQTdGMEMzNEEwMTQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRm
  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
  " />
          <p><a href="http://mzl.la/13MEPok">Abonnez-vous</a> à notre newsletter et découvrez chaque mois toutes les nouveautés de votre navigateur préféré.</p>
        </div></div>
        <div data-snippet-id="4215" data-weight="100"><div class="snippet">
    <a href="https://sendto.mozilla.org/page/contribute/EOYFR2013-snippetFR?source=snippettest_themeD_var4_TEST002_sand&amp;amount=3&amp;utm_source=snippet&amp;utm_medium=snippet&amp;utm_campaign=EOY_FR_D4"><img class="icon" src="data:image/gif;base64,[encoded data, 8436 characters]" /></a>
    <p>Mozilla est l'organisation sans but lucratif à l'origine de Firefox et fonctionne grâce aux dons et aux subventions. Si chaque personne lisant ce message donnait seulement 2€, nous n'aurions besoin de collecter des fonds qu'un jour par an. <a href="https://sendto.mozilla.org/page/contribute/EOYFR2013-snippetFR?source=snippettest_themeD_var4_TEST002_sand&amp;amount=3&amp;utm_source=snippet&amp;utm_medium=snippet&amp;utm_campaign=EOY_FR_D4">Faites un don</a>!</p>
  </div></div>
        <div data-snippet-id="4214" data-weight="100"><div class="snippet">
    <a href="https://sendto.mozilla.org/page/contribute/EOYFR2013-snippetFR?source=snippettest_themeD_var3_TEST002_sand&amp;amount=3&amp;utm_source=snippet&amp;utm_medium=snippet&amp;utm_campaign=EOY_FR_D3"><img class="icon" src="data:image/gif;base64,[encoded data, 8436 characters]" /></a>
    <p>Mozilla est l'organisation à l'origine de Firefox et fonctionne grâce aux dons. Si chacun d'entre vous donnait seulement 2€, nous pourrions rendre le Web encore meilleur. <a href="https://sendto.mozilla.org/page/contribute/EOYFR2013-snippetFR?source=snippettest_themeD_var3_TEST002_sand&amp;amount=3&amp;utm_source=snippet&amp;utm_medium=snippet&amp;utm_campaign=EOY_FR_D3">Faites un don</a>!</p>
  </div></div>
      <script type="text/javascript">
  //<![CDATA[
  /*!
    * $script.js Async loader & dependency manager
    * https://github.com/ded/script.js
    * (c) Dustin Diaz, Jacob Thornton 2011
    * License: MIT
    */
  (function(a,b,c){typeof c["module"]!="undefined"&&c.module.exports?c.module.exports=b():typeof c["define"]!="undefined"&&c["define"]=="function"&&c.define.amd?define(a,b):c[a]=b()})("$script",function(){function p(a,b){for(var c=0,d=a.length;c<d;++c)if(!b(a[c]))return j;return 1}function q(a,b){p(a,function(a){return!b(a)})}function r(a,b,i){function o(a){return a.call?a():d[a]}function t(){if(!--n){d[m]=1,l&&l();for(var a in f)p(a.split("|"),o)&&!q(f[a],o)&&(f[a]=[])}}a=a[k]?a:[a];var j=b&&b.call,l=j?b:i,m=j?a.join(""):b,n=a.length;return setTimeout(function(){q(a,function(a){if(h[a])return m&&(e[m]=1),h[a]==2&&t();h[a]=1,m&&(e[m]=1),s(!c.test(a)&&g?g+a+".js":a,t)})},0),r}function s(c,d){var e=a.createElement("script"),f=j;e.onload=e.onerror=e[o]=function(){if(e[m]&&!/^c|loade/.test(e[m])||f)return;e.onload=e[o]=null,f=1,h[c]=2,d()},e.async=1,e.src=c,b.insertBefore(e,b.firstChild)}var a=document,b=a.getElementsByTagName("head")[0],c=/^https?:\/\//,d={},e={},f={},g,h={},i="string",j=!1,k="push",l="DOMContentLoaded",m="readyState",n="addEventListener",o="onreadystatechange";return!a[m]&&a[n]&&(a[n](l,function t(){a.removeEventListener(l,t,j),a[m]="complete"},j),a[m]="loading"),r.get=s,r.order=function(a,b,c){(function d(e){e=a.shift(),a.length?r(e,d):r(e,b,c)})()},r.path=function(a){g=a},r.ready=function(a,b,c){a=a[k]?a:[a];var e=[];return!q(a,function(a){d[a]||e[k](a)})&&p(a,function(a){return d[a]})?b():!function(a){f[a]=f[a]||[],f[a][k](b),c&&c(e)}(a.join("|")),r},r},this);

  (function(showDefaultSnippets) {
      'use strict';

      var SAMPLE_RATE = 0.1;
      var STATS_URL = 'https://snippets-stats.mozilla.org/foo.html';
      var GEO_URL = 'https://geo.mozilla.org/country.js';
      var GEO_CACHE_DURATION = 1000 * 60 * 60 * 24 * 30; // 30 days

      // showDefaultSnippets polyfill, available in about:home v4
      if (typeof showDefaultSnippets !== 'function') {
          showDefaultSnippets = function() {
              localStorage.snippets = '';
              showSnippets();
          };
      }

      // gSnippetsMap polyfill, available in Firefox 22 and above.
      var gSnippetsMap = null;
      if (supportsLocalStorage()) {
          // localStorage is available, so we wrap it with gSnippetsMap.
          gSnippetsMap = {
              set: function(key, value) {
                  localStorage[key] = value;
              },
              get: function(key) {
                  return localStorage[key];
              }
          };
      } else {
          // localStorage isn't available, use gSnippetsMap (backed by IndexedDB).
          gSnippetsMap = window.gSnippetsMap;
      }

      var snippets = (document.getElementById('snippetContainer')
                      .getElementsByClassName('snippet'));
      var show_snippet = null;
      if (snippets.length > 0) {
          show_snippet = chooseSnippet(snippets);
      }

      if (show_snippet) {
          show_snippet.style.display = 'block';

          try {
              activateSnippetsButtonClick(show_snippet);
          } catch (err) {
              // Do nothing, most likely a newer version of Firefox w/o
              // activateSnippetsButtonClick
          }

          // Send impression to the snippets stats server.
          var show_snippet_id = show_snippet.parentNode.dataset.snippetId;
          send_impression(show_snippet_id);

          // Trigger show_snippet event on snippet node.
          var evt = document.createEvent('Event');
          evt.initEvent('show_snippet', true, true);
          show_snippet.dispatchEvent(evt);

          // Add sample rate and snippet ID to currently displayed links.
          var parameters = ('sample_rate=' + SAMPLE_RATE + '&snippet_name=' +
                            show_snippet_id);
          modifyLinks(show_snippet.getElementsByTagName('a'), parameters);
      } else {
          showDefaultSnippets();
      }

      // Fetch user country if we don't have it.
      if (!haveUserCountry()) {
          downloadUserCountry();
      }

              // Choose which snippet to display to the user based on various factors,
      // such as which country they are in.
      function chooseSnippet(snippets) {
          // Build an object that maps countries to snippets.
          var snippetsFor = {};

          for (var k = 0; k < snippets.length; k++) {
              var snippet = snippets[k];
              var country = snippet.parentNode.dataset.country || 'none';

              // Create a new entry in the object if it doesn't exist.
              if (snippetsFor.hasOwnProperty(country)) {
                  snippetsFor[country].push(snippet);
              } else {
                  snippetsFor[country] = [snippet];
              }
          }

          // Choose a random snippet from the set of non-geolocated snippets,
          // including snippets for the user's country if it is available.
          var country = getUserCountry();
          if (country && snippetsFor.hasOwnProperty(country)) {
              snippets = snippetsFor[country];
              if (snippetsFor.none) {
                  snippets = snippets.concat(snippetsFor.none);
              }
          } else {
              snippets = snippetsFor.none;
          }

          if (snippets && snippets.length) {
              var sum = 0;
              for (var k = 0; k < snippets.length; k++) {
                  sum += parseInt(snippets[k].parentNode.dataset.weight, 10) || 100;
                  snippets[k].parentNode.dataset.weight = sum;
              }
              var random_number = Math.random() * sum;
              for (var k = 0; k < snippets.length; k++) {
                  if (random_number < snippets[k].parentNode.dataset.weight) {
                      return snippets[k];
                  }
              }
          } else {
              return null;
          }
      }
      
      // Check whether we have the user's country stored and if it is still valid.
      function haveUserCountry() {
          // Check if there's an existing country code to use.
          if (gSnippetsMap.get('geoCountry')) {
              // Make sure we have a valid lastUpdated date.
              var lastUpdated = Date.parse(gSnippetsMap.get('geoLastUpdated'));
              if (lastUpdated) {
                  // Make sure that it is past the lastUpdated date.
                  var now = new Date();
                  if (now < lastUpdated + GEO_CACHE_DURATION) {
                      return true;
                  }
              }
          }

          return false;
      }

      function getUserCountry() {
          if (haveUserCountry()) {
              return gSnippetsMap.get('geoCountry').toLowerCase();
          } else {
              return null;
          }
      }

      // Download the user's country using the geolocation service.
      function downloadUserCountry() {
          $script(GEO_URL, 'geo');
          $script.ready('geo', function() {
              try {
                  gSnippetsMap.set('geoCountry', geoip_country_code());
                  gSnippetsMap.set('geoLastUpdated', new Date());
              } catch (e) {
                  // Most likely failed to load JS file. Continue on without us,
                  // we'll try again next time.
              }
          });
      }

      // Notifies stats server that the given snippet ID
      // was shown. No personally-identifiable information
      // is sent.
      function send_impression(id) {
          if (Math.random() <= SAMPLE_RATE) {
              var r = new XMLHttpRequest();
              r.open('GET', STATS_URL + '?snippet_name=' + id);
              r.send();
          }
      }

      // Modifies the given links to include the specified GET parameters.
      function modifyLinks(links, parameters) {
          for (var k = 0, len = links.length; k < len; k++) {
              var link = links[k];
              var delimeter = (link.href.indexOf('?') !== -1 ? '&' : '?');

              // Pull the fragment off of the link
              var fragment_position = link.href.indexOf('#');
              if (fragment_position === -1) {
                  fragment_position = link.href.length;
              }

              var href = link.href.substring(0, fragment_position);
              var fragment = link.href.substring(fragment_position);

              link.href = href + delimeter + parameters + fragment;
          }
      }

      // Check for localStorage support. Copied from Modernizr.
      function supportsLocalStorage() {
          var s = 'snippets-test';
          try {
              localStorage.setItem(s, s);
              localStorage.removeItem(s);
              return true;
          } catch(e) {
              return false;
          }
      }

  })(window.showDefaultSnippets);
  //]]>
  </script></div>
  <!-- Content generated at 2013-11-29T15:49:47Z -->


