document.addEventListener( "DOMContentLoaded", function( event ) {

    const sitemap_sec = document.querySelector( `#sitemap` );
    const autoinput   = sitemap_sec.querySelector( `.autoinput` );
    const input       = autoinput.querySelector( `input` );

    // Поиск при каждом нажатии кнопки
    input.addEventListener( "input", function( e ) {
        api( { fn: "sitemap_pages_list", search: input.value }, function( answer ) {
            if ( answer.result ) {
                autoinput.querySelector( `.options` ).innerHTML = answer.result.html;
                autoinput.querySelectorAll( `.options .option` ).forEach( function( option ) {
                    option.addEventListener( "click", function ( event ) {
                        event.stopPropagation(); // Чтобы список не закрывался
                        const url = option.getAttribute( "data-url" );
                        const textarea = sitemap_sec.querySelector( `textarea[name="exclude"]` );
                        const val = textarea.value.trim();
                        const n = val ? "\n" : ""; // Добавлять ли перевод строки
                        textarea.value = val + n + url;
                    } );
                } );
            }
        } );
    } );

    // Раскрыть список при клике в поле ввода
    input.addEventListener( "click", function( event ) {
        event.stopPropagation(); // чтобы сразу не закрывалось
        // Первоначальное заполнение при клике путем вызова события input
        if ( input.getAttribute( "data-clicked" ) === null ) {
            input.dispatchEvent( new Event( "input" ) );
            input.setAttribute( "data-clicked", "1" );
        }
        autoinput.classList.add( "open" );
    } );

    // Закрыть при кликах вне селекта
    document.body.addEventListener( "click", function( e ) {
        autoinput.classList.remove( "open" );
    } );

} );