window.addEventListener('DOMContentLoaded', () => {
    // Прописываем только ID наших созданных полей по ЗАКАЗАМ
    const UTMSDeal = [
        ['utm_source', 'input[name="formParams[dealCustomFields][10621191]'],
        ['utm_medium', 'input[name="formParams[dealCustomFields][10621193]'],
        ['utm_campaign', 'input[name="formParams[dealCustomFields][10621194]'],
        ['utm_content', 'input[name="formParams[dealCustomFields][10621195]'],
        ['utm_term', 'input[name="formParams[dealCustomFields][10621196]'],
    ];
    // Прописываем только ID наших созданных полей по ПОЛЬЗОВАТЕЛЯМ
    const UTMSUser = [
        ['utm_source', 'input[name="formParams[userCustomFields][10595263]'],
        ['utm_medium', 'input[name="formParams[userCustomFields][10595264]'],
        ['utm_campaign', 'input[name="formParams[userCustomFields][10595265]'],
        ['utm_content', 'input[name="formParams[userCustomFields][10595266]'],
        ['utm_term', 'input[name="formParams[userCustomFields][10595267]'],   
		['gcpc', 'input[name="formParams[userCustomFields][1518222]'],    
];
    // Функция для получения параметров UTM
    const getUTM = (name, inputSelector) => {
        const inputs = document.querySelectorAll(inputSelector);
        if (inputs.length === 0) return;
        // Записываем в переменную полное значение ссылки в поисковой строке и преобразовываем ее в нормальный вид
        const searchParams = decodeURIComponent(window.location.href);
        // В переменную записываем итог регулярного выражения
        const result = searchParams.match(new RegExp(name + '=([^&=#]+)'));
        // Если нашлось соответствие, то записываем в input значение
        if (result && result !== null) {
            inputs.forEach(input => {
                input.value = decodeURI(result[1]);
            });
        }
    };
    const setOrderSettings = () => {
        // Задаем интервал для проверки появления input на странице раз в 0.5 миллисекунд
        setInterval(() => {
            UTMSDeal.forEach(([utm, fieldId]) => getUTM(utm, fieldId));
            UTMSUser.forEach(([utm, fieldId]) => getUTM(utm, fieldId));
        }, 500);
    };
    setOrderSettings();
});

