{"id":696,"date":"2024-10-16T12:52:44","date_gmt":"2024-10-16T12:52:44","guid":{"rendered":"https:\/\/vervetrials.pulse1study.com\/?page_id=696"},"modified":"2025-08-06T02:06:07","modified_gmt":"2025-08-06T02:06:07","slug":"prescreener-old","status":"publish","type":"page","link":"https:\/\/review.vervetrials.com\/fr\/prescreener-old\/","title":{"rendered":"prescreener-old"},"content":{"rendered":"<main id='bde-main'><section class=\"bde-section-696-100 bde-section\">\n  \n  \n\t\n\n\n\n<div class=\"section-container\"><div class=\"bde-code-block-696-101 bde-code-block\">\n\n  <script>\n    \/\/ Function to get query string parameter\n    function getQueryParam(name) {\n        const urlParams = new URLSearchParams(window.location.search);\n        return urlParams.get(name);\n    }\n\n    \/\/ Function to trigger language change\n    function changeLanguage(lang, retryCount = 0) {\n        const element = document.querySelector(`a[data-gt-lang=\"${lang}\"]`);\n        \n        if (element) {\n            console.log(`Language link for '${lang}' found. Clicking it now...`);\n            \n            \/\/ Delay click to allow for translation loading\n            setTimeout(() => {\n                element.click(); \/\/ Click to change language\n                localStorage.setItem(\"ChangeLanguageFirstTime\", true);\n\n                \/\/ Start checking if the page has been translated\n                checkTranslation(lang, element);\n            }, 1500); \/\/ Delay click by 1.5 seconds\n        } else {\n            console.error(`Element for language '${lang}' not found!`);\n\n            \/\/ Retry logic (max 5 attempts, every 1 second)\n            if (retryCount < 5) {\n                setTimeout(() => changeLanguage(lang, retryCount + 1), 1000); \/\/ Retry every 1 sec\n                console.log(`Retrying... (${retryCount + 1})`);\n            } else {\n                console.warn(`Failed to find language '${lang}' after multiple attempts.`);\n            }\n        }\n    }\n\n    \/\/ Function to check if translation has occurred\n    function checkTranslation(lang, element, checkCount = 0) {\n        const translatedElement = document.querySelector('html[lang]'); \/\/ Check if lang attribute is set\n\n        if (translatedElement && translatedElement.getAttribute('lang') === lang) {\n            console.log(`Page successfully translated to ${lang}.`);\n        } else {\n            console.log(`Translation not detected. Retrying... (${checkCount + 1})`);\n\n            \/\/ Retry the hover action\n            simulateHoverAndRetry(element, lang, checkCount);\n\n            \/\/ Retry the check up to 5 times, every 2 seconds\n            if (checkCount < 5) {\n                setTimeout(() => checkTranslation(lang, element, checkCount + 1), 2000); \/\/ Retry every 2 sec\n            } else {\n                console.error(`Translation check failed after multiple attempts.`);\n            }\n        }\n    }\n\n    \/\/ Function to simulate hover until language changes\n    function simulateHoverAndRetry(element, lang, retryCount = 0) {\n        console.log(`Simulating hover attempt (${retryCount + 1})...`);\n\n        \/\/ Simulate mouseenter and mouseover events explicitly\n        element.dispatchEvent(new Event('mouseenter', { bubbles: true }));\n        element.dispatchEvent(new Event('mouseover', { bubbles: true }));\n\n        \/\/ Check again after some time to see if the page language has changed\n        setTimeout(() => {\n            const translatedElement = document.querySelector('html[lang]'); \/\/ Check if lang attribute is set\n            if (translatedElement && translatedElement.getAttribute('lang') === lang) {\n                console.log(`Language successfully changed to ${lang} after hover.`);\n            } else {\n                if (retryCount < 5) {\n                    simulateHoverAndRetry(element, lang, retryCount + 1); \/\/ Retry hover\n                } else {\n                    console.error('Failed to change language after multiple hover attempts.');\n                }\n            }\n        }, 1000); \/\/ Wait 1 second before checking again\n    }\n\n    \/\/ Reset the localStorage key for testing (so it runs every time)\n    localStorage.removeItem(\"ChangeLanguageFirstTime\");\n\n    \/\/ Check if localStorage is supported\n    if (typeof(Storage) !== \"undefined\") {\n        const lang = getQueryParam(\"lang\") || \"en\"; \/\/ Get language from query string, default to English\n\n        \/\/ Always try to change language regardless of localStorage value\n        setTimeout(() => changeLanguage(lang), 1000); \/\/ Initial attempt after 1 second\n    } else {\n        console.error('localStorage not supported in this browser!');\n    }\n<\/script>\n\n\n<\/div><div class=\"bde-code-block-696-102 bde-code-block\">\n\n  <script>\n  function getLangFromHtml() {\n    \/\/ Check for the lang attribute on the <html> tag\n    return document.documentElement.lang || ''; \/\/ Returns the lang attribute or an empty string if not set\n}\n\nfunction showContentBasedOnLanguage() {\n    let lang = getLangFromHtml();\n    console.log(\"Detected language:\", lang); \/\/ Debug output\n\n    if (lang === 'fr') {\n      \tdocument.querySelectorAll(\".french\").forEach(element => {\n    \t\telement.style.display = \"block\";\n\t\t});\n      \tdocument.querySelectorAll(\".english\").forEach(element => {\n    \t\telement.style.display = \"none\";\n\t\t});\n    } else if (lang === 'en') {\n      \tdocument.querySelectorAll(\".french\").forEach(element => {\n    \t\telement.style.display = \"none\";\n\t\t});\n      \tdocument.querySelectorAll(\".english\").forEach(element => {\n    \t\telement.style.display = \"block\";\n\t\t});\n    } else {\n        \/\/ Default to English if no language match\n      \tdocument.querySelectorAll(\".french\").forEach(element => {\n    \t\telement.style.display = \"none\";\n\t\t});\n      \tdocument.querySelectorAll(\".english\").forEach(element => {\n    \t\telement.style.display = \"block\";\n\t\t});\n    }\n}\n\ndocument.addEventListener(\"DOMContentLoaded\", function () {\n    showContentBasedOnLanguage();\n});\n\n\/\/ Check for language change every second (since GTranslate updates slowly)\nsetInterval(showContentBasedOnLanguage, 1000);\n\n\/\/ Listen for the GTranslate 'loaded' event to ensure content is updated after translation\ndocument.addEventListener('gtranslate.loaded', function () {\n    showContentBasedOnLanguage();\n});\n<\/script>\n\n\n<\/div><div class=\"bde-code-block-696-104 bde-code-block\">\n\n  <script src=\"https:\/\/www.cognitoforms.com\/f\/seamless.js\" data-key=\"_95GRw-RVUGa-JBCD2YXCw\" data-form=\"1\"><\/script>\n\n\n<\/div><\/div>\n<\/section><\/main>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"inline_featured_image":false,"_breakdance_hide_in_design_set":false,"_breakdance_tags":"","footnotes":""},"class_list":["post-696","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/pages\/696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/comments?post=696"}],"version-history":[{"count":47,"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/pages\/696\/revisions"}],"predecessor-version":[{"id":1046,"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/pages\/696\/revisions\/1046"}],"wp:attachment":[{"href":"https:\/\/review.vervetrials.com\/fr\/wp-json\/wp\/v2\/media?parent=696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}