{"id":8356,"date":"2024-03-31T23:37:35","date_gmt":"2024-03-31T21:37:35","guid":{"rendered":"https:\/\/carico-coaching.de\/wordspainterportrait\/"},"modified":"2024-04-20T22:59:44","modified_gmt":"2024-04-20T20:59:44","slug":"wordspainterportrait","status":"publish","type":"page","link":"https:\/\/carico-coaching.de\/en\/wordspainterportrait\/","title":{"rendered":"WordsPainterPortrait"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.24.2&#8243; _module_preset=&#8221;default&#8221; min_height=&#8221;90vh&#8221; da_disable_devices=&#8221;off|off|off&#8221; global_colors_info=&#8221;{}&#8221; da_is_popup=&#8221;off&#8221; da_exit_intent=&#8221;off&#8221; da_has_close=&#8221;on&#8221; da_alt_close=&#8221;off&#8221; da_dark_close=&#8221;off&#8221; da_not_modal=&#8221;on&#8221; da_is_singular=&#8221;off&#8221; da_with_loader=&#8221;off&#8221; da_has_shadow=&#8221;on&#8221;][et_pb_row _builder_version=&#8221;4.24.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.24.2&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][de_fb_form form_id=&#8221;wortemaler&#8221; submit_button_text=&#8221;Write me an encouraging postcard&#8221; message_position=&#8221;after_button&#8221; success_message=&#8221;%%message%% %%vorname%% %%staerken%% %%postkarte%%&#8221; use_custom_email=&#8221;off&#8221; custom_contact_email=&#8221;starten@webtischler.de&#8221; from_email=&#8221;custom&#8221; custom_from_email=&#8221;info@carico-cooaching.de&#8221; email_title=&#8221;WorteMalerPortr\u00e4t&#8221; save_to_database=&#8221;on&#8221; multistep_enabled=&#8221;on&#8221; form_ai_enabled=&#8221;on&#8221; form_ai_save_to_db=&#8221;on&#8221; form_ai_debug=&#8221;off&#8221; _builder_version=&#8221;4.24.3&#8243; _module_preset=&#8221;default&#8221; _unique_id=&#8221;436bf528-dbe6-44e2-a77c-2cfb460515db&#8221; custom_button=&#8221;on&#8221; button_text_color=&#8221;#004091&#8243; custom_next_step_button=&#8221;on&#8221; next_step_button_text_color=&#8221;#004091&#8243; hover_enabled=&#8221;0&#8243; global_colors_info=&#8221;{}&#8221; sticky_enabled=&#8221;0&#8243;]<div class=\"et_pb_module de_fb_form_field de_fb_form_field_0 clearfix  grid_et_pb_column_4_4_12 et_pb_column_4_4 et_pb_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t\t<div id=\"de_fb_vorname_fk_0_wrapper\" class=\"field_wrapper search_filter_cont \" data-count=\"100\" >\r\n\t\t\t\t\t\t\t\t<p class=\"et_pb_contact_field\" data-type=\"input\">\r\n\t\t\t<input type=\"hidden\" name=\"field_title[]\" value=\"Vorname\"\/><input type=\"hidden\" name=\"field_name[]\" value=\"de_fb_vorname\"\/><input type=\"hidden\" name=\"field_id[]\" value=\"de_fb_vorname\"\/>\t\t\t\t\t\t\t<input type=\"text\" name=\"de_fb_vorname\" id=\"de_fb_vorname_fk_0\" data-calc_default=\"0\" placeholder=\"First Name*\"   class=\"divi-form-builder-field input-field \" required value=\"\"  data-msg-required=\"This field is required.\" data-required_position=\"bottom\" autocomplete=\"off\" \/>\r\n\t\t\t\t\t\t\t\t\t<\/p>\r\n\r\n\t\t\t\t\t<\/div>\r\n\n\t\t\t\t<\/div>\n\t\t\t<\/div><div class=\"et_pb_module de_fb_form_field de_fb_form_field_1 clearfix  grid_et_pb_column_4_4_12 et_pb_column_4_4 et_pb_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t\t<div id=\"de_fb_erlebnis_fk_1_wrapper\" class=\"field_wrapper search_filter_cont \" data-count=\"100\" >\r\n\t\t\t\t\t\t\t\t<p class=\"et_pb_contact_field\" data-type=\"text\">\r\n\t\t\t<input type=\"hidden\" name=\"field_title[]\" value=\"Erlebnis\"\/><input type=\"hidden\" name=\"field_name[]\" value=\"de_fb_erlebnis\"\/><input type=\"hidden\" name=\"field_id[]\" value=\"de_fb_erlebnis\"\/>\t\t\t\t\t\t\t<textarea name=\"de_fb_erlebnis\" id=\"de_fb_erlebnis_fk_1\" class=\"divi-form-builder-field textarea-field\" required placeholder=\"Experience*\" rows=\"8\"   data-msg-required=\"This field is required.\" data-required_position=\"bottom\" autocomplete=\"off\"><\/textarea>\r\n\t\t\t\t\t\t\t\t\t\t<\/p>\r\n\r\n\t\t\t\t\t<\/div>\r\n\n\t\t\t\t<\/div>\n\t\t\t<\/div><div class=\"et_pb_module de_fb_form_field de_fb_form_field_2 clearfix  grid_et_pb_column_4_4_12 et_pb_column_4_4 et_pb_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t\t<div id=\"de_fb_postkarte_fk_2_wrapper\" class=\"field_wrapper search_filter_cont \" data-count=\"100\" >\r\n\t\t\t\t\t\t\t<div class=\"de_fb_trigger-container\">\r\n\t\t\t\t\t\t<a class=\"de_fb_trigger et_pb_button\" type=\"\">Generate<\/a>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<textarea name=\"de_fb_postkarte\" id=\"de_fb_postkarte_fk_2\" class=\"divi-form-builder-field textarea-field hidethis\" ><\/textarea>\r\n\t\t\t<div data-ainame=\"de_fb_postkarte\" class=\"dfb_ai_output hidethis\"><\/div>\r\n\t\t\t\r\n\t\t\t\r\n\r\n\t\t\t<div class=\"ai_loading load-3 hidethis\">\r\n\t\t\t\t\t\t\t\t<div class=\"ai-loading-cont\">\r\n\t\t\t\t\t<div class=\"divi-style\">\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"lines\">\r\n\t\t\t\t\t\t<div class=\"line\"><\/div>\r\n\t\t\t\t\t\t<div class=\"line\"><\/div>\r\n\t\t\t\t\t\t<div class=\"line\"><\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"spinner donut-cont\">\r\n\t\t\t\t\t\t<div class=\"donut\"><\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"spinner donutmulti-cont\">\r\n\t\t\t\t\t\t<div class=\"donut multi\"><\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t\t<div class=\"spinner ripple-cont\">\r\n\t\t\t\t\t\t<div class=\"ripple\"><\/div>\r\n\t\t\t\t\t<\/div>\r\n\t\t\t\t<\/div>\r\n\t\t\t\t\t\t\t<\/div>\r\n\t\t\t\r\n<input id=\"dfb_ai_form\" type=\"hidden\" name=\"dfb_ai_form\" value=\"\" data-ai-settings=\"{&quot;ai_name&quot;:&quot;de_fb_postkarte&quot;,&quot;form_ai_prompt&quot;:&quot;Schreibe eine ermutigende Postkarte, die die St&auml;rken von %%vorname%% hervorhebt.  Beginne die Postkarte an Liebe\\\/r %%vorname%%, Schreibe dann den Postkartentext. Identifiziere daf&uuml;r drei St&auml;rken aus %%erlebnis%% und formuliere daraus eine mutmachende Postkarte. Der Postkartentext ist direkt, freundlich und ermutigend, um positive Verst&auml;rkung und moralische Unterst&uuml;tzung zu bieten. Das Ziel ist es, das Selbstwertgef&uuml;hl der Nutzer zu st&auml;rken. Danach gibt es eine &Uuml;berschrift: Deine drei St&auml;rken und es werden die drei St&auml;rken nochmal konkret benannt und mit einem kurzen Satz erl&auml;utert.  Der Postkartentext hat eine L&auml;nge von mindestens 550 Zeichen und maximal 650 Zeichen, wobei die drei erg&auml;nzenden S&auml;tze, die jeweils eine St&auml;rke des Nutzers erl&auml;utern, zus&auml;tzlich zu dieser Zeichenzahl kommen. Es soll nur der Postkartentext erstellt werden, ohne Einleitung oder Erkl&auml;rung. Es soll kein Bild erstellt werden. Am Ende jeder Karte wird mit &#039;Dein Team von Carico-Coaching&#039; unterschrieben.   &quot;,&quot;form_ai_api_call_trigger&quot;:&quot;button&quot;,&quot;form_ai_bad_prompt&quot;:&quot;Bitte stelle eine neue Anfrage.&quot;,&quot;form_ai_persona&quot;:&quot;custom&quot;,&quot;form_ai_custom_persona&quot;:&quot;Die Person, die die Karte schreibt, ist ein einf\\u00fchlsamer und inspirierender Coach, der sich darauf spezialisiert hat, Menschen dabei zu unterst\\u00fctzen, ihre St\\u00e4rken zu entdecken und ihr Selbstwertgef\\u00fchl zu st\\u00e4rken. Als Coach verf\\u00fcgt er \\u00fcber eine nat\\u00fcrliche F\\u00e4higkeit, mit Worten Bilder zu malen und Emotionen zu wecken. Er ist einf\\u00fchlsam und versteht die Bedeutung der positiven Verst\\u00e4rkung und moralischen Unterst\\u00fctzung, um die Menschen auf ihrem Weg zur Selbstentdeckung zu begleiten. Seine Postkarten sind direkt, freundlich und ermutigend, und er verwendet seine F\\u00e4higkeiten, um die einzigartigen St\\u00e4rken jedes Einzelnen hervorzuheben und zu w\\u00fcrdigen. Er ist darauf bedacht, eine unterst\\u00fctzende und motivierende Atmosph\\u00e4re zu schaffen, um den Menschen zu helfen, ihr volles Potenzial zu entfalten und ein erf\\u00fclltes Leben zu f\\u00fchren.&quot;,&quot;form_ai_max_response_word&quot;:&quot;135&quot;,&quot;form_ai_temperature&quot;:&quot;0.1&quot;,&quot;form_ai_output_to_field&quot;:&quot;on&quot;,&quot;form_ai_output_field&quot;:&quot;de_fb_staerken&quot;,&quot;form_ai_output_to_field_type&quot;:&quot;text&quot;}\" data-ai-fields-array=\"[&quot;vorname&quot;,&quot;vorname&quot;,&quot;erlebnis&quot;]\">\r\n<input type=\"hidden\" value=\"Schreibe eine ermutigende Postkarte, die die St&auml;rken von %%vorname%% hervorhebt.  Beginne die Postkarte an Liebe\/r %%vorname%%, Schreibe dann den Postkartentext. Identifiziere daf&uuml;r drei St&auml;rken aus %%erlebnis%% und formuliere daraus eine mutmachende Postkarte. Der Postkartentext ist direkt, freundlich und ermutigend, um positive Verst&auml;rkung und moralische Unterst&uuml;tzung zu bieten. Das Ziel ist es, das Selbstwertgef&uuml;hl der Nutzer zu st&auml;rken. Danach gibt es eine &Uuml;berschrift: Deine drei St&auml;rken und es werden die drei St&auml;rken nochmal konkret benannt und mit einem kurzen Satz erl&auml;utert.  Der Postkartentext hat eine L&auml;nge von mindestens 550 Zeichen und maximal 650 Zeichen, wobei die drei erg&auml;nzenden S&auml;tze, die jeweils eine St&auml;rke des Nutzers erl&auml;utern, zus&auml;tzlich zu dieser Zeichenzahl kommen. Es soll nur der Postkartentext erstellt werden, ohne Einleitung oder Erkl&auml;rung. Es soll kein Bild erstellt werden. Am Ende jeder Karte wird mit &#039;Dein Team von Carico-Coaching&#039; unterschrieben.   \" name=\"form_ai_prompt\">\r\n<input type=\"hidden\" value=\"button\" name=\"form_ai_api_call_trigger\">\r\n<input type=\"hidden\" value=\"Bitte stelle eine neue Anfrage.\" name=\"form_ai_bad_prompt\">\r\n<input type=\"hidden\" value=\"custom\" name=\"form_ai_persona\">\r\n<input type=\"hidden\" value=\"Die Person, die die Karte schreibt, ist ein einf\u00fchlsamer und inspirierender Coach, der sich darauf spezialisiert hat, Menschen dabei zu unterst\u00fctzen, ihre St\u00e4rken zu entdecken und ihr Selbstwertgef\u00fchl zu st\u00e4rken. Als Coach verf\u00fcgt er \u00fcber eine nat\u00fcrliche F\u00e4higkeit, mit Worten Bilder zu malen und Emotionen zu wecken. Er ist einf\u00fchlsam und versteht die Bedeutung der positiven Verst\u00e4rkung und moralischen Unterst\u00fctzung, um die Menschen auf ihrem Weg zur Selbstentdeckung zu begleiten. Seine Postkarten sind direkt, freundlich und ermutigend, und er verwendet seine F\u00e4higkeiten, um die einzigartigen St\u00e4rken jedes Einzelnen hervorzuheben und zu w\u00fcrdigen. Er ist darauf bedacht, eine unterst\u00fctzende und motivierende Atmosph\u00e4re zu schaffen, um den Menschen zu helfen, ihr volles Potenzial zu entfalten und ein erf\u00fclltes Leben zu f\u00fchren.\" name=\"form_ai_custom_persona\">\r\n<input type=\"hidden\" value=\"135\" name=\"form_ai_max_response_word\">\r\n<input type=\"hidden\" value=\"0.1\" name=\"form_ai_temperature\">\r\n\r\n\r\n<script>\r\njQuery(document).ready(function ($) {\r\n\tvar ai_ids = [\"vorname\",\"vorname\",\"erlebnis\"];\r\n\tvar ai_settings = {\"ai_name\":\"de_fb_postkarte\",\"form_ai_prompt\":\"Schreibe eine ermutigende Postkarte, die die St&auml;rken von %%vorname%% hervorhebt.  Beginne die Postkarte an Liebe\\\/r %%vorname%%, Schreibe dann den Postkartentext. Identifiziere daf&uuml;r drei St&auml;rken aus %%erlebnis%% und formuliere daraus eine mutmachende Postkarte. Der Postkartentext ist direkt, freundlich und ermutigend, um positive Verst&auml;rkung und moralische Unterst&uuml;tzung zu bieten. Das Ziel ist es, das Selbstwertgef&uuml;hl der Nutzer zu st&auml;rken. Danach gibt es eine &Uuml;berschrift: Deine drei St&auml;rken und es werden die drei St&auml;rken nochmal konkret benannt und mit einem kurzen Satz erl&auml;utert.  Der Postkartentext hat eine L&auml;nge von mindestens 550 Zeichen und maximal 650 Zeichen, wobei die drei erg&auml;nzenden S&auml;tze, die jeweils eine St&auml;rke des Nutzers erl&auml;utern, zus&auml;tzlich zu dieser Zeichenzahl kommen. Es soll nur der Postkartentext erstellt werden, ohne Einleitung oder Erkl&auml;rung. Es soll kein Bild erstellt werden. Am Ende jeder Karte wird mit &#039;Dein Team von Carico-Coaching&#039; unterschrieben.   \",\"form_ai_api_call_trigger\":\"button\",\"form_ai_bad_prompt\":\"Bitte stelle eine neue Anfrage.\",\"form_ai_persona\":\"custom\",\"form_ai_custom_persona\":\"Die Person, die die Karte schreibt, ist ein einf\\u00fchlsamer und inspirierender Coach, der sich darauf spezialisiert hat, Menschen dabei zu unterst\\u00fctzen, ihre St\\u00e4rken zu entdecken und ihr Selbstwertgef\\u00fchl zu st\\u00e4rken. Als Coach verf\\u00fcgt er \\u00fcber eine nat\\u00fcrliche F\\u00e4higkeit, mit Worten Bilder zu malen und Emotionen zu wecken. Er ist einf\\u00fchlsam und versteht die Bedeutung der positiven Verst\\u00e4rkung und moralischen Unterst\\u00fctzung, um die Menschen auf ihrem Weg zur Selbstentdeckung zu begleiten. Seine Postkarten sind direkt, freundlich und ermutigend, und er verwendet seine F\\u00e4higkeiten, um die einzigartigen St\\u00e4rken jedes Einzelnen hervorzuheben und zu w\\u00fcrdigen. Er ist darauf bedacht, eine unterst\\u00fctzende und motivierende Atmosph\\u00e4re zu schaffen, um den Menschen zu helfen, ihr volles Potenzial zu entfalten und ein erf\\u00fclltes Leben zu f\\u00fchren.\",\"form_ai_max_response_word\":\"135\",\"form_ai_temperature\":\"0.1\",\"form_ai_output_to_field\":\"on\",\"form_ai_output_field\":\"de_fb_staerken\",\"form_ai_output_to_field_type\":\"text\"};\r\n\tvar ai_fields = {};\r\n\tvar ai_field_titles = {};\r\n\tvar isSendingData = false;\r\n\tif (ai_settings['form_ai_output_to_field'] == 'on') { \r\n\t\t\tvar outputField = ai_settings['form_ai_output_field'];\r\n\t\t\tjQuery('#fb_form_2 [name=\"'+outputField+'\"]').closest('.et_pb_module').hide();\r\n\t}\r\n\t\/\/ for each of the ai_ids add the class ai_field\r\n\tai_ids.forEach(function (id) { \r\n\t\t$('#de_fb_' + id).addClass('ai_field');\r\n\t\tconst idPrefix = 'et_pb_contact_de_fb_';\r\n\r\n\t\t\/\/ Iterate over all input elements, finding those with the right ID pattern\r\n\t\t\/\/ This is used for the checkbox and radio field types\r\n\t\t$('input').each(function() {\r\n\t\t\tconst idPattern = new RegExp('^' + idPrefix + id + '_\\\\d+_\\\\d+$');\r\n\t\t\tif (idPattern.test(this.id)) {\r\n\t\t\t\t$(this).addClass('ai_field');\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\r\n\t\/\/ Create an array to store the values of the AI fields\r\n\tlet ai_field_values = {};\r\n\r\n\t\t\t$('.de_fb_trigger').click(function (e) {\r\n\t\t\te.preventDefault();\r\n\t\t\tfunction appendMessage(element, type) {\r\n\t\t\t\t\/\/ check to make sure there isn't already an error message\r\n\t\t\t\t\r\n\t\t\t\t\/\/ if there is an error message, skip the below\r\n\t\t\t\tif($('[id^='+element.id+']').closest('.field_wrapper').has('.error').length >0 ) {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\r\n\t\t\t\t\/\/ check if field is a checkbox or radio (treated the same)\r\n\t\t\t\tif(type != 'checkbox'){\r\n\t\t\t\t\t\/\/ field isn't a checkbox or radio\r\n\t\t\t\t\t\/\/ get the required message from the field\r\n\t\t\t\t\tvar required_message = $('#'+element.id).attr('data-msg-required');\r\n\t\t\t\t\t\/\/ get the required message position from the field\r\n                \tvar required_message_pos = $('#'+element.id).attr('data-required_position');\r\n\t\t\t\t} else {\r\n\t\t\t\t\t\/\/ field is checkbox or radio\r\n\t\t\t\t\t\/\/ get the required message from the field\r\n\t\t\t\t\tvar required_message = $('[name=\"'+element.name+'\"]').closest('.required').attr('data-required_message');\r\n\t\t\t\t\t\/\/ get the required message position from the field\r\n                \tvar required_message_pos = $('[id^='+element.name+']').closest('.required').attr('data-required_position');\r\n\t\t\t\t}\r\n\t\t\t\tif ( required_message_pos == 'top' ) {\r\n                \t$('[id^='+element.id+']').closest('.et_pb_contact_field').before('<p class=\"error\">' + required_message + '<\/p>');\r\n                } else {\r\n                    $('[id^='+element.id+']').closest('.et_pb_contact_field').after('<p class=\"error\">' + required_message + '<\/p>');\r\n                }\r\n\t\t\t}\r\n\t\t\tfunction removeMessage() {\r\n\t\r\n\t\t\t\t\t$('.ai_field').each(function() {\r\n\t\t\t\t\t\t$(this).closest('.field_wrapper').find('.error').remove();\r\n\t\t\t\t\t})\r\n\t\t\t\t\r\n\t\t\t}\r\n\t\t\tfunction prepareAIFields() {\r\n\t\t\t\tai_field_values = {};\r\n\t\t\t\t\/\/ Get all the AI fields \r\n\t\t\t\tlet ai_fields = document.querySelectorAll('.ai_field');\r\n\t\t\t\t\/\/ Loop through each AI field\r\n\t\t\t\tai_fields.forEach((field) => {\r\n\t\t\t\t\t\/\/ Get the field type\r\n\t\t\t\t\tlet fieldType = field.type;\r\n\r\n\t\t\t\t\t\/\/ Get the field value based on the field type\r\n\t\t\t\t\tlet fieldValue;\r\n\t\t\t\t\tswitch (fieldType) {\r\n\t\t\t\t\t\tcase 'text':\r\n\t\t\t\t\t\tcase 'textarea':\r\n\t\t\t\t\t\tcase 'number':\r\n\t\t\t\t\t\t\tfieldValue = field.value;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'checkbox':\r\n\t\t\t\t\t\tcase 'radio':\r\n\t\t\t\t\t\t\tif (field.checked) {\r\n\t\t\t\t\t\t\t\tfieldValue = field.value;\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'select-one':\r\n\t\t\t\t\t\t\tfieldValue = field.options[field.selectedIndex].value;\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t\tcase 'select-multiple':\r\n\t\t\t\t\t\t\tfieldValue = [];\r\n\t\t\t\t\t\t\tfor (let i = 0; i < field.options.length; i++) {\r\n\t\t\t\t\t\t\t\tif (field.options[i].selected) {\r\n\t\t\t\t\t\t\t\t\tfieldValue.push(field.options[i].value);\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tbreak;\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\/\/ Store the field value in the array\r\n\t\t\t\t\tai_field_values[field.name] = fieldValue;\r\n\t\t\t\t\tai_field_titles[field.name] = jQuery(field).closest('.de_fb_form_field').find('input[name=\"field_title[]\"]').val();\r\n\t\t\t\t});\r\n\r\n\t\t\t\t\/\/ Check if all non-checkbox and non-radio fields have a value\r\n\t\t\t\tlet nonCheckboxRadioFieldsComplete = Object.values(ai_fields)\r\n\t\t\t\t.filter(field => field.type !== 'checkbox' && field.type !== 'radio')\r\n\t\t\t\t.every(field => {\r\n\t\t\t\t\tif (typeof ai_field_values[field.id] === 'undefined' || ai_field_values[field.id] === '') {\r\n\t\t\t\t\t\tappendMessage(field, field.type);\r\n\t\t\t\t\t}\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t});\r\n\r\n\t\t\t\t\/\/ Check if at least one checkbox or radio button is checked\/selected (if any)\r\n\t\t\t\tlet checkboxesAndRadioButtons = Object.values(ai_fields).filter(field => field.type === 'checkbox' || field.type === 'radio');\r\n\t\t\t\tlet checkedCheckboxesAndRadioButtons = checkboxesAndRadioButtons.filter(input => input.checked);\r\n\r\n\t\t\t\tlet checkboxesRadioButtonsChecked = checkboxesAndRadioButtons.length === 0 || checkedCheckboxesAndRadioButtons.length > 0;\r\n\t\t\t\tif (!checkboxesRadioButtonsChecked) {\r\n\t\t\t\t\tappendMessage(checkboxesAndRadioButtons[0], 'checkbox');\r\n\t\t\t\t}\r\n\r\n\r\n\t\t\t\tif (nonCheckboxRadioFieldsComplete && checkboxesRadioButtonsChecked) {\r\n\t\t\t\t\t\/\/ Call the generate_AI function with the updated ai_field_values object\r\n\t\t\t\t\tremoveMessage();\r\n\t\t\t\t\t$('.de_fb_trigger').hide();\r\n\t\t\t\t\tsend_ai_data(ai_ids, ai_settings, ai_field_values, ai_field_titles);\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tprepareAIFields();\r\n\t\/\/ Function to monitor the AI fields for changes\r\n\tfunction monitorAIFields() {\r\n\t\t\/\/ Get all the AI fields\r\n\t\tai_field_values = {};\r\n\t\tlet ai_fields = document.querySelectorAll('.ai_field');\r\n\t\t\/\/console.log(ai_fields);\r\n\r\n\t\t\/\/ Loop through each AI field\r\n\t\tai_fields.forEach((field) => {\r\n\t\t\/\/console.log(field);\r\n\t\t\/\/ Attach an event listener for changes\r\n\t\tfield.addEventListener('keyup', (e) => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\tcheckAIFields(field, e);\r\n\t\t\t}, 500); \/\/ 2000 milliseconds (2 seconds) delay\r\n\t\t\t\r\n\r\n\t\t});\r\n\t\t\/\/ Attach an event listener for changes\r\n\t\tfield.addEventListener('change', (e) => {\r\n\r\n\t\t\tcheckAIFields(field, e);\r\n\r\n\t\t});\r\n\t\t});\r\n\t}\r\n\tfunction checkAIFields(field, e) {\r\n\t\tai_field_values = {};\r\n\t\t\/\/ Get the field type\r\n\t\tlet fieldType = e.target.type;\r\n\t\tlet fieldValue;\r\n\t\t\tswitch (fieldType) {\r\n\t\t\t\tcase 'text':\r\n\t\t\t\tcase 'textarea':\r\n\t\t\t\tcase 'number':\r\n\t\t\t\t\tfieldValue = e.target.value;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'select':\r\n\t\t\t\t\tfieldValue = e.target.options[e.target.selectedIndex].value;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 'checkbox':\r\n\t\t\t\tcase 'radio':\r\n\t\t\t\t\tfieldValue = e.target.checked ? e.target.value : '';\r\n\t\t\t\t\tconsole.log(fieldValue);\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tdefault:\r\n\t\t\t\t\tfieldValue = e.target.value;\r\n\t\t\t}\r\n\r\n\t\t\t\/\/ Update the ai_field_values object with the new value\r\n\t\t\tlet fieldId = e.target.id;\r\n\t\t\tconsole.log(fieldId +' : '+ fieldValue);\r\n\t\t\tai_field_values[fieldId] = fieldValue;\r\n\t\t\tconsole.log('AI Field Values: '+ai_field_values);\r\n\t\t\tai_field_titles[fieldId] = jQuery(e.target).closest('.de_fb_form_field').find('input[name=\"field_title[]\"]').val();\r\n\r\n\t\t\t\/\/ Check if all non-checkbox and non-radio fields have a value\r\n\t\t\tlet nonCheckboxRadioFieldsComplete = Object.values(ai_fields)\r\n\t\t\t.filter(field => field.type !== 'checkbox' && field.type !== 'radio')\r\n\t\t\t.every(field => typeof ai_field_values[field.id] !== 'undefined' && ai_field_values[field.id] !== '');\r\n\r\n\t\t\t\/\/ Check if at least one checkbox or radio button is checked\/selected (if any)\r\n\t\t\tlet checkboxesAndRadioButtons = Object.values(ai_fields).filter(field => field.type === 'checkbox' || field.type === 'radio');\r\n\t\t\tlet checkedCheckboxesAndRadioButtons = checkboxesAndRadioButtons.filter(input => input.checked);\r\n\t\t\tlet checkboxesRadioButtonsChecked = checkboxesAndRadioButtons.length === 0 || checkedCheckboxesAndRadioButtons.length > 0;\r\n\r\n\t\t\tif (nonCheckboxRadioFieldsComplete && checkboxesRadioButtonsChecked) {\r\n\t\t\t\t\/\/ Call the generate_AI function with the updated ai_field_values object\r\n\t\t\t\t$('.de_fb_trigger').show();\r\n\t\t\t}\r\n\r\n\t}\r\n\/\/ Call the monitorAIFields function to start monitoring the fields\r\nmonitorAIFields();\r\n\t\t});\r\n\t\r\n});\r\n\r\n<\/script>\r\n\t\t<\/div>\r\n\n\t\t\t\t<\/div>\n\t\t\t<\/div><div class=\"et_pb_module de_fb_form_field de_fb_form_field_3 clearfix  empty_module\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\n\t\t\t\t<\/div>\n\t\t\t<\/div><div class=\"et_pb_module de_fb_form_field de_fb_form_field_4 clearfix  grid_et_pb_column_4_4_12 et_pb_column_4_4 et_pb_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t\t<div id=\"de_fb_email_fk_4_wrapper\" class=\"field_wrapper search_filter_cont \" data-count=\"100\" >\r\n\t\t\t\t\t\t\t\t<p class=\"et_pb_contact_field\" data-type=\"input\">\r\n\t\t\t<input type=\"hidden\" name=\"field_title[]\" value=\"Email\"\/><input type=\"hidden\" name=\"field_name[]\" value=\"de_fb_email\"\/><input type=\"hidden\" name=\"field_id[]\" value=\"de_fb_email\"\/>\t\t\t\t\t\t\t<input type=\"text\" name=\"de_fb_email\" id=\"de_fb_email_fk_4\" data-calc_default=\"0\" placeholder=\"Email\"   class=\"divi-form-builder-field input-field \"  value=\"\"  autocomplete=\"on\" \/>\r\n\t\t\t\t\t\t\t\t\t<\/p>\r\n\r\n\t\t\t\t\t<\/div>\r\n\n\t\t\t\t<\/div>\n\t\t\t<\/div><div class=\"et_pb_module de_fb_form_field de_fb_form_field_5 clearfix  grid_et_pb_column_4_4_12 et_pb_column_4_4 et_pb_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t\t<div id=\"de_fb_staerken_fk_5_wrapper\" class=\"field_wrapper search_filter_cont \" data-count=\"100\" >\r\n\t\t\t\t\t\t\t\t<p class=\"et_pb_contact_field\" data-type=\"text\">\r\n\t\t\t<input type=\"hidden\" name=\"field_title[]\" value=\"\"\/><input type=\"hidden\" name=\"field_name[]\" value=\"de_fb_staerken\"\/><input type=\"hidden\" name=\"field_id[]\" value=\"de_fb_staerken\"\/>\t\t\t\t\t\t\t<textarea name=\"de_fb_staerken\" id=\"de_fb_staerken_fk_5\" class=\"divi-form-builder-field textarea-field\"  placeholder=\"\" rows=\"8\"   autocomplete=\"on\"><\/textarea>\r\n\t\t\t\t\t\t\t\t\t\t<\/p>\r\n\r\n\t\t\t\t\t<\/div>\r\n\n\t\t\t\t<\/div>\n\t\t\t<\/div>[\/de_fb_form][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p><div class=\"et_pb_module de_fb_form de_fb_form_0 clearfix  align-module_left\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t<form method=\"POST\" enctype=\"multipart\/form-data\" action=\"\" id=\"fb_form_null-0\" class=\"et_pb_contact fb_form multistep animation_fadeIn button_align_justified hide_until_loaded hide_until_loaded button_align_justified \"  data-ajax-btn=\"Processing\" data-ajax-hide-sub=\"off\" data-reset-form-on-submit=\"false\" data-scrollto-form-after-submit=\"off\" data-scrollto-form-offset=\"0\" data-form-key=\"null-0\" data-form-id=\"wortemaler\" data-form-type=\"contact\" data-auto-login=\"off\" data-unique-id=\"436bf528-dbe6-44e2-a77c-2cfb460515db\" data-page-id=\"\" style=\"display: none;\"><div class=\"divi-form-wrapper\"><div class=\"df_form_step df_step_1 active et_flex_row\" style=\"flex-wrap:wrap;\"><\/div><\/div><input type=\"hidden\" value=\"null-0\" name=\"form_key\"><input type=\"hidden\" value=\"436bf528-dbe6-44e2-a77c-2cfb460515db\" name=\"unique_id\"><input type=\"hidden\" value=\"off\" name=\"enable_payment\"><input type=\"hidden\" value=\"\" name=\"dfb_page_id\"><input type=\"hidden\" name=\"fb_nonce\" class=\"fb_nonce\" value=\"a2397ede3a\"><div class=\"et_contact_bottom_container\"><div class=\"submit-container\"><input type=\"text\" name=\"form_type_confirm\" style=\"display:none!important;\" tabindex=\"-1\" autocomplete=\"off\"><div class=\"de_fb_submit_container\"><div class=\"divi-form-submit-container\"><button class=\"divi-form-submit et_pb_button\" type=\"submit\" aria-label=\"Write me an encouraging postcard\">Write me an encouraging postcard<\/button><\/div><input type=\"hidden\" name=\"form_type\" value=\"contact\"><input type=\"hidden\" name=\"divi-form-submit\" value=\"yes\"><input type=\"hidden\" name=\"form_id\" value=\"wortemaler\"><input type=\"hidden\" name=\"form_display_type\" value=\"\"><\/div><\/div><\/div><\/form><script>\n(typeof jQuery !== 'undefined' ? function(cb){ jQuery(document).ready(function(){ cb(jQuery); }); } : function(){ \/* jQuery missing: skip jQuery-dependent init *\/ })(function($){\n    var $form = $('#fb_form_null-0');\n    if ($form.find('form').hasClass('multistep')) {\n        \/\/ Function to set form height based on active step\n        \/\/ This matches the setFormHeight function from multistep.js\n        function setFormHeightForForm() {\n            var $activeStep = $form.find('.df_form_step.active');\n            if ($activeStep.length > 0) {\n                $form.find('.divi-form-wrapper').css('height', $activeStep.outerHeight() + 'px');\n            }\n        }\n        \n        \/\/ Set height on load (with delay to ensure DOM is ready)\n        setTimeout(function() {\n            setFormHeightForForm();\n        }, 100);\n        \n        \/\/ Set height on window resize\n        jQuery(window).on('resize', function() {\n            setFormHeightForForm();\n        });\n        \n        \/\/ Set height when step changes (listen to custom event)\n        jQuery(document).on('dfbStepChanged', function() {\n            setTimeout(function() {\n                setFormHeightForForm();\n            }, 10);\n        });\n        \n        \/\/ Set height on textarea resize\n        $form.find('textarea').on('mousedown', function() {\n            var resizeInt = setInterval(function() {\n                setFormHeightForForm();\n            }, 1000\/15);\n            \n            var mouseUpHandler = function() {\n                clearInterval(resizeInt);\n                setFormHeightForForm();\n                jQuery(window).off('mouseup', mouseUpHandler);\n            };\n            \n            jQuery(window).on('mouseup', mouseUpHandler);\n        });\n        \n        \/\/ Also call global setFormHeight if it exists (from multistep.js)\n        if (typeof setFormHeight === 'function') {\n            setTimeout(function() {\n                setFormHeight();\n            }, 100);\n        }\n    }\n});\n<\/script>\n            <script>\njQuery(document).ready(function($) {\n    \/\/ Wait for jQuery validation plugin to be loaded\n    if (typeof $.validator === 'undefined') {\n        console.error('jQuery Validation plugin not loaded');\n        return;\n    }\n    \n    let old_url = jQuery.validator.methods.url;\n    \n    jQuery.validator.addMethod('url', function(value, element) {\n        if (old_url.call(this, value, element)) {\n            return true;\n        }\n        \n        if (value && !value.startsWith('http:\/\/') && !value.startsWith('https:\/\/')) {\n            return old_url.call(this, 'http:\/\/' + value, element);\n        }\n        \n        return false;\n    }, \"Please enter a valid URL.\");\n\n    (function($){\n    var trim = function(s){ return (s || '').trim(); };\n    $.validator.methods.email = function (value, element) {\n        if (this.optional(element)) return true;\n        var v = trim(value);\n        return \/^[^\\s@]+@([^\\s@]+\\.)+[^\\s@]{2,}$\/.test(v);\n    };\n    })(jQuery);\n\n    $.validator.setDefaults({\n        highlight: function(element) {\n            $(element).addClass('input-error');\n            $(element).closest('.et_pb_contact_field').addClass('input-field-error');\n        },\n        unhighlight: function(element) {\n            $(element).removeClass('input-error');\n            $(element).removeAttr('aria-describedby');\n            $(element).closest('.et_pb_contact_field').removeClass('input-field-error');\n            $(element).closest('.et_pb_contact_field').find('label.error').remove();\n        }\n    });\n\n    $('#fb_form_null-0').validate({\n        normalizer: function(value) {\n            return String(value ?? '').trim();\n        },\n        errorPlacement: function(error, element) {\n            var inputType = String(element.attr('type') || '').toLowerCase();\n            if (inputType === 'checkbox' || inputType === 'radio') {\n                \/\/ Checkbox\/radio required messaging is rendered by the wrapper-based custom flow.\n                \/\/ Skip jQuery Validate's inline label to avoid duplicate default messages.\n                return;\n            }\n            var fieldId = element.attr('id');\n            var errorId = fieldId ? fieldId + '_error' : null;\n            if (errorId) {\n                error.attr('id', errorId).attr('role', 'alert').attr('aria-live', 'polite');\n                element.attr('aria-describedby', errorId);\n            }\n            var message_position = element.attr('data-required_position');\n            if ( message_position == 'top' ) {\n                element.before(error);\n            } else {\n                element.after(error);\n            }\n        }\n    });\n\n    if ($('.de_fb_autocomplete').length > 0 && typeof init_autocomplete_fields == 'function') {\n        init_autocomplete_fields();\n    }\n});\n\nif ( window.history.replaceState ) {\n  window.history.replaceState( null, null, window.location.href );\n}\n\nif ( typeof form_grid_columns === 'function' ) {\n    form_grid_columns();\n}\n<\/script>\n        \n\t\t\t\t<\/div>\n\t\t\t<\/div><div class=\"et_pb_module de_fb_form_field de_fb_form_field_6 clearfix  empty_module\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t\t\t\t<\/div>\r\n\t\t\t    <\/div>\r\n\t\t\t\t\r\n\t\t        <div class=\"df_form_step df_step_1 active\"  data-next_text=\"Next\">\r\n\t\t\t    <div class=\"empty_module\">\r\n\t\t\t\t<div class=\"empty_module_inner\">\r\n\n\t\t\t\t<\/div>\n\t\t\t<\/div><div class=\"et_pb_module de_fb_form_field de_fb_form_field_7 clearfix  grid_et_pb_column_4_4_12 et_pb_column_4_4 et_pb_column\">\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t\n\t\t\t\t<div class=\"et_pb_module_inner\">\n\t\t\t\t\t\t\t<div id=\"de_fb_&#8221;vorname&#8221;_fk_1_wrapper\" class=\"field_wrapper search_filter_cont \" data-count=\"100\" >\r\n\t\t\t\t\t\t\t\t<p class=\"et_pb_contact_field\" data-type=\"input\">\r\n\t\t\t<input type=\"hidden\" name=\"field_title[]\" value=\"&#8221;Vorname&#8221;\"\/><input type=\"hidden\" name=\"field_name[]\" value=\"de_fb_&#8221;vorname&#8221;\"\/><input type=\"hidden\" name=\"field_id[]\" value=\"de_fb_&#8221;vorname&#8221;\"\/>\t\t\t\t\t\t\t<input type=\"text\" name=\"de_fb_&#8221;vorname&#8221;\" id=\"de_fb_&#8221;vorname&#8221;_fk_1\" data-calc_default=\"0\" placeholder=\"&#8221;First\"   class=\"divi-form-builder-field input-field \" required value=\"\"  autocomplete=\"&#8221;off&#8221;\" \/>\r\n\t\t\t\t\t\t\t\t\t<\/p>\r\n\r\n\t\t\t\t\t<\/div>\r\n\n\t\t\t\t<\/div>\n\t\t\t<\/div><\/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,"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-8356","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/carico-coaching.de\/en\/wp-json\/wp\/v2\/pages\/8356","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/carico-coaching.de\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/carico-coaching.de\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/carico-coaching.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/carico-coaching.de\/en\/wp-json\/wp\/v2\/comments?post=8356"}],"version-history":[{"count":0,"href":"https:\/\/carico-coaching.de\/en\/wp-json\/wp\/v2\/pages\/8356\/revisions"}],"wp:attachment":[{"href":"https:\/\/carico-coaching.de\/en\/wp-json\/wp\/v2\/media?parent=8356"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}