{"id":21222,"date":"2024-09-06T09:02:37","date_gmt":"2024-09-06T07:02:37","guid":{"rendered":"https:\/\/telemedi.com\/?page_id=21222"},"modified":"2024-11-19T18:01:21","modified_gmt":"2024-11-19T17:01:21","slug":"formularz-rekrutacja-lekarzy","status":"publish","type":"page","link":"https:\/\/telemedi.com\/pl\/formularz-rekrutacja-lekarzy\/","title":{"rendered":"Formularz rekrutacja lekarzy"},"content":{"rendered":"\n<style>body { background-color: #f6f5f2; } form { margin: 0 auto; }<\/style>\n<script src=\"https:\/\/telemedi.com\/wp-content\/themes\/telemedico-home-page\/src\/js\/libraries\/tailwind\/tailwind.js\" data-cookieconsent=\"ignore\"><\/script>\n    <script data-cookieconsent=\"ignore\">\n        tailwind.config = {\n            theme: {\n                extend: {\n                    colors: {\n                        primary: '#20a869',\n                    },\n                },\n            },\n        }\n    <\/script>\n    <style>\n        .hidden {\n            display: none;\n        }\n        \n        .tooltip {\n            position: relative;\n            display: inline-block;\n            cursor: pointer;\n        }\n\n        .tooltip .tooltiptext {\n            visibility: hidden;\n            width: 200px;\n            background-color: black;\n            color: #fff;\n            text-align: center;\n            border-radius: 6px;\n            padding: 5px;\n            position: absolute;\n            z-index: 1;\n            bottom: 125%; \/* Pozycja nad elementem *\/\n            left: 50%;\n            margin-left: -100px;\n            opacity: 0;\n            transition: opacity 0.3s;\n        }\n\n        .tooltip:hover .tooltiptext {\n            visibility: visible;\n            opacity: 1;\n        }\n        \n        .loader {\n            border: 4px solid #f3f3f3;\n            border-top: 4px solid #20a869; \/* Zmieniono kolor loadera *\/\n            border-radius: 50%;\n            width: 30px;\n            height: 30px;\n            animation: spin 1s linear infinite;\n            display: none;\n            margin: 10px auto;\n        }\n\n        @keyframes spin {\n            0% { transform: rotate(0deg); }\n            100% { transform: rotate(360deg); }\n        }\n    <\/style>\n    <script data-cookieconsent=\"ignore\">\n        function getQueryParam(param) {\n            const urlParams = new URLSearchParams(window.location.search);\n            return urlParams.get(param);\n        }\n\n        function addHiddenIdField() {\n            const form = document.querySelector('form');\n            const id = getQueryParam('id');\n            if (id) {\n                const hiddenIdField = document.createElement('input');\n                hiddenIdField.type = 'hidden';\n                hiddenIdField.name = 'id';\n                hiddenIdField.value = id;\n                form.appendChild(hiddenIdField);\n            }\n        }\n\n        async function fetchDataInBackground() {\n            const id = getQueryParam('id');\n            if (id) {\n                try {\n                    const formData = new FormData();\n                    formData.append('proposalId', id);\n\n                    const response = await fetch('https:\/\/n8n.tmdi00.com\/webhook\/9080354c-4d44-4b8d-a75b-7ab22c3b2c89', {\n                        method: 'POST',\n                        mode: 'no-cors',\n                        body: formData\n                    });\n\n                    if (response.type === 'opaque') {\n                        console.log('\u017b\u0105danie wys\u0142ane w trybie no-cors');\n                    } else {\n                        const data = await response.json();\n                        fillFormWithData(data);\n                    }\n                } catch (error) {\n                    console.error('Wyst\u0105pi\u0142 b\u0142\u0105d:', error);\n                }\n            }\n        }\n\n        function fillFormWithData(data) {\n            \/\/ Tutaj mo\u017cesz doda\u0107 logik\u0119 wype\u0142niania formularza danymi\n            \/\/ Na przyk\u0142ad:\n            \/\/ document.getElementById('contractType').value = data.contractType;\n            \/\/ document.getElementById('businessName').value = data.businessName;\n            \/\/ itd.\n        }\n\n        document.addEventListener('DOMContentLoaded', () => {\n            addHiddenIdField();\n            fetchDataInBackground();\n        });\n\n        function toggleFields() {\n            const contractType = document.getElementById('contractType').value;\n            const addressField = document.getElementById('addressField');\n            const phoneField = document.getElementById('phoneField');\n            const businessNameField = document.getElementById('businessNameField');\n            const businessAddressField = document.getElementById('businessAddressField');\n            const nipField = document.getElementById('nipField');\n            const regonField = document.getElementById('regonField');\n\n            if (contractType === 'Umowa zlecenie') {\n                addressField.classList.remove('hidden');\n                businessNameField.classList.add('hidden');\n                businessAddressField.classList.add('hidden');\n                nipField.classList.add('hidden');\n                regonField.classList.add('hidden');\n            } else {\n                addressField.classList.add('hidden');\n                businessNameField.classList.remove('hidden');\n                businessAddressField.classList.remove('hidden');\n                nipField.classList.remove('hidden');\n                regonField.classList.remove('hidden');\n            }\n            \/\/ Numer telefonu i PESEL zawsze widoczne\n            phoneField.classList.remove('hidden');\n            document.getElementById('peselField').classList.remove('hidden');\n        }\n\n        function validateForm() {\n            const form = document.querySelector('form');\n            const contractType = document.getElementById('contractType').value;\n            let isValid = true;\n\n            \/\/ Wsp\u00f3lne pola dla obu typ\u00f3w um\u00f3w (usuni\u0119to 'oc', 'profilePicture' i 'diploma')\n            const commonFields = ['pwz', 'stamp', 'phone', 'pesel'];\n\n            \/\/ Pola specyficzne dla umowy kontraktowej\n            const contractFields = ['businessName', 'businessAddress', 'nip', 'regon'];\n\n            \/\/ Pola specyficzne dla umowy zlecenie\n            const mandateFields = ['pesel', 'address'];\n\n            const fieldsToValidate = commonFields.concat(\n                contractType === 'Umowa kontraktowa' ? contractFields : mandateFields\n            );\n\n            fieldsToValidate.forEach(fieldId => {\n                const field = document.getElementById(fieldId);\n                if (field) {\n                    if (field.type === 'file') {\n                        \/\/ Dodano warunek, aby pomin\u0105\u0107 walidacj\u0119 dla 'oc' i 'profilePicture'\n                        if (fieldId !== 'oc' && fieldId !== 'profilePicture') {\n                            if (field.files.length === 0) {\n                                isValid = false;\n                                field.classList.add('border-red-500');\n                            } else {\n                                field.classList.remove('border-red-500');\n                            }\n                        }\n                    } else if (field.value.trim() === '') {\n                        isValid = false;\n                        field.classList.add('border-red-500');\n                    } else {\n                        field.classList.remove('border-red-500');\n                    }\n                }\n            });\n\n            \/\/ Specjalne traktowanie dla opcjonalnego pola \"Zgoda kierownika specjalizacji\"\n            const specializationConsent = document.getElementById('specializationConsent');\n            specializationConsent.classList.remove('border-red-500');\n\n            return isValid;\n        }\n\n        function handleSubmit(event) {\n            event.preventDefault();\n            if (!validateForm()) {\n                alert('Prosz\u0119 wype\u0142ni\u0107 wszystkie wymagane pola i za\u0142\u0105czy\u0107 wszystkie wymagane pliki.');\n                return;\n            }\n\n            const form = event.target;\n            const submitButton = form.querySelector('button[type=\"submit\"]');\n            const loader = document.getElementById('loader');\n\n            submitButton.disabled = true;\n            loader.style.display = 'inline-block';\n\n            const formData = new FormData();\n            \n            const formElements = form.elements;\n            for (let i = 0; i < formElements.length; i++) {\n                const element = formElements[i];\n                if (element.type === 'file') {\n                    if (element.files.length > 0) {\n                        formData.append(element.name, element.files[0]);\n                    }\n                } else if (element.type === 'checkbox') {\n                    if (element.checked) {\n                        formData.append(element.name, element.checked);\n                    }\n                } else if (element.name) {\n                    formData.append(element.name, element.value);\n                }\n            }\n\n            fetch(form.action, {\n                method: form.method,\n                body: formData\n            })\n            .then(response => {\n                if (response.ok) {\n                    window.location.href = 'https:\/\/telemedi.com\/pl\/formularz-rekrutacja-lekarzy-success';\n                } else {\n                    alert('Wyst\u0105pi\u0142 b\u0142\u0105d podczas przesy\u0142ania formularza.');\n                }\n            })\n            .catch(error => {\n                alert('Wyst\u0105pi\u0142 b\u0142\u0105d podczas przesy\u0142ania formularza.');\n            })\n            .finally(() => {\n                submitButton.disabled = false;\n                loader.style.display = 'none';\n            });\n        }\n\n        function toggleNonEUFields() {\n            const nonEUFields = document.getElementById('nonEUFields');\n            nonEUFields.classList.toggle('hidden', !document.getElementById('nonEUDoctor').checked);\n        }\n    <\/script>\n    <form class=\"bg-white p-6 rounded-lg shadow-md w-full max-w-lg\" action=\"https:\/\/n8n.tmdi00.com\/webhook\/3080354c-4d44-4b8d-a75b-7ab22c3b2c89\" method=\"POST\" onsubmit=\"handleSubmit(event)\">\n        <div class=\"mb-4\">\n            <label for=\"contractType\" class=\"block text-gray-700 font-bold mb-2\">Typ umowy:<\/label>\n            <select id=\"contractType\" name=\"contractType\" onchange=\"toggleFields()\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n                <option value=\"Umowa kontraktowa\">Umowa kontraktowa<\/option>\n                <option value=\"Umowa zlecenie\">Umowa zlecenie<\/option>\n            <\/select>\n        <\/div>\n\n        <div id=\"businessNameField\" class=\"mb-4\">\n            <label for=\"businessName\" class=\"block text-gray-700 font-bold mb-2\">Nazwa dzia\u0142alno\u015bci:<\/label>\n            <input type=\"text\" id=\"businessName\" name=\"businessName\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div id=\"businessAddressField\" class=\"mb-4\">\n            <label for=\"businessAddress\" class=\"block text-gray-700 font-bold mb-2\">Adres dzia\u0142alno\u015bci:<\/label>\n            <input type=\"text\" id=\"businessAddress\" name=\"businessAddress\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div id=\"nipField\" class=\"mb-4\">\n            <label for=\"nip\" class=\"block text-gray-700 font-bold mb-2\">NIP:<\/label>\n            <input type=\"text\" id=\"nip\" name=\"nip\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div id=\"regonField\" class=\"mb-4\">\n            <label for=\"regon\" class=\"block text-gray-700 font-bold mb-2\">REGON:<\/label>\n            <input type=\"text\" id=\"regon\" name=\"regon\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div id=\"peselField\" class=\"mb-4\">\n            <label for=\"pesel\" class=\"block text-gray-700 font-bold mb-2\">PESEL:<\/label>\n            <input type=\"text\" id=\"pesel\" name=\"pesel\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div id=\"addressField\" class=\"mb-4 hidden\">\n            <label for=\"address\" class=\"block text-gray-700 font-bold mb-2\">Adres zamieszkania:<\/label>\n            <input type=\"text\" id=\"address\" name=\"address\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div id=\"phoneField\" class=\"mb-4\">\n            <label for=\"phone\" class=\"block text-gray-700 font-bold mb-2\">Telefon:<\/label>\n            <input type=\"text\" id=\"phone\" name=\"phone\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <label for=\"pwz\" class=\"block text-gray-700 font-bold mb-2\">PWZ:\n                <span class=\"tooltip\">\u2139\n                    <span class=\"tooltiptext\">Prosimy o za\u0142\u0105czenie zdj\u0119cia lub skanu prawa wykonywania zawodu.<\/span>\n                <\/span>\n            <\/label>\n            <input type=\"file\" id=\"pwz\" name=\"pwz\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <label for=\"oc\" class=\"block text-gray-700 font-bold mb-2\">OC (opcjonalne):\n                <span class=\"tooltip\">\u2139\n                    <span class=\"tooltiptext\">Prosimy o za\u0142\u0105czenie zdj\u0119cia lub skanu OC lekarza, je\u015bli jest dost\u0119pne.<\/span>\n                <\/span>\n            <\/label>\n            <input type=\"file\" id=\"oc\" name=\"oc\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <label for=\"diploma\" class=\"block text-gray-700 font-bold mb-2\">Dyplom (opcjonalne):\n                <span class=\"tooltip\">\u2139\n                    <span class=\"tooltiptext\">Je\u015bli chcesz, mo\u017cesz za\u0142\u0105czy\u0107 zdj\u0119cie lub skan dyplomu uko\u0144czenia studi\u00f3w.<\/span>\n                <\/span>\n            <\/label>\n            <input type=\"file\" id=\"diploma\" name=\"diploma\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <label for=\"specializationDiploma\" class=\"block text-gray-700 font-bold mb-2\">Dyplom uko\u0144czenia specjalizacji (opcjonalne):\n                <span class=\"tooltip\">\u2139\n                    <span class=\"tooltiptext\">Je\u015bli posiadasz, mo\u017cesz za\u0142\u0105czy\u0107 zdj\u0119cie lub skan dyplomu uko\u0144czenia specjalizacji.<\/span>\n                <\/span>\n            <\/label>\n            <input type=\"file\" id=\"specializationDiploma\" name=\"specializationDiploma\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <label for=\"stamp\" class=\"block text-gray-700 font-bold mb-2\">Piecz\u0105tka z podpisem:\n                <span class=\"tooltip\">\u2139\n                    <span class=\"tooltiptext\">Prosimy o za\u0142\u0105czenie zdj\u0119cia lub skanu piecz\u0105tki. Piecz\u0105tka powinna by\u0107 wykonana na bia\u0142ym tle.<\/span>\n                <\/span>\n            <\/label>\n            <input type=\"file\" id=\"stamp\" name=\"stamp\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <label for=\"profilePicture\" class=\"block text-gray-700 font-bold mb-2\">Zdj\u0119cie profilowe (opcjonalne):\n                <span class=\"tooltip\">\u2139\n                    <span class=\"tooltiptext\">Je\u015bli chcesz, mo\u017cesz za\u0142\u0105czy\u0107 zdj\u0119cie profilowe. Zdj\u0119cie powinno by\u0107 jak najbardziej profesjonalne, na jasnym tle.<\/span>\n                <\/span>\n            <\/label>\n            <input type=\"file\" id=\"profilePicture\" name=\"profilePicture\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <label for=\"specializationConsent\" class=\"block text-gray-700 font-bold mb-2\">Zgoda kierownika specjalizacji (je\u015bli dotyczy):\n                <span class=\"tooltip\">\u2139\n                    <span class=\"tooltiptext\">Prosimy o za\u0142\u0105czenie zdj\u0119cia lub skanu zgody kierownika specjalizacji jako potwierdzenie zgody na udzielanie telekonsultacji jako lekarz w trakcie specjalizacji.<\/span>\n                <\/span>\n            <\/label>\n            <input type=\"file\" id=\"specializationConsent\" name=\"specializationConsent\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n        <\/div>\n\n        <div class=\"mb-4\">\n            <input type=\"checkbox\" id=\"nonEUDoctor\" name=\"nonEUDoctor\" onchange=\"toggleNonEUFields()\">\n            <label for=\"nonEUDoctor\" class=\"ml-2\">Lekarz z poza UE<\/label>\n        <\/div>\n\n        <div id=\"nonEUFields\" class=\"hidden\">\n            <div class=\"mb-4\">\n                <label for=\"residenceCard\" class=\"block text-gray-700 font-bold mb-2\">Karta pobytu:<\/label>\n                <input type=\"file\" id=\"residenceCard\" name=\"residenceCard\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n            <\/div>\n\n            <div class=\"mb-4\">\n                <label for=\"workPermit\" class=\"block text-gray-700 font-bold mb-2\">Decyzja o zezwolenie na prac\u0119:<\/label>\n                <input type=\"file\" id=\"workPermit\" name=\"workPermit\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n            <\/div>\n\n            <div class=\"mb-4\">\n                <label for=\"passportScan\" class=\"block text-gray-700 font-bold mb-2\">Skan paszportu:<\/label>\n                <input type=\"file\" id=\"passportScan\" name=\"passportScan\" class=\"block w-full border border-gray-300 rounded-md p-2\">\n            <\/div>\n        <\/div>\n\n        <div id=\"loader\" class=\"loader\"><\/div>\n\n        <div class=\"flex items-center justify-between mt-6\">\n            <button type=\"submit\" class=\"bg-primary text-white font-bold py-2 px-4 rounded-md hover:bg-primary-dark\">Prze\u015blij dokumenty<\/button>\n            <div id=\"loader\" class=\"loader\"><\/div>\n        <\/div>\n    <\/form>\n","protected":false},"excerpt":{"rendered":"<p>Typ umowy: Umowa kontraktowaUmowa zlecenie Nazwa dzia\u0142alno\u015bci: Adres dzia\u0142alno\u015bci: NIP: REGON: PESEL: Adres zamieszkania: Telefon: PWZ: \u2139 Prosimy o za\u0142\u0105czenie zdj\u0119cia lub skanu prawa wykonywania zawodu. OC (opcjonalne): \u2139 Prosimy o za\u0142\u0105czenie zdj\u0119cia lub skanu OC lekarza, je\u015bli jest dost\u0119pne. Dyplom (opcjonalne): \u2139 Je\u015bli chcesz, mo\u017cesz za\u0142\u0105czy\u0107 zdj\u0119cie lub skan dyplomu uko\u0144czenia studi\u00f3w. Dyplom uko\u0144czenia [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"content-type":"","footnotes":""},"class_list":["post-21222","page","type-page","status-publish","hentry"],"acf":[],"lang":"pl","translations":{"pl":21222},"_links":{"self":[{"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/pages\/21222","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/comments?post=21222"}],"version-history":[{"count":16,"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/pages\/21222\/revisions"}],"predecessor-version":[{"id":22328,"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/pages\/21222\/revisions\/22328"}],"wp:attachment":[{"href":"https:\/\/telemedi.com\/tm-api\/wp\/v2\/media?parent=21222"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}