Výcviky pro rodiče

 

Výcvik terapeutického rodičovství pro pěstouny a adoptivní rodiče

 

Máme pro vás osvědčený výcvik terapeutického rodičovství, který doporučujeme všem adoptivním a pěstounským rodičům.

Nenabízí jen suchou teorii, ale i řadu praktických cvičení, pracovních listů, výukových online materiálů, společných diskusí či prožitkových cvičení.

Rodiče se naučí lépe porozumět svým dětem a jejich vnitřnímu světu a zároveň získávají nástroje, jak dětem pomoci ve složitých situacích.

Výcvik probíhá v 18 setkáních po 3 hodinách, většinou v režimu 1x za 14 dní. Délka a kvalita výcviku se odráží v účinnosti, na rozdíl od jednorázových, či jiných krátkých výcviků v terapeutickém rodičovství. Umožňuje to rodiči opravdově přetvořit svůj výchovný styl. U kratších výcviků se rodič pouze dozvídá různé postupy, ale nemá prostor na hlubší změnu, která je při péči o dítě s vývojovým traumatem potřeba. Navíc zde hraje velkou roli pospolitost a podpora skupiny, která ve většině případů zůstává v nějakém přátelském podporujícím spojení i po ukončení výcviku.

Mnozí rodiče přijatých dětí zjistili, že běžné metody selhávají, což je zcela pochopitelné, protože jsou postaveny na bezpečném vztahu dítěte s rodičem, dítě ani rodič o vztahu nepochybují.
Všechny přijaté děti zažili opuštění tou nejdůležitější osobou – vlastní matkou. I když opuštění proběhlo v raném věku, dítě si ho vědomě nepamatuje, celé jeho tělo, každá buňka, bolest z opuštění dále nese. Přijaté děti mají strach důvěřovat novým pečovatelům a pochybnosti o vztahu k nim si nesou dlouho. Proto potřebují rodičovství, které je primárně zaměřeno na budování vztahu a vše, včetně limitů, se točí okolo podpory vztahu dítě x rodič. V tom je terapeutické rodičovství odlišné od běžného rodičovství.

V současnosti probíhá nebo již proběhlo přes 80 výcviků pro rodiče a další jsou plánovány.

Certifikovaně vyškoleno ve vedení těchto výcviků je přes 160 lektorů v ČR a přes 20 lektorů v SR.
Seznam lektorů, kteří prošli výcvikem - Seznam certifikovaných lektorů (k 30. 9. 2024).
Zde jsou Zásady práce pro lektory

Všichni tito lektoři byli vyškoleni v certifikovaném výcviku organizace ATTA (www.attachment.cz) -Terapeutické rodičovství – komplexní program pro pracovníky v oblasti náhradní rodinné péče, číslo akreditace MPSV: A2021/0593-SP, lektorkami PhDr. Janou Kovařovicovou a PaeDr. Petrou Pávkovou, které jsou odbornými garantkami tohoto výcviku.

Bohužel není možné zajistit, aby byly všechny výcviky bez finančního poplatku. Jednotliví lektoři a organizace, které výcviky připravují, se snaží peníze na výcviky shánět z různých zdrojů, ale ne vždy se to daří. Proto se o finanční náročnosti informujte u konkrétních lektorů. Je naším velkým přáním, aby byly výcviky zadarmo pro všechny pěstouny a adoptivní rodiče, podnikáme různé kroky, ale čeká nás asi dlouhá cesta.

 

Přihlasit se můžete u jednotlivých lektorů. 
Těšíme se na Vás.
Organizace SEFAM z.s. a ATTA z.s. (www.attachment.cz) ve spolupráci s mnoha dalšími kolegy a organizacemi po celé republice.

 

Připravované výcviky(celkem 2):

pro příbuzenské pěstouny
Místo: Svitavy
Den: 19.3.2026
Lektor: Lenka Patočková, Bára Minaříková Doubková
Kontakt: lenka@detipatridomu.cz, www.detipatridomu.cz
Informace: setkání budou probíhat čtvrtky dopoledne v čase 9 - 12h
Cena: 6 500 Kč
Více informací ke kurzu i přihlášení najdete na stránkách nebo Facebooku Děti patří domů, z. s. Plná cena...
Místo: Praha
Od kdy: 26.3.2026
Do kdy: 4.3.2027
Lektor: Mgr. Markéta Švejdová Jandová a Mgr. Josefína Vondrušková, DiS.
Kontakt: Mgr. Pavla Drvotová: pavla.drvotova@dobrarodina.cz , Tel: 720 833 545
Forma: Prezenční
Informace: Setkání probíhají v čase 16 - 19 hod
Cena: 15 900 Kč
Ucelený výcvik terapeutického rodičovství : 18 setkání po 3hodinách, celkově 54 hodin. Výcvik je vhodný pro...

Probíhající a již proběhlé výcviky(celkem 97):

