{"id":1733,"date":"2026-05-05T09:20:11","date_gmt":"2026-05-05T09:20:11","guid":{"rendered":"https:\/\/login-safe.com\/?p=1733"},"modified":"2026-05-05T09:36:50","modified_gmt":"2026-05-05T09:36:50","slug":"kalkulator_szkic_proba","status":"publish","type":"post","link":"https:\/\/login-safe.com\/en\/kalkulator_szkic_proba\/","title":{"rendered":"kalkulator_szkic_pr\u00f3ba"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"1733\" class=\"elementor elementor-1733\">\n\t\t\t\t<div class=\"elementor-element elementor-element-55df526 e-flex e-con-boxed e-con e-parent\" data-id=\"55df526\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-fb4aafe elementor-widget elementor-widget-html\" data-id=\"fb4aafe\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div id=\"dog-calc-wrapper\">\r\n    <div class=\"dog-calc-card\">\r\n        <h2 class=\"dog-calc-title\">Kalkulator wieku psa<\/h2>\r\n        \r\n        <div class=\"dog-calc-group\">\r\n            <span class=\"dog-calc-label\">Waga psa<\/span>\r\n            <div class=\"custom-select-box\" id=\"weightContainer\">\r\n                <div class=\"selected-display\" id=\"weightDisplay\">Wybierz wag\u0119...<\/div>\r\n                <div class=\"options-menu custom-scroll\" id=\"weightOptions\">\r\n                    <div class=\"opt-item\" data-val=\"small\">Pies ma\u0142y (do 10 kg)<\/div>\r\n                    <div class=\"opt-item\" data-val=\"medium\">Pies \u015bredni (11-25 kg)<\/div>\r\n                    <div class=\"opt-item\" data-val=\"large\">Pies du\u017cy (od 26 kg)<\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"dog-calc-group\">\r\n            <span class=\"dog-calc-label\">Wiek psa (w latach)<\/span>\r\n            <div class=\"custom-select-box\" id=\"ageContainer\">\r\n                <div class=\"selected-display\" id=\"ageDisplay\">Wybierz wiek...<\/div>\r\n                <div class=\"options-menu custom-scroll\" id=\"ageOptions\">\r\n                    <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"dog-calc-result-box\">\r\n            <span class=\"dog-calc-result-text\">Wiek w latach ludzkich:<\/span>\r\n            <div id=\"humanAgeResult\" class=\"dog-calc-result-value\">---<\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n<style>\r\n    #dog-calc-wrapper {\r\n        padding: 10px;\r\n        display: flex;\r\n        justify-content: center;\r\n        background: transparent;\r\n        font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;\r\n    }\r\n    .dog-calc-card {\r\n        background: #ffffff;\r\n        padding: 25px;\r\n        border-radius: 15px;\r\n        box-shadow: 0 10px 30px rgba(0,0,0,0.1);\r\n        width: 100%;\r\n        max-width: 380px;\r\n        box-sizing: border-box;\r\n    }\r\n    .dog-calc-title {\r\n        color: #2d5a27 !important;\r\n        margin: 0 0 20px 0 !important;\r\n        font-size: 22px !important;\r\n        font-weight: bold !important;\r\n        text-align: center;\r\n    }\r\n    .dog-calc-group {\r\n        margin-bottom: 20px;\r\n        position: relative;\r\n    }\r\n    .dog-calc-label {\r\n        display: block;\r\n        margin-bottom: 6px;\r\n        font-weight: 600;\r\n        color: #444;\r\n        font-size: 14px;\r\n    }\r\n    \r\n    .custom-select-box {\r\n        position: relative;\r\n        width: 100%;\r\n        user-select: none;\r\n    }\r\n    .selected-display {\r\n        padding: 12px 15px;\r\n        border: 2px solid #e1e1e1;\r\n        border-radius: 8px;\r\n        background: #fff;\r\n        cursor: pointer;\r\n        font-size: 15px;\r\n        color: #333;\r\n        display: flex;\r\n        justify-content: space-between;\r\n        align-items: center;\r\n    }\r\n    .selected-display::after {\r\n        content: '\u25bc';\r\n        font-size: 10px;\r\n        color: #2d5a27;\r\n        margin-left: 10px;\r\n    }\r\n    .options-menu {\r\n        display: none;\r\n        position: absolute;\r\n        top: calc(100% + 5px);\r\n        left: 0;\r\n        width: 100%;\r\n        background: #fff;\r\n        border: 2px solid #2d5a27;\r\n        border-radius: 8px;\r\n        z-index: 9999;\r\n        max-height: 130px; \/* Wysoko\u015b\u0107 na ok. 3.5 opcji *\/\r\n        overflow-y: auto;\r\n        box-shadow: 0 8px 20px rgba(0,0,0,0.15);\r\n    }\r\n    .options-menu.show {\r\n        display: block !important;\r\n    }\r\n    .opt-item {\r\n        padding: 10px 15px;\r\n        cursor: pointer;\r\n        font-size: 14px;\r\n        border-bottom: 1px solid #f0f0f0;\r\n    }\r\n    .opt-item:last-child { border-bottom: none; }\r\n    .opt-item:hover {\r\n        background: #f0f7ef;\r\n    }\r\n\r\n    .custom-scroll::-webkit-scrollbar { width: 6px; }\r\n    .custom-scroll::-webkit-scrollbar-thumb { background: #2d5a27; border-radius: 10px; }\r\n\r\n    .dog-calc-result-box {\r\n        margin-top: 15px;\r\n        padding: 15px;\r\n        background: #f0f7ef;\r\n        border-radius: 10px;\r\n        text-align: center;\r\n    }\r\n    .dog-calc-result-text { font-size: 12px; color: #6a8a66; font-weight: bold; }\r\n    .dog-calc-result-value { font-size: 34px; font-weight: 800; color: #2d5a27; }\r\n<\/style>\r\n\r\n<script>\r\n(function() {\r\n    let selWeight = \"\";\r\n    let selAge = \"\";\r\n\r\n    const dataTable = {\r\n        small:  { 1: 18, 2: 24, 4: 32, 6: 40, 8: 48, 10: 56, 12: 64, 14: 72 },\r\n        medium: { 1: 17, 2: 25, 4: 35, 6: 45, 8: 55, 10: 65, 12: 75, 14: 85 },\r\n        large:  { 1: 15, 2: 19, 4: 33, 6: 47, 8: 61, 10: 75, 12: 89, 14: 103 }\r\n    };\r\n\r\n    \/\/ Generowanie lat\r\n    const ageMenu = document.getElementById('ageOptions');\r\n    for (let i = 1; i <= 20; i++) {\r\n        let suffix = (i === 1) ? ' rok' : (i >= 2 && i <= 4) ? ' lata' : ' lat';\r\n        let div = document.createElement('div');\r\n        div.className = 'opt-item';\r\n        div.textContent = i + suffix;\r\n        div.setAttribute('data-val', i);\r\n        ageMenu.appendChild(div);\r\n    }\r\n\r\n    \/\/ Funkcja otwierania\/zamykania\r\n    document.querySelectorAll('.selected-display').forEach(display => {\r\n        display.addEventListener('click', function(e) {\r\n            e.stopPropagation();\r\n            const menu = this.nextElementSibling;\r\n            const isOpen = menu.classList.contains('show');\r\n            \r\n            \/\/ Zamknij wszystkie\r\n            document.querySelectorAll('.options-menu').forEach(m => m.classList.remove('show'));\r\n            \r\n            \/\/ Otw\u00f3rz klikni\u0119ty je\u015bli by\u0142 zamkni\u0119ty\r\n            if (!isOpen) menu.classList.add('show');\r\n        });\r\n    });\r\n\r\n    \/\/ Wybieranie opcji\r\n    document.addEventListener('click', function(e) {\r\n        if (e.target.classList.contains('opt-item')) {\r\n            const menu = e.target.closest('.options-menu');\r\n            const display = menu.previousElementSibling;\r\n            const val = e.target.getAttribute('data-val');\r\n            const text = e.target.textContent;\r\n\r\n            display.textContent = text;\r\n            menu.classList.remove('show');\r\n\r\n            if (menu.id === 'weightOptions') selWeight = val;\r\n            else selAge = val;\r\n\r\n            calc();\r\n        } else {\r\n            \/\/ Klikni\u0119cie poza zamknie menu\r\n            document.querySelectorAll('.options-menu').forEach(m => m.classList.remove('show'));\r\n        }\r\n    });\r\n\r\n    function calc() {\r\n        if (!selWeight || !selAge) return;\r\n        const age = parseInt(selAge);\r\n        const data = dataTable[selWeight];\r\n        let res;\r\n\r\n        if (data[age]) {\r\n            res = data[age];\r\n        } else {\r\n            const keys = Object.keys(data).map(Number).sort((a, b) => a - b);\r\n            if (age > 14) {\r\n                res = data[14] + (age - 14) * ((data[14] - data[12]) \/ 2);\r\n            } else {\r\n                let lo = keys[0], hi = keys[keys.length - 1];\r\n                for (let k of keys) { if (k < age) lo = k; if (k > age) { hi = k; break; } }\r\n                res = data[lo] + (age - lo) * (data[hi] - data[lo]) \/ (hi - lo);\r\n            }\r\n        }\r\n        document.getElementById('humanAgeResult').textContent = Math.round(res) + \" lat\";\r\n    }\r\n})();\r\n<\/script>\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>Kalkulator wieku psa Waga psa Wybierz wag\u0119&#8230; Pies ma\u0142y (do 10 kg) Pies \u015bredni (11-25 kg) Pies du\u017cy (od 26 kg) Wiek psa (w latach) Wybierz wiek&#8230; Wiek w latach ludzkich: &#8212;<\/p>","protected":false},"author":23,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"ppma_author":[377],"class_list":["post-1733","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"aioseo_notices":[],"authors":[{"term_id":377,"user_id":23,"is_guest":0,"slug":"admin_d","display_name":"admin_d","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/a71373fa9e138aeb0a1adf84121db889ce84db05a3fb79e88a077527901b4d18?s=96&d=mm&r=g","user_url":"","last_name":"","first_name":"","description":""}],"_links":{"self":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts\/1733","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/users\/23"}],"replies":[{"embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/comments?post=1733"}],"version-history":[{"count":6,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts\/1733\/revisions"}],"predecessor-version":[{"id":1739,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/posts\/1733\/revisions\/1739"}],"wp:attachment":[{"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/media?parent=1733"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/categories?post=1733"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/tags?post=1733"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/login-safe.com\/en\/wp-json\/wp\/v2\/ppma_author?post=1733"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}