{"id":4977855,"date":"2025-09-01T12:58:16","date_gmt":"2025-09-01T10:58:16","guid":{"rendered":"https:\/\/start.finder-portal.com\/finder-activation-page-new\/"},"modified":"2025-11-17T11:42:30","modified_gmt":"2025-11-17T10:42:30","slug":"finder-activation-page-new","status":"publish","type":"page","link":"https:\/\/start.finder-portal.com\/en-us\/","title":{"rendered":"Finder Activation Page [New]"},"content":{"rendered":"\n<section class=\"activation-wizard step-activation\">\r\n    <div class=\"inner\">\r\n        <aside>\r\n            <h2>\n    <strong data-text=\"Protect\">Protect<\/strong> what you love<\/h2>\n<p>Activate your device in just a few simple steps to safeguard everything you cherish with a PAJ GPS tracker<\/p>\n        <\/aside>\r\n        <article>\r\n            <style>\r\n@keyframes drawAndErase {\r\n  0% {\r\n    stroke-dashoffset: -100;\r\n  }\r\n\r\n  30% {\r\n    fill-opacity: 0;\r\n    stroke-dashoffset: 0;\r\n    stroke-opacity: 1;\r\n  }\r\n  50% {\r\n    fill-opacity: 1;\r\n    stroke-dasharray: 100;\r\n    stroke-opacity: 0;\r\n  }\r\n  70% {\r\n    fill-opacity: 0;\r\n    stroke-dashoffset: 0;\r\n    stroke-opacity: 0;\r\n  }\r\n  100% {\r\n    stroke-dashoffset: 100;\r\n    stroke-opacity: 1;\r\n  }\r\n}\r\n\r\n.cls-1 {\r\n  fill: #ff4e00;\r\n  fill-opacity: 0;\r\n  stroke: #ff4e00;\r\n  stroke-width: 0.3px;\r\n  stroke-dasharray: 50;\r\n  stroke-dashoffset: 100;\r\n  animation: drawAndErase 4s infinite;\r\n}\r\n\r\n\/* Loading overlay for submit button *\/\r\n.submit-button-wrapper {\r\n  position: relative;\r\n  display: block;\r\n  width: auto;\r\n  margin-top: 15px;\r\n}\r\n\r\n.submit-button-wrapper input[type=\"submit\"] {\r\n  position: relative;\r\n  z-index: 1;\r\n  display: block;\r\n}\r\n\r\n.submit-loading-overlay {\r\n  position: absolute;\r\n  top: 0;\r\n  left: 0;\r\n  right: 0;\r\n  bottom: 0;\r\n  background: rgba(255, 255, 255, 0.9);\r\n  display: flex;\r\n  justify-content: center;\r\n  align-items: center;\r\n  opacity: 0;\r\n  visibility: hidden;\r\n  transition: all 0.3s ease;\r\n  pointer-events: none;\r\n  z-index: 2;\r\n  border-radius: inherit;\r\n  box-sizing: border-box;\r\n}\r\n\r\n.submit-loading-overlay.active {\r\n  opacity: 1;\r\n  visibility: visible;\r\n}\r\n\r\n.submit-loading-overlay svg {\r\n  height: 32px;\r\n  width: auto;\r\n  flex-shrink: 0;\r\n}\r\n\r\n.submit-button-wrapper input[type=\"submit\"].loading {\r\n  opacity: 0.7;\r\n  pointer-events: none;\r\n  border: none;\r\n  outline: none;\r\n}\r\n\r\n\/* Loading text styles *\/\r\n.loading-text {\r\n  display: none;\r\n  text-align: center;\r\n  margin-top: 5px;\r\n  font-size: 14px;\r\n  color: #666;\r\n  font-style: italic;\r\n  min-height: 20px;\r\n  opacity: 0;\r\n  transition: opacity 0.3s ease;\r\n}\r\n\r\n.loading-text.active {\r\n  display: block;\r\n  opacity: 1;\r\n}\r\n\r\n.recaptcha-wrapper {\r\n  margin-top: 15px;\r\n}\r\n<\/style>\r\n<h3>Welcome to your <em><span class=\"paj-logo\">PAJ<\/span> FINDER <span>Activation<\/span><\/em><\/h3>\r\n\r\n<form id=\"finder-activation\" action=\"https:\/\/start.finder-portal.com\/en-us\/congratulations\/\" method=\"POST\">\r\n    <!-- Form fields will be added here dynamically -->\r\n    <div id=\"finder-fields\">\r\n        <!-- Initial field will be added here by JS -->\r\n\r\n        <button id=\"add-field\" type=\"button\" aria-label=\"Add another FINDER ID input field\">+<\/button>\r\n    <\/div>\r\n\r\n    <button type=\"button\" data-dialog=\"finder-id\">Where is my FINDER ID located?<\/button>\r\n\r\n    \r\n    <div class=\"submit-button-wrapper\">\r\n        <input type=\"submit\" id=\"activate-submit\" class=\"button secondary-button\" value=\"Activate now\">\r\n        <div class=\"submit-loading-overlay\" id=\"submit-loading\">\r\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18.58 45.87\">\r\n                <g id=\"Ebene_2-2\">\r\n                    <g id=\"Layer_1\">\r\n                        <path\r\n                            class=\"cls-1\"\r\n                            d=\"m18.58,27.91L0,13.96,18.04,0s-10.9,14,.54,27.91h0Z\"\r\n                        \/>\r\n                        <path\r\n                            class=\"cls-1\"\r\n                            d=\"m0,17.96l18.58,13.96L.54,45.87s10.9-14-.54-27.91h0Z\"\r\n                        \/>\r\n                    <\/g>\r\n                <\/g>\r\n            <\/svg>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <div id=\"loading-text\" class=\"loading-text\"><\/div>\r\n\r\n    <div class=\"more-than-ten-devices\">\r\n        <span>or<\/span>\r\n        <a class=\"ten-devices\" href=\"https:\/\/start.finder-portal.com\/en-us\/more-than-ten-devices\/\">\r\n            Activate more than 10 devices        <\/a>\r\n    <\/div>\r\n\r\n    <input type=\"hidden\" id=\"finder_activation_nonce\" name=\"finder_activation_nonce\" value=\"2ab17ac1b9\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/en-us\/wp-json\/wp\/v2\/pages\/4977855\" \/><\/form>\r\n\r\n<dialog id=\"finder-id-dialog\">\r\n    <div class=\"modal-dialog modal-dialog--where-is-my-finder-id-located\">\r\n    <div class=\"modal-dialog__content\">\r\n        <figure class=\"finder-id-dialog__image\">\r\n            <img loading=\"lazy\" decoding=\"async\" src=\"\/wp-content\/themes\/flatsome-child\/assets\/images\/Device-ID-popup-jpg.webp\" alt=\"A tracker with a device ID on the back below a barcode\" width=\"601\" height=\"701\" \/>\r\n        <\/figure>\r\n\r\n        <div class=\"finder-id-dialog__text\">\r\n            <h2><span>Where is my<\/span> Finder ID located?<\/h2>\r\n            <p>The device ID of your PAJ GPS Tracker is typically located on the back of the device underneath the barcode. It can also be found on the original packaging.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>    <button class=\"close-dialog\" type=\"button\">\r\n        <svg>\r\n            <use href=\"#pajgps-icon-cross\"\/>\r\n        <\/svg>\r\n        <span class=\"screen-reader-text\">Close<\/span>\r\n    <\/button>\r\n<\/dialog>\r\n\r\n<script>\r\ndocument.addEventListener('DOMContentLoaded', function() {\r\n    const form = document.getElementById('finder-activation');\r\n    const submitButton = document.getElementById('activate-submit');\r\n    const loadingOverlay = document.getElementById('submit-loading');\r\n    const loadingText = document.getElementById('loading-text');\r\n    \r\n    let messageInterval;\r\n    \r\n    \/\/ Reset loading state on page load (for browser back button)\r\n    function resetLoadingState() {\r\n        if (submitButton) {\r\n            submitButton.classList.remove('loading');\r\n            submitButton.disabled = false;\r\n        }\r\n        if (loadingOverlay) {\r\n            loadingOverlay.classList.remove('active');\r\n        }\r\n        if (loadingText) {\r\n            loadingText.classList.remove('active');\r\n            loadingText.textContent = '';\r\n        }\r\n        \/\/ Clear any running message intervals\r\n        if (messageInterval) {\r\n            clearInterval(messageInterval);\r\n            messageInterval = null;\r\n        }\r\n    }\r\n    \r\n    \/\/ Reset on page load\r\n    resetLoadingState();\r\n    \r\n    \/\/ Also reset when page becomes visible (handles browser back button)\r\n    document.addEventListener('visibilitychange', function() {\r\n        if (!document.hidden) {\r\n            resetLoadingState();\r\n        }\r\n    });\r\n    \r\n    \/\/ Loading messages\r\n    const loadingMessages = [\r\n        \"Your GPS tracker is being activated...\"\r\n    ];\r\n    \r\n    if (form && submitButton && loadingOverlay && loadingText) {\r\n        form.addEventListener('submit', function(e) {\r\n            \/\/ Show loading overlay\r\n            submitButton.classList.add('loading');\r\n            loadingOverlay.classList.add('active');\r\n            loadingText.classList.add('active');\r\n            submitButton.disabled = true;\r\n            \r\n            \/\/ Start showing messages\r\n            let messageIndex = 0;\r\n            \r\n            function showNextMessage() {\r\n                if (messageIndex < loadingMessages.length) {\r\n                    loadingText.textContent = loadingMessages[messageIndex];\r\n                    messageIndex++;\r\n                } else {\r\n                    \/\/ Reset to beginning for longer loading times\r\n                    messageIndex = 0;\r\n                    loadingText.textContent = loadingMessages[messageIndex];\r\n                    messageIndex++;\r\n                }\r\n            }\r\n            \r\n            \/\/ Show first message immediately\r\n            showNextMessage();\r\n            \r\n            \/\/ Change message every 2 seconds\r\n            messageInterval = setInterval(showNextMessage, 2000);\r\n        });\r\n    }\r\n});\r\n<\/script>\r\n\r\n        <\/article>\r\n    <\/div>\r\n\r\n    <!-- Global page loading overlay -->\r\n    <div class=\"aw-page-loading-overlay\" id=\"aw-page-loading-overlay\">\r\n        <div class=\"aw-page-loading-spinner\">\r\n            <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 18.58 45.87\" class=\"aw-page-loading-logo\">\r\n                <g>\r\n                    <path class=\"aw-logo-path\" d=\"m18.58,27.91L0,13.96,18.04,0s-10.9,14,.54,27.91h0Z\"\/>\r\n                    <path class=\"aw-logo-path\" d=\"m0,17.96l18.58,13.96L.54,45.87s10.9-14-.54-27.91h0Z\"\/>\r\n                <\/g>\r\n            <\/svg>\r\n            <span class=\"aw-page-loading-text\">Loading...<\/span>\r\n            <div class=\"aw-page-loading-bar\">\r\n                <div class=\"aw-page-loading-bar-fill\"><\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/section>\r\n\r\n<style>\r\n\/* Global Activation Wizard Page Loading Overlay *\/\r\n.aw-page-loading-overlay {\r\n    position: fixed;\r\n    top: 0;\r\n    left: 0;\r\n    right: 0;\r\n    bottom: 0;\r\n    background: rgba(255, 255, 255, 0.92);\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    opacity: 0;\r\n    visibility: hidden;\r\n    transition: opacity 0.3s ease, visibility 0.3s ease;\r\n    z-index: 99999;\r\n    pointer-events: none;\r\n}\r\n\r\n.aw-page-loading-overlay.active {\r\n    opacity: 1;\r\n    visibility: visible;\r\n    pointer-events: all;\r\n}\r\n\r\n.aw-page-loading-spinner {\r\n    display: flex;\r\n    flex-direction: column;\r\n    align-items: center;\r\n    gap: 20px;\r\n}\r\n\r\n.aw-page-loading-logo {\r\n    width: 40px;\r\n    height: auto;\r\n}\r\n\r\n@keyframes awLogoDrawAndErase {\r\n    0% { stroke-dashoffset: -100; }\r\n    30% { fill-opacity: 0; stroke-dashoffset: 0; stroke-opacity: 1; }\r\n    50% { fill-opacity: 1; stroke-dasharray: 100; stroke-opacity: 0; }\r\n    70% { fill-opacity: 0; stroke-dashoffset: 0; stroke-opacity: 0; }\r\n    100% { stroke-dashoffset: 100; stroke-opacity: 1; }\r\n}\r\n\r\n.aw-logo-path {\r\n    fill: #ff4e00;\r\n    fill-opacity: 0;\r\n    stroke: #ff4e00;\r\n    stroke-width: 0.3px;\r\n    stroke-dasharray: 50;\r\n    stroke-dashoffset: 100;\r\n    animation: awLogoDrawAndErase 2s infinite;\r\n}\r\n\r\n.aw-page-loading-text {\r\n    font-size: 16px;\r\n    color: #666;\r\n    font-style: italic;\r\n    font-family: var(--default-font, sans-serif);\r\n}\r\n\r\n.aw-page-loading-bar {\r\n    width: 200px;\r\n    height: 4px;\r\n    background: #e0e0e0;\r\n    border-radius: 2px;\r\n    overflow: hidden;\r\n}\r\n\r\n.aw-page-loading-bar-fill {\r\n    width: 0%;\r\n    height: 100%;\r\n    background: #ff4e00;\r\n    border-radius: 2px;\r\n    transition: width 0.3s ease;\r\n}\r\n<\/style>\r\n\r\n<script>\r\n(function() {\r\n    var overlay = document.getElementById('aw-page-loading-overlay');\r\n    var barFill = overlay ? overlay.querySelector('.aw-page-loading-bar-fill') : null;\r\n    if (!overlay) return;\r\n\r\n    var progress = 0;\r\n    var progressTimer = null;\r\n\r\n    function setProgress(value) {\r\n        progress = Math.min(value, 100);\r\n        if (barFill) barFill.style.width = progress + '%';\r\n    }\r\n\r\n    function startProgress() {\r\n        overlay.classList.add('active');\r\n        setProgress(5);\r\n\r\n        \/\/ Fake-Fortschritt: langsam hochz\u00e4hlen\r\n        progressTimer = setInterval(function() {\r\n            if (progress < 25) {\r\n                setProgress(progress + 2);        \/\/ 0-25% in ~4s\r\n            } else if (progress < 50) {\r\n                setProgress(progress + 1.5);      \/\/ 25-50% in ~5s\r\n            } else if (progress < 75) {\r\n                setProgress(progress + 1);        \/\/ 50-75% in ~8s\r\n            } else if (progress < 90) {\r\n                setProgress(progress + 0.3);      \/\/ 75-90% kriecht\r\n            }\r\n            \/\/ Stoppt bei 90%, wartet auf Seitenwechsel\r\n        }, 300);\r\n    }\r\n\r\n    function hideLoading() {\r\n        if (progressTimer) clearInterval(progressTimer);\r\n        overlay.classList.remove('active');\r\n        setProgress(0);\r\n    }\r\n\r\n    \/\/ Reset bei Back-Navigation\r\n    hideLoading();\r\n    window.addEventListener('pageshow', function(event) {\r\n        if (event.persisted) hideLoading();\r\n    });\r\n    document.addEventListener('visibilitychange', function() {\r\n        if (!document.hidden) hideLoading();\r\n    });\r\n\r\n    \/\/ Activation Form Submit (Startseite \u2192 Willkommensseite)\r\n    var activationForm = document.getElementById('finder-activation');\r\n    if (activationForm) {\r\n        activationForm.addEventListener('submit', function() {\r\n            startProgress();\r\n        });\r\n    }\r\n})();\r\n<\/script>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-4977855","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/pages\/4977855","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/comments?post=4977855"}],"version-history":[{"count":1,"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/pages\/4977855\/revisions"}],"predecessor-version":[{"id":4977856,"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/pages\/4977855\/revisions\/4977856"}],"wp:attachment":[{"href":"https:\/\/start.finder-portal.com\/en-us\/wp-json\/wp\/v2\/media?parent=4977855"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}