Místo Od kdy Informace Kapacita Lektoři Kontakt
Jablonec nad Nisou února 2026 Více informací
Uzavřená skupina
volno Mgr. Halka Michalenková
Mgr. Marcela Poláková
halka.michalenkova@dobrarodina.cz
727 826 924
Pardubice ledna 2026 Více informací
volno Mgr. Eva Klabanová
Mgr. Eva Klucká
603 273 948
604118630
klucka@psychologpce.cz
Olomouc ledna 2026 Více informací
skupina pro pěstouny, osvojitelé i otce
volno Mgr. Milan Tihelka
Mgr. Roman Pitr
737541451
732411664
Přerov ledna 2026 Více informací
Uzavřená skupina
plný Mgr. Bronislava Valentová
Mgr. Martina Shaw
valentova.konzultace@seznam.cz, tel. 723010082
Zlín ledna 2026 Více informací
volno Veronika Hofrová
Jarmila Plevová
jarmila.plevova@strop-zlin.cz
➕ Zobrazit výcviky v roce 2025
Valašské Meziříčí listopadu 2025 Více informací
plný Mgr. Šárka Šimšová
Mgr. Jarka Budíková
sarka.simsova@seznam.cz
604 243 812
Olomouc října 2025 Více informací
kurz je určen pro muže - pěstouny, osvojitele
volno Milan Tihelka
Radek Baselides
Tihelka.mi@gmail.com
tel. 737541251
radek.baselides@narucedetem.cz. tel. 777689806
Brno října 2025 Více informací
volno Blanka Klimešová,
Lenka Gláserová
blanka.klimesova@sos-vesnicky.cz
tel: 774 044 908
Říčany u Prahy října 2025 Více informací
plný Lucie Salačová a Kateřina Špringer Szakálová Dana Benediktová - benediktova@pestouni-rac.cz
Bratislava října 2025 Více informací
Uzatvorená skupina náhradných rodičov
plný Zuzana Benkovičová
Mária Tiňová
attadom@attadom.sk
pocuvajme@gmail.com
Nové Mesto nad Váhom, SLOVENSKO října 2025 Více informací
volno Soňa Pekarovičová pekarovicova@centrumdys.sk
+421 904 373 316
Brno října 2025 Více informací
volno Michaela Šístková michaelasistkova@email.cz
773 492 805
České Budějovice října 2025 Více informací
Třetí běh osvědčeného dlouhodobého kurzu se zkušenou lektorskou dvojicí. Setkání se konají pravidelně 1x za čtrnáct dní, vždy ve středu odpoledne od 16.30 do 19.30.
Pro osvojitele ZDARMA!
volno Lenka Čadová
Erika Jarošová
jarosova@prevent99.cz
727 961 840
Praha září 2025 Více informací
plný Júlia Dlasková
Jarmila Aylani Cihlářová
adela.ticova@sos-vesnicky.cz
Česká Lípa září 2025 Více informací
plný Jana Glaserová, Kristýna Glaserová glaserova75@gmail.com
Ústí nad Labem září 2025 Více informací
VOLNÁ MÍSTA
PRO 1-2 ZÁJEMCE
Nástup možný do konce října 2025.
Celkem 18 setkání, obvykle 1x za 3 týdny (čt 16-19h)
volno Martina Vančáková
a Lucie Salačová
majak.platforma@seznam.cz
Svitavy září 2025 Více informací
Přihlášení probíhá přes stránky organizace.
plný Mgr. Lenka Patočková
Mgr. Adéla Bodo Novotná
lenka@detipatridomu.cz
608 491 059
Pardubice září 2025 Více informací
plný Alena Kolářová
Yvona Hofmanová
alenakolaru@seznam.cz
tel. 721 029 579
Praha září 2025 Více informací
plný Andrea Gruberová
Alena Svobodová
andreagruberova@gmail.com
776 72 12 13
Jindřichův Hradec září 2025 Více informací
plný Nikola Bílá
Klára Hesounová
nikolina@seznam.cz
Praha / Říčany září 2025 Více informací
pro RaC
volno Anna Krátká
a kolegyně
org. Rozum a cit
Olomouc června 2025 Více informací
pro osvojitele
plný Petra Pitrová a Eva Kopecká petra.klevetova@gmail.com
Hodonice března 2025 Více informací
plný Tereza a Petr Korgerovi korgerovanejsmesami@post.cz
Plzeň března 2025 Více informací
Pro kohokoli
plný Lucie Baliharová
Helena Strejčková
baliharova@pestouni.cz
Dvůr Králové nad Labem ledna 2025 Více informací
plný Alena Šimková
Šárka Tauchmanová
alena.v.jezkova@seznam.cz
Praha ledna 2025 Více informací
plný Júlia Dlasková
Lucie Salačová
serik@cestounecestou.org
Trutnov ledna 2025 Více informací
plný Alena Rufferová
Jana Spišáková Vébrová
alena.v.jezkova@seznam.cz
➕ Zobrazit výcviky v roce 2024
Boskovice října 2024 Více informací
plný Michaela Šístková sistkova@email.cz
České Budějovice října 2024 Více informací
plný Erika Jarošová
Lenka Čadová
jarosova@prevent99.cz
České Budějovice října 2024 Více informací
plný Erika Jarošová
Lenka Čadová
jarosova@prevent99.cz
Český Těšín října 2024 Více informací
plný Barbora Niemiecová
Kateřina Horváthová
niemiecovab@gmail.com
Jaroměř října 2024 Více informací
plný Vladimíra Knettig
Ladislava Tichá
knettig@dia-mant.cz
Jihlava října 2024 Více informací
plný Jana Petrů
Ondřej Jiráska
janapetru.telc@gmail.com
Ostrava října 2024 Více informací
plný Eva Šrubařová
Anna Lazecká
eva.srubarova@pestounipolarka.cz
Praha října 2024 Více informací
plný Jaruška Cihlářová
Júlia Dlasková
adela.ticova@sos-vesnicky.cz
Svitavy října 2024 Více informací
plný Lenka Patočková
Bára Minaříková Doubková
patockova@detipatridomu.cz
Ústí nad Orlicí října 2024 Více informací
plný Katka Martincová
Petra Ryšinová
katerina.martincova@amalthea.cz
Česká Lípa Liberec září 2024 Více informací
plný Marta Vaňková
Jana Glaserová
m4rta.vankova@gmail.com
Dobříš září 2024 Více informací
plný Tereza Jandová tereza@temala.cz
Jablonec nad Nisou září 2024 Více informací
plný Halka Michalenková
Marcela Poláková
halka.michalenkova@dobrarodina.cz
Karlovy Vary září 2024 Více informací
plný Petr Zmuda info@valika.cz
Olomouc září 2024 Více informací
plný Pavlína Hrdličková
Gabriela Zajíčková
eva.kopecka@narucdetem.cz
Olomouc září 2024 Více informací
plný Milan Tihelka
Radek Basilides
eva.kopecka@narucdetem.cz
Olomouc září 2024 Více informací
plný Marie Stoklásková
Silva Pazderová
marie.stoklaskova@email.cz
Opava září 2024 Více informací
plný Věra Nešutová
Martina Žiga Černá
nesutova.vera@seznam.cz
Ostrava září 2024 Více informací
plný Renata Hrochová
Barbora Lichnovská
rena.hrochova@seznam.cz
Pardubice září 2024 Více informací
plný Eva Klucká
Eva Klabanová
eklucka@seznam.cz
Plzeň září 2024 Více informací
plný Jana Kocourková jana@latusprorodinu.cz
Praha září 2024 Více informací
plný Andrea Gruberová
Alena Svobodová
andreagruberova@gmail.com
776 72 12 13
Praha září 2024 Více informací
plný Hana Štěpánková
Veronika Brandejsová
psporadenstvi21@gmail.com
Zlín září 2024 Více informací
plný Jarmila Plevová jarmila.plevova@strop-zlin.cz
Frýdek Místek března 2024 Více informací
plný Zdeňka Kučná
Renata Skarková
kucna.zdenka@gmail.com
Hodonice března 2024 Více informací
plný Tereza a Petr Korgerovi korgerovanejsmesami@post.cz
Hradec Králové března 2024 Více informací
plný Monika Sejkaničová
Miriam Vojtíšková
monika.sejkanicova@seznam.cz
Litvínov března 2024 Více informací
plný Zuzana Junková
Věra Málesáková
zuzana.j.junkova@gmail.com
Prace března 2024 Více informací
plný Michaela Šístková sistkova@email.cz
Praha března 2024 Více informací
plný Jaroslava Máliková
Jolana Prušková
javama@seznam.cz
Karlovy Vary února 2024 Více informací
plný Petr Zmuda info@valika.cz
Ostrava února 2024 Více informací
plný Veronika Blažková
Renata Skarková
kucna.zdenka@gmail.com
Přerov února 2024 Více informací
plný Bronislava Valentová
Martina Shaw
valentova.konzultace@seznam.cz
Valašské Meziříčí února 2024 Více informací
plný Šárka Šimšová
Jarka Budíková
sarka.simsova@seznam.cz
Dvůr Králové nad Labem ledna 2024 Více informací
plný Alena Šimková
Šárka Tauchmanová
alena.v.jezkova@seznam.cz
Jeseník ledna 2024 Více informací
plný Petra Večerková
+ kolega
petra.vecerka@gmail.com
Trutnov ledna 2024 Více informací
plný Alena Rufferová
Jana Spišáková Vébrová
alena.v.jezkova@seznam.cz
➕ Zobrazit výcviky v roce 2023
Bratislava října 2023 Více informací
plný Anna Efstathopoulos
Zuzana Benkovičová
anna.efsta@gmail.com
České Budějovice října 2023 Více informací
plný Erika Jarošová
Lenka Čadová
jarosova@prevent99.cz
Frýdek-Místek října 2023 Více informací
plný Barbora Niemiecová
a Kateřina Horváthová
niemiecovab@gmail.com
Jaroměř října 2023 Více informací
plný Vladimíra Knettig
Ladislava Tichá
knettig@dia-mant.cz
Nový Jičín října 2023 Více informací
plný Kateřina Niklová
MartinaGarbová
niklova.katerina@gmail.com
Ostrava října 2023 Více informací
plný Renata Hrochová
Barbora Lichnovská
rena.hrochova@seznam.cz
Praha října 2023 Více informací
plný Veronika Karoušová
a kolegyně
karousova.v@seznam.cz
Brno září 2023 Více informací
plný Blanka Klimešová
Petra Šrámková
blanka.klimesova@sos-vesnicky.cz
Jindřichův Hradec září 2023 Více informací
plný Nikola Bílá
Klára Hesounová
nikolina@seznam.cz
Olomouc září 2023 Více informací
plný Marie Stoklásková
Silva Pazderová
marie.stoklaskova@email.cz
Plzeň září 2023 Více informací
plný Jana Kocourková
Michaela Hlavová
Jiřina Ullmanová
jana@latusprorodinu.cz
Plzeň září 2023 Více informací
plný Lucie Baliharová
Helena Strejčková
baliharova@pestouni.cz
Praha - SNRP září 2023 Více informací
plný Alena Svobodová
Andrea Gruberová
andrea.gruberova@nahradnirodina.cz
Teplice září 2023 Více informací
plný Zuzana Junková
Věra Málesáková
zuzana.j.junkova@gmail.com
Praha června 2023 Více informací
plný Michaela Stroudová
a kolegyně
mkoubkova@yahoo.com
Praha května 2023 Více informací
plný Lucie Baliharová
Lucie Salačová
baliharova@pestouni.cz
Plzeň dubna 2023 Více informací
plný Jana Kocourková
+ 2 kolegyně
jana@latusprorodinu.cz
Zlín dubna 2023 Více informací
plný Veronika Hofrová
Jarmila Plevová
jarmila.plevova@strop-zlin.cz
Šlapanice u Brna března 2023 Více informací
plný Tereza Korgerová
Míša Šístková
korgerovanejsmesami@post.cz
Česká Lípa února 2023 Více informací
plný Jana Glaserová
Marta Vaňková
glaserova75@gmail.com
Frýdek-Místek února 2023 Více informací
plný Zdeňka Kučná
Renata Skarková
kucna.zdenka@gmail.com
Opava února 2023 Více informací
plný Věra Nešutová
Martina Žiga Černá
nesutova.vera@seznam.cz
Most ledna 2023 Více informací
plný Zuzana Junková
Věra Málesáková
zuzana.j.junkova@gmail.com
Praha ledna 2023 Více informací
plný Jaroslava Máliková
Jolana Prušková
javama@seznam.cz
Znojmo ledna 2023 Více informací
plný Tereza Korgerová
Míša Šístková
korgerovanejsmesami@post.cz
➕ Zobrazit výcviky v roce 2022
Pardubice prosince 2022 Více informací
plný Eva Klucká
Eva Klabanová
eklucka@seznam.cz
Chrudim listopadu 2022 Více informací
plný Katka Martincová
Zuzana Říhová
katerina.martincova@amalthea.cz
Praha listopadu 2022 Více informací
plný Veronika Karoušová karousova@centrumnp.cz
České Budějovice září 2022 Více informací
plný Erika Jarošová
Lenka Čadová
jarosova@prevent99.cz
Praha září 2022 Více informací
plný Veronika Karoušová
Pavel Košák
karousova@centrumnp.cz
Šlapanice u Brna května 2022 Více informací
plný Terka Korgerová
Míša Šístková
korgerovanejsmesami@post.cz
Liberec března 2022 Více informací
plný Marta Vaňková,
Jana Glaserová
m4rta.vankova@gmail.com
➕ Zobrazit výcviky v roce 2021
Praha dubna 2021 Více informací
plný Jana Kovařovicová
Petra Pávková
pavkova@sefam.org


