<?php
/**
 * Tawk.to — deferred load: se incarca la prima interactiune a userului
 * (scroll, mousemove, touchstart, keydown) sau dupa 5s fallback.
 */
?>
<script type="text/javascript">
var Tawk_API = Tawk_API || {};

function handleCookiebotPosition(isChatOpen) {
    var styleId = 'tawk-cookiebot-fix';
    var styleEl = document.getElementById(styleId);
    if (!styleEl) {
        styleEl = document.createElement('style');
        styleEl.id = styleId;
        document.head.appendChild(styleEl);
    }
    styleEl.innerHTML = '@media (max-width: 768px) { #CookiebotWidget { ' +
        'transform: translateY(' + (isChatOpen ? '-45px' : '0') + ') !important }}';
}

Tawk_API.onChatMaximized = function () { handleCookiebotPosition(true); };
Tawk_API.onChatMinimized = function () { handleCookiebotPosition(false); };

<?php $customer_details = $block->getCurrentCustomerDetails(); ?>
<?php if ($customer_details !== null): ?>
Tawk_API.visitor = {
    name : '<?= $block->escapeJs($customer_details['name']); ?>',
    email : '<?= $block->escapeJs($customer_details['email']); ?>'
};
<?php endif; ?>

var Tawk_LoadStart = new Date();
var tawkLoaded = false;

function loadTawk() {
    if (tawkLoaded) return;
    tawkLoaded = true;

    ['mousemove','scroll','keydown','touchstart'].forEach(function(ev) {
        window.removeEventListener(ev, loadTawk, {passive: true});
    });

    var s1 = document.createElement('script');
    var s0 = document.getElementsByTagName('script')[0];
    s1.async = true;
    s1.src = '<?= $block->escapeUrl($block->getEmbedUrl()) ?>';
    s1.charset = 'UTF-8';
    s1.setAttribute('crossorigin', '*');
    s0.parentNode.insertBefore(s1, s0);
}

['mousemove','scroll','keydown','touchstart'].forEach(function(ev) {
    window.addEventListener(ev, loadTawk, {once: true, passive: true});
});

// fallback: incarca dupa 5s daca userul nu interactioneaza
setTimeout(loadTawk, 5000);
</script>
