window.addEventListener("load", function() { window.lightboxOpen = false; __construct = function() { var container = document.getElementById('iszy_widget'); if (container) { key = container.dataset.key; createWidget(container,key); } var containers = document.getElementsByClassName('iszy_widget'); for(var i=0;i'; var frame = document.getElementById('iszy_iframe_'+key); var page_resized = false; window.setTimeout(function(){ //console.log('delay'); page_resized = true; }, 2000); if (typeof iszy_limit === 'undefined') { document.addEventListener('scroll', function(e){ var elemRect = frame.getBoundingClientRect(); var bodyRect = document.body.getBoundingClientRect(); var offset = elemRect.top - bodyRect.top; if (page_resized == true) { var elementRect = frame.getBoundingClientRect(); var elementTop = elementRect.top; var elementBottom = elementRect.bottom; var viewportHeight = window.innerHeight; var viewportBottom = viewportHeight + window.pageYOffset; var elemRect = frame.getBoundingClientRect(); var bodyRect = document.body.getBoundingClientRect(); var offset = elemRect.top - bodyRect.top; if (parseInt(viewportBottom) > parseInt(elementBottom)) { setTimeout(function(){ if (frame.contentWindow !== null) { frame.contentWindow.postMessage('loadmore', '*'); } }, 1); } } }, true); } // Pass the scroll position to the iframe document.addEventListener('scroll', function(e){ var iframeOffset = frame.offsetTop var lightboxTop = window.pageYOffset - iframeOffset; //var viewportHeight = $(window).height(); var viewportHeight = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight; setTimeout(function(){ if (frame.contentWindow !== null) { //console.log('Post message on scrolling: '+viewportHeight+'-'+lightboxTop); frame.contentWindow.postMessage('lightboxPos-'+viewportHeight+'-'+lightboxTop, '*'); } }, 1); }, true); window.addEventListener('message', function(event) { if (~event.origin.indexOf('https://share.iszy.ai')) { if (event.data === 'scrollToTop') { window.scrollTo(0, 0); } if (event.data.match(/topOfGallery_/g)) { // Store the scrollPos if (window.lightboxOpen == false) { window.iszyScrollPos = window.pageYOffset; } window.lightboxOpen = true; var res = event.data.split("_"); var iframePos = offset(frame); //var offsetY = parseInt(iframePos.top + parseInt(res[1])); var offsetY = parseInt(iframePos.top + parseInt(res[1]))-100; window.scrollTo(0,offsetY); } else if (event.data == 'lightboxClose_'+key) { window.scrollTo(0,window.iszyScrollPos); window.lightboxOpen = false; } } }); var ajax = new XMLHttpRequest(); ajax.open( 'GET', include_js, true ); // <-- the 'false' makes it synchronous ajax.onreadystatechange = function () { var script = ajax.response || ajax.responseText; if (ajax.readyState === 4) { switch( ajax.status) { case 200: eval.apply( window, [script] ); setTimeout(function(){ iFrameResize({ log: false, //heightCalculationMethod: 'taggedElement', heightCalculationMethod: 'grow', onResized: function(iframe) { page_resized = true; } }, '#iszy_iframe_'+key); }, 500); break; default: } } }; ajax.send(null); } __construct(); });