Contact us
Email
sales@metrofibre.co.za
Telephone
087 151 4000
Contact us
Email
sales@metrofibre.co.za
Telephone
087 151 4000
if (!window.fbPopoverInitialized) {
window.fbPopoverInitialized = true;
document.addEventListener('DOMContentLoaded', function () {
var popovers = document.querySelectorAll('[fb-popover]');
popovers.forEach(function (popover) {
var toggle = popover.querySelector('[fb-popover-button]');
var accnElement = popover.querySelector('[fb-accn]');
var content = popover.querySelector('[fb-popover-content]');
var lastClosedTime = 0; // Almacenar el tiempo de cierre para cada popover
var minTimeBeforeReopen = 500; // 0.5 segundos en milisegundos
var openedWithKeyboard = false;
toggle.setAttribute('aria-label', accnElement.textContent || accnElement.innerText);
toggle.setAttribute('aria-controls', content.id);
toggle.addEventListener('keydown', function (event) {
if (['Enter', ' ', 'Spacebar'].includes(event.key)) {
openedWithKeyboard = true;
}
});
toggle.addEventListener('click', function () {
var currentTime = Date.now();
var elapsedTime = currentTime - lastClosedTime;
if (elapsedTime < minTimeBeforeReopen) {
return; // No se permite abrir el popover si no ha pasado el tiempo mínimo
}
var expanded = toggle.getAttribute('aria-expanded') === 'true';
toggle.setAttribute('aria-expanded', expanded ? 'false' : 'true');
if (expanded) {
content.classList.remove('fb-popover--open');
lastClosedTime = Date.now(); // Almacenar el tiempo de cierre al cerrar el popover
} else {
content.classList.add('fb-popover--open');
lastClosedTime = 0; // Resetear el tiempo de cierre al abrir el popover
setTimeout(function () {
if (openedWithKeyboard) {
focusFirstElementInContent();
}
document.addEventListener('mousedown', clickOutsideHandler); // Cambiado de `click` a `mousedown`
document.addEventListener('keydown', escapeKeyHandler);
document.addEventListener('focusin', focusInHandler);
}, 700); // Espera 0.7 segundos antes de enfocar el primer elemento
}
});
function focusFirstElementInContent() {
var focusableElement = content.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])');
if (focusableElement) {
focusableElement.focus();
}
}
function clickOutsideHandler(event) {
// Cerrar el popover si se hace clic fuera, independientemente de cómo se abrió
if (!popover.contains(event.target)) {
toggle.setAttribute('aria-expanded', 'false');
content.classList.remove('fb-popover--open');
lastClosedTime = Date.now(); // Almacenar el tiempo de cierre al hacer clic fuera del popover
document.removeEventListener('mousedown', clickOutsideHandler);
document.removeEventListener('keydown', escapeKeyHandler);
document.removeEventListener('focusin', focusInHandler);
}
}
function escapeKeyHandler(event) {
if (event.key === 'Escape' && toggle.getAttribute('aria-expanded') === 'true') {
toggle.setAttribute('aria-expanded', 'false');
content.classList.remove('fb-popover--open');
lastClosedTime = Date.now(); // Almacenar el tiempo de cierre al presionar Escape
document.removeEventListener('mousedown', clickOutsideHandler);
document.removeEventListener('keydown', escapeKeyHandler);
document.removeEventListener('focusin', focusInHandler);
}
}
function focusInHandler(event) {
if (!popover.contains(event.target)) { // Verifica que el foco no esté dentro del popover
toggle.setAttribute('aria-expanded', 'false');
content.classList.remove('fb-popover--open');
lastClosedTime = Date.now();
document.removeEventListener('mousedown', clickOutsideHandler);
document.removeEventListener('keydown', escapeKeyHandler);
document.removeEventListener('focusin', focusInHandler);
}
}
// Previene el cierre del popover si se hace clic dentro del contenido
content.addEventListener('mousedown', function(event) {
event.stopPropagation();
});
});
});
}
document.addEventListener('DOMContentLoaded', function() {
const closeBtn = document.querySelector('.close-popup');
const popup = document.querySelector('.fb-popover'); // Your popup class
if (closeBtn && popup) {
closeBtn.addEventListener('click', function(e) {
e.preventDefault();
popup.classList.remove('fb-popover--open');
});
}
});
Hey, don't go anywhere!
Stick around and we'll send a bowl of hummus straight to your email inbox!
<script charset="utf-8" type="text/javascript" src="//js-eu1.hsforms.net/forms/embed/v2.js"></script>
<script>
hbspt.forms.create({
portalId: "26321849",
formId: "77accf1d-da85-406f-ac33-59f2d7fcfd39",
region: "eu1"
});
</script>