kiskegyed
This commit is contained in:
@@ -0,0 +1,477 @@
|
||||
function loadFacebookAPI() {
|
||||
var js = document.createElement('script');
|
||||
js.src = 'https://connect.facebook.net/hu_HU/sdk.js#xfbml=1&version=v4.0&appId=676805345831827&autoLogAppEvents=1';
|
||||
document.body.appendChild(js);
|
||||
}
|
||||
|
||||
let set;
|
||||
|
||||
function setCookieSettings() {
|
||||
let cookieSetting = document.getElementById('qc-cmp2-persistent-link');
|
||||
|
||||
if (!cookieSetting) {
|
||||
return;
|
||||
}
|
||||
|
||||
cookieSetting.click();
|
||||
}
|
||||
|
||||
function getCookie(name) {
|
||||
const d = {};
|
||||
document.cookie.split('; ').forEach(item => {
|
||||
d[item.split('=')[0]] = item.split('=')[1];
|
||||
});
|
||||
|
||||
return d[name];
|
||||
}
|
||||
|
||||
function setCookie(name, value, exdays) {
|
||||
var d = new Date();
|
||||
d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000));
|
||||
var expires = 'expires=' + d.toUTCString();
|
||||
document.cookie = `${name}=${value}; ${expires}; path=/`;
|
||||
}
|
||||
|
||||
function deleteCookie(name, value) {
|
||||
var expires = 'expires=Thu, 01 Jan 1970 00:00:01 GMT';
|
||||
document.cookie = `${name}=${value}; ${expires}; path=/`;
|
||||
}
|
||||
|
||||
function documentReady(fn) {
|
||||
if (document.readyState === 'complete' || document.readyState === 'interactive') {
|
||||
fn();
|
||||
} else {
|
||||
document.addEventListener('DOMContentLoaded', fn);
|
||||
}
|
||||
}
|
||||
|
||||
const handleMenuClose = e => {
|
||||
const prevScroll = window.scrollY;
|
||||
window.location.replace('#');
|
||||
window.scrollTo(0, prevScroll);
|
||||
history.replaceState('', document.title, window.location.pathname + window.location.search);
|
||||
};
|
||||
|
||||
document.addEventListener('click', event => {
|
||||
const isClickInsideHamburgerMenu = document.querySelector('#hamburgerMenu')?.contains(event.target);
|
||||
const isClickInsideElementHamburgerOpenButton = document.querySelector('#hamburgerOpenButton')?.contains(event.target);
|
||||
|
||||
if (!isClickInsideHamburgerMenu && !isClickInsideElementHamburgerOpenButton && window.location.href.endsWith('#mainHeader')) {
|
||||
handleMenuClose();
|
||||
}
|
||||
});
|
||||
|
||||
const toggleHamburgerButtons = document.getElementsByClassName('toggleHamburger');
|
||||
|
||||
for (const button of Object.values(toggleHamburgerButtons)) {
|
||||
if (button) {
|
||||
button.addEventListener('click', e => {
|
||||
if (window.location.href.endsWith('#mainHeader')) {
|
||||
e.preventDefault();
|
||||
handleMenuClose();
|
||||
} else {
|
||||
e.preventDefault();
|
||||
const prevScroll = window.scrollY;
|
||||
window.location.replace('#mainHeader');
|
||||
window.scrollTo(0, prevScroll);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
$(window).ready(() => {
|
||||
if (!getCookie('isLeavingPopUpReady') && document.querySelector('.leavingPopupLayer')) {
|
||||
const showPopup = () => {
|
||||
setCookie('isLeavingPopUpReady', false, 3);
|
||||
document.querySelector('body').style.overflow = 'hidden';
|
||||
document.querySelector('.leavingPopupLayer').style.display = 'block';
|
||||
document.querySelector('.leavingPopupLayer div').classList.add('fade-in');
|
||||
};
|
||||
|
||||
document.documentElement.addEventListener('mouseleave', showPopup);
|
||||
|
||||
const checkModalClose = e => {
|
||||
if ($(e.target).hasClass('leavingPopupLayer')) {
|
||||
closeModal();
|
||||
}
|
||||
};
|
||||
|
||||
const closeModal = () => {
|
||||
document.querySelector('body').style.overflow = 'hidden auto';
|
||||
document.querySelector('.leavingPopupLayer').classList.add('fade-out');
|
||||
document.querySelector('html').removeEventListener('click', checkModalClose);
|
||||
document.querySelector('.leavingPopupLayer .close').removeEventListener('click', closeModal);
|
||||
document.documentElement.removeEventListener('mouseleave', showPopup);
|
||||
};
|
||||
|
||||
document.querySelector('.leavingPopupLayer .close').addEventListener('click', closeModal);
|
||||
document.querySelector('html').addEventListener('click', checkModalClose);
|
||||
}
|
||||
});
|
||||
|
||||
function closePopup() {
|
||||
$('#articleOfferFlag').remove();
|
||||
}
|
||||
|
||||
documentReady(() => {
|
||||
window.addEventListener('message', e => {
|
||||
if (e.data.eventType === 'loginRedirect') {
|
||||
let sourceParam = '';
|
||||
|
||||
if (e.data.case) {
|
||||
sourceParam += e.data.case;
|
||||
}
|
||||
|
||||
if (window.articleUuid) {
|
||||
sourceParam += '_' + window.articleUuid;
|
||||
}
|
||||
|
||||
const form = document.createElement('form');
|
||||
form.method = 'POST';
|
||||
form.action = `https://www.kiskegyed.hu/login`;
|
||||
|
||||
if (sourceParam) {
|
||||
const input = document.createElement('input');
|
||||
input.type = 'hidden';
|
||||
input.name = 'source';
|
||||
input.value = sourceParam;
|
||||
form.appendChild(input);
|
||||
}
|
||||
|
||||
document.body.appendChild(form);
|
||||
form.submit();
|
||||
}
|
||||
});
|
||||
|
||||
window.onscroll = function () {
|
||||
if ($('#articleOfferFlag').length && $('#articleOfferFlagPosition').length) {
|
||||
if (document.querySelector('#articleOfferFlagPosition').getBoundingClientRect().top - 200 < window.innerHeight) {
|
||||
$('#articleOfferFlag').addClass('slideInRight');
|
||||
} else {
|
||||
$('#articleOfferFlag').removeClass('slideInRight');
|
||||
}
|
||||
}
|
||||
|
||||
if ($('#featuredVideo').length) {
|
||||
if ($('#featuredVideo').attr('data-ga4event-fired') === 'false' && document.querySelector('#featuredVideo').getBoundingClientRect().bottom - 200 < window.innerHeight) {
|
||||
$('#featuredVideo').attr('data-ga4event-fired', 'true');
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
window.dataLayer.push({ 'event': 'scrolled-to-featured-video' });
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
let lastScroll = window.scrollY;
|
||||
|
||||
function handleStickyHeader() {
|
||||
const header = document.querySelector('#mainHeader');
|
||||
|
||||
if (header) {
|
||||
const currentScroll = window.scrollY;
|
||||
|
||||
if (currentScroll <= header.offsetHeight * 0.6) {
|
||||
header.classList.remove('hideMenu');
|
||||
} else if (lastScroll - currentScroll > -200 && lastScroll - currentScroll < 0) {
|
||||
header.classList.add('hideMenu');
|
||||
} else {
|
||||
header.classList.remove('hideMenu');
|
||||
}
|
||||
|
||||
lastScroll = currentScroll;
|
||||
}
|
||||
}
|
||||
|
||||
function toggleMobileSearchBar(searchTogglerSelector, inputContainerSelector) {
|
||||
document.querySelector('#searchContainer')?.classList.toggle('show');
|
||||
|
||||
if (document.querySelector('#searchContainer')?.classList.contains('show')) {
|
||||
document.querySelector(`${searchTogglerSelector} span`).innerText = 'Kereső bezárása';
|
||||
document.querySelector(`${searchTogglerSelector} .searchIcon`).style.display = 'none';
|
||||
document.querySelector(`${searchTogglerSelector} .closeIcon`).style.display = 'block';
|
||||
document.querySelector(`${inputContainerSelector} input`).focus();
|
||||
} else {
|
||||
document.querySelector(`${searchTogglerSelector} span`).innerText = 'Keresés';
|
||||
document.querySelector(`${searchTogglerSelector} .searchIcon`).style.display = 'block';
|
||||
document.querySelector(`${searchTogglerSelector} .closeIcon`).style.display = 'none';
|
||||
}
|
||||
}
|
||||
|
||||
document.querySelector('#openSearchBar')?.addEventListener('click', () => {
|
||||
document.querySelector('#searchContainer')?.classList.add('show');
|
||||
document.querySelector(`.inputContainer input`).focus();
|
||||
});
|
||||
|
||||
document.querySelector('.closeSearchField')?.addEventListener('click', () => {
|
||||
toggleMobileSearchBar('#mobileSearchToggler', '.inputContainer');
|
||||
});
|
||||
|
||||
document.querySelector('#mobileSearchToggler')?.addEventListener('click', () => {
|
||||
handleMenuClose();
|
||||
toggleMobileSearchBar('#mobileSearchToggler', '.inputContainer');
|
||||
});
|
||||
|
||||
document.querySelector('.mobileSearchCloseIcon').addEventListener('click', () => {
|
||||
toggleMobileSearchBar('#mobileSearchToggler');
|
||||
});
|
||||
|
||||
document.addEventListener('scroll', handleStickyHeader);
|
||||
|
||||
document.querySelector('#hamburgerCloseButton')?.addEventListener('click', () => {
|
||||
handleMenuClose();
|
||||
});
|
||||
|
||||
document.querySelectorAll('.shareAPIButton')?.forEach(button => {
|
||||
button.addEventListener('click', () => {
|
||||
navigator.share({
|
||||
title: button?.dataset?.shareTitle,
|
||||
text: button?.dataset?.shareText,
|
||||
url: button?.dataset?.shareUrl
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
document.querySelectorAll('[link-url]')?.forEach(element => {
|
||||
element.addEventListener('click', () => window.open(element?.attributes[0]?.value, '_blank').focus());
|
||||
});
|
||||
|
||||
$('.applyAdult').click(() => {
|
||||
$('#adultAlert').fadeOut('fast');
|
||||
sessionStorage.adultAlert = 1;
|
||||
});
|
||||
|
||||
document.querySelectorAll('#detailPage .image .dropdown-menu a')?.forEach(link => {
|
||||
link.addEventListener('click', () => {
|
||||
window.open(link.href, '_blank');
|
||||
});
|
||||
});
|
||||
const newsletterElement = document.querySelector('form.newsletterSubscription');
|
||||
|
||||
if (newsletterElement) {
|
||||
document.querySelectorAll('[data-hidden-input]')?.forEach((input, hiddenIdx) => {
|
||||
if (!input) {
|
||||
return;
|
||||
}
|
||||
|
||||
const hiddenInput = document.querySelector(
|
||||
`[name="${input.dataset.hiddenInput}"]`
|
||||
);
|
||||
input.addEventListener('change', e => {
|
||||
if (e.target.checked) {
|
||||
hiddenInput.value = 'subscribed';
|
||||
} else {
|
||||
hiddenInput.value = 'not subscribed';
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
newsletterElement.addEventListener('submit', e => {
|
||||
e.preventDefault();
|
||||
const formData = new FormData(e.target);
|
||||
const filteredFormData = {};
|
||||
|
||||
for (const [name, value] of formData.entries()) {
|
||||
if (value !== 'not subscribed') {
|
||||
filteredFormData[name] = value;
|
||||
}
|
||||
}
|
||||
|
||||
const purifiedFormData = Object.entries(filteredFormData).reduce((prev, [key, value]) => {
|
||||
if (!key.includes('_frequency')) {
|
||||
prev[key] = value;
|
||||
|
||||
return prev;
|
||||
}
|
||||
|
||||
if (!filteredFormData.hasOwnProperty(key.replace('frequency', 'subscription'))) {
|
||||
return prev;
|
||||
}
|
||||
|
||||
prev[key] = value;
|
||||
|
||||
return prev;
|
||||
}, {});
|
||||
|
||||
const formProps = Object.fromEntries(formData);
|
||||
|
||||
if (formProps?.interest !== 'on') {
|
||||
document.querySelectorAll('input[name=\'interest\']').forEach((e, index) => {
|
||||
setTimeout(() => e.classList.add('shakeAnimation'), index * 6);
|
||||
setTimeout(() => e.classList.remove('shakeAnimation'), 2000);
|
||||
});
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
const sailthruForm = new FormData();
|
||||
|
||||
for (const [name, value] of Object.entries(purifiedFormData)) {
|
||||
if (name.startsWith('vars') || name === 'name' || name === 'email') {
|
||||
sailthruForm.append(name, value);
|
||||
}
|
||||
}
|
||||
|
||||
const edm = formData.get('promotions_subscription');
|
||||
|
||||
if (edm.valueOf() === 'subscribed') {
|
||||
sailthruForm.append('vars[promotions_subscription]', edm.valueOf());
|
||||
}
|
||||
|
||||
sailthruForm.append('vars[nl_subscription]', 'subscribed');
|
||||
|
||||
const ga4EventList = [];
|
||||
|
||||
for (const [key, value] of sailthruForm.entries()) {
|
||||
if (value === 'subscribed') {
|
||||
const newsletterName = key.replace(/^vars\[nl_(.*?)_subscription\]$/, '$1');
|
||||
|
||||
if (!newsletterName.includes('vars')) {
|
||||
ga4EventList.push(newsletterName + '_' + sailthruForm.get('vars[nl_' + newsletterName + '_frequency]'));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sendForm(sailthruForm, ga4EventList);
|
||||
});
|
||||
const subscribeCheckbox = document.querySelector('form.newsletterSubscription #subscribe');
|
||||
|
||||
if (subscribeCheckbox) {
|
||||
subscribeCheckbox.addEventListener('change', e => {
|
||||
if (e.target.checked) {
|
||||
document
|
||||
.querySelector('.newsletterSubscription .interests')
|
||||
.classList.add('open');
|
||||
} else {
|
||||
document
|
||||
.querySelector('.newsletterSubscription .interests')
|
||||
.classList.remove('open');
|
||||
}
|
||||
});
|
||||
|
||||
subscribeCheckbox.removeAttribute('disabled');
|
||||
}
|
||||
}
|
||||
|
||||
async function sendForm(formData, ga4EventList) {
|
||||
const submitButton = document.querySelector(
|
||||
'form.newsletterSubscription button[type=\'submit\']'
|
||||
);
|
||||
|
||||
const prevButtonBackgroundColor = submitButton.style.background;
|
||||
const prevButtonBorderColor = submitButton.style.borderColor;
|
||||
|
||||
submitButton.innerHTML = 'Küldés';
|
||||
submitButton.style.background = '#1e78aa';
|
||||
submitButton.style.borderColor = '#1e78aa';
|
||||
|
||||
let formSuccess = false;
|
||||
|
||||
try {
|
||||
await fetch('https://www.kiskegyed.hu/sailthru', {
|
||||
method: 'POST',
|
||||
body: formData
|
||||
}).then(() => {
|
||||
submitButton.style.background = '#8fcf8f';
|
||||
submitButton.style.borderColor = '#8fcf8f';
|
||||
submitButton.innerHTML = 'Feliratkozva';
|
||||
const customEvent = new Event('successfulSailthruNewsletterSubscription');
|
||||
setTimeout(() => {
|
||||
document
|
||||
.querySelector('.newsletterSubscription .interests')
|
||||
.classList.remove('open');
|
||||
document.querySelector('.newsletterSubscription').reset();
|
||||
submitButton.style.background = prevButtonBackgroundColor;
|
||||
submitButton.style.borderColor = prevButtonBorderColor;
|
||||
submitButton.innerHTML = 'Feliratkozás';
|
||||
document.dispatchEvent(customEvent);
|
||||
}, 2000);
|
||||
|
||||
formSuccess = true;
|
||||
});
|
||||
} catch (e) {
|
||||
formSuccess = false;
|
||||
console.error(e);
|
||||
submitButton.style.background = '#ee5b5b';
|
||||
submitButton.style.borderColor = '#ee5b5b';
|
||||
submitButton.innerHTML = 'Sikertelen';
|
||||
}
|
||||
|
||||
window.dataLayer = window.dataLayer || [];
|
||||
ga4EventList
|
||||
.map(newsletterName => ({
|
||||
event: 'subscribe_newsletter',
|
||||
method: 'newsletter subscription form',
|
||||
form_state: formSuccess ? 'success' : 'error',
|
||||
newsletter_list: newsletterName
|
||||
}))
|
||||
.forEach(ga4Event => window.dataLayer.push(ga4Event));
|
||||
}
|
||||
});
|
||||
|
||||
const checkSessionCookiesExists = () => {
|
||||
const sessionId = getCookie('SessionId');
|
||||
const isLoggedIn = getCookie('Loggedin');
|
||||
|
||||
const loginButton = document.querySelector('#loginButton');
|
||||
const profileButtonGroup = document.querySelector('#profileButtonGroup');
|
||||
|
||||
if (sessionId && isLoggedIn === 'true') {
|
||||
loginButton.classList.remove('active');
|
||||
profileButtonGroup.classList.add('active');
|
||||
} else {
|
||||
loginButton.classList.add('active');
|
||||
profileButtonGroup.classList.remove('active');
|
||||
}
|
||||
};
|
||||
|
||||
function sailThruCookieExchange() {
|
||||
const sessionId = getCookie('SessionId');
|
||||
const isLoggedIn = getCookie('Loggedin');
|
||||
const sailThruContent = getCookie('sailthru_content');
|
||||
const sailThruHid = getCookie('sailthru_hid');
|
||||
|
||||
if (sessionId && isLoggedIn && sailThruContent && !sailThruHid) {
|
||||
fetch('https://www.kiskegyed.hu/sailthru/cookie-exchange');
|
||||
}
|
||||
}
|
||||
|
||||
window.addEventListener('load', checkSessionCookiesExists);
|
||||
window.addEventListener('load', sailThruCookieExchange);
|
||||
window.addEventListener('load', addDropdownListeners);
|
||||
|
||||
function addDropdownListeners() {
|
||||
const dropdownActivators = document.querySelectorAll('.dropdownLabel, .dropdown');
|
||||
|
||||
dropdownActivators.forEach(el => {
|
||||
el.addEventListener('mouseover', () => {
|
||||
el.parentElement.classList.add('current');
|
||||
|
||||
el.addEventListener('mouseout', () => {
|
||||
el.parentElement.classList.remove('current');
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function prevHoroscopePagination() {
|
||||
if ($('.horoscopeText.active').prev('.horoscopeText').length !== 0) {
|
||||
$('.nextHoroscopePagination').css('display', 'block');
|
||||
$('.horoscopeText.active').removeClass('active').prev().addClass('active');
|
||||
$('.dateHoroscopePagination.active').removeClass('active').prev().addClass('active');
|
||||
|
||||
if ($('.horoscopeText.active').prev('.horoscopeText').length === 0) {
|
||||
$('.prevHoroscopePagination').css('display', 'none');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function nextHoroscopePagination() {
|
||||
if ($('.horoscopeText.active').next('.horoscopeText').length !== 0) {
|
||||
$('.prevHoroscopePagination').css('display', 'block');
|
||||
$('.horoscopeText.active').removeClass('active').next().addClass('active');
|
||||
$('.dateHoroscopePagination.active').removeClass('active').next().addClass('active');
|
||||
|
||||
if ($('.horoscopeText.active').next('.horoscopeText').length === 0) {
|
||||
$('.nextHoroscopePagination').css('display', 'none');
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user