{"id":65,"date":"2023-09-20T15:30:29","date_gmt":"2023-09-20T14:30:29","guid":{"rendered":"http:\/\/localhost\/wordpress\/?page_id=65"},"modified":"2024-08-14T18:09:37","modified_gmt":"2024-08-14T17:09:37","slug":"become-a-member","status":"publish","type":"page","link":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/","title":{"rendered":"Become a member"},"content":{"rendered":"\n<section class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<h2 class=\"hide wp-block-heading\">The Sports Lounge welcomes all new applications for membership<\/h2>\n\n\n\n<p class=\"hide\">We look forward to welcoming new members. Thisis a great opportunity for you to play poker, watch sport, enjoy a game of darts, pool or chess or if you want to catch your favourite team with first-classfood and drink, there\u2019s no better place to be.<\/p>\n\n\n\n<p class=\"hide hide\">    <form id=\"membership_form\" class=\"hide\" action=\"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-admin\/admin-ajax.php\" method=\"post\">\n        <input type=\"hidden\" name=\"action\" value=\"membership_form_plugin\">\n        <input type=\"hidden\" name=\"nonce\" value=\"7b9ff72ac3\">\n                    <div class=\"membership_form-field\">\n                                    <input type=\"text\" id=\"first_name\"\n                        name=\"first_name\" data-validate=\"^[a-zA-Z ]{1,30}$\"\n                        data-label=\"First Name\" placeholder=\"First Name\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <input type=\"text\" id=\"last_name\"\n                        name=\"last_name\" data-validate=\"^[a-zA-Z ]{1,30}$\"\n                        data-label=\"Last Name\" placeholder=\"Last Name\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <input type=\"text\" id=\"dob\"\n                        name=\"dob\" data-validate=\"^(19|20)\\d\\d-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$\"\n                        data-label=\"Date of Birth\" placeholder=\"Date of Birth\"\n                        onfocus=\"this.type = 'date'\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <input type=\"text\" id=\"address\"\n                        name=\"address\" data-validate=\"^[a-zA-Z0-9\\s.,-]{1,100}$\"\n                        data-label=\"Address\" placeholder=\"Address\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <input type=\"text\" id=\"city\"\n                        name=\"city\" data-validate=\"^[a-zA-Z ]{1,30}$\"\n                        data-label=\"City\" placeholder=\"City\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <input type=\"text\" id=\"postcode\"\n                        name=\"postcode\" data-validate=\"^([A-Za-z][A-Ha-hJ-Yj-y]?\\d[A-Za-z\\d]? ?\\d[A-Za-z]{2}|GIR ?0A{2}|gir ?0a{2})$\"\n                        data-label=\"Post Code\" placeholder=\"Post Code\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <input type=\"text\" id=\"phone\"\n                        name=\"phone\" data-validate=\"^(?:\\+(?:\\d{1,3}))?(?:\\s*(?:\\d[-\\s]*){8,12})$\"\n                        data-label=\"Phone\" placeholder=\"Phone\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <input type=\"email\" id=\"user_email\"\n                        name=\"user_email\" data-validate=\"^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$\"\n                        data-label=\"Email\" placeholder=\"Email\">\n                                <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <select id=\"preferred_contact\" name=\"preferred_contact\"\n                        data-validate=\"^(Phone|Email|Post|No preference)$\" data-label=\"Preferred Contact Method\">\n                        <option value=\"\" disabled selected hidden>Preferred Contact Method<\/option>\n                                                    <option value=\"Phone\">Phone<\/option>\n                                                    <option value=\"Email\">Email<\/option>\n                                                    <option value=\"Post\">Post<\/option>\n                                                    <option value=\"No preference\">No preference<\/option>\n                                            <\/select>\n                                    <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                    <div class=\"membership_form-field\">\n                                    <select id=\"interest_areas\" name=\"interest_areas\"\n                        data-validate=\"^(Poker|Gold Chest|Gaming Club|Leisure Pool|Darts|Other)$\" data-label=\"Areas of Interest\">\n                        <option value=\"\" disabled selected hidden>Areas of Interest<\/option>\n                                                    <option value=\"Poker\">Poker<\/option>\n                                                    <option value=\"Gold Chest\">Gold Chest<\/option>\n                                                    <option value=\"Gaming Club\">Gaming Club<\/option>\n                                                    <option value=\"Leisure Pool\">Leisure Pool<\/option>\n                                                    <option value=\"Darts\">Darts<\/option>\n                                                    <option value=\"Other\">Other<\/option>\n                                            <\/select>\n                                    <div class=\"membership_form_error\"><\/div>\n            <\/div>\n                <button type=\"submit\">Become a Member<\/button>\n    <\/form>\n    <script>\n        document.addEventListener('DOMContentLoaded', function () {\n            \/\/ Get form elements\n            var form = document.getElementById('membership_form');\n            var inputs = form.querySelectorAll('input:not([type=\"hidden\"]), select');\n\n            \/\/select the closest parent section of the form\n            var parentSection = form.closest('section');\n\n            \/\/ Add blur event listeners to validate input fields\n            inputs.forEach(function (input, index) {\n                input.addEventListener('blur', function () {\n                    var error = '';\n\n                    \/\/ Validate input fields\n                    if (new RegExp(this.dataset.validate).test(this.value)) {\n                        error = '';\n                    } else {\n                        error = `Invalid ${this.dataset.label}`;\n                    }\n\n                    \/\/ Display error message\n                    var correspondingErrorDiv = this.parentNode.querySelector('.membership_form_error');\n                    correspondingErrorDiv.innerText = error;\n\n                    \/\/ Change field and label color based on validation\n                    this.style.color = error ? 'red' : '';\n                });\n            });\n\n            \/\/ Add submit event listener to handle form submission\n            form.addEventListener('submit', function (e) {\n                e.preventDefault();\n\n                \/\/ Validate all input fields\n                inputs.forEach(function (input) {\n                    var event = new Event('blur');\n                    input.dispatchEvent(event);\n                });\n\n                \/\/ Check if there are any validation errors\n                var errorDivs = form.querySelectorAll('.membership_form_error');\n                if (Array.from(errorDivs).some(function (div) { return div.innerText; })) {\n                    return;\n                }\n\n                \/\/ Submit form via AJAX\n                var xhr = new XMLHttpRequest();\n                xhr.open('POST', this.getAttribute('action'), true);\n                xhr.setRequestHeader('Content-Type', 'application\/x-www-form-urlencoded');\n                xhr.onload = function () {\n                    if (this.status >= 200 && this.status < 400) {\n                        var response = JSON.parse(this.response);\n                        if (response.success) {\n                            parentSection.innerHTML = '<h1>' + response.data + '<\/h1>';\n                        } else {\n                            console.log(\"Failure\");\n                            alert(response.data);\n                        }\n                    }\n                };\n                xhr.send(new URLSearchParams(new FormData(form)).toString());\n            });\n        });\n    <\/script>\n    <\/p>\n\n\n\n<p class=\"hide\">We look forward to welcoming you to The Sports Lounge Dartford<\/p>\n<\/div><\/section>\n\n\n\n<section class=\"wp-block-group\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"hide wp-block-cover aligncenter\" style=\"min-height:100vh;aspect-ratio:unset;\"><span aria-hidden=\"true\" class=\"wp-block-cover__background has-background-dim\" style=\"background-color:#402c23\"><\/span><img loading=\"lazy\" decoding=\"async\" width=\"5000\" height=\"4000\" class=\"wp-block-cover__image-background wp-image-87\" alt=\"\" src=\"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-content\/uploads\/2023\/09\/poker.jpg\" data-object-fit=\"cover\"\/><div class=\"wp-block-cover__inner-container is-layout-constrained wp-block-cover-is-layout-constrained\">\n<h1 class=\"hide wp-block-heading has-text-align-center left\">The <strong>Smarter<\/strong> you play<\/h1>\n\n\n\n<h1 class=\"hide wp-block-heading has-text-align-center right\">The <strong>Luckier<\/strong> you&#8217;ll be<\/h1>\n<\/div><\/div>\n<\/div><\/section>\n","protected":false},"excerpt":{"rendered":"<p>The Sports Lounge welcomes all new applications for membership We look forward to welcoming new members. Thisis a great opportunity for you to play poker, watch sport, enjoy a game of darts, pool or chess or if you want to catch your favourite team with first-classfood and drink, there\u2019s no better place to be. We [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-65","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/pages\/65","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/comments?post=65"}],"version-history":[{"count":24,"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/pages\/65\/revisions"}],"predecessor-version":[{"id":118,"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/pages\/65\/revisions\/118"}],"wp:attachment":[{"href":"https:\/\/swanleyhypnotherapist.co.uk\/sld\/wp-json\/wp\/v2\/media?parent=65"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}