// Element.closest polyfill
if (!Element.prototype.closest) {
Element.prototype.closest = function(css) {
var node = this;
while (node) {
if (node.matches(css)) return node;
else node = node.parentElement;
}
return null;
};
}
// history back without direct link
document.documentElement.addEventListener('click', function(e) {
var closePopupBtn = e.target.closest('.t-popup__close');
if (!!closePopupBtn && closePopupBtn.href && window.history) {
e.preventDefault();
window.history.back();
}
});
// set current url
if (window.location.href.indexOf('tproduct') === -1) {
setCookie('beforePopupUrl', window.location.href);
}
// utils
function getCookie(name) {
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
function setCookie(name, value) {
options = {
path: '/',
};
if (options.expires instanceof Date) {
options.expires = options.expires.toUTCString();
}
var updatedCookie = encodeURIComponent(name) + "=" + encodeURIComponent(value);
for (var optionKey in options) {
updatedCookie += "; " + optionKey;
var optionValue = options[optionKey];
if (optionValue !== true) {
updatedCookie += "=" + optionValue;
}
}
document.cookie = updatedCookie;
}