<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>{{.Query}} - Ocásek</title>
    <link rel="stylesheet" type="text/css" href="/static/css/style.css">
</head>
<body>
    <form action="/search" id="prev-next-form" class="results-search-container" method="GET" autocomplete="off">
        <h1 class="logomobile"><a class="no-decoration" href="./">Ocásek</a></h1>
        <div class="wrapper-results">
            <input type="text" name="q" value="{{ .Query }}" id="search-input" placeholder="Type to search..." />
            <button id="search-wrapper-ico" class="material-icons-round" name="t" value="text">search</button>
            <input type="submit" class="hide" name="t" value="text" />
        </div>
        <div class="sub-search-button-wrapper">
            <div class="search-container-results-btn">
                <button id="sub-search-wrapper-ico" class="material-icons-round clickable search-active" name="t" value="text">search</button>
                <button name="t" value="text" class="clickable search-active">Web</button>
            </div>
            <div class="search-container-results-btn">
                <button id="sub-search-wrapper-ico" class="material-icons-round clickable" name="t" value="image">image</button>
                <button name="t" value="image" class="clickable">Images</button>
            </div>
            <div class="search-container-results-btn">
                <button id="sub-search-wrapper-ico" class="material-icons-round clickable" name="t" value="video">movie</button>
                <button name="t" value="video" class="clickable">Videos</button>
            </div>
            <div class="search-container-results-btn">
                <button id="sub-search-wrapper-ico" class="material-icons-round clickable" name="t" value="forum">forum</button>
                <button name="t" value="forum" class="clickable">Forums</button>
            </div>
            <div id="content" class="js-enabled">
            <div class="search-container-results-btn">
                <button id="sub-search-wrapper-ico" class="material-icons-round clickable" name="t" value="map">map</button>
                <button name="t" value="map" class="clickable">Maps</button>
            </div>
            </div>
            <div class="search-container-results-btn">
                <button id="sub-search-wrapper-ico" class="material-icons-round clickable" name="t" value="file">share</button>
                <button name="t" value="file" class="clickable">Torrents</button>
            </div>
        </div>
    </form>
    <form class="results_settings" action="/search" method="get">
        <input type="hidden" name="q" value="{{ .Query }}">
        <select class="results-settings" name="safe" id="safeSearchSelect">
            <option value="">Safe Search Off</option>
            <option value="active">Safe Search On</option>
        </select>
        <select class="results-settings" name="lang" id="languageSelect">
            {{range .LanguageOptions}}
            <option value="{{.Code}}" {{if eq .Code $.CurrentLang}}selected{{end}}>{{.Name}}</option>
            {{end}}
        </select>        
        <button class="results-save" name="t" value="text">Apply settings</button>
    </form>    
    <div class="results" id="results">
        {{if .Results}}
            {{range .Results}}
                <div class="result_item">
                    <a href="{{.URL}}">{{.URL}}</a>
                    <a href="{{.URL}}"><h3>{{.Header}}</h3></a>
                    <p>{{.Description}}</p>
                </div>
                <br>
            {{end}}
        {{else}}
            <div class="no-results">No results found for '{{ .Query }}'. Try different keywords.</div>
        {{end}}
    </div>
    <div class="prev-next prev-img" id="prev-next">
        <form action="/search" method="get">
            <input type="hidden" name="q" value="{{ .Query }}">
            <input type="hidden" name="t" value="text">
            {{ if .HasPrevPage }}
            <button type="submit" name="p" value="{{ sub .Page 1 }}">Previous</button>
            {{ end }}
            {{ if .HasNextPage }}
            <button type="submit" name="p" value="{{ add .Page 1 }}">Next</button>
            {{ end }}
        </form>
    </div>
    <script>
        document.getElementById('content').classList.remove('js-enabled');

        document.addEventListener("DOMContentLoaded", function() {
            if (document.getElementById('prev-next')) {
                document.getElementById('prev-next').style.display = 'none';

                let page = {{ .Page }};
                const query = "{{ .Query }}";

                function loadResults(newPage) {
                    fetch(`/search?q=${encodeURIComponent(query)}&t=text&p=${newPage}`)
                        .then(response => response.text())
                        .then(data => {
                            const parser = new DOMParser();
                            const doc = parser.parseFromString(data, 'text/html');
                            const newResults = doc.getElementById('results').innerHTML;
                            document.getElementById('results').innerHTML += newResults;
                            page = newPage;
                        })
                        .catch(error => console.error('Error loading results:', error));
                }

                window.addEventListener('scroll', () => {
                    if (window.innerHeight + window.scrollY >= document.body.offsetHeight) {
                        loadResults(page + 1);
                    }
                });
            }
        });
    </script>
</body>
</html>