WELCOME TO BOTCIERGE

Fill in the form below to register and be among the first to try out our exciting new product!

    document.addEventListener('DOMContentLoaded', function() { const emailField = document.getElementById('email'); let emailCheckTimer; let lastCheckedEmail = ''; const ajaxUrl = '/wp-admin/admin-ajax.php'; const emailMessageDiv = document.createElement('div'); emailMessageDiv.id = 'email-validation-message'; if (emailField) { emailField.parentElement.appendChild(emailMessageDiv); emailField.addEventListener('input', handleEmailInput); emailField.addEventListener('blur', handleEmailInput); } function handleEmailInput() { clearTimeout(emailCheckTimer); const email = emailField.value.trim(); if (!email) { emailMessageDiv.innerHTML = ''; lastCheckedEmail = ''; return; } const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(email)) { if (email.length > 0) { emailMessageDiv.innerHTML = 'Please enter a valid email format'; } return; } emailCheckTimer = setTimeout(function() { validateEmailNow(); }, 500); } function validateEmailNow() { const email = emailField.value.trim(); if (!email || email === lastCheckedEmail) { return; } const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/; if (!emailRegex.test(email)) { if (email.length > 0) { emailMessageDiv.innerHTML = 'Please enter a valid email format'; } return; } emailMessageDiv.innerHTML = 'Checking email...'; lastCheckedEmail = email; validateEmailV2(email); } function validateEmailV2(email) { const xhr = new XMLHttpRequest(); xhr.open('POST', ajaxUrl, true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.onreadystatechange = function() { if (xhr.readyState === 4) { if (xhr.status === 200) { try { const response = JSON.parse(xhr.responseText); if (response.success) { const data = response.data; if (data.emailExists) { emailMessageDiv.innerHTML = 'Email is already registered'; const submitButton = document.getElementById('submitButton'); if (submitButton) { submitButton.disabled = true; submitButton.style.opacity = '0.5'; submitButton.style.cursor = 'not-allowed'; } } else { emailMessageDiv.innerHTML = 'Email is available'; const submitButton = document.getElementById('submitButton'); if (submitButton) { submitButton.disabled = false; submitButton.style.opacity = '1'; submitButton.style.cursor = 'pointer'; } } } else { emailMessageDiv.innerHTML = 'Error checking email'; } } catch (error) { console.error('Error parsing response:', error); emailMessageDiv.innerHTML = 'Error checking email'; } } else { emailMessageDiv.innerHTML = 'Connection error'; } } }; xhr.send('action=validate_email_v2&email=' + encodeURIComponent(email)); } }); document.addEventListener('wpcf7mailsent', function(event) { const emailMessageDiv = document.getElementById('email-validation-message'); if (emailMessageDiv) { emailMessageDiv.innerHTML = ''; } setTimeout(function() { const successMessage = event.target.querySelector('.wpcf7-response-output'); if (successMessage) { successMessage.style.transition = 'opacity 0.5s ease-out'; successMessage.style.opacity = '0'; setTimeout(function() { successMessage.style.display = 'none'; }, 500); } }, 10000); }); document.addEventListener('wpcf7beforesubmit', function (event) { const formData = event.detail.formData; if (formData.has('your-bloodType')) { const bloodType = formData.getAll('your-bloodType'); if (Array.isArray(bloodType) && bloodType.length > 0) { formData.delete('your-bloodType'); formData.append('your-bloodType', bloodType[0]); } } if (formData.has('customerType')) { const customerType = formData.getAll('customerType'); if (Array.isArray(customerType) && customerType.length > 0) { formData.delete('customerType'); formData.append('customerType', customerType[0]); } } if (formData.has('avatarType')) { const avatarType = formData.getAll('avatarType'); if (Array.isArray(avatarType) && avatarType.length > 0) { formData.delete('avatarType'); formData.append('avatarType', avatarType[0]); } } }); function initAgeAutopopulate() { const birthDateField = document.getElementById('birth-date'); const ageField = document.querySelector('input[name="your-age"]'); if (!birthDateField || !ageField) { setTimeout(initAgeAutopopulate, 500); return; } ageField.setAttribute('readonly', true); ageField.style.backgroundColor = '#f0f0f0'; ageField.style.cursor = 'not-allowed'; birthDateField.addEventListener('change', function () { const birthDateValue = birthDateField.value; if (!birthDateValue) { ageField.value = ''; return; } const birthDate = new Date(birthDateValue); const today = new Date(); if (isNaN(birthDate.getTime()) || birthDate > today) { ageField.value = ''; return; } let age = today.getFullYear() - birthDate.getFullYear(); const monthDiff = today.getMonth() - birthDate.getMonth(); if (monthDiff < 0 || (monthDiff === 0 && today.getDate() = 18 && age { element.textContent = cleanCountryName(element.textContent); }); // Add onChange event listener to input box jQuery('#uacf7_countries_home-country').change(function(event) { jQuery('#uacf7_countries_home-country').val(cleanCountryName(event.target.value)); jQuery('#uacf7_countries_home-country_code').val(cleanCountryName(event.target.value)); }); }); function cleanCountryName(text) { // Remove the last set of parentheses and everything after it // This keeps Congo (DRC) but removes the localized part like (Jamhuri ya Kidemokrasia ya Kongo) text = text.replace(/\s*\([^)]*\)\s*$/, ''); return text.trim(); } #email-validation-message { font-size: 14px; margin-top: 5px; min-height: 20px; line-height: 1.4; } #email-validation-message span { display: inline-block; }