{"id":5504,"date":"2025-11-17T20:07:58","date_gmt":"2025-11-17T20:07:58","guid":{"rendered":"https:\/\/dashaandalbert.com\/?page_id=5504"},"modified":"2025-11-17T22:34:37","modified_gmt":"2025-11-17T22:34:37","slug":"rsvp","status":"publish","type":"page","link":"https:\/\/dashaandalbert.com\/ru\/rsvp\/","title":{"rendered":"RSVP"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5504\" class=\"elementor elementor-5504\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-11684da e-flex e-con-boxed e-con e-parent\" data-id=\"11684da\" 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-26cc113 elementor-widget elementor-widget-shortcode\" data-id=\"26cc113\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">        <div class=\"wedding-rsvp-form-wrapper\">\n            <form id=\"wedding-rsvp-form\" class=\"wedding-rsvp-form\">\n                <input type=\"hidden\" id=\"wedding_rsvp_nonce_field\" name=\"wedding_rsvp_nonce_field\" value=\"540b834089\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/ru\/wp-json\/wp\/v2\/pages\/5504\" \/>                                <input type=\"hidden\" name=\"lang\" value=\"ru\">\n                <h2 class=\"form-title\">RSVP<\/h2>\n                \n                <div class=\"form-group\">\n                    <input type=\"text\" id=\"full_name\" name=\"full_name\" placeholder=\"Name & Surname\" required>\n                <\/div>\n                \n                <div class=\"form-group\">\n                    <select id=\"attending\" name=\"attending\" required>\n                        <option value=\"\">Are you in?<\/option>\n                        <option value=\"yes\">Yes, wouldn't miss it<\/option>\n                        <option value=\"no\">Sadly, can't make it<\/option>\n                    <\/select>\n                <\/div>\n                \n                <div id=\"attending-details\" style=\"display:none;\">\n                    <div class=\"form-group\">\n                        <select id=\"guest_count\" name=\"guest_count\">\n                            <option value=\"1\">Just me<\/option>\n                            <option value=\"2\">Me + 1<\/option>\n                        <\/select>\n                    <\/div>\n                    \n                    <div id=\"plus-one-name\" class=\"form-group\" style=\"display:none;\">\n                        <input type=\"text\" id=\"plus_one_name\" name=\"plus_one_name\" placeholder=\"Name & Surname\">\n                    <\/div>\n                    \n                    <div class=\"form-group\">\n                        <label style=\"display:block;color:#8E9C6E;margin-bottom:10px;font-weight:500;\">Which day(s) will you join?<\/label>\n                        <div class=\"days-checkboxes\" style=\"display:flex;flex-wrap:wrap;gap:10px;\">\n                            <label class=\"day-checkbox\" style=\"display:flex;align-items:center;padding:12px 16px;border:2px solid #8E9C6E;border-radius:8px;cursor:pointer;transition:all 0.2s;\">\n                                <input type=\"checkbox\" name=\"arrival_days[]\" value=\"3-june\" style=\"margin-right:8px;accent-color:#8E9C6E;\"> 3 June\n                            <\/label>\n                            <label class=\"day-checkbox\" style=\"display:flex;align-items:center;padding:12px 16px;border:2px solid #8E9C6E;border-radius:8px;cursor:pointer;transition:all 0.2s;\">\n                                <input type=\"checkbox\" name=\"arrival_days[]\" value=\"4-june\" style=\"margin-right:8px;accent-color:#8E9C6E;\"> 4 June\n                            <\/label>\n                            <label class=\"day-checkbox\" style=\"display:flex;align-items:center;padding:12px 16px;border:2px solid #8E9C6E;border-radius:8px;cursor:pointer;transition:all 0.2s;\">\n                                <input type=\"checkbox\" name=\"arrival_days[]\" value=\"5-june\" style=\"margin-right:8px;accent-color:#8E9C6E;\"> 5 June\n                            <\/label>\n                            <label class=\"day-checkbox\" style=\"display:flex;align-items:center;padding:12px 16px;border:2px solid #8E9C6E;border-radius:8px;cursor:pointer;transition:all 0.2s;\">\n                                <input type=\"checkbox\" name=\"arrival_days[]\" value=\"6-june\" style=\"margin-right:8px;accent-color:#8E9C6E;\"> 6 June\n                            <\/label>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-section-title\">Travel Information<\/div>\n                    \n                    <div class=\"form-group\">\n                        <select id=\"travel_method\" name=\"travel_method\">\n                            <option value=\"\">How will you arrive?<\/option>\n                            <option value=\"airplane\">Airplane \u2708\ufe0f<\/option>\n                            <option value=\"car\">Car \ud83d\ude97<\/option>\n                        <\/select>\n                    <\/div>\n                    \n                    <!-- Airplane arrival\/departure details -->\n                    <div id=\"arrival-details\" style=\"display:none;\">\n                        <div class=\"form-subsection-title\">\u2708\ufe0f Arrival Details<\/div>\n                        <div class=\"form-row\">\n                            <input type=\"date\" id=\"arrival_date\" name=\"arrival_date\" min=\"2026-06-01\" max=\"2026-06-30\">\n                            <input type=\"time\" id=\"arrival_time\" name=\"arrival_time\">\n                        <\/div>\n                        <div class=\"form-group\">\n                            <input type=\"time\" id=\"arrival_tbilisi_time\" name=\"arrival_tbilisi_time\">\n                            <small class=\"form-hint\">International Tbilisi time<\/small>\n                        <\/div>\n                        <div class=\"form-group\">\n                            <input type=\"text\" id=\"arrival_flight\" name=\"arrival_flight\" placeholder=\"Flight Number (e.g. TK123)\">\n                            <small class=\"form-hint\">This helps us track your arrival<\/small>\n                        <\/div>\n                    <\/div>\n                    \n                    <div id=\"departure-details\" style=\"display:none;\">\n                        <div class=\"form-subsection-title\">\ud83d\udeeb Departure Details<\/div>\n                        <div class=\"form-row\">\n                            <input type=\"date\" id=\"departure_date\" name=\"departure_date\" min=\"2026-06-01\" max=\"2026-06-30\">\n                            <input type=\"time\" id=\"departure_time\" name=\"departure_time\">\n                        <\/div>\n                        <div class=\"form-group\">\n                            <input type=\"time\" id=\"departure_tbilisi_time\" name=\"departure_tbilisi_time\">\n                            <small class=\"form-hint\">International Tbilisi time<\/small>\n                        <\/div>\n                        <div class=\"form-group\">\n                            <input type=\"text\" id=\"departure_flight\" name=\"departure_flight\" placeholder=\"Flight Number\">\n                            <small class=\"form-hint\">This helps us track your departure<\/small>\n                        <\/div>\n                    <\/div>\n                    \n                    <!-- Car arrival\/departure details -->\n                    <div id=\"car-details\" style=\"display:none;\">\n                        <div class=\"form-subsection-title\">\ud83d\ude97 Arrival Details<\/div>\n                        <div class=\"form-row\">\n                            <input type=\"date\" id=\"car_arrival_date\" name=\"car_arrival_date\" min=\"2026-06-01\" max=\"2026-06-30\">\n                            <input type=\"time\" id=\"car_arrival_time\" name=\"car_arrival_time\">\n                        <\/div>\n                        <div class=\"form-group\">\n                            <input type=\"time\" id=\"car_arrival_tbilisi_time\" name=\"car_arrival_tbilisi_time\">\n                            <small class=\"form-hint\">International Tbilisi time<\/small>\n                        <\/div>\n                        \n                        <div class=\"form-subsection-title\" style=\"margin-top:20px;\">\ud83d\ude97 Departure Details<\/div>\n                        <div class=\"form-row\">\n                            <input type=\"date\" id=\"car_departure_date\" name=\"car_departure_date\" min=\"2026-06-01\" max=\"2026-06-30\">\n                            <input type=\"time\" id=\"car_departure_time\" name=\"car_departure_time\">\n                        <\/div>\n                        <div class=\"form-group\">\n                            <input type=\"time\" id=\"car_departure_tbilisi_time\" name=\"car_departure_tbilisi_time\">\n                            <small class=\"form-hint\">International Tbilisi time<\/small>\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-group\" style=\"margin-top:30px;\">\n                        <label style=\"display:block;color:#8B9B7F;margin-bottom:10px;font-size:14px;\">Phone Number<\/label>\n                        <div style=\"display:flex;gap:10px;\">\n                            <input type=\"text\" \n                                   id=\"country_code_manual\" \n                                   name=\"country_code_manual\" \n                                   placeholder=\"+995\" \n                                   value=\"+995\"\n                                   style=\"width:110px;padding:15px;border:1px solid #D4D9CE;border-radius:10px;font-size:15px;background:white;\">\n\n                            <input type=\"tel\" \n                                   id=\"phone\" \n                                   name=\"phone_number_manual\" \n                                   placeholder=\"555 123 456\" \n                                   style=\"flex:1;padding:15px;border:1px solid #D4D9CE;border-radius:10px;font-size:15px;background:white;\">\n                        <\/div>\n                        <small style=\"color:#8B9B7F;font-size:12px;font-style:italic;display:block;margin-top:5px;\">Phone number (WhatsApp-friendly)<\/small>\n                    <\/div>\n                    \n                    <div class=\"form-group\">\n                        <input type=\"email\" id=\"email\" name=\"email\" placeholder=\"Email\">\n                    <\/div>\n                    \n                    <div class=\"form-section-title\" style=\"margin-top:40px;\">Dietary Preferences<\/div>\n                    <p style=\"color:#6B7A63;font-size:14px;margin-bottom:20px;font-style:italic;\">Please let us know your dietary requirements:<\/p>\n                    \n                    <div class=\"dietary-preferences\">\n                        <label class=\"dietary-checkbox\"><input type=\"checkbox\" name=\"dietary[]\" value=\"no_restrictions\"> No restrictions<\/label>\n                        <label class=\"dietary-checkbox\"><input type=\"checkbox\" name=\"dietary[]\" value=\"vegetarian\"> Vegetarian<\/label>\n                        <label class=\"dietary-checkbox\"><input type=\"checkbox\" name=\"dietary[]\" value=\"vegan\"> Vegan<\/label>\n                        <label class=\"dietary-checkbox\"><input type=\"checkbox\" name=\"dietary[]\" value=\"kosher\"> Kosher<\/label>\n                        <label class=\"dietary-checkbox\"><input type=\"checkbox\" name=\"dietary[]\" value=\"allergies\" id=\"diet_allergies\"> Allergies (specify)<\/label>\n                        <div id=\"allergies-specification\" style=\"display:none;margin-top:10px;\">\n                            <input type=\"text\" id=\"allergies_details\" name=\"allergies_details\" placeholder=\"Please specify...\" style=\"width:100%;padding:15px;border:1px solid #D4D9CE;border-radius:10px;font-size:15px;background:white;box-sizing:border-box;\">\n                        <\/div>\n                    <\/div>\n                    \n                    <div class=\"form-section-title\" style=\"margin-top:40px;\">Anything we should know?<\/div>\n                    <p style=\"color:#6B7A63;font-size:14px;margin-bottom:15px;font-style:italic;\">Extra room, accessibility needs, or special requests\u2014tell us here.<\/p>\n                    <div class=\"form-group\">\n                        <textarea id=\"special_requests\" name=\"special_requests\" placeholder=\"Let us know if you have any special requests...\" style=\"width:100%;padding:15px;border:1px solid #D4D9CE;border-radius:10px;font-size:15px;background:white;box-sizing:border-box;min-height:100px;resize:vertical;font-family:inherit;\"><\/textarea>\n                    <\/div>\n                <\/div>\n                \n                <div class=\"form-group\" style=\"margin-top:30px;\">\n                    <button type=\"submit\" class=\"submit-btn\">Submit RSVP<\/button>\n                <\/div>\n                \n                <div id=\"form-messages\" style=\"margin-top:15px;\"><\/div>\n            <\/form>\n        <\/div>\n        \n        <style>\n        .wedding-rsvp-form-wrapper{max-width:650px;margin:40px auto;padding:40px;background:#F9F9F7;border-radius:20px;box-shadow:0 10px 40px rgba(142,156,110,0.15)}\n        .form-title{text-align:center;color:#8E9C6E;font-size:42px;margin-bottom:40px;font-weight:400;letter-spacing:3px}\n        .form-group{margin-bottom:20px}\n        .wedding-rsvp-form input:not([type=\"checkbox\"]),.wedding-rsvp-form select{width:100%;padding:15px;border:2px solid #8E9C6E;border-radius:10px;font-size:15px;background:white;box-sizing:border-box;transition:all 0.3s ease;color:#4A5240}\n        .wedding-rsvp-form input::placeholder,.wedding-rsvp-form select{color:#6B7A5A}\n        .wedding-rsvp-form input:focus,.wedding-rsvp-form select:focus{outline:none;border-color:#7E8C5E;box-shadow:0 0 0 3px rgba(142,156,110,0.25)}\n        .form-section-title{color:#8E9C6E;font-size:20px;font-weight:600;margin:30px 0 15px 0;padding-bottom:10px;border-bottom:2px solid #8E9C6E}\n        .form-subsection-title{color:#8E9C6E;font-size:16px;font-weight:600;margin:20px 0 10px 0}\n        .form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}\n        .form-hint{display:block;color:#6B7A5A;font-size:12px;font-style:italic;margin-top:5px}\n        .dietary-preferences{background:white;padding:20px;border-radius:10px;box-shadow:0 2px 8px rgba(142,156,110,0.12)}\n        .dietary-checkbox{display:flex;align-items:center;padding:10px;margin-bottom:8px;cursor:pointer;border-radius:8px;transition:background 0.2s ease;color:#4A5240;font-weight:500}\n        .dietary-checkbox:hover{background:#F0F4EE}\n        .dietary-checkbox input[type=\"checkbox\"]{width:20px;height:20px;margin-right:12px;cursor:pointer;accent-color:#8E9C6E}\n        .day-checkbox:hover{background:#F0F4EE}\n        .day-checkbox:has(input:checked){background:#8E9C6E;color:white;border-color:#8E9C6E}\n        .submit-btn{width:100%;padding:18px !important;background:#8E9C6E !important;color:white !important;border:none !important;border-radius:10px !important;font-size:16px !important;font-weight:600 !important;cursor:pointer;transition:all 0.3s ease;letter-spacing:1px;text-transform:uppercase}\n        .submit-btn:hover{background:#7E8C5E !important;transform:translateY(-2px);box-shadow:0 4px 15px rgba(142,156,110,0.4)}\n        #form-messages{padding:15px;border-radius:10px;display:none}\n        #form-messages.success{background:#d4edda;color:#27ae60;border:1px solid #c3e6cb;display:block}\n        #form-messages.error{background:#f8d7da;color:#e74c3c;border:1px solid #f5c6cb;display:block}\n        .field-error{border-color:#e74c3c !important;box-shadow:0 0 0 3px rgba(231,76,60,0.2) !important;background-color:#fff8f8 !important}\n        .field-error:focus{border-color:#e74c3c !important;box-shadow:0 0 0 3px rgba(231,76,60,0.3) !important}\n        @media(max-width:600px){.wedding-rsvp-form-wrapper{padding:25px;margin:20px}.form-title{font-size:32px}.form-row{grid-template-columns:1fr}}\n        <\/style>\n        \n        <script>\n        jQuery(document).ready(function($) {\n            $('#attending').on('change', function() {\n                if ($(this).val() === 'yes') {\n                    $('#attending-details').slideDown(300);\n                } else {\n                    $('#attending-details').slideUp(300);\n                }\n            });\n            \n            $('#guest_count').on('change', function() {\n                if ($(this).val() === '2') {\n                    $('#plus-one-name').slideDown(300);\n                } else {\n                    $('#plus-one-name').slideUp(300);\n                    $('#plus_one_name').val('');\n                }\n            });\n            \n            $('#travel_method').on('change', function() {\n                var m = $(this).val();\n                \n                \/\/ \u10d5\u10d4\u10da\u10d4\u10d1\u10d8\n                var $flightFields = $('#arrival_date, #arrival_time, #arrival_flight, #departure_date, #departure_time, #departure_flight');\n                var $carFields = $('#car_arrival_date, #car_arrival_time, #car_departure_date, #car_departure_time');\n                \n                \/\/ \u10e7\u10d5\u10d4\u10da\u10d0 \u10d3\u10d0\u10db\u10d0\u10da\u10d5\u10d0\n                $('#arrival-details, #departure-details, #car-details').slideUp(300);\n                $flightFields.val('');\n                $carFields.val('');\n                \n                if (m === 'airplane') {\n                    $('#arrival-details, #departure-details').slideDown(300);\n                    \/\/ Flight fields are optional - no required\n                } else if (m === 'car') {\n                    $('#car-details').slideDown(300);\n                    \/\/ Car fields are optional - no required\n                }\n            });\n            \n            $('#diet_allergies').on('change', function() {\n                if (this.checked) {\n                    $('#allergies-specification').slideDown(300);\n                } else {\n                    $('#allergies-specification').slideUp(300);\n                    $('#allergies_details').val('');\n                }\n            });\n            \n            \/\/ Validation function\n            function validateForm() {\n                var isValid = true;\n                var $form = $('#wedding-rsvp-form');\n                var attending = $('#attending').val();\n                \n                \/\/ Remove previous error styles\n                $form.find('.field-error').removeClass('field-error');\n                \n                \/\/ Required fields for everyone\n                var requiredFields = ['#full_name', '#attending'];\n                \n                \/\/ If attending yes, add more required fields\n                if (attending === 'yes') {\n                    requiredFields.push('#email', '#phone');\n                    \/\/ Flight details are optional - guests can fill later when they have tickets\n                }\n                \n                \/\/ Check each required field\n                requiredFields.forEach(function(selector) {\n                    var $field = $(selector);\n                    if ($field.length && !$field.val()) {\n                        $field.addClass('field-error');\n                        isValid = false;\n                    }\n                });\n                \n                \/\/ Scroll to first error\n                if (!isValid) {\n                    var $firstError = $form.find('.field-error').first();\n                    if ($firstError.length) {\n                        $('html, body').animate({\n                            scrollTop: $firstError.offset().top - 100\n                        }, 300);\n                        $firstError.focus();\n                    }\n                }\n                \n                return isValid;\n            }\n            \n            \/\/ Remove error on input change\n            $('#wedding-rsvp-form').on('input change', 'input, select, textarea', function() {\n                $(this).removeClass('field-error');\n            });\n            \n            $('#wedding-rsvp-form').on('submit', function(e) {\n                e.preventDefault();\n                \n                \/\/ Validate first\n                if (!validateForm()) {\n                    $('#form-messages').addClass('error').html('Please fill in all required fields highlighted in red.').fadeIn();\n                    return;\n                }\n                \n                var $btn = $(this).find('.submit-btn');\n                var $msg = $('#form-messages');\n                $btn.prop('disabled', true).text('Submitting...');\n                $msg.removeClass('success error').hide();\n                $.ajax({\n                    url: 'https:\/\/dashaandalbert.com\/wp-admin\/admin-ajax.php',\n                    type: 'POST',\n                    data: $(this).serialize() + '&action=wedding_rsvp_submit',\n                    success: function(res) {\n                        if (res.success) {\n                            $msg.addClass('success').html(res.data.message).fadeIn();\n                            $('#wedding-rsvp-form')[0].reset();\n                            $('#attending-details, #plus-one-name, #arrival-details, #departure-details, #car-details, #allergies-specification').hide();\n                            $('.submit-btn').removeClass('form-ready');\n                        } else {\n                            $msg.addClass('error').html(res.data.message).fadeIn();\n                        }\n                    },\n                    error: function() {\n                        $msg.addClass('error').html('Error occurred').fadeIn();\n                    },\n                    complete: function() {\n                        $btn.prop('disabled', false).text('Submit RSVP');\n                    }\n                });\n            });\n        });\n        <\/script>\n        \n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-5504","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/pages\/5504","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/comments?post=5504"}],"version-history":[{"count":7,"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/pages\/5504\/revisions"}],"predecessor-version":[{"id":5630,"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/pages\/5504\/revisions\/5630"}],"wp:attachment":[{"href":"https:\/\/dashaandalbert.com\/ru\/wp-json\/wp\/v2\/media?parent=5504"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}