Created with CMS RedAks v.2.0

počkejte prosím...počkejte prosím...
// COPY TABLE (plain text) // ************************************************************************************ $(document).on("click dblclick", ".copyTable", async function(e) { // Get target table from data-target or fallback to the first const $copyButton = $(this); const $copyButtonText = $copyButton.find("span").text(); const $copyTable = $( $copyButton.data("target") ).first(); // Build plain-text with tabs and newlines /** @type {string[]} */ const $lines = []; $copyTable.find("tr").each(function() { /** @type {string[]} */ const $cellsText = []; $(this).find("th, td").each(function() { // Normalize whitespace inside cell const $text = $(this).text().trim().replace(/\s+/g, " "); $cellsText.push($text); }); $lines.push($cellsText.join("\t")); }); const $txt = $lines.join("\n"); // Try modern clipboard API; fallback to hidden textarea try { if(navigator.clipboard && window.isSecureContext) { await navigator.clipboard.writeText($txt); } else { const $ta = document.createElement("textarea"); $ta.value = $txt; $ta.style.position = "fixed"; $ta.style.top = "-1000px"; document.body.appendChild($ta); $ta.focus(); $ta.select(); document.execCommand("copy"); document.body.removeChild($ta); } // Optional: quick visual confirmation (non-blocking) $copyButton.find("span").text("Zkopírováno"); setTimeout(function() {$copyButton.find("span").text($copyButtonText);}, 1200); } catch(err) { // Basic error notice alert("Zkopírování selhalo. Zkus tabulku označit a zkopírovat manuálně."); console.error("Copy error:", err); } }); // COPY TABLE (HTML for Word, + plain text fallback) // ************************************************************************************ $(document).on("click dblclick", ".copyTableHtml", async function(e) { const $copyButton = $(this); const $copyButtonText = $copyButton.find("span").text(); const $copyTable = $($copyButton.data("target")).first(); // Guard: no table found if(!$copyTable.length) { alert("Tabulka nenalezena. Zkontroluj prosím data-target."); return; } // 1) Build clean HTML clone with minimal inline styles for Word /** @type {JQuery} */ const $clone = $copyTable.clone(); // Remove interactive elements & keep only text $clone.find("input, textarea, select, button, svg").remove(); // Normalize text in each cell (and force Excel text for +420...) $clone.find("th, td").each(function() { const $text = $(this).text().trim().replace(/\s+/g, " "); // Force Excel to keep values starting with "+" as text (prevents scientific notation) if($text.charAt(0) === "+") { $(this).attr("style", (($(this).attr("style") || "") + ";mso-number-format:'\\@';white-space:nowrap;")); } $(this).text($text); }); // Basic inline styling so Word keeps visible borders $clone.attr("border", "1"); $clone.css({ "border-collapse": "collapse", "border": "1px solid #000" }); $clone.find("th, td").css({ "border": "1px solid #000", "padding": "4px", "vertical-align": "top" }); // Optional: keep header bold $clone.find("th").css({"font-weight": "bold"}); // Final HTML document for clipboard (UTF-8) const $htmlDoc = '' + '' + $("
").append($clone).html() + ""; // 2) Plain-text TSV fallback (still great for Excel) /** @type {string[]} */ const $lines = []; $copyTable.find("tr").each(function() { /** @type {string[]} */ const $cells = []; $(this).find("th, td").each(function() { const $rawText = $(this).text().trim().replace(/\s+/g, " "); /* Force Excel to keep phone numbers starting with "+" as text */ const $t = ($rawText.charAt(0) === "+") ? '="' + $rawText + '"' : $rawText; $cells.push($t); }); $lines.push($cells.join("\t")); }); const $tsv = $lines.join("\n"); const $format = ($copyButton.data("format") || "word").toString().toLowerCase(); // Force Excel text for phones starting with "+" const $tsvExcel = $tsv.replace(/(^|\t)(\+\d+)(?=\t|$)/gm, '$1="$2"'); // 3) Try modern Clipboard API with text/html + text/plain try { if(navigator.clipboard && window.isSecureContext && window.ClipboardItem) { if($format === "excel") { await navigator.clipboard.writeText($tsvExcel); } else { const $data = { "text/html": new Blob([$htmlDoc], {type: "text/html"}), "text/plain": new Blob([$tsv], {type: "text/plain"}) }; await navigator.clipboard.write([new ClipboardItem($data)]); } } else { // Fallback: hidden contenteditable DIV + execCommand("copy") to copy HTML const $div = document.createElement("div"); $div.setAttribute("contenteditable", "true"); $div.style.position = "fixed"; $div.style.left = "-9999px"; $div.innerHTML = $htmlDoc; document.body.appendChild($div); // Select the content of the DIV const $range = document.createRange(); $range.selectNodeContents($div); const $sel = window.getSelection(); $sel.removeAllRanges(); $sel.addRange($range); // Copy selection as rich HTML const $ok = document.execCommand("copy"); // Cleanup selection + node $sel.removeAllRanges(); document.body.removeChild($div); if($format === "excel") { const $ta = document.createElement("textarea"); $ta.value = $tsvExcel; $ta.style.position = "fixed"; $ta.style.top = "-1000px"; document.body.appendChild($ta); $ta.focus(); $ta.select(); document.execCommand("copy"); document.body.removeChild($ta); } else if(!$ok) { const $ta = document.createElement("textarea"); $ta.value = $tsv; $ta.style.position = "fixed"; $ta.style.top = "-1000px"; document.body.appendChild($ta); $ta.focus(); $ta.select(); document.execCommand("copy"); document.body.removeChild($ta); } } // UI feedback $copyButton.find("span").text("Zkopírováno"); setTimeout(function() {$copyButton.find("span").text($copyButtonText);}, 1200); } catch($err) { alert("Zkopírování selhalo. Zkus tabulku označit a zkopírovat manuálně."); console.error("Copy HTML error:", $err); } }); // FORM Client Save // ************************************************************************************ if( $("#ClientSave").length ) { const $prefixClientSave = 'ClientSave_'; const $formClientSave = $("#" + $prefixClientSave + "Form"); // ALL REQUIRED FIELDS $formClientSave.find(".form-required").on("blur change", function() { $(this).val( $.trim( $(this).val() ) ); $(this).removeClass("form-invalid").closest(".form-group").find("var.ra-alert").remove(); if( $(this).val() == '' ) $(this).addClass("form-invalid").closest(".form-group").append('' + LNG_FIELD_MANDATORY + ''); }); // MAIL REQUIRED check $formClientSave.find(".mail-required").on("blur change", function() { $(this).jCheckMail(); }); // INTERNATIONAL TELEPHONE INPUT window.$iti = null; window.$phoneInput = document.querySelector("#" + $prefixClientSave + "phone"); // INTERNATIONAL TELEPHONE INPUT if(window.$phoneInput) { window.$iti = window.intlTelInput(window.$phoneInput, { initialCountry: "cz", hiddenInput: "phone_full", autoPlaceholder: "off", autoHideDialCode: false, separateDialCode: true, nationalMode: true, onlyCountries: ["al", "ad", "at", "by", "be", "ba", "bg", "hr", "cz", "dk", "ee", "fo", "fi", "fr", "de", "gi", "gr", "va", "hu", "is", "ie", "it", "lv", "li", "lt", "lu", "mk", "mt", "md", "mc", "me", "nl", "no", "pl", "pt", "ro", "ru", "sm", "rs", "sk", "si", "es", "se", "ch", "ua", "gb"], preferredCountries: ['cz', 'sk'], utilsScript: PROJECTPATH + "jquery/intl-tel-input-" + $intlTelInput + "/js/utils.js", // just for formatting/placeholders/hiddenInput etc. }); // alow autocomplete window.$phoneInput.setAttribute("autocomplete", "tel"); } // datetimepicker $("#" + $prefixClientSave + "birth_date").datetimepicker({ lang: $lng, dayOfWeekStart: 1, timepicker: false, format: "d.m.Y", }); // save form $formClientSave.on("submit", function(e) { e.preventDefault(); const $form = $(this).closest("form"); let $saveERROR = 0; $("." + $prefixClientSave + "ButtonSave").prop("disabled", true).closest(".form-group").find("var.ra-alert").remove(); // TRIM all fields $.each($formClientSave.find(".form-control, .form-check-input"), function() { $(this).val( $.trim( $(this).val() ) ); $(this).removeClass("form-invalid").closest(".form-group").find("var.ra-alert").remove(); }); // MAIL REQUIRED check $formClientSave.find(".mail-required").jCheckMail(); // ALL REQUIRED FIELDS $.each($formClientSave.find(".form-required"), function() { if( $(this).val().trim() == '' || ($(this).is(':checkbox') && !$(this).is(':checked')) ) { $(this).addClass("form-invalid").closest(".form-group").append('' + LNG_FIELD_MANDATORY + ''); $saveERROR += 1; } }); if($saveERROR > 0) { $("." + $prefixClientSave + "ButtonSave").prop("disabled", false).closest(".form-group").append('Formulář obsahuje chyby. Ověřte znovu správnost vyplnění.'); return; } // submit this.submit(); }); // after save if( $("#" + $prefixClientSave + "Submited").val() == 1 ) { if( $("#" + $prefixClientSave + "SuccessSave").val() == 1 ) { $("#" + $prefixClientSave + "Form").find(".alert-success").css({ "display" : "inline-block" }); setTimeout(function() { $("#" + $prefixClientSave + "Form").find(".alert-success").css({ "display" : "none" }); }, 4000); } else { $("#" + $prefixClientSave + "Form").find(".alert-danger").css({ "display" : "inline-block" }); setTimeout(function() { $("#" + $prefixClientSave + "Form").find(".alert-success").css({ "display" : "none" }); $("#" + $prefixClientSave + "Form").find(".alert-danger").css({ "display" : "none" }); }, 6000); } } // EDIT ATTENDANCE $(".EditClientSave").on("click dblclick", function() { $editId = $(this).closest("tr").data("id"); sendPostData($FULLREQUESTURI, { editId: $editId, }); return false; }); // KILL ATTENDANCE (DELETE for ever) $(".KillClientSave").on("click dblclick", function() { $thisId = $(this).closest("tr").data("id"); if(window.confirm ("Chceš smazat tohoto účastníka?\n" + LNG_FOREVER)) { sendPostData($FULLREQUESTURI, { actio: 'KillClientSave', thisId: $thisId, }); } return false; }); } // FORM Certificate // ************************************************************************************ if( $("#TrainingEventCertificate").length ) { const $formCertificate = $("#TrainingEventForm"); const $prefixCertificateForm = "Certificate_"; // ALL REQUIRED FIELDS $formCertificate.find(".form-required").on("blur change", function() { $(this).val( $.trim( $(this).val() ) ); $(this).removeClass("form-invalid").closest(".form-group").find("var.ra-alert").remove(); if( $(this).val() == '' ) $(this).addClass("form-invalid").closest(".form-group").append('' + LNG_FIELD_MANDATORY + ''); }); // datetimepicker $("#" + $prefixCertificateForm + "certificate_date_issue").datetimepicker({ lang: $lng, dayOfWeekStart: 1, timepicker: false, format: "d.m.Y", }); // save form $formCertificate.on("submit", function(e) { e.preventDefault(); let $saveERROR = 0; $(".TrainingButtonSave").prop("disabled", true).closest(".form-group").find("var.ra-alert").remove(); // TRIM all fields $.each($formCertificate.find(".form-control, .form-check-input"), function() { $(this).val( $.trim( $(this).val() ) ); $(this).removeClass("form-invalid").closest(".form-group").find("var.ra-alert").remove(); }); // ALL REQUIRED FIELDS $.each($formCertificate.find(".form-required"), function() { if( $(this).val().trim() == '' || ($(this).is(':checkbox') && !$(this).is(':checked')) ) { $(this).addClass("form-invalid").closest(".form-group").append('' + LNG_FIELD_MANDATORY + ''); $saveERROR += 1; } }); if($saveERROR > 0) { $(".TrainingButtonSave").prop("disabled", false).closest(".form-group").append('Formulář obsahuje chyby. Ověřte znovu správnost vyplnění.'); return; } // submit HTMLFormElement.prototype.submit.call(this); }); // after save if( $("#TrainingSubmited").val() == 1 ) { if( $("#TrainingSuccessSave").val() == 1 ) { $("#TrainingEventForm").find(".alert-success").css({ "display" : "inline-block" }); setTimeout(function() { $("#TrainingEventForm").find(".alert-success").css({ "display" : "none" }); }, 4000); } else { $("#TrainingEventForm").find(".alert-danger").css({ "display" : "inline-block" }); setTimeout(function() { $("#TrainingEventForm").find(".alert-success").css({ "display" : "none" }); $("#TrainingEventForm").find(".alert-danger").css({ "display" : "none" }); }, 6000); } } // SET ATTENDANCE ORDER $("#SetAttendanceOrder").on("click dblclick", function() { sendPostData($FULLREQUESTURI, { actio: 'SetAttendanceOrder' }); return false; }); } // FORM Attendance IMPORT // ************************************************************************************ if( $("#TrainingAttendanceImportForm").length ) { const $formImport = $("#TrainingAttendanceImportForm"); const $prefixImportFrom = "Import_"; // ALL REQUIRED FIELDS $formImport.find(".form-required").on("blur change", function() { $(this).val( $.trim( $(this).val() ) ); $(this).removeClass("form-invalid").closest(".form-group").find("var.ra-alert").remove(); if( $(this).val() == '' ) $(this).addClass("form-invalid").closest(".form-group").append('' + LNG_FIELD_MANDATORY + ''); }); // save form $formImport.on("submit", function(e) { e.preventDefault(); let $saveERROR = 0; $(".TrainingAttendanceImportButtonSave").prop("disabled", true).closest(".form-group").find("var.ra-alert").remove(); // TRIM all fields $.each($formImport.find(".form-control, .form-check-input"), function() { $(this).val( $.trim( $(this).val() ) ); $(this).removeClass("form-invalid").closest(".form-group").find("var.ra-alert").remove(); }); // ALL REQUIRED FIELDS $.each($formImport.find(".form-required"), function() { if( $(this).val().trim() == '' || ($(this).is(':checkbox') && !$(this).is(':checked')) ) { $(this).addClass("form-invalid").closest(".form-group").append('' + LNG_FIELD_MANDATORY + ''); $saveERROR += 1; } }); if($saveERROR > 0) { $(".TrainingAttendanceImportButtonSave").prop("disabled", false).closest(".form-group").append('Formulář obsahuje chyby. Ověřte znovu správnost vyplnění.'); return; } // submit HTMLFormElement.prototype.submit.call(this); }); // after save if( $("#TrainingAttendanceImportSubmited").val() == 1 ) { if( $("#TrainingAttendanceImportSuccessSave").val() == 1 ) { $("#TrainingAttendanceImportForm").find(".alert-success").css({ "display" : "inline-block" }); setTimeout(function() { $("#TrainingAttendanceImportForm").find(".alert-success").css({ "display" : "none" }); }, 4000); } else { $("#TrainingAttendanceImportForm").find(".alert-danger").css({ "display" : "inline-block" }); setTimeout(function() { $("#TrainingAttendanceImportForm").find(".alert-success").css({ "display" : "none" }); $("#TrainingAttendanceImportForm").find(".alert-danger").css({ "display" : "none" }); }, 6000); } } } // TOGGLE COLUMNS into table (not in use) // ************************************************************************************ $(function() { /* // jQuery: toggle hidden columns on click/dblclick $(function() { const $btn = $(".SwitchAttendanceTable"); const $table = $(".tableAttendance"); $(document).on("click dblclick", ".SwitchAttendanceTable", function(e) { e.preventDefault(); const $show = $(this).data("show") === "full" ? "short" : "full"; $(this).data("show", $show); if($show === "short") { $table.find(".display-cell-no").addClass("d-none"); $(this).text("Zobrazit úplné údaje"); } else { $table.find(".display-cell-no").removeClass("d-none"); $(this).text("Zobrazit zkrácené údaje (jen pro prezenční listinu a certifikát)"); } }); }); */ const $btn = $(".SwitchAttendanceTable"); const $table = $(".tableAttendance"); // Collect column indexes from
.display-cell-no const $hideIndexes = []; $table.find("thead th").each(function($i) { if($(this).hasClass("display-cell-no")) { $hideIndexes.push($i); } }); $(document).on("click dblclick", ".SwitchAttendanceTable", function($e) { $e.preventDefault(); const $new = $(this).data("show") === "full" ? "short" : "full"; $(this).data("show", $new).attr("data-show", $new); $table.find("tr").each(function() { $(this).children().each(function($i) { if($hideIndexes.includes($i)) { $new === "short" ? $(this).addClass("d-none") : $(this).removeClass("d-none"); } }); }); $(this).text($new === "short" ? "Zobrazit úplné údaje" : "Zobrazit zkrácené údaje (jen pro prezenční listinu a certifikát)"); }); }); // CREATE TRAINING LIST // ************************************************************************************ $( "#CreateTrainingList" ).on( "click dblclick", function() { const $eventId = $( this ).data( "event-id" ); const $template = $( this ).data( "template" ); const $more = $( this ).data( "more" ); // Disable button during processing $( "#CreateTrainingList" ).prop( "disabled", true ); const $url = PROJECTPATH + "templates/" + $template + "_create.php"; const $dataString = { eventId: $eventId, more: $more, }; if($userAccessLevel >= 100) $("#showAjax").append( "
L:" + (new Error).lineNumber + "#url+dataString=<"+"a href=\"" + $url + '?' + decodeURIComponent($.param($dataString)) + "\" target=\"_blank\" style=\"color:red;\">" + $url + '?' + decodeURIComponent($.param($dataString)) + "<"+"/a>
\n" ); // TEST $.ajax({ url: $url, data: $dataString, method: "GET", dataType: "json", success: function($res) { // Show download button only on success if($res && $res.success === true) { $( "#DownloadTrainingList" ).removeClass( "d-none" ); } else { alert( "Nepodařilo se vygenerovat PDF." ); } }, error: function() { alert( "Chyba při generování PDF." ); }, complete: function() { $( "#CreateTrainingList" ).prop( "disabled", false ); }, }); }); // DOWNLOAD TRAINING LIST // ************************************************************************************ $( "#DownloadTrainingList" ).on( "click dblclick", function() { const $eventId = $(this).data( "event-id" ); const $template = $( this ).data( "template" ); const $url = PROJECTPATH + "templates/" + $template + "_download.php?eventId=" + $eventId; // Open download in new tab window.open( $url, "_blank" ); }); // CREATE CERTIFICATE // ************************************************************************************ $( "#CreateTrainingCertificate" ).on( "click dblclick", function() { const $eventId = $( this ).data( "event-id" ); const $template = $( this ).data( "template" ); const $more = $( this ).data( "more" ); // Disable button during processing $( this ).prop( "disabled", true ); // template 202509_atta_certificate | 202601_ctr_certificate ; const $url = PROJECTPATH + "templates/" + $template + "_create.php"; const $dataString = { eventId: $eventId, more: $more, }; if($userAccessLevel >= 100) $("#showAjax").append( "
L:" + (new Error).lineNumber + "#url+dataString=<"+"a href=\"" + $url + '?' + decodeURIComponent($.param($dataString)) + "\" target=\"_blank\" style=\"color:red;\">" + $url + '?' + decodeURIComponent($.param($dataString)) + "<"+"/a>
\n" ); // TEST $.ajax({ url: $url, data: $dataString, method: "GET", dataType: "json", success: function($res) { // Show download button only on success if($res && $res.success === true) { $( "#DownloadTrainingCertificate" ).removeClass( "d-none" ); } else { alert( "Nepodařilo se vygenerovat PDF." ); } }, error: function() { alert( "Chyba při generování PDF." ); }, complete: function() { $( "#CreateTrainingCertificate" ).prop( "disabled", false ); }, }); }); // DOWNLOAD CERTIFICATE // ************************************************************************************ $( "#DownloadTrainingCertificate" ).on( "click dblclick", function() { const $eventId = $(this).data( "event-id" ); const $template = $( this ).data( "template" ); const $url = PROJECTPATH + "templates/" + $template + "_download.php?eventId=" + $eventId; // Open download in new tab window.open( $url, "_blank" ); });