 
window.addEventListener('DOMContentLoaded', () => {
    const UTMS = [
        ['utm_source', '#field-input-1596453'],
        ['utm_medium', '#field-input-1596454'],
        ['utm_campaign', '#field-input-1596455'],
        ['utm_content', '#field-input-1596456'],
        ['utm_term', '#field-input-1596457'],
    	['mesg', '#field-input-1596458'], 
    ];

     // Прописываем только ID нашего созданного поля по ЗАКАЗАМ
     const pageOrderInput = 'input[name="formParams[dealCustomFields][1617682]';
  
    
    // Функция для получения параметров UTM
    const getUTM = (name, inputSelector) => {
        const inputs = document.querySelectorAll(inputSelector);

        if (inputs.length === 0) return;
        // Записываем в переменную значение ссылки в поисковой строке после знака ?
        const searchParams = window.location.search;

        // В переменную записываем итог регулярного выражения
        const result = decodeURIComponent(searchParams).match(new RegExp(name + '=([^&=]+)'));

        // Если нашлось соответствие, то записываем в input значение
        if (result && result !== null) {
            inputs.forEach(input => {
                input.value = decodeURI(result[1]);
            });
        }
    };

    
     // Функция для получения страницы создания заказа на GetCourse
    const getPageOrder = (inputSelector) => {
        const inputs = document.querySelectorAll(inputSelector);

        if (inputs.length === 0) return;

        let searchParams = decodeURIComponent(decodeURIComponent(window.parent.location.hostname + window.parent.location.pathname));

        if (searchParams.indexOf('?') > -1) {
            const stringTo = searchParams.indexOf('?');
            searchParams = searchParams.slice(0, stringTo);
        };

        inputs.forEach(input => {
            input.value = searchParams;
        });
    };
    
    
    
    
    const setOrderSettings = () => {
        // Задаем интервал для проверки появления input на странице раз в 0.5 миллисекунд
        setInterval(() => {
            UTMS.forEach(([utm, fieldId]) => getUTM(utm, fieldId));
             getPageOrder(pageOrderInput);
        }, 500);
    };
    setOrderSettings();
});
