portfolio *
This commit is contained in:
		
							
								
								
									
										174
									
								
								assets/js/cookiechoices.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										174
									
								
								assets/js/cookiechoices.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,174 @@
 | 
			
		||||
/*
 | 
			
		||||
 Copyright 2014 Google Inc. All rights reserved.
 | 
			
		||||
 | 
			
		||||
 Licensed under the Apache License, Version 2.0 (the "License");
 | 
			
		||||
 you may not use this file except in compliance with the License.
 | 
			
		||||
 You may obtain a copy of the License at
 | 
			
		||||
 | 
			
		||||
 http://www.apache.org/licenses/LICENSE-2.0
 | 
			
		||||
 | 
			
		||||
 Unless required by applicable law or agreed to in writing, software
 | 
			
		||||
 distributed under the License is distributed on an "AS IS" BASIS,
 | 
			
		||||
 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 | 
			
		||||
 See the License for the specific language governing permissions and
 | 
			
		||||
 limitations under the License.
 | 
			
		||||
 */
 | 
			
		||||
 | 
			
		||||
(function(window) {
 | 
			
		||||
 | 
			
		||||
  if (!!window.cookieChoices) {
 | 
			
		||||
    return window.cookieChoices;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  var document = window.document;
 | 
			
		||||
  // IE8 does not support textContent, so we should fallback to innerText.
 | 
			
		||||
  var supportsTextContent = 'textContent' in document.body;
 | 
			
		||||
 | 
			
		||||
  var cookieChoices = (function() {
 | 
			
		||||
 | 
			
		||||
    var cookieName = 'displayCookieConsent';
 | 
			
		||||
    var cookieConsentId = 'cookieChoiceInfo';
 | 
			
		||||
    var dismissLinkId = 'cookieChoiceDismiss';
 | 
			
		||||
 | 
			
		||||
    function _createHeaderElement(cookieText, dismissText, linkText, linkHref) {
 | 
			
		||||
      var butterBarStyles = 'position:fixed;width:100%;background-color:#FFA500;color:#000000;' +
 | 
			
		||||
          'margin:0; left:0; bottom:0; padding:4px;z-index:1000;text-align:center;';
 | 
			
		||||
 | 
			
		||||
      var cookieConsentElement = document.createElement('div');
 | 
			
		||||
      cookieConsentElement.id = cookieConsentId;
 | 
			
		||||
      cookieConsentElement.style.cssText = butterBarStyles;
 | 
			
		||||
      cookieConsentElement.appendChild(_createConsentText(cookieText));
 | 
			
		||||
 | 
			
		||||
			      if (!!linkText && !!linkHref) {
 | 
			
		||||
        cookieConsentElement.appendChild(_createInformationLink(linkText, linkHref));
 | 
			
		||||
      }
 | 
			
		||||
      cookieConsentElement.appendChild(_createDismissLink(dismissText));
 | 
			
		||||
			      
 | 
			
		||||
      return cookieConsentElement;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _createDialogElement(cookieText, dismissText, linkText, linkHref) {
 | 
			
		||||
      var glassStyle = 'position:fixed;width:100%;height:100%;z-index:999;' +
 | 
			
		||||
          'top:0;left:0;opacity:0.5;filter:alpha(opacity=50);' +
 | 
			
		||||
          'background-color:#ccc;';
 | 
			
		||||
      var dialogStyle = 'z-index:1000;position:fixed;left:50%;top:50%';
 | 
			
		||||
      var contentStyle = 'position:relative;left:-50%;margin-top:-25%;' +
 | 
			
		||||
          'background-color:#fff;padding:20px;box-shadow:4px 4px 25px #888;';
 | 
			
		||||
 | 
			
		||||
      var cookieConsentElement = document.createElement('div');
 | 
			
		||||
      cookieConsentElement.id = cookieConsentId;
 | 
			
		||||
 | 
			
		||||
      var glassPanel = document.createElement('div');
 | 
			
		||||
      glassPanel.style.cssText = glassStyle;
 | 
			
		||||
 | 
			
		||||
      var content = document.createElement('div');
 | 
			
		||||
      content.style.cssText = contentStyle;
 | 
			
		||||
 | 
			
		||||
      var dialog = document.createElement('div');
 | 
			
		||||
      dialog.style.cssText = dialogStyle;
 | 
			
		||||
 | 
			
		||||
      var dismissLink = _createDismissLink(dismissText);
 | 
			
		||||
      dismissLink.style.display = 'block';
 | 
			
		||||
      dismissLink.style.textAlign = 'right';
 | 
			
		||||
      dismissLink.style.marginTop = '8px';
 | 
			
		||||
 | 
			
		||||
      content.appendChild(_createConsentText(cookieText));
 | 
			
		||||
      if (!!linkText && !!linkHref) {
 | 
			
		||||
        content.appendChild(_createInformationLink(linkText, linkHref));
 | 
			
		||||
      }
 | 
			
		||||
      content.appendChild(dismissLink);
 | 
			
		||||
      dialog.appendChild(content);
 | 
			
		||||
      cookieConsentElement.appendChild(glassPanel);
 | 
			
		||||
      cookieConsentElement.appendChild(dialog);
 | 
			
		||||
      return cookieConsentElement;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _setElementText(element, text) {
 | 
			
		||||
      if (supportsTextContent) {
 | 
			
		||||
        element.textContent = text;
 | 
			
		||||
      } else {
 | 
			
		||||
        element.innerText = text;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _createConsentText(cookieText) {
 | 
			
		||||
      var consentText = document.createElement('span');
 | 
			
		||||
      _setElementText(consentText, cookieText);
 | 
			
		||||
      return consentText;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _createDismissLink(dismissText) {
 | 
			
		||||
      var dismissLink = document.createElement('a');
 | 
			
		||||
      _setElementText(dismissLink, dismissText);
 | 
			
		||||
      dismissLink.id = dismissLinkId;
 | 
			
		||||
      dismissLink.href = '#';
 | 
			
		||||
      dismissLink.style.marginLeft = '15px';
 | 
			
		||||
      dismissLink.style.color = '#000000';
 | 
			
		||||
      return dismissLink;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _createInformationLink(linkText, linkHref) {
 | 
			
		||||
      var infoLink = document.createElement('a');
 | 
			
		||||
      _setElementText(infoLink, linkText);
 | 
			
		||||
      infoLink.href = linkHref;
 | 
			
		||||
      infoLink.target = '_blank';
 | 
			
		||||
      infoLink.style.marginLeft = '15px';
 | 
			
		||||
      infoLink.style.color = '#000000';
 | 
			
		||||
      return infoLink;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _dismissLinkClick() {
 | 
			
		||||
      _saveUserPreference();
 | 
			
		||||
      _removeCookieConsent();
 | 
			
		||||
      return false;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _showCookieConsent(cookieText, dismissText, linkText, linkHref, isDialog) {
 | 
			
		||||
      if (_shouldDisplayConsent()) {
 | 
			
		||||
        _removeCookieConsent();
 | 
			
		||||
        var consentElement = (isDialog) ?
 | 
			
		||||
            _createDialogElement(cookieText, dismissText, linkText, linkHref) :
 | 
			
		||||
            _createHeaderElement(cookieText, dismissText, linkText, linkHref);
 | 
			
		||||
        var fragment = document.createDocumentFragment();
 | 
			
		||||
        fragment.appendChild(consentElement);
 | 
			
		||||
        document.body.appendChild(fragment.cloneNode(true));
 | 
			
		||||
        document.getElementById(dismissLinkId).onclick = _dismissLinkClick;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function showCookieConsentBar(cookieText, dismissText, linkText, linkHref) {
 | 
			
		||||
      _showCookieConsent(cookieText, dismissText, linkText, linkHref, false);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function showCookieConsentDialog(cookieText, dismissText, linkText, linkHref) {
 | 
			
		||||
      _showCookieConsent(cookieText, dismissText, linkText, linkHref, true);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _removeCookieConsent() {
 | 
			
		||||
      var cookieChoiceElement = document.getElementById(cookieConsentId);
 | 
			
		||||
      if (cookieChoiceElement != null) {
 | 
			
		||||
        cookieChoiceElement.parentNode.removeChild(cookieChoiceElement);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _saveUserPreference() {
 | 
			
		||||
      // Set the cookie expiry to one year after today.
 | 
			
		||||
      var expiryDate = new Date();
 | 
			
		||||
      expiryDate.setFullYear(expiryDate.getFullYear() + 1);
 | 
			
		||||
      document.cookie = cookieName + '=y; path=/; expires=' + expiryDate.toGMTString();
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    function _shouldDisplayConsent() {
 | 
			
		||||
      // Display the header only if the cookie has not been set.
 | 
			
		||||
      return !document.cookie.match(new RegExp(cookieName + '=([^;]+)'));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    var exports = {};
 | 
			
		||||
    exports.showCookieConsentBar = showCookieConsentBar;
 | 
			
		||||
    exports.showCookieConsentDialog = showCookieConsentDialog;
 | 
			
		||||
    return exports;
 | 
			
		||||
  })();
 | 
			
		||||
 | 
			
		||||
  window.cookieChoices = cookieChoices;
 | 
			
		||||
  return cookieChoices;
 | 
			
		||||
})(this);
 | 
			
		||||
							
								
								
									
										4
									
								
								assets/js/jquery.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								assets/js/jquery.min.js
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
		Reference in New Issue
	
	Block a user