{"id":9233,"date":"2025-11-17T20:27:58","date_gmt":"2025-11-17T20:27:58","guid":{"rendered":"https:\/\/kongresstomatologasrbijesks.rs\/?page_id=9233"},"modified":"2025-11-24T11:24:35","modified_gmt":"2025-11-24T11:24:35","slug":"sertifikati-2025","status":"publish","type":"page","link":"https:\/\/kongresstomatologasrbijesks.rs\/en\/sertifikati-2025\/","title":{"rendered":"Sertifikati-2025"},"content":{"rendered":"<div data-elementor-type=\"wp-page\" data-elementor-id=\"9233\" class=\"elementor elementor-9233\" data-elementor-settings=\"{&quot;ha_cmc_init_switcher&quot;:&quot;no&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d0badff e-flex e-con-boxed e-con e-parent\" data-id=\"d0badff\" data-element_type=\"container\" data-settings=\"{&quot;_ha_eqh_enable&quot;:false}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-67d0691 elementor-widget elementor-widget-image\" data-id=\"67d0691\" data-element_type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<style>\/*! elementor - v3.23.0 - 05-08-2024 *\/\n.elementor-widget-image{text-align:center}.elementor-widget-image a{display:inline-block}.elementor-widget-image a img[src$=\".svg\"]{width:48px}.elementor-widget-image img{vertical-align:middle;display:inline-block}<\/style>\t\t\t\t\t\t\t\t\t\t<img src=\"https:\/\/kongresstomatologasrbijesks.rs\/wp-content\/uploads\/2025\/08\/KSS_2025_logo_beli.png\" title=\"KSS_2025_logo_beli\" alt=\"KSS_2025_logo_beli\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-59e5dc0 elementor-widget elementor-widget-html\" data-id=\"59e5dc0\" data-element_type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t<!DOCTYPE html>\n<html lang=\"sr\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>24. KONGRES STOMATOLOGA SRBIJE - Preuzmite sertifikate<\/title>\n\n<style>\n\/* --- NOVE KKLASE: css24-* --- *\/\n\nbody { font-family: Arial,sans-serif; margin:0; padding:0; background:#fff; color:#000; }\ntable.css24-table { width:100%; border-collapse:collapse; margin-bottom:20px; background:#361a33; color:#e0e0e0; }\n.css24-table th, .css24-table td { padding:8px; text-align:left; border:1px solid #ddd; word-break:break-word; }\n.css24-table thead th { background:#4a3147; color:#fff; font-weight:bold; }\n.css24-table tbody { background:#361a33; }\n\n.css24-download a {\n    color:#cda253;\n    border:1px solid #cda253;\n    padding:5px 10px;\n    text-decoration:none;\n    background:#2f2f2f;\n    border-radius:5px;\n    display:inline-block;\n    white-space:nowrap;\n    margin:2px;\n}\n\n.css24-search {\n    padding:8px;\n    width:100%;\n    margin-bottom:10px;\n    color:#fff8f8;\n    background:#361a33;\n    border:1px solid #ddd;\n}\n\n.css24-title {\n    text-align:center;\n    color:#cda253;\n    font-weight:bold;\n    background:#361a33;\n    padding:10px;\n    border-radius:5px;\n    text-shadow:1px 1px 3px rgba(0,0,0,0.6);\n}\n\n.css24-pagination-container { \n    display:flex; \n    overflow-x:auto; \n    max-width:100%; \n    padding:10px; \n    margin-bottom:20px; \n}\n\n.css24-pagination a {\n    margin:0 5px;\n    text-decoration:none;\n    padding:8px 16px;\n    background:#f1f1f1;\n    border:1px solid #ddd;\n    color:#151414;\n}\n\n.css24-pagination a.active {\n    background:#361a33;\n    color:white;\n}\n\n.css24-error {\n    background:#ffdddd;\n    color:#cc0000;\n    padding:10px;\n    border:1px solid #cc0000;\n    border-radius:5px;\n    margin:10px 0;\n    text-align:center;\n}\n\n\/* --- MOBILNI MODE --- *\/\n@media(max-width:768px){\n    #css24-table-wrap { overflow-x:auto; display:block; white-space:nowrap; }\n    .css24-download a {\n        display:block;\n        width:100%;\n        text-align:center;\n        margin:5px 0;\n        white-space:normal;\n    }\n    td, th { white-space:normal; }\n}\n<\/style>\n<\/head>\n\n<body>\n\n<h2 class=\"css24-title\">Download the certificates<\/h2>\n\n<input type=\"text\" id=\"searchInput\" class=\"css24-search\" placeholder=\"Pretra\u017ei po imenu, prezimenu ili licenci\u2026\">\n\n<div id=\"error-message\" class=\"css24-error\" style=\"display:none;\"><\/div>\n\n<div id=\"css24-table-wrap\"><\/div>\n<div id=\"css24-pagination\" class=\"css24-pagination-container\"><\/div>\n\n<script>\n\/\/ ***********************\n\/\/ *** NOVI STORAGE KEY ***\n\/\/ ***********************\nconst storageKey = \"tableData2025_v2\";\n\n\/\/ GLOBAL\nlet originalData = [], currentPage = 1, rowsPerPage = 15, filteredData = [];\n\nfunction showError(msg){\n    const e=document.getElementById('error-message');\n    e.textContent = msg;\n    e.style.display = 'block';\n    console.error(msg);\n}\n\n\/\/ **********************************\n\/\/ *** UCITAVANJE - SIGURNO + CACHE BUST ***\n\/\/ **********************************\n\nconst jsonURL = \"https:\/\/kongresstomatologasrbijesks.rs\/wp-content\/uploads\/2025\/Sertifikati2025\/kongres_data.json?v=\" + Date.now();\n\nif (localStorage.getItem(storageKey)) {\n    try {\n        originalData = JSON.parse(localStorage.getItem(storageKey));\n        filteredData = originalData;\n        displayTable(filteredData);\n        setupPagination(filteredData);\n    } catch (e) {\n        showError(\"Gre\u0161ka pri \u010ditanju lokalnih podataka.\");\n    }\n} else {\n    fetch(jsonURL)\n        .then(r => {\n            if (!r.ok) throw new Error(r.status+\" \"+r.statusText);\n            return r.json();\n        })\n        .then(data => {\n            originalData = data;\n            filteredData = data;\n            localStorage.setItem(storageKey, JSON.stringify(data));\n            displayTable(filteredData);\n            setupPagination(filteredData);\n        })\n        .catch(err => showError(\"Gre\u0161ka u\u010ditavanja JSON-a: \" + err.message));\n}\n\nfunction displayTable(data){\n    const container = document.getElementById('css24-table-wrap');\n    container.innerHTML = '';\n\n    if (!data || data.length === 0){\n        container.innerHTML = '<p style=\"text-align:center;color:#cda253;\">Nema podataka.<\/p>';\n        return;\n    }\n\n    const table = document.createElement('table');\n    table.className = \"css24-table\";\n\n    table.innerHTML = `\n        <thead>\n            <tr>\n                <th>RB<\/th>\n                <th>Ime<\/th>\n                <th>Prezime<\/th>\n                <th>Licenca<\/th>\n                <th>Preuzmite Sertifikat<\/th>\n            <\/tr>\n        <\/thead>\n    `;\n\n    const tbody = document.createElement('tbody');\n\n    const start = (currentPage - 1) * rowsPerPage;\n    const end = start + rowsPerPage;\n    const pageData = data.slice(start, end);\n\n    pageData.forEach(item => {\n        const tr = document.createElement('tr');\n\n        [\"RB\", \"Ime\", \"Prezime\", \"Licenca\"].forEach(key => {\n            const td = document.createElement('td');\n            td.textContent = item[key] || \"\";\n            tr.appendChild(td);\n        });\n\n        const td = document.createElement('td');\n        td.className = \"css24-download\";\n\n        [\"Sertifikat Kongres\", \"Sertifikat Webinar 1\", \"Sertifikat Webinar 2\"].forEach(k => {\n            if (item[k]) {\n                const temp = document.createElement(\"div\");\n                temp.innerHTML = item[k];\n                const link = temp.querySelector(\"a\");\n\n                if (link) {\n                    const a = document.createElement(\"a\");\n                    a.href = link.href;\n                    a.target = \"_blank\";\n                    a.rel = \"noopener\";\n                    a.textContent = k;\n                    td.appendChild(a);\n                }\n            }\n        });\n\n        tr.appendChild(td);\n        tbody.appendChild(tr);\n    });\n\n    table.appendChild(tbody);\n    container.appendChild(table);\n}\n\nfunction setupPagination(data){\n    const pages = Math.ceil(data.length \/ rowsPerPage);\n    let html = `<div class=\"css24-pagination\">`;\n\n    if (currentPage > 1)\n        html += `<a href=\"#\" onclick=\"goToPage(${currentPage-1})\">Prev<\/a>`;\n\n    for (let i = 1; i <= pages; i++)\n        html += `<a href=\"#\" onclick=\"goToPage(${i})\" class=\"${i===currentPage?'active':''}\">${i}<\/a>`;\n\n    if (currentPage < pages)\n        html += `<a href=\"#\" onclick=\"goToPage(${currentPage+1})\">Next<\/a>`;\n\n    html += `<\/div>`;\n    document.getElementById('css24-pagination').innerHTML = html;\n}\n\nfunction goToPage(p){\n    if (p < 1) return;\n    currentPage = p;\n    displayTable(filteredData);\n    setupPagination(filteredData);\n}\n\n\/\/ ************************************************************\n\/\/ *** PRETRAGA: Ime + Prezime + Licenca (sa uklanjanjem space-a)\n\/\/ ************************************************************\n\ndocument.getElementById(\"searchInput\").addEventListener(\"input\", function(){\n    const userInput = this.value.toLowerCase();\n    const searchNorm = userInput.replace(\/\\s+\/g, \"\"); \/\/ unos bez spaceova\n\n    filteredData = originalData.filter(item => {\n        const fullName = `${item.Ime} ${item.Prezime}`.toLowerCase();\n\n        \/\/ licenca bez razmaka\n        const licRaw = item.Licenca ? item.Licenca.toString().toLowerCase() : \"\";\n        const licenca = licRaw.replace(\/\\s+\/g, \"\");\n\n        return fullName.includes(userInput) || licenca.includes(searchNorm);\n    });\n\n    currentPage = 1;\n    displayTable(filteredData);\n    setupPagination(filteredData);\n});\n<\/script>\n\n<\/body>\n<\/html>\n\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>","protected":false},"excerpt":{"rendered":"<p>24. KONGRES STOMATOLOGA SRBIJE &#8211; Preuzmite sertifikate Preuzmite sertifikate<\/p>","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_canvas","meta":[],"_links":{"self":[{"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/pages\/9233"}],"collection":[{"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/comments?post=9233"}],"version-history":[{"count":94,"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/pages\/9233\/revisions"}],"predecessor-version":[{"id":9334,"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/pages\/9233\/revisions\/9334"}],"wp:attachment":[{"href":"https:\/\/kongresstomatologasrbijesks.rs\/en\/wp-json\/wp\/v2\/media?parent=9233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}