(function(w) { var mainUrl='https://foglaljorvost.hu/widget/v2/widget/'; var _containerId = 1; function updateContainer(container) { if (container.hasAttribute('data-fo-container-id')) { return; } container.setAttribute('data-fo-container-id', _containerId); var supportedParams=[ 'widget-type','container-id','dc-id','dcid','c-id', 'specialty-id','service-id','location-id', 'title','title-color','text-color','bg-color','btn-color','booking-btn-color','btn-bg-color','btn-hover-bg-color','booking-btn-bg-color', 'show-avatar','logo-url','logo-link','bg-color','header-color','booking-header-color','enable-filter','hide-rating','hide-voucher', 'filter-color','filter-bg-color','details-color','filter-selected-bg-color','calendar-range-color','calendar-range-bg-color', 'calendar-header-color','calendar-header-bg-color','calendar-days-bg-color','calendar-days-holiday-bg-color', 'box-bg-color', 'count','rating-color','button1-color','button1-bg-color','button1-hover-bg-color', 'button2-color','button2-bg-color','button2-hover-bg-color', ]; var params = []; foreach(supportedParams, function(paramName) { if (container.hasAttribute('data-fo-'+paramName)) { params[paramName] = container.getAttribute('data-fo-'+paramName); } }); params['hostname'] = document.location.hostname; var frame = document.createElement('iframe'); frame.src = mainUrl+'?'+createQuery(params); frame.style = 'display: block !important; width: 100% !important; height: 100% !important;border: none!important;'; frame.onload = function() { frame.contentWindow.postMessage({'containerId' : _containerId}, '*'); }; container.appendChild(frame); _containerId++; } function foreach(array, callback) { for(var i=0; i < array.length;i++) { callback(array[i]); } } function createQuery(params) { var ret = []; for (var prop in params) { if (params.hasOwnProperty(prop)) { ret.push(encodeURIComponent(prop) + '=' + encodeURIComponent(params[prop])); } } return ret.join('&'); } function registerMessageHandler() { window.addEventListener('message', function (e) { if (!e.data.containerId || !e.data.height) { return; } var iframe=document.querySelector('[data-fo-container-id="'+e.data.containerId+'"] iframe'); if (iframe) { var height = e.data.height + 'px'; if (iframe.style.height !== height) { iframe.style.height = height; } } }); } function refresh() { var containers = document.querySelectorAll('[data-fo-widget-type]'); foreach(containers, updateContainer); } registerMessageHandler(); w.foRefresh = refresh; refresh(); })(window);