{"id":1333,"date":"2024-01-18T19:45:50","date_gmt":"2024-01-18T19:45:50","guid":{"rendered":"https:\/\/dizdarica.mojkraj.eu\/?page_id=1333"},"modified":"2026-08-30T06:43:49","modified_gmt":"2026-08-30T06:43:49","slug":"kamera-gozd","status":"publish","type":"page","link":"https:\/\/adriafly.me\/en\/kamera-gozd\/","title":{"rendered":"Poleti\u0161te Gozd"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-7387b849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<h4 class=\"wp-block-heading\">Kamera JPK Kri\u0161ka gora, poleti\u0161te Gozd<\/h4>\n\n\n\n<p class=\"wp-block-paragraph\">Klub sa tradicijom slobodnog letenja<\/p>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"wp-block-paragraph\">Bratski klub JPK Kri\u0161ka gora iz Slovenije gaji sa paraglajding klubom Adriafly blisku saradnju i me\u0111usobnu povezanost \u010dlanova. Kako jedni, tako i drugi se jednako osje\u0107aju kao doma\u0107ini i kao gosti.<\/p>\n<\/div>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Klub je 2023. godine napunio <strong>jubilejnih trideset godina<\/strong> postojanja i uspje\u0161nog rada. <a href=\"https:\/\/jpkkriskagora.si\/\" target=\"_blank\" rel=\"noreferrer noopener\">JPK Kri\u0161ka gora<\/a> je jedan od zna\u010dajnijih klubova na podru\u010dju prostog letenja na tlu R Slovenije. Nalazi se na obronku Kri\u0161ke gore sa dva poleti\u0161ta, na Gozdu i na Kri\u0161koj gori. To klubu umje\u0161tenom u Karavan\u0161ki sklop pru\u017ea odli\u010dne uslove za obuku, sportsko letenje ili kombinaciju hodanja i letenja (<em>H&amp;F<\/em>).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Slovenija svojim meteorolo\u0161kim i geografskim uslovima spada u pionirske paraglajding dr\u017eave u kojima je letenje zastupljeno tokom cijele godine. Klubovi su 2025. godine svoju saradnju ovjerili zajedni\u010dkim izlaskom na vrh Kri\u0161ke gore. Tamo su predsjednici stiskom ruke i podpisom bratskog certifikata formalno obavezali klubove na dugogodi\u0161nju tradiciju saradnje koju namjeravamo gajiti sa JPK Kri\u0161ka gora.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<div id=\"kamera-gozd\">\n\n    <div class=\"kamera-slika\">\n        <img id=\"kamera-img-gozd\" src=\"https:\/\/jpkkriskagora.si\/wp-content\/uploads\/webcam74\/144.jpg\" alt=\"Kamera Gozd\" loading=\"eager\" decoding=\"sync\">\n    <\/div>\n\n    <div class=\"kamera-kontrole\">\n\n        <div class=\"kamera-dugmad\">\n            <button type=\"button\" id=\"kamera-prev-gozd\">\u2190<\/button>\n            <button type=\"button\" id=\"kamera-next-gozd\">\u2192<\/button>\n        <\/div>\n\n        <input type=\"range\" id=\"kamera-slider-gozd\" min=\"1\" max=\"144\" value=\"144\" step=\"1\">\n\n        <div id=\"kamera-oznake-gozd\"><\/div>\n\n    <\/div>\n\n<\/div>\n\n\n<style>\n\n#kamera-gozd {\n    width: 100%;\n}\n\n#kamera-gozd .kamera-slika {\n    width: 100%;\n    height: 400px;\n}\n\n#kamera-gozd .kamera-slika img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: contain;\n}\n\n#kamera-gozd .kamera-dugmad {\n    display: flex;\n    justify-content: center;\n    gap: 10px;\n    margin-top: 10px;\n    margin-bottom: 8px;\n}\n\n#kamera-gozd .kamera-dugmad button {\n    width: 45px;\n    height: 40px;\n    padding: 0;\n    font-size: 20px;\n    line-height: 40px;\n    cursor: pointer;\n}\n\n#kamera-gozd #kamera-slider-gozd {\n    display: block;\n    width: 100%;\n    margin: 0;\n    cursor: pointer;\n}\n\n#kamera-gozd #kamera-oznake-gozd {\n    position: relative;\n    width: 100%;\n    height: 40px;\n}\n\n#kamera-gozd #kamera-oznake-gozd span {\n    position: absolute;\n    top: 5px;\n    font-size: 10px;\n    line-height: 12px;\n    white-space: nowrap;\n\n    transform: rotate(-45deg);\n    transform-origin: left top;\n}\n\n\n@media (max-width: 600px) {\n\n    #kamera-gozd .kamera-slika {\n        height: 230px;\n    }\n\n    #kamera-gozd .kamera-dugmad button {\n        width: 38px;\n        height: 36px;\n        font-size: 18px;\n        line-height: 36px;\n    }\n\n    #kamera-gozd #kamera-oznake-gozd span {\n        font-size: 8px;\n    }\n\n}\n\n<\/style>\n\n\n<script>\n\n(function () {\n\n    \/*\n     * =====================================================\n     * KAMERA GOZD\n     * =====================================================\n     *\n     * SLIKE SU ISKLJU\u010cIVO OVDE:\n     *\n     * https:\/\/jpkkriskagora.si\/wp-content\/uploads\/webcam74\/\n     *\n     * 144.jpg\n     * 143.jpg\n     * 142.jpg\n     * ...\n     *\n     * =====================================================\n     *\/\n\n    var BROJ_SLIKA = 144;\n    var MINUTA_PO_SLICI = 5;\n\n    var PUTANJA_SLIKA =\n        \"https:\/\/jpkkriskagora.si\/wp-content\/uploads\/webcam74\/\";\n\n\n    function pokreniKameruGozd() {\n\n        var slika =\n            document.getElementById(\"kamera-img-gozd\");\n\n        var slider =\n            document.getElementById(\"kamera-slider-gozd\");\n\n        var prethodna =\n            document.getElementById(\"kamera-prev-gozd\");\n\n        var sljedeca =\n            document.getElementById(\"kamera-next-gozd\");\n\n        var oznake =\n            document.getElementById(\"kamera-oznake-gozd\");\n\n\n        \/*\n         * Ako elementi jo\u0161 nisu u\u010ditani,\n         * poku\u0161aj ponovo.\n         *\/\n\n        if (\n            !slika ||\n            !slider ||\n            !prethodna ||\n            !sljedeca ||\n            !oznake\n        ) {\n\n            setTimeout(\n                pokreniKameruGozd,\n                100\n            );\n\n            return;\n        }\n\n\n        \/*\n         * Trenutna slika\n         *\/\n\n        var trenutna = 144;\n\n\n        \/*\n         * =================================================\n         * URL SLIKE\n         * =================================================\n         *\n         * UVIJEK APSOLUTNI URL.\n         *\n         * NIKADA URL STRANICE.\n         *\n         *\/\n\n        function urlSlike(broj) {\n\n            return (\n                PUTANJA_SLIKA +\n                String(broj) +\n                \".jpg\"\n            );\n\n        }\n\n\n        \/*\n         * =================================================\n         * PRIKA\u017dI SLIKU\n         * =================================================\n         *\/\n\n        function prikazi(broj) {\n\n            if (broj < 1) {\n                broj = 1;\n            }\n\n            if (broj > BROJ_SLIKA) {\n                broj = BROJ_SLIKA;\n            }\n\n\n            trenutna = broj;\n\n\n            var noviURL =\n                urlSlike(trenutna);\n\n\n            \/*\n             * Direktno postavljanje slike.\n             *\/\n\n            slika.setAttribute(\n                \"src\",\n                noviURL\n            );\n\n\n            \/*\n             * Pomjeri slider.\n             *\/\n\n            slider.value =\n                trenutna;\n\n\n            console.log(\n                \"KAMERA GOZD URL:\",\n                noviURL\n            );\n\n        }\n\n\n        \/*\n         * =================================================\n         * LIJEVA STRELICA\n         * =================================================\n         *\/\n\n        prethodna.onclick =\n            function () {\n\n                prikazi(\n                    trenutna - 1\n                );\n\n            };\n\n\n        \/*\n         * =================================================\n         * DESNA STRELICA\n         * =================================================\n         *\/\n\n        sljedeca.onclick =\n            function () {\n\n                prikazi(\n                    trenutna + 1\n                );\n\n            };\n\n\n        \/*\n         * =================================================\n         * AUTOMATSKO MIJENJANJE DOK SE DR\u017dI DUGME\n         * =================================================\n         *\/\n\n        var interval = null;\n\n\n        function zaustaviAutomatsko() {\n\n            if (interval !== null) {\n\n                clearInterval(interval);\n\n                interval = null;\n\n            }\n\n        }\n\n\n        function pokreniAutomatsko(smjer) {\n\n            zaustaviAutomatsko();\n\n\n            interval =\n                setInterval(\n                    function () {\n\n                        prikazi(\n                            trenutna + smjer\n                        );\n\n\n                        \/*\n                         * Zaustavi na kraju\n                         *\/\n\n                        if (\n                            trenutna <= 1 ||\n                            trenutna >= BROJ_SLIKA\n                        ) {\n\n                            zaustaviAutomatsko();\n\n                        }\n\n                    },\n                    150\n                );\n\n        }\n\n\n        \/*\n         * =================================================\n         * MI\u0160 - LIJEVO DUGME\n         * =================================================\n         *\/\n\n        prethodna.addEventListener(\n            \"mousedown\",\n            function () {\n\n                pokreniAutomatsko(-1);\n\n            }\n        );\n\n\n        prethodna.addEventListener(\n            \"mouseup\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        prethodna.addEventListener(\n            \"mouseleave\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        \/*\n         * =================================================\n         * MI\u0160 - DESNO DUGME\n         * =================================================\n         *\/\n\n        sljedeca.addEventListener(\n            \"mousedown\",\n            function () {\n\n                pokreniAutomatsko(1);\n\n            }\n        );\n\n\n        sljedeca.addEventListener(\n            \"mouseup\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        sljedeca.addEventListener(\n            \"mouseleave\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        \/*\n         * =================================================\n         * TOUCH - LIJEVO\n         * =================================================\n         *\/\n\n        prethodna.addEventListener(\n            \"touchstart\",\n            function (e) {\n\n                e.preventDefault();\n\n                pokreniAutomatsko(-1);\n\n            },\n            {\n                passive: false\n            }\n        );\n\n\n        prethodna.addEventListener(\n            \"touchend\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        prethodna.addEventListener(\n            \"touchcancel\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        \/*\n         * =================================================\n         * TOUCH - DESNO\n         * =================================================\n         *\/\n\n        sljedeca.addEventListener(\n            \"touchstart\",\n            function (e) {\n\n                e.preventDefault();\n\n                pokreniAutomatsko(1);\n\n            },\n            {\n                passive: false\n            }\n        );\n\n\n        sljedeca.addEventListener(\n            \"touchend\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        sljedeca.addEventListener(\n            \"touchcancel\",\n            function () {\n\n                zaustaviAutomatsko();\n\n            }\n        );\n\n\n        \/*\n         * =================================================\n         * SLIDER\n         * =================================================\n         *\/\n\n        slider.oninput =\n            function () {\n\n                prikazi(\n                    parseInt(\n                        this.value,\n                        10\n                    )\n                );\n\n            };\n\n\n        \/*\n         * =================================================\n         * VREMENSKE OZNAKE\n         * =================================================\n         *\n         * 144 = najnovija slika\n         * 143 = 5 minuta ranije\n         * 142 = 10 minuta ranije\n         *\n         * Ukupno 144 slika = 12 sati.\n         *\n         * =================================================\n         *\/\n\n        function napraviOznake() {\n\n            oznake.innerHTML = \"\";\n\n\n            var sada =\n                new Date();\n\n\n            for (\n                var sat = 0;\n                sat < 12;\n                sat++\n            ) {\n\n                var vrijeme =\n                    new Date(\n                        sada.getTime() -\n                        sat *\n                        60 *\n                        60 *\n                        1000\n                    );\n\n\n                \/*\n                 * Puni sat.\n                 *\/\n\n                vrijeme.setMinutes(\n                    0,\n                    0,\n                    0\n                );\n\n\n                \/*\n                 * Koliko je minuta pro\u0161lo\n                 * od tog punog sata.\n                 *\/\n\n                var razlika =\n                    Math.round(\n                        (\n                            sada.getTime() -\n                            vrijeme.getTime()\n                        ) \/ 60000\n                    );\n\n\n                \/*\n                 * Koja slika odgovara\n                 * tom vremenu.\n                 *\/\n\n                var broj =\n                    BROJ_SLIKA -\n                    Math.round(\n                        razlika \/\n                        MINUTA_PO_SLICI\n                    );\n\n\n                if (\n                    broj < 1 ||\n                    broj > BROJ_SLIKA\n                ) {\n\n                    continue;\n\n                }\n\n\n                \/*\n                 * Napravi oznaku.\n                 *\/\n\n                var span =\n                    document.createElement(\n                        \"span\"\n                    );\n\n\n                var sati =\n                    String(\n                        vrijeme.getHours()\n                    ).padStart(\n                        2,\n                        \"0\"\n                    );\n\n\n                span.textContent =\n                    sati + \":00\";\n\n\n                \/*\n                 * Polo\u017eaj oznake\n                 * na slideru.\n                 *\/\n\n                var procenat =\n                    (\n                        (broj - 1) \/\n                        (BROJ_SLIKA - 1)\n                    ) * 100;\n\n\n                span.style.left =\n                    procenat + \"%\";\n\n\n                oznake.appendChild(\n                    span\n                );\n\n            }\n\n        }\n\n\n        \/*\n         * =================================================\n         * START\n         * =================================================\n         *\/\n\n        napraviOznake();\n\n        prikazi(144);\n\n    }\n\n\n    \/*\n     * =====================================================\n     * SIGURNO POKRETANJE\n     * =====================================================\n     *\/\n\n    if (\n        document.readyState ===\n        \"loading\"\n    ) {\n\n        document.addEventListener(\n            \"DOMContentLoaded\",\n            pokreniKameruGozd\n        );\n\n    } else {\n\n        pokreniKameruGozd();\n\n    }\n\n})();\n\n<\/script>\n\n\n    <div class=\"skytech-wrap\">\n\n        <h3>Stanica Gozd<\/h3>\n\n        <div id=\"skytech_6a96af009d5fa_msg\" class=\"skytech-message\" style=\"display:none;\">Ni podatkov<\/div>\n\n        <div id=\"skytech_6a96af009d5fa_content\">\n            <div class=\"skytech-top\">\n                <div>\n                    <div class=\"caption\">Sjmer vetra<\/div>\n                    <svg id=\"skytech_6a96af009d5fa_arrow\" width=\"80\" height=\"80\" viewBox=\"0 0 100 100\">\n                        <g transform=\"translate(50,50)\">\n                            <rect x=\"-3\" y=\"-30\" width=\"6\" height=\"50\" fill=\"#4b5563\"\/>\n                            <polygon points=\"0,-45 14,-30 -14,-30\" fill=\"#4b5563\"\/>\n                        <\/g>\n                    <\/svg>\n                <\/div>\n                <div>\n                    <div class=\"caption\">Vjetar<\/div>\n                    <div id=\"skytech_6a96af009d5fa_wind\" class=\"value\">\u2014<\/div>\n                <\/div>\n                <div>\n                    <div class=\"caption\">Udari<\/div>\n                    <div id=\"skytech_6a96af009d5fa_gust\" class=\"value\">\u2014<\/div>\n                <\/div>\n                <div>\n                    <div class=\"caption\">Temperatura<\/div>\n                    <div id=\"skytech_6a96af009d5fa_temp\" class=\"value\">\u2014<\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"chart-wrap\">\n                <canvas id=\"skytech_6a96af009d5fa_chart\"><\/canvas>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script src=\"\"><\/script>\n    <script>\n    (function(){\n        const isGozd = true;\n\nfunction mapWindDir(code){\n    if(code===null||code===undefined) return null;\n\n    \/\/ GOZD koristi integer kodove 0-7\n    if(isGozd){\n\n        const intMap = {\n            0: 135, \/\/ NW -> SE\n            1: 90,  \/\/ W -> E\n            2: 45,  \/\/ SW -> NE\n            3: 0,   \/\/ S -> N\n            4: 315, \/\/ SE -> NW\n            5: 270, \/\/ E -> W\n            6: 225, \/\/ NE -> SW\n            7: 180  \/\/ N -> S\n        };\n\n        return intMap[code] ?? null;\n    }\n\n    \/\/ KRI\u0160KA ve\u0107 \u0161alje stepene\n    return parseFloat(code);\n}\n\nconst rotateTo = d=>isGozd?d:(d+180)%360;\n\n        let chart=null;\n        let loading=false;\n\n        async function loadData(){\n            const ajax_url = 'https:\/\/adriafly.me\/wp-admin\/admin-ajax.php?action=';\n            const res = await fetch(ajax_url,{cache:'no-store'});\n            const json = await res.json();\n            if(!json.success){\n                if(chart){chart.destroy(); chart=null;}\n                document.getElementById('skytech_6a96af009d5fa_content').style.display='none';\n                document.getElementById('skytech_6a96af009d5fa_msg').style.display='block';\n                return;\n            }\n\n            const {last,recent} = json.data;\n\n            document.getElementById('skytech_6a96af009d5fa_msg').style.display='none';\n            document.getElementById('skytech_6a96af009d5fa_content').style.display='block';\n\n            document.getElementById('skytech_6a96af009d5fa_wind').textContent = (last.wind_speed??'\u2014')+' m\/s';\n            document.getElementById('skytech_6a96af009d5fa_gust').textContent = (last.wind_speed_max??'\u2014')+' m\/s';\n            document.getElementById('skytech_6a96af009d5fa_temp').textContent = (last.air_temperature??'\u2014')+' \u00b0C';\n\n            const arrow=document.getElementById('skytech_6a96af009d5fa_arrow');\n            const dir=mapWindDir(last.wind_direction);\n            arrow.style.transform='rotate('+(dir!==null?rotateTo(dir):0)+'deg)';\n\n            const chartLabels = recent.map(r=>r.timestamp.substring(11,16));\n            const wind = recent.map(r=>r.wind_speed);\n            const gust = recent.map(r=>r.wind_speed_max);\n            const dirs = recent.map(r=>mapWindDir(r.wind_direction));\n\n            if(chart){chart.destroy(); chart=null;}\n\n            chart=new Chart(\n                document.getElementById('skytech_6a96af009d5fa_chart').getContext('2d'),\n                {\n                    type:'line',\n                    data:{\n                        labels:chartLabels,\n                        datasets:[\n                            {label:'Vjetar', data:wind, borderColor:'#0ea5a4', backgroundColor:'rgba(14,165,164,0.12)', fill:true, tension:.35, pointRadius:0},\n                            {label:'Udari', data:gust, borderColor:'#f97316', backgroundColor:'rgba(249,115,22,0.12)', fill:true, tension:.35, pointRadius:0}\n                        ]\n                    },\n                    options:{\n                        responsive:true,\n                        maintainAspectRatio:false,\n                        layout:{padding:{top:40}},\n                        plugins:{\n                            legend:{position:'bottom', labels:{usePointStyle:true, pointStyle:'circle', boxWidth:8, boxHeight:8}}\n                        },\n                        scales:{\n                            y:{title:{display:true,text:'m\/s'}, grid:{color:'rgba(0,0,0,0.05)'}},\n                            x:{grid:{display:false}}\n                        }\n                    },\n                    plugins:[{\n                        id:'windArrowsSkytech',\n                        afterDatasetsDraw(chart){\n                            const ctx=chart.ctx;\n                            const area=chart.chartArea;\n                            const xAxis=chart.scales.x;\n                            const y=area.top-20;\n                            const base=20;\n                            ctx.save();\n                            for(let i=0;i<dirs.length;i++){\n                                if(dirs[i]==null) continue;\n                                const angle=rotateTo(dirs[i])*Math.PI\/180;\n                                const x=xAxis.getPixelForValue(i);\n                                const s=wind[i]??0;\n                                let color=\"#16a34a\";\n                                if(s>4&&s<=7) color=\"#f59e0b\";\n                                if(s>7) color=\"#dc2626\";\n                                ctx.save();\n                                ctx.translate(x,y);\n                                ctx.rotate(angle);\n                                ctx.strokeStyle=color; ctx.fillStyle=color; ctx.lineWidth=2;\n                                ctx.beginPath(); ctx.moveTo(0,-base*0.45); ctx.lineTo(0,base*0.25); ctx.stroke();\n                                ctx.beginPath(); ctx.moveTo(0,-base*0.45); ctx.lineTo(base*0.22,-base*0.30); ctx.lineTo(-base*0.22,-base*0.30); ctx.closePath(); ctx.fill();\n                                ctx.restore();\n                            }\n                            ctx.restore();\n                        }\n                    }]\n                }\n            );\n        }\n\n        async function safeLoad(){\n            if(loading) return;\n            loading = true;\n            try{ await loadData(); } catch(e){ console.error(e); }\n            loading = false;\n        }\n\n        safeLoad();\n        setInterval(safeLoad,60000);\n    })();\n    <\/script>\n\n    <style>\n    .skytech-wrap {font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;width:100%;background:#fff;border-radius:14px;padding:18px 20px 16px;box-shadow:0 6px 18px rgba(0,0,0,0.08);border:1px solid #e8edf3;}\n    .skytech-wrap h3 {margin:0 0 12px;font-size:1.1rem;font-weight:600;color:#1f2a37;}\n    .skytech-top {display:flex;gap:18px;align-items:center;margin-bottom:14px;}\n    .skytech-top>div {background:#f6f9fc;padding:10px 14px;border-radius:10px;min-width:90px;text-align:center;transition:all .2s ease;}\n    .skytech-top>div:hover {background:#eef2f7;}\n    .caption {font-size:.72em;color:#7b8794;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}\n    .value {font-size:1.35em;font-weight:700;color:#111827;}\n    .chart-wrap {height:260px;margin-top:10px;position: relative;overflow: hidden;}\n    .skytech-message {padding:24px;text-align:center;font-weight:600;color:#6b7280;background:#f9fafb;border-radius:10px;}\n    @media (max-width:600px){.skytech-top{flex-wrap:wrap}.skytech-top>div{min-width:unset;flex:1 1 calc(50% - 10px);}}\n    <\/style>\n    \n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/www.luftar.si\/razmere.html\" target=\"_blank\" rel=\"noreferrer noopener\">Stanje u okru\u017eenju poleti\u0161ta<\/a><\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter\"><a href=\"https:\/\/www.luftar.si\/razmere.html\" target=\"_blank\" rel=\" noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/www.luftar.si\/img\/webCam\/KriskaVrhWest.jpg\" alt=\"\"\/><\/a><\/figure>\n<\/div>\n\n    <div class=\"skytech-wrap\">\n\n        <h3>Stanica Kri\u0161ka gora<\/h3>\n\n        <div id=\"skytech_6a96af009d63d_msg\" class=\"skytech-message\" style=\"display:none;\">Ni podatkov<\/div>\n\n        <div id=\"skytech_6a96af009d63d_content\">\n            <div class=\"skytech-top\">\n                <div>\n                    <div class=\"caption\">Sjmer vetra<\/div>\n                    <svg id=\"skytech_6a96af009d63d_arrow\" width=\"80\" height=\"80\" viewBox=\"0 0 100 100\">\n                        <g transform=\"translate(50,50)\">\n                            <rect x=\"-3\" y=\"-30\" width=\"6\" height=\"50\" fill=\"#4b5563\"\/>\n                            <polygon points=\"0,-45 14,-30 -14,-30\" fill=\"#4b5563\"\/>\n                        <\/g>\n                    <\/svg>\n                <\/div>\n                <div>\n                    <div class=\"caption\">Vjetar<\/div>\n                    <div id=\"skytech_6a96af009d63d_wind\" class=\"value\">\u2014<\/div>\n                <\/div>\n                <div>\n                    <div class=\"caption\">Udari<\/div>\n                    <div id=\"skytech_6a96af009d63d_gust\" class=\"value\">\u2014<\/div>\n                <\/div>\n                <div>\n                    <div class=\"caption\">Temperatura<\/div>\n                    <div id=\"skytech_6a96af009d63d_temp\" class=\"value\">\u2014<\/div>\n                <\/div>\n            <\/div>\n\n            <div class=\"chart-wrap\">\n                <canvas id=\"skytech_6a96af009d63d_chart\"><\/canvas>\n            <\/div>\n        <\/div>\n    <\/div>\n\n    <script src=\"\"><\/script>\n    <script>\n    (function(){\n        const isGozd = false;\n\nfunction mapWindDir(code){\n    if(code===null||code===undefined) return null;\n\n    \/\/ GOZD koristi integer kodove 0-7\n    if(isGozd){\n\n        const intMap = {\n            0: 135, \/\/ NW -> SE\n            1: 90,  \/\/ W -> E\n            2: 45,  \/\/ SW -> NE\n            3: 0,   \/\/ S -> N\n            4: 315, \/\/ SE -> NW\n            5: 270, \/\/ E -> W\n            6: 225, \/\/ NE -> SW\n            7: 180  \/\/ N -> S\n        };\n\n        return intMap[code] ?? null;\n    }\n\n    \/\/ KRI\u0160KA ve\u0107 \u0161alje stepene\n    return parseFloat(code);\n}\n\nconst rotateTo = d=>isGozd?d:(d+180)%360;\n\n        let chart=null;\n        let loading=false;\n\n        async function loadData(){\n            const ajax_url = 'https:\/\/adriafly.me\/wp-admin\/admin-ajax.php?action==https%3A%2F%2Fwww.luftar.si%2Fdata%2FwsDataKriskaHiCharts.json';\n            const res = await fetch(ajax_url,{cache:'no-store'});\n            const json = await res.json();\n            if(!json.success){\n                if(chart){chart.destroy(); chart=null;}\n                document.getElementById('skytech_6a96af009d63d_content').style.display='none';\n                document.getElementById('skytech_6a96af009d63d_msg').style.display='block';\n                return;\n            }\n\n            const {last,recent} = json.data;\n\n            document.getElementById('skytech_6a96af009d63d_msg').style.display='none';\n            document.getElementById('skytech_6a96af009d63d_content').style.display='block';\n\n            document.getElementById('skytech_6a96af009d63d_wind').textContent = (last.wind_speed??'\u2014')+' m\/s';\n            document.getElementById('skytech_6a96af009d63d_gust').textContent = (last.wind_speed_max??'\u2014')+' m\/s';\n            document.getElementById('skytech_6a96af009d63d_temp').textContent = (last.air_temperature??'\u2014')+' \u00b0C';\n\n            const arrow=document.getElementById('skytech_6a96af009d63d_arrow');\n            const dir=mapWindDir(last.wind_direction);\n            arrow.style.transform='rotate('+(dir!==null?rotateTo(dir):0)+'deg)';\n\n            const chartLabels = recent.map(r=>r.timestamp.substring(11,16));\n            const wind = recent.map(r=>r.wind_speed);\n            const gust = recent.map(r=>r.wind_speed_max);\n            const dirs = recent.map(r=>mapWindDir(r.wind_direction));\n\n            if(chart){chart.destroy(); chart=null;}\n\n            chart=new Chart(\n                document.getElementById('skytech_6a96af009d63d_chart').getContext('2d'),\n                {\n                    type:'line',\n                    data:{\n                        labels:chartLabels,\n                        datasets:[\n                            {label:'Vjetar', data:wind, borderColor:'#0ea5a4', backgroundColor:'rgba(14,165,164,0.12)', fill:true, tension:.35, pointRadius:0},\n                            {label:'Udari', data:gust, borderColor:'#f97316', backgroundColor:'rgba(249,115,22,0.12)', fill:true, tension:.35, pointRadius:0}\n                        ]\n                    },\n                    options:{\n                        responsive:true,\n                        maintainAspectRatio:false,\n                        layout:{padding:{top:40}},\n                        plugins:{\n                            legend:{position:'bottom', labels:{usePointStyle:true, pointStyle:'circle', boxWidth:8, boxHeight:8}}\n                        },\n                        scales:{\n                            y:{title:{display:true,text:'m\/s'}, grid:{color:'rgba(0,0,0,0.05)'}},\n                            x:{grid:{display:false}}\n                        }\n                    },\n                    plugins:[{\n                        id:'windArrowsSkytech',\n                        afterDatasetsDraw(chart){\n                            const ctx=chart.ctx;\n                            const area=chart.chartArea;\n                            const xAxis=chart.scales.x;\n                            const y=area.top-20;\n                            const base=20;\n                            ctx.save();\n                            for(let i=0;i<dirs.length;i++){\n                                if(dirs[i]==null) continue;\n                                const angle=rotateTo(dirs[i])*Math.PI\/180;\n                                const x=xAxis.getPixelForValue(i);\n                                const s=wind[i]??0;\n                                let color=\"#16a34a\";\n                                if(s>4&&s<=7) color=\"#f59e0b\";\n                                if(s>7) color=\"#dc2626\";\n                                ctx.save();\n                                ctx.translate(x,y);\n                                ctx.rotate(angle);\n                                ctx.strokeStyle=color; ctx.fillStyle=color; ctx.lineWidth=2;\n                                ctx.beginPath(); ctx.moveTo(0,-base*0.45); ctx.lineTo(0,base*0.25); ctx.stroke();\n                                ctx.beginPath(); ctx.moveTo(0,-base*0.45); ctx.lineTo(base*0.22,-base*0.30); ctx.lineTo(-base*0.22,-base*0.30); ctx.closePath(); ctx.fill();\n                                ctx.restore();\n                            }\n                            ctx.restore();\n                        }\n                    }]\n                }\n            );\n        }\n\n        async function safeLoad(){\n            if(loading) return;\n            loading = true;\n            try{ await loadData(); } catch(e){ console.error(e); }\n            loading = false;\n        }\n\n        safeLoad();\n        setInterval(safeLoad,60000);\n    })();\n    <\/script>\n\n    <style>\n    .skytech-wrap {font-family:-apple-system,BlinkMacSystemFont,\"Segoe UI\",Roboto,Arial,sans-serif;width:100%;background:#fff;border-radius:14px;padding:18px 20px 16px;box-shadow:0 6px 18px rgba(0,0,0,0.08);border:1px solid #e8edf3;}\n    .skytech-wrap h3 {margin:0 0 12px;font-size:1.1rem;font-weight:600;color:#1f2a37;}\n    .skytech-top {display:flex;gap:18px;align-items:center;margin-bottom:14px;}\n    .skytech-top>div {background:#f6f9fc;padding:10px 14px;border-radius:10px;min-width:90px;text-align:center;transition:all .2s ease;}\n    .skytech-top>div:hover {background:#eef2f7;}\n    .caption {font-size:.72em;color:#7b8794;font-weight:600;text-transform:uppercase;letter-spacing:.04em;}\n    .value {font-size:1.35em;font-weight:700;color:#111827;}\n    .chart-wrap {height:260px;margin-top:10px;position: relative;overflow: hidden;}\n    .skytech-message {padding:24px;text-align:center;font-weight:600;color:#6b7280;background:#f9fafb;border-radius:10px;}\n    @media (max-width:600px){.skytech-top{flex-wrap:wrap}.skytech-top>div{min-width:unset;flex:1 1 calc(50% - 10px);}}\n    <\/style>\n    \n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:40px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><a href=\"https:\/\/jpkkriskagora.si\/vreme\">Vremenska prognoza<\/a><\/strong><\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-large\"><a href=\"https:\/\/jpkkriskagora.si\/vreme\/\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" src=\"https:\/\/meteo.arso.gov.si\/\/uploads\/probase\/www\/observ\/radar\/si0-rm-anim.gif\" alt=\"\"\/><\/a><\/figure>\n<\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity is-style-wide\"\/>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n<form role=\"search\" method=\"get\" action=\"https:\/\/adriafly.me\/en\/\" class=\"wp-block-search__button-outside wp-block-search__text-button wp-block-search\" ><label class=\"wp-block-search__label\" for=\"wp-block-search__input-1\" >Pretraga<\/label><div class=\"wp-block-search__inside-wrapper\" ><input class=\"wp-block-search__input\" id=\"wp-block-search__input-1\" placeholder=\"\" value=\"\" type=\"search\" name=\"s\" required \/><button aria-label=\"Pretraga\" class=\"wp-block-search__button wp-element-button\" type=\"submit\" >Pretraga<\/button><\/div><\/form>","protected":false},"excerpt":{"rendered":"<p>Kamera JPK Kri\u0161ka gora, poleti\u0161te Gozd Klub sa tradicijom slobodnog letenja Bratski klub JPK Kri\u0161ka gora iz Slovenije gaji sa paraglajding klubom Adriafly blisku saradnju i me\u0111usobnu povezanost \u010dlanova. Kako jedni, tako i drugi se jednako osje\u0107aju kao doma\u0107ini i kao gosti. Klub je 2023. godine napunio jubilejnih trideset godina [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":1340,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1333","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Poleti\u0161te Gozd - Adriafly - Paragliding Club<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/adriafly.me\/en\/kamera-gozd\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Poleti\u0161te Gozd - Adriafly - Paragliding Club\" \/>\n<meta property=\"og:description\" content=\"Kamera JPK Kri\u0161ka gora, poleti\u0161te Gozd Klub sa tradicijom slobodnog letenja Bratski klub JPK Kri\u0161ka gora iz Slovenije gaji sa paraglajding klubom Adriafly blisku saradnju i me\u0111usobnu povezanost \u010dlanova. Kako jedni, tako i drugi se jednako osje\u0107aju kao doma\u0107ini i kao gosti. Klub je 2023. godine napunio jubilejnih trideset godina [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/adriafly.me\/en\/kamera-gozd\/\" \/>\n<meta property=\"og:site_name\" content=\"Adriafly - Paragliding Club\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/AdriaFly\" \/>\n<meta property=\"article:modified_time\" content=\"2026-08-30T06:43:49+00:00\" \/>\n<meta property=\"og:image\" content=\"http:\/\/adriafly.me\/wp-content\/uploads\/2024\/01\/gozd-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/\",\"url\":\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/\",\"name\":\"Poleti\u0161te Gozd - Adriafly - Paragliding Club\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/gozd-1.jpg\",\"datePublished\":\"2024-01-18T19:45:50+00:00\",\"dateModified\":\"2026-08-30T06:43:49+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/#breadcrumb\"},\"inLanguage\":\"en-NZ\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-NZ\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/#primaryimage\",\"url\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/gozd-1.jpg\",\"contentUrl\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2024\\\/01\\\/gozd-1.jpg\",\"width\":1000,\"height\":1000},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/kamera-gozd\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Po\u010detna\",\"item\":\"https:\\\/\\\/adriafly.me\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Poleti\u0161te Gozd\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/#website\",\"url\":\"https:\\\/\\\/adriafly.me\\\/\",\"name\":\"Adriafly - Paragliding Club\",\"description\":\"Paraglajding klub Herceg Novi\",\"publisher\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/#organization\"},\"alternateName\":\"Adriafly\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/adriafly.me\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-NZ\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/#organization\",\"name\":\"Adriafly - Paragliding Club\",\"url\":\"https:\\\/\\\/adriafly.me\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-NZ\",\"@id\":\"https:\\\/\\\/adriafly.me\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/02-LOGO-nobackgr.png\",\"contentUrl\":\"https:\\\/\\\/adriafly.me\\\/wp-content\\\/uploads\\\/2025\\\/08\\\/02-LOGO-nobackgr.png\",\"width\":1536,\"height\":1349,\"caption\":\"Adriafly - Paragliding Club\"},\"image\":{\"@id\":\"https:\\\/\\\/adriafly.me\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/AdriaFly\",\"https:\\\/\\\/www.instagram.com\\\/adriafly.me\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Poleti\u0161te Gozd - Adriafly - Paragliding Club","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/adriafly.me\/en\/kamera-gozd\/","og_locale":"en_US","og_type":"article","og_title":"Poleti\u0161te Gozd - Adriafly - Paragliding Club","og_description":"Kamera JPK Kri\u0161ka gora, poleti\u0161te Gozd Klub sa tradicijom slobodnog letenja Bratski klub JPK Kri\u0161ka gora iz Slovenije gaji sa paraglajding klubom Adriafly blisku saradnju i me\u0111usobnu povezanost \u010dlanova. Kako jedni, tako i drugi se jednako osje\u0107aju kao doma\u0107ini i kao gosti. Klub je 2023. godine napunio jubilejnih trideset godina [&hellip;]","og_url":"https:\/\/adriafly.me\/en\/kamera-gozd\/","og_site_name":"Adriafly - Paragliding Club","article_publisher":"https:\/\/www.facebook.com\/AdriaFly","article_modified_time":"2026-08-30T06:43:49+00:00","og_image":[{"width":1000,"height":1000,"url":"http:\/\/adriafly.me\/wp-content\/uploads\/2024\/01\/gozd-1.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/adriafly.me\/kamera-gozd\/","url":"https:\/\/adriafly.me\/kamera-gozd\/","name":"Poleti\u0161te Gozd - Adriafly - Paragliding Club","isPartOf":{"@id":"https:\/\/adriafly.me\/#website"},"primaryImageOfPage":{"@id":"https:\/\/adriafly.me\/kamera-gozd\/#primaryimage"},"image":{"@id":"https:\/\/adriafly.me\/kamera-gozd\/#primaryimage"},"thumbnailUrl":"https:\/\/adriafly.me\/wp-content\/uploads\/2024\/01\/gozd-1.jpg","datePublished":"2024-01-18T19:45:50+00:00","dateModified":"2026-08-30T06:43:49+00:00","breadcrumb":{"@id":"https:\/\/adriafly.me\/kamera-gozd\/#breadcrumb"},"inLanguage":"en-NZ","potentialAction":[{"@type":"ReadAction","target":["https:\/\/adriafly.me\/kamera-gozd\/"]}]},{"@type":"ImageObject","inLanguage":"en-NZ","@id":"https:\/\/adriafly.me\/kamera-gozd\/#primaryimage","url":"https:\/\/adriafly.me\/wp-content\/uploads\/2024\/01\/gozd-1.jpg","contentUrl":"https:\/\/adriafly.me\/wp-content\/uploads\/2024\/01\/gozd-1.jpg","width":1000,"height":1000},{"@type":"BreadcrumbList","@id":"https:\/\/adriafly.me\/kamera-gozd\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Po\u010detna","item":"https:\/\/adriafly.me\/"},{"@type":"ListItem","position":2,"name":"Poleti\u0161te Gozd"}]},{"@type":"WebSite","@id":"https:\/\/adriafly.me\/#website","url":"https:\/\/adriafly.me\/","name":"Adriafly - Paragliding Club","description":"Paraglajding klub Herceg Novi","publisher":{"@id":"https:\/\/adriafly.me\/#organization"},"alternateName":"Adriafly","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/adriafly.me\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-NZ"},{"@type":"Organization","@id":"https:\/\/adriafly.me\/#organization","name":"Adriafly - Paragliding Club","url":"https:\/\/adriafly.me\/","logo":{"@type":"ImageObject","inLanguage":"en-NZ","@id":"https:\/\/adriafly.me\/#\/schema\/logo\/image\/","url":"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/02-LOGO-nobackgr.png","contentUrl":"https:\/\/adriafly.me\/wp-content\/uploads\/2025\/08\/02-LOGO-nobackgr.png","width":1536,"height":1349,"caption":"Adriafly - Paragliding Club"},"image":{"@id":"https:\/\/adriafly.me\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/AdriaFly","https:\/\/www.instagram.com\/adriafly.me\/"]}]}},"_links":{"self":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages\/1333","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/comments?post=1333"}],"version-history":[{"count":5,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages\/1333\/revisions"}],"predecessor-version":[{"id":5481,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/pages\/1333\/revisions\/5481"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/media\/1340"}],"wp:attachment":[{"href":"https:\/\/adriafly.me\/en\/wp-json\/wp\/v2\/media?parent=1333"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}