window.onload = function() {
    // Get the campaign value from the hidden input field
    var campaignValue = document.getElementById('campaign').value;

    // Form injection happens here
    var formContainer = document.getElementById('fp');

    // Create form element
    var form = document.createElement('form');
    form.action = 'https://www.leadhog.com/crs-send-xs.php';
    form.method = 'post';
    form.enctype = 'multipart/form-data';
    form.className = 'form-container';

    // Capture Timestamp
    var timestamp = new Date().toISOString();

    // Capture Form Page URL
    var formPageUrl = window.location.href;

    // Capture User Agent
    var userAgent = navigator.userAgent;

    // Capture Language
    var language = navigator.language || navigator.userLanguage;

    // Capture Referrer URL
    var referrerUrl = document.referrer;

    // Hidden fields array with added fields
    var hiddenFields = [
        { id: 'campaign', name: 'campaign', value: campaignValue },
        { id: 'timestamp', name: 'timestamp', value: timestamp },
        { id: 'form_page_url', name: 'form_page_url', value: formPageUrl },
        { id: 'user_agent', name: 'user_agent', value: userAgent },
        { id: 'language', name: 'language', value: language },
        { id: 'referrer_url', name: 'referrer_url', value: referrerUrl }
    ];

    // Create hidden fields dynamically
    hiddenFields.forEach(function(field) {
        var input = document.createElement('input');
        input.type = 'hidden';
        input.id = field.id;
        input.name = field.name;
        if (field.value) input.value = field.value;
        form.appendChild(input);
    });

    // Full Name field
    var fullname = document.createElement('input');
    fullname.type = 'text';
    fullname.className = 'form-field';
    fullname.id = 'fullname';
    fullname.name = 'fullname';
    fullname.required = true;
    fullname.placeholder = 'Full Name';
    form.appendChild(fullname);

    // Email field
    var email = document.createElement('input');
    email.type = 'email';
    email.className = 'form-field';
    email.id = 'modal-email';
    email.name = 'customeremail';
    email.required = true;
    email.placeholder = 'Company Email';
    form.appendChild(email);

    // Submit button
    var submitButton = document.createElement('button');
    submitButton.type = 'submit';
    submitButton.innerHTML = 'Submit';
    form.appendChild(submitButton);

    // Append the form to the form placeholder
    formContainer.appendChild(form);

    // Add email validation after the form is appended
    form.addEventListener('submit', function(event) {
        const emailInput = document.getElementById('modal-email');
        const email = emailInput.value;
        const domainPattern = /@(gmail\.com|outlook\.com|yahoo\.com|hotmail\.com)$/i;

        if (domainPattern.test(email)) {
            alert('Gmail, Outlook, Yahoo, and Hotmail addresses are not allowed. Please use your company/business email.');
            event.preventDefault(); // Prevent form submission
        }
    });

    console.log("Form with hidden fields and validation logic added successfully.");
};