Holocaust Denial on Trial
This post is also available in:
Français Español
/* */
/* */
/* */
function grveReadCookie(name) var nameEQ = name + '=';var ca = document.cookie.split(';');for(var i=0;i < ca.length;i++) var c = ca[i];while (c.charAt(0)==' ') c = c.substring(1,c.length);if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length,c.length);return null;function grvePrivacyCookieConsent( cookie_name, cookie_days ) var privacyAgreement = jQuery('.grve-privacy-agreement');privacyAgreement.on( 'click', function() var theDate = new Date();var later = new Date( theDate.getTime() + cookie_days*24*60*60*1000 );document.cookie = cookie_name + '=true; Path=/; Expires='+later.toGMTString()+';';jQuery('#grve-privacy-bar').fadeOut(900););if( !document.cookie.match( cookie_name ) ) jQuery('#grve-privacy-bar').fadeIn(900);function grvePrivacyPopupConsent() var privacyPopupButton = jQuery('.grve-privacy-popup-btn'),privacyRefreshButton = jQuery('.grve-privacy-refresh-btn'),privacyPopup = jQuery('#grve-privacy-popup'),privacyOverlay = jQuery('#grve-privacy-overlay');privacyPopupButton.on( 'click', function(e) e.preventDefault();privacyPopup.fadeIn(600,function()jQuery(window).on( 'click.grve_close_privacy_popup', function( event ) if( !jQuery(event.target).closest('.grve-privacy-popup-wrapper').length ) privacyPopup.fadeOut(600,function()jQuery(window).off( 'click.grve_close_privacy_popup' ););privacyOverlay.fadeOut(600);););privacyOverlay.fadeIn(600););privacyRefreshButton.on( 'click', function() window.location.reload(true);); grvePrivacyCookieConsent('grve-privacy-consent', '30'); grvePrivacyPopupConsent();function grvePrivacyCookieSwitch( cookie_name, initial_state ) var theDate = new Date();var oneYearLater = new Date( theDate.getTime() + 31536000000 );var privacySwitch = jQuery('.' + cookie_name);privacySwitch.each( function() if( document.cookie.match( cookie_name ) ) if ( 'false' == grveReadCookie(cookie_name) ) this.checked = false; else this.checked = true; else if( !initial_state ) this.checked = false;);privacySwitch.on( 'click', function() if( this.checked ) document.cookie = cookie_name + '=true; Path=/; Expires='+oneYearLater.toGMTString()+';';privacySwitch.each( function() this.checked = true;); else document.cookie = cookie_name + '=false; Path=/; Expires='+oneYearLater.toGMTString()+';';privacySwitch.each( function() this.checked = false;);); grvePrivacyCookieSwitch('grve-privacy-content-gtracking', '1' ); grvePrivacyCookieSwitch('grve-privacy-content-gfonts', '1' ); grvePrivacyCookieSwitch('grve-privacy-content-gmaps', '1' ); grvePrivacyCookieSwitch('grve-privacy-content-video-embeds', '1' );
(function(document, history, location)
var HISTORY_SUPPORT = !!(history && history.pushState);
var anchorScrolls =
ANCHOR_REGEX: /^#[^ ]+$/,
OFFSET_HEIGHT_PX: 95,
/**
* Establish events, and fix initial scroll position if a hash is provided.
*/
init: function()
this.scrollToCurrent();
window.addEventListener('hashchange', this.scrollToCurrent.bind(this));
document.body.addEventListener('click', this.delegateAnchors.bind(this));
,
/**
* Return the offset amount to deduct from the normal scroll position.
* Modify as appropriate to allow for dynamic calculations
*/
getFixedOffset: function()
return this.OFFSET_HEIGHT_PX;
,
/**
* If the provided href is an anchor which resolves to an element on the
* page, scroll to it.
* @param String href
* @return Boolean - Was the href an anchor.
*/
scrollIfAnchor: function(href, pushToHistory)
var match, rect, anchorOffset;
if(!this.ANCHOR_REGEX.test(href))
return false;
match = document.getElementById(href.slice(1));
if(match)
rect = match.getBoundingClientRect();
anchorOffset = window.pageYOffset + rect.top - this.getFixedOffset();
window.scrollTo(window.pageXOffset, anchorOffset);
// Add the state to history as-per normal anchor links
if(HISTORY_SUPPORT && pushToHistory)
history.pushState(, document.title, location.pathname + href);
return !!match;
,
/**
* Attempt to scroll to the current location's hash.
*/
scrollToCurrent: function()
this.scrollIfAnchor(window.location.hash);
,
/**
* If the click event's target was an anchor, fix the scroll position.
*/
delegateAnchors: function(e)
var elem = e.target;
if(
elem.nodeName === 'A' &&
this.scrollIfAnchor(elem.getAttribute('href'), true)
)
e.preventDefault();
;
window.addEventListener(
'DOMContentLoaded', anchorScrolls.init.bind(anchorScrolls)
);
)(window.document, window.history, window.location);