{"id":806,"date":"2026-03-06T18:56:55","date_gmt":"2026-03-06T18:56:55","guid":{"rendered":"https:\/\/www.thechristmaslightdude.com\/staging1\/?page_id=806"},"modified":"2026-04-30T17:28:15","modified_gmt":"2026-04-30T17:28:15","slug":"get-a-free-quote","status":"publish","type":"page","link":"https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/","title":{"rendered":"Get a Free Quote"},"content":{"rendered":"<p>[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; background_enable_color=&#8221;off&#8221; use_background_color_gradient=&#8221;on&#8221; background_color_gradient_stops=&#8221;rgba(0,0,0,0.42) 0%|rgba(0,0,0,0.42) 100%&#8221; background_image=&#8221;http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2026\/04\/inside-silde-bg.jpg&#8221; min_height=&#8221;543px&#8221; min_height_tablet=&#8221;413px&#8221; min_height_phone=&#8221;255px&#8221; min_height_last_edited=&#8221;on|phone&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;0px||0px||false|false&#8221; custom_css_main_element=&#8221;display: flex;||align-items: flex-end;&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; custom_margin=&#8221;0px||0px||false|false&#8221; custom_padding=&#8221;96px||0px||false|false&#8221; custom_css_main_element=&#8221;align-items: flex-end;&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; header_font=&#8221;Poppins|700||on|||||&#8221; header_text_color=&#8221;#FFFFFF&#8221; header_2_font=&#8221;Oswald|700||on|||||&#8221; header_2_text_color=&#8221;#FFFFFF&#8221; header_2_font_size=&#8221;65px&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;||0px||false|false&#8221; header_font_size_tablet=&#8221;24px&#8221; header_font_size_phone=&#8221;22px&#8221; header_font_size_last_edited=&#8221;on|phone&#8221; header_2_font_size_tablet=&#8221;42px&#8221; header_2_font_size_phone=&#8221;34px&#8221; header_2_font_size_last_edited=&#8221;on|desktop&#8221; custom_css_main_element=&#8221;h1 {text-transform: uppercase; -webkit-text-stroke: .6px #ed2224;}||h2 {text-transform: uppercase; -webkit-text-stroke: 1.2px #ed2224;}||h1, h2 {margin: 0px; padding:0px;||}&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<h1>Your Stress Free Holiday Begins Here<\/h1>\n<h2>Get a Free Installation Quote<\/h2>\n<p>[\/et_pb_text][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; text_font=&#8221;Poppins||||||||&#8221; text_text_color=&#8221;#FFFFFF&#8221; header_font=&#8221;Poppins|700||on|||||&#8221; header_text_color=&#8221;#FFFFFF&#8221; header_2_font=&#8221;Oswald|700||on|||||&#8221; header_2_text_color=&#8221;#FFFFFF&#8221; header_2_font_size=&#8221;65px&#8221; height=&#8221;109px&#8221; custom_margin=&#8221;||0px||false|false&#8221; custom_padding=&#8221;||0px||false|false&#8221; header_font_size_tablet=&#8221;24px&#8221; header_font_size_phone=&#8221;22px&#8221; header_font_size_last_edited=&#8221;on|phone&#8221; header_2_font_size_tablet=&#8221;42px&#8221; header_2_font_size_phone=&#8221;34px&#8221; header_2_font_size_last_edited=&#8221;on|desktop&#8221; custom_css_main_element=&#8221;h1 {text-transform: uppercase; -webkit-text-stroke: .6px #ed2224;}||h2 {text-transform: uppercase; -webkit-text-stroke: 1.2px #ed2224;}||h1, h2 {margin: 0px; padding:0px;||}&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n<p>Get your FREE, no-obligation estimate today and see why customers say the difference is noticeable \u2014 and refreshing.<\/p>\n<p>[\/et_pb_text][et_pb_image src=&#8221;http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2026\/04\/free-quote-title.png&#8221; alt=&#8221;Free Light Installation Quote&#8221; title_text=&#8221;Free Holiday Light Installation Quote&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section][et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_row _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][et_pb_text _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;]<\/p>\n\r\n    <link href=\"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/4.5.2\/css\/bootstrap.min.css\" rel=\"stylesheet\">\r\n\r\n    <form id=\"custom-leads-form\" class=\"container\" method=\"POST\" style=\"display:block\">\r\n  \r\n        <!-- Step 1: Zip Code -->\r\n<!--         <div id=\"step-1\" class=\"row search-form-row\"> -->\r\n\t\t<div id=\"step-1\" class=\"row search-form-row\" style=\"\">\r\n            <div class=\"col-lg-12 col-sm-12 col-md-12 search-form-col\">\r\n                <div class=\"outcont\">\r\n                    \r\n                        <div class=\"form-group row col-md-12\" style=\"display: flex; align-items: center;\">\r\n                            <div class=\"search-form-label col-md-6\" style=\"flex: 0 0 auto;\">Get Started With Your <strong>Free<\/strong> Estimate<\/div>\r\n                            <div class=\"form-group col-md-6\" style=\"flex: 0 0 auto; display: flex; align-items: center;\">\r\n                                <input type=\"text\" required title=\"5 Digit Zip Code\" maxlength=\"5\" minlength=\"5\" name=\"zip_code\" class=\"form-control search-form-input\" \r\n                                    placeholder=\"Enter 5 Digit Zip\" id=\"zip-code\" style=\"margin-top: 10px;\" value=\"\">\r\n                                <button type=\"button\" id=\"next-step-1\" name=\"next-step-1\" class=\"btn btn-primary search-form-btn\">GO!<\/button>\r\n                            <\/div>\r\n                            <!-- <div class=\"search-form-label-can col-md-5\" style=\"flex: 0 0 auto;\">&nbsp;&nbsp; Canada Residents Click Here: &nbsp; \r\n                                <a href=\"#\" alt=\"Canada Christmas Light Installation\" class=\"flag\">\r\n                                    <img loading=\"lazy\" decoding=\"async\" src=\"\"  width=\"70\" height=\"40\" alt=\"Canada Flag\" \/>\r\n                                <\/a>\r\n                            <\/div> -->\r\n                            <span id=\"zip-error\" class=\"text-danger\" style=\"display: none; color: white;\">Please enter a valid 5-digit Zip Code.<\/span><br>\r\n                        <\/div>\r\n                    \r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <style>\r\n              \r\n            .residentialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/residential-light-installation.jpg);}\r\n            .commercialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/commercial-light-installation.jpg);}\r\n\r\n\r\n            @media(max-width:768px){\r\n                .residentialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/residential-light-installation.jpg);}\r\n                .commercialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/commercial-light-installation.jpg);}\r\n            }\r\n\r\n        <\/style>\r\n\r\n               \r\n       <!--Success Message-->\r\n       <div style=\"display:none; position:fixed; z-index:9999;\" id=\"SuccessMessage\" class=\"alert alert-success alert-dismissible fade show\" role=\"alert\">\r\n            <h2 class=\"alert-heading\">Congratulations!<\/h2><h3 class=\"confirmation-message-text\"> Thank you for submitting your lead! We will be in contact with you soon.<\/h3>           \r\n            <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">\r\n                <span aria-hidden=\"true\">&times;<\/span>\r\n            <\/button>\r\n        <\/div>\r\n        \r\n        <!-- Step 2: Select Residential or Commercial -->\r\n\r\n<!--         <div id=\"step-2\" class=\"form-group row LeadsForm-Step2\" style=\"display: none;\"> -->\r\n\t\t<div id=\"step-2\" class=\"form-group row LeadsForm-Step2\" style=\"display: none;\">\r\n\t\t\t\r\n            <div class=\"col-lg-6 col-sm-6 col-md-6 residentialbg\">\r\n                <div class=\"mar2\">\r\n                    <button type=\"button\" data-type=\"residential\" id=\"residential-btn\" data-search-value=\"residential\" data-search-zip=\"44444\" class=\"btn btn-danger btn-type-choice center-block\">Residential<\/button>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"col-lg-6 col-sm-6 col-md-6 commercialbg\">\r\n                <div class=\"mar2\">\r\n                    <button type=\"button\" data-type=\"commercial\" id=\"commercial-btn\" data-search-value=\"commercial\" data-search-zip=\"44444\" class=\"btn btn-danger btn-type-choice center-block\">Commercial<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Hidden fields to store selected lead type -->\r\n        <input type=\"hidden\" id=\"leadType\" name=\"leadType\" value=\"\">\r\n        <input type=\"hidden\" id=\"res_leads_db\" value=\"0\">\r\n        <input type=\"hidden\" id=\"com_leads_db\" value=\"0\">\r\n        <input type=\"hidden\" id=\"ResellerName\" value=\"\">\r\n\r\n        <input type=\"hidden\" id=\"ExcludedZips_Res\" value=\"\">\r\n        <input type=\"hidden\" id=\"ExcludedZips_Com\" value=\"\">\r\n\r\n        <!-- Reseller Iframe div, initially hidden -->\r\n        <div id=\"ResellerIframeDiv\" class=\"form-group LeadsForm-Step3\" style=\"display: none;\">\r\n            <div class=\"form-row col-sm-12\" style=\"padding: 0px;\">\r\n                <button type=\"button\" id=\"back-step-4\" class=\"btn btn-secondary back-button\">Back<\/button>\r\n                            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Step 3: Form Details -->\r\n        <div id=\"step-3\" class=\"form-group LeadsForm-Step3\" style=\"display: none;\">\r\n            <button type=\"button\" id=\"back-step-3\" class=\"btn btn-secondary back-button\">Back<\/button>\r\n            <div class=\"form-row\">\r\n                <div class=\"form-group col-md-12\" style=\"text-align: center;\">\r\n                    <h4 id=\"EstimateHeading\">GET YOUR FREE ESTIMATE TODAY!<\/h4>\r\n                    <small>(If this isn't your location please enter <a id=\"reloadZipform\" href=\"\">your zip code again<\/a> to find an installer nearest you.)<\/br><\/small>\r\n                    <medium id=\"welcome-message-display\">\r\n                        welcome message                    <\/medium>\r\n                    <p><strong><\/br>Complete Form Below  or Call (888) 705-4523<\/strong><\/p>\r\n                <\/div>\r\n            <\/div>       \r\n            <div class=\"form-row\">\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"FirstName\">First Name<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"FirstName\" name=\"FirstName\" class=\"form-control\" required>\r\n                <\/div>\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"LastName\">Last Name<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"LastName\" name=\"LastName\" class=\"form-control\" required>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label for=\"Email\">Email<\/label><span class=\"required-asterisk\">*<\/span>\r\n                <input type=\"email\" id=\"Email\" name=\"Email\" class=\"form-control\" required>\r\n            <\/div>\r\n            <!--<div class=\"form-group\">\r\n                <label for=\"PropertyAddress\">Property Address<\/label>\r\n                <input type=\"text\" id=\"PropertyAddress\" name=\"PropertyAddress\" class=\"form-control\">\r\n            <\/div>-->\r\n            <div class=\"form-group\">\r\n                <label for=\"PropertyAddress\">Property Address <\/label>\r\n                <input type=\"text\" id=\"PropertyAddress\" name=\"PropertyAddress\" class=\"form-control\" >\r\n            <\/div>\r\n            <div class=\"form-row\">\r\n                <div class=\"form-group col-md-4\">\r\n                    <label for=\"City\">City<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"City\" name=\"City\" class=\"form-control\" required>\r\n                <\/div>\r\n                <div class=\"form-group col-md-4\">\r\n                    <label for=\"State\">State<\/label><span class=\"required-asterisk\">*<\/span>\r\n                                        <select class=\"form-control\" name=\"State\" id=\"State\" required>\r\n                        <option value=\"\">Select State<\/option>\r\n                        <option value='37'>Alabama<\/option><option value='53'>Alaska<\/option><option value='26'>Alberta<\/option><option value='2'>Arizona<\/option><option value='1'>Arkansas<\/option><option value='27'>British Columbia<\/option><option value='3'>California<\/option><option value='4'>Colorado<\/option><option value='38'>Connecticut<\/option><option value='39'>Delaware<\/option><option value='6'>Florida<\/option><option value='7'>Georgia<\/option><option value='54'>Hawaii<\/option><option value='31'>Idaho<\/option><option value='8'>Illinois<\/option><option value='9'>Indiana<\/option><option value='33'>Iowa<\/option><option value='10'>Kansas<\/option><option value='40'>Kentucky<\/option><option value='11'>Louisiana<\/option><option value='41'>Maine<\/option><option value='42'>Maryland<\/option><option value='43'>Massachusetts<\/option><option value='12'>Michigan<\/option><option value='34'>Minnesota<\/option><option value='44'>Mississippi<\/option><option value='13'>Missouri<\/option><option value='45'>Montana<\/option><option value='14'>Nebraska<\/option><option value='17'>Nevada<\/option><option value='46'>New Hampshire<\/option><option value='15'>New Jersey<\/option><option value='16'>New Mexico<\/option><option value='18'>New York<\/option><option value='47'>North Carolina<\/option><option value='48'>North Dakota<\/option><option value='36'>Ohio<\/option><option value='29'>Oklahoma<\/option><option value='28'>Ontario<\/option><option value='30'>Oregon<\/option><option value='19'>Pennsylvania<\/option><option value='49'>Rhode Island<\/option><option value='20'>South Carolina<\/option><option value='32'>South Dakota<\/option><option value='21'>Tennessee<\/option><option value='22'>Texas<\/option><option value='23'>Utah<\/option><option value='50'>Vermont<\/option><option value='24'>Virginia<\/option><option value='25'>Washington<\/option><option value='5'>Washington DC<\/option><option value='51'>West Virginia<\/option><option value='35'>Wisconsin<\/option><option value='52'>Wyoming<\/option>                    <\/select>\r\n                <\/div>\r\n                <div class=\"form-group col-md-4\">\r\n                    <label for=\"CellPhone\">Phone<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"CellPhone\" name=\"CellPhone\" class=\"form-control\" required>\r\n                <\/div>\r\n            <\/div>\r\n                        <div class=\"form-row\">\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"Zip\">Zip<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"Zip\" name=\"Zip\" class=\"form-control\" value=\"\"\r\n                    readonly>\r\n                <\/div>\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"SqFootage\">Project Sq Ft If Applicable<\/label>\r\n                    <input type=\"number\" id=\"SqFootage\" name=\"SqFootage\" class=\"form-control\">\r\n                <\/div>\r\n            <\/div>\r\n          \r\n            <div class=\"form-group\">\r\n                <label for=\"ProjectDescription\">Please give us a brief description of your <span id=\"industry_var\">Lighting<\/span> project<\/label><span class=\"required-asterisk\">*<\/span>\r\n                <textarea id=\"ProjectDescription\" name=\"ProjectDescription\" class=\"form-control\" required><\/textarea>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label for=\"HearAboutUs\">How did you hear about us?<\/label><span class=\"required-asterisk\">*<\/span>\r\n                <input type=\"text\" id=\"HearAboutUs\" name=\"HearAboutUs\" class=\"form-control\" required>\r\n            <\/div>\r\n\r\n            <!--Display messages here-->\r\n            <!--Error Message-->\r\n            <div style=\"display:none;\" id=\"ErrorMessage\" class=\"alert alert-success alert-dismissible fade show\" role=\"alert\">\r\n                <h4 class=\"alert-heading\">Submission Failed!<\/h4><p> An error occurred while processing your request. Please try again.<\/p>           \r\n                <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">\r\n                    <span aria-hidden=\"true\">&times;<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <div class=\"form-group\" style=\"text-align:center;\">\r\n                <button type=\"submit\" class=\"btn btn-success mt-3 form-submit-btn\" style=\"text-align:center;\"> Click Here to Get Your FREE Estimate! <\/button>\r\n            <\/div>\r\n\r\n            <div class=\"form-group\" style=\"text-align:center; font-size:12px;\">\r\n\r\n                                    <p><label for=\"termsConditions\">By submitting you agree to the \r\n                    <a href=\"https:\/\/www.thechristmaslightdude.com\/staging1\/terms-and-conditions\/\" id=\"terms-conditions-link\" target=\"_blank\">Terms and Conditions<\/a>.<\/label><\/p>\r\n                \r\n\r\n                footer message\r\n                <!-- <p><label for=\"CallYou\"><b>We will call you as soon as possible to schedule your FREE estimate.<\/b><\/label><\/p>\r\n                <label for=\"Policies_Services\">*Policies, products & services offered may vary. Please contact your local We Hang Christmas Lights decorator for more information.<\/label><\/p> -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n         <!-- Hidden Fields -->\r\n        <input type=\"hidden\" id=\"installer_type\" name=\"installer_type\" value=\"\">\r\n        <input type=\"hidden\" id=\"stored_zip\" name=\"stored_zip\" value=\"\">\r\n        <input type=\"hidden\" id=\"industry\" name=\"industry\" value=\"Lighting\">\r\n        <input type=\"hidden\" id=\"industryName\" name=\"industryName\" value=\"Lighting\">\r\n\r\n    <\/form>\r\n\r\n\r\n    <div class=\"modal fade\" id=\"responseModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"responseModalLabel\" aria-hidden=\"true\">\r\n        <div class=\"modal-dialog\" role=\"document\">\r\n            <div class=\"modal-content\">\r\n                <div class=\"modal-header\">\r\n                    <h5 class=\"modal-title\" id=\"responseModalLabel\">Status<\/h5>\r\n                    <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n                        <span aria-hidden=\"true\">&times;<\/span>\r\n                    <\/button>\r\n                <\/div>\r\n                <div class=\"modal-body\">\r\n                    <div id=\"modal-message\" class=\"alert mt-4\"><\/div>\r\n                <\/div>\r\n                <div class=\"modal-footer\">\r\n                    <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Close<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <!--\r\n<style>\r\n#SuccessModal {\r\n    z-index: 9999 !important; \/* Ensure the modal has the highest z-index *\/\r\n    position: fixed; \/* Fix the modal so it stays on top *\/\r\n    \/*top: 10%;  Adjust to your needs *\/\r\n    left: 50% !important;\r\n    transform: translate(-50%, 0); \/* Center the modal horizontally *\/\r\n    width: 50%; \/* Adjust the width as needed *\/\r\n}\r\n\r\n.modal-backdrop, .modal-backdrop.fade.show {\r\n    display: none !important;\r\n}\r\n\r\n<\/style>-->\r\n<!-- Success Message \r\n<div class=\"modal fade\" id=\"SuccessModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"SuccessModalLabel\" aria-hidden=\"true\" style=\"margin-top:10% !important\">\r\n    <div class=\"modal-dialog\" role=\"document\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h5 class=\"modal-title\" id=\"SuccessModalLabel\">Congratulations!<\/h5>\r\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n                    <span aria-hidden=\"true\">&times;<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <div class=\"modal-body\">\r\n                <div id=\"form-success\" class=\"alert alert-success mt-4\">Thank you for submitting your lead! We will be in contact with you soon.<\/div>\r\n            <\/div>\r\n            <div class=\"modal-footer\">\r\n                <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Close<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n-->\r\n\r\n<!-- Terms Warning Modal\r\n<div class=\"modal fade\" id=\"ErrorModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"ErrorModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\" role=\"document\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h5 class=\"modal-title\" id=\"ErrorModalLabel\">Submission Failed!<\/h5>\r\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n                    <span aria-hidden=\"true\">&times;<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <div class=\"modal-body\">\r\n                <div id=\"form-error\" class=\"alert alert-danger mt-4\">An error occurred while processing your request. Please try again.<\/div>\r\n            <\/div>\r\n            <div class=\"modal-footer\">\r\n                <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Close<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n -->\r\n<!-- Loading Spinner (hidden initially) -->\r\n<div id=\"loading-spinner\" style=\"display: none; position: fixed; top: 30%; left: 45%; z-index: 9999;\">\r\n    <img decoding=\"async\" src=\"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/plugins\/lead-generator-for-affiliates\/public\/loading.gif\" alt=\"Loading...\" \/>\r\n<\/div>\r\n    \r\n<script>\r\n        jQuery(document).ready(function($) {        \r\n            var zipCode = '';\r\n            var installerType = '';\r\n            var termsAccepted = false; \/\/ Variable to track terms acceptance\r\n            let currentStep = 2; \/\/ Step Navigation Logic\r\n\r\n\t\t\t\/\/ Define variables so Javascript knows what to do\r\n            var preType = \"residential\";\r\n            var isZipPosted = \"\";\r\n\r\n            \/\/ ONLY auto-click on page load IF the user already entered a zip code in the sidebar\r\n            if (preType !== '' && isZipPosted === 'yes') {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tif (preType === 'residential') {\r\n\t\t\t\t\t\t$('#residential-btn').trigger('click');\r\n\t\t\t\t\t} else if (preType === 'commercial') {\r\n\t\t\t\t\t\t$('#commercial-btn').trigger('click');\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100);\r\n            }\r\n\t\t\t\r\n            \/\/ Function to show the appropriate step\r\n            function showStep(step) { \/\/alert(step);\r\n              \/\/ if(step!=1) { $(`#step-${currentStep}`).hide(); } \/\/ Hide current step \r\n              \t$('#step-1, #step-2, #step-3, #ResellerIframeDiv').hide();\r\n                currentStep = step; \/\/ Update current step\r\n             \/\/   $(`#step-${currentStep}`).show(); \/\/ Show new step\r\n\r\n\t\t\t\tif (step === 'iframe') {\r\n\t\t\t\t\t$('#ResellerIframeDiv').show();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(`#step-${currentStep}`).show();\r\n\t\t\t\t}\r\n            }\r\n\r\n            $('#next-step-1').click(function() {\r\n                var zipCode = $('#zip-code').val(); \/\/ Get the ZIP code value\r\n                var zipCodeRegex = \/^[0-9]{5}$\/; \/\/ Regular expression to allow only 5 digits\r\n                \r\n                if (!zipCodeRegex.test(zipCode)) {\r\n                    \/\/ Set focus to the ZIP code input field\r\n                    $('#zip-code').focus();\r\n\r\n                    return false; \/\/ Prevent form submission\r\n                } else {\r\n                    \/\/ If valid, store the ZIP code and move to the next step\r\n                    $('#stored_zip').val(zipCode);\r\n\t\t\t\t\t$('#step-1').hide();\r\n                    \r\n                    \/\/ IF type is predefined, skip Step 2. OTHERWISE, show Step 2.\r\n                    if (typeof preType !== 'undefined' && preType !== '') {\r\n                        if (preType === 'residential') {\r\n                            $('#residential-btn').trigger('click');\r\n                        } else if (preType === 'commercial') {\r\n                            $('#commercial-btn').trigger('click');\r\n                        }\r\n                    } else {\r\n                        showStep(2); \r\n                    }\r\n                }\r\n            });\r\n\r\n            \/\/ Back button for Step 2\r\n            $('#back-step-2').click(function() {\r\n                showStep(1); \/\/ Show step 1\r\n            });\r\n\r\n            \/\/ Step 2: Select Installer Type (Residential or Commercial)\r\n            $('#residential-btn, #commercial-btn').click(function() {   \/\/alert($('#stored_zip').val());\r\n                installerType = $(this).data('type'); \/\/ Capture Estimate type (residential or commercial)\r\n                $('#installer_type').val(installerType); \/\/ Store Estimate type in hidden field\r\n                $('#property_var').html(installerType); \/\/ Store Estimate type in hidden field\r\n                $('#Zip').val($('#stored_zip').val()); \/\/ Store zip code\r\n\r\n                \/\/ Replace {{LeadType}} in the WelcomeMessage\r\n                var welcomeMessage = \"welcome message\";\r\n\t\t\t\twelcomeMessage = welcomeMessage.replace(\/{{LeadType}}\/g, installerType); \/\/ Replace {{LeadType}} with selected type\r\n\t\t\t\twelcomeMessage = welcomeMessage.replace(\/\\\\n\/g, '\\n'); \/\/ Replace \\n with actual newline character\r\n\r\n                \/\/ Update the medium element with the new message\r\n                $('#welcome-message-display').html(welcomeMessage); \/\/ Assuming you have an element to display this message\r\n\r\n                \/\/ Fetch ResLeads, ComLeads, and ResellerIframe values from the database via hidden fields\r\n                var resLeadsDb = $('#res_leads_db').val();\r\n                var comLeadsDb = $('#com_leads_db').val();\r\n                var resellerName = $('#ResellerName').val(); \/\/ Assuming this field holds the reseller name\r\n                var ExcludedZipsRes = $('#ExcludedZips_Res').val();\r\n                var ExcludedZipsCom = $('#ExcludedZips_Com').val();\r\n                var UserZipCode = $('#stored_zip').val(); \/\/ Zip code from hidden field\r\n                \r\n                var industry = $('#industry').val();\r\n                var industryName = $('#industryName').val();\r\n\r\n                \/\/ Hide Step 2 and show Step 3\r\n                var EstimateType = '';\r\n\r\n                \/\/ Check installer type and corresponding database values to determine if iframe should be shown\r\n                if (installerType === 'residential' && resLeadsDb == 1 && ExcludedZipsRes.indexOf(UserZipCode) === -1) {\r\n                    EstimateType = 1;\r\n                    \/\/ Insert the lead info into the database for residential reseller leads\r\n                    $('#step-2').hide(); \/\/ Hide normal form\r\n                    insertResellerLead(EstimateType, 'ResellerLead', resellerName);\r\n                } \r\n                else if (installerType === 'commercial' && comLeadsDb == 1 && ExcludedZipsCom.indexOf(UserZipCode) === -1) {\r\n                    EstimateType = 0;   \r\n                    \/\/ Insert the lead info into the database for commercial reseller leads\r\n                    $('#step-2').hide(); \/\/ Hide normal form\r\n                    insertResellerLead(EstimateType, 'ResellerLead', resellerName);\r\n                } \r\n                else {\r\n                    \/\/ Show the normal form if not a reseller lead\r\n                    \/\/ Fetch State\/Country Information for the given ZIP and display if exists\r\n                    $.ajax({  \r\n                        url: customLeadsAjax.ajax_url,  \/\/ Use the WordPress AJAX URL\r\n                        type: 'POST',\r\n                        data: {\r\n                            action: 'search_zip_dataa',  \/\/ Custom action for searching zip data\r\n                            zip_code: UserZipCode  \/\/ Use stored zip code\r\n                        },\r\n                        success: function(response) {\r\n                            var data;\r\n                            try {\r\n                                data = JSON.parse(response);  \/\/ Ensure response is parsed\r\n                            } catch (e) {\r\n                                \/\/console.error('Error parsing JSON response:', e);\r\n                                $('#EstimateHeading').html('GET YOUR FREE ESTIMATE TODAY!');\r\n                                return;\r\n                            }\r\n\r\n                            if (data.success && data.data) {\r\n                                var resultHtml = industryName + ' Services in ';\r\n                                \r\n                                \/\/ Append the city, state, and country to the result HTML\r\n                                resultHtml += data.data.city + ', ';\r\n                                resultHtml += data.data.state + ' and Surrounding Cities';\r\n                                \/\/resultHtml += data.data.country + ' and Surrounding Cities';\r\n\r\n                                \/\/ Update the heading with the location info\r\n                                $('#EstimateHeading').html(resultHtml);\r\n                            } else {\r\n                                $('#EstimateHeading').html('GET YOUR FREE ESTIMATE TODAY!');\r\n                            }\r\n                        },\r\n                        error: function(xhr, status, error) {\r\n                            \/\/ Fallback content in case of error\r\n                            $('#EstimateHeading').html('GET YOUR FREE ESTIMATE TODAY!');\r\n                        }\r\n                    });\r\n\r\n                    \/\/ Hide the iframe and show Step 3\r\n                    $('#ResellerIframeDiv').hide();\r\n                    showStep(3); \/\/ Show step 3 using showStep function\r\n                }\r\n            });\r\n\r\n            \/\/ Back button for Step 3\r\n            $('#back-step-3').click(function() {    \/\/alert($('#stored_zip').val());\r\n               if (typeof preType !== 'undefined' && preType !== '') { showStep(1); } else { showStep(2); }\r\n                \/\/ Restore zip code in the field if necessary\r\n                $('#stored_zip').val($('#stored_zip').val());\r\n            });\r\n\r\n            \/\/ Back button for Step 3\r\n            $('#back-step-4').click(function() {    \/\/alert($('#stored_zip').val());\r\n                $('#ResellerIframeDiv').hide();\r\n                if (typeof preType !== 'undefined' && preType !== '') { showStep(1); } else { showStep(2); }\r\n                \/\/ Restore zip code in the field if necessary\r\n                $('#stored_zip').val($('#stored_zip').val());\r\n            });\r\n\r\n            \/\/ Function to insert reseller lead into the database\r\n            function insertResellerLead(Estimate_Type, leadType, resellerName) {\r\n                var ipAddress = ''; \/\/ Get the user's IP address dynamically if needed, or from server-side\r\n                var fromPage = window.location.href; \/\/ Capture current page URL\r\n\r\n                $.ajax({\r\n                    url: customLeadsAjax.ajax_url, \/\/ Use localized AJAX URL\r\n                    method: 'POST',\r\n                    data: {\r\n                        action: 'insert_reseller_lead', \/\/ The action that triggers the PHP function for inserting\r\n                        ip_address: ipAddress,\r\n                        zip_code: zipCode,\r\n                        from_page: fromPage,\r\n                        EstimateType: Estimate_Type,\r\n                        lead_type: leadType,\r\n                        reseller_name: resellerName,\r\n                        nonce: customLeadsAjax.nonce \/\/ Security nonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            \/\/ After successfully inserting the lead, display the iframe\r\n                            $('#ResellerIframeDiv').show();\r\n                            $('#step-2').hide(); \/\/ Hide normal form\r\n                            $('#step-3').hide(); \/\/ Hide normal form\r\n                        } else {\r\n                            \/\/ Handle error response\r\n                            \/\/showModalMessage('error', 'An error occurred while processing your request. Please try again.');\r\n                            $('#ErrorMessage').show();\r\n                            \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                            $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('#ResellerIframeDiv').hide();\r\n                            *\/\r\n                            \/* setTimeout(function() {\r\n                                location.reload();\r\n                            }, 3000); *\/\r\n                        }\r\n                    },\r\n                    error: function(xhr, status, error) {\r\n                        \/\/ Handle AJAX error\r\n                        $('#ErrorMessage').show();\r\n                        \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                        $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        $('#ResellerIframeDiv').hide();\r\n                        \/*\r\n                        \/* setTimeout(function() {\r\n                            location.reload();\r\n                        }, 3000); *\/\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ Handle form submission\r\n            $('#custom-leads-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n                \r\n                \/\/ Show the loading spinner\r\n                $('#loading-spinner').show();\r\n\r\n                var formData = $(this).serialize(); \/\/ Serialize form data for AJAX request\r\n\r\n                \r\n\r\n                $.ajax({\r\n                    url: customLeadsAjax.ajax_url, \/\/ Use localized AJAX URL\r\n                    method: 'POST',\r\n                    data: {\r\n                        action: 'custom_leads_form',  \/\/ Ensure this matches the action in the PHP\r\n                        data: formData, \/\/ Serialized form data\r\n                        nonce: customLeadsAjax.nonce \/\/ Security nonce\r\n                    },\r\n                    success: function(response) {\r\n                        \/\/ Hide the loading spinner\r\n                        $('#loading-spinner').hide();\r\n\r\n                        \/\/ Handle success response\r\n                        if (response.success) {\r\n                            \/\/ if custom thank you page is set for each installer, rediect to it after showing confirmation message\r\n                            if (response.data.redirect_url) {\r\n                                $('#step-3').hide();\r\n                                $('#SuccessMessage').show();\r\n                                \/\/ Delay the redirection for 2 seconds (2000 milliseconds)\r\n                                setTimeout(function() {\r\n                                    window.location.href = response.data.redirect_url;\r\n                                }, 2000);\r\n                            }\r\n                            else {\r\n                                var redirectUrl = \"\";\r\n                                if (redirectUrl) {\r\n                                    window.location.href = redirectUrl; \/\/ Navigate to the redirect URL provided in general settings\r\n                                } else {\r\n                                    $('#SuccessMessage').show();\r\n                                    $('#step-3').hide();\r\n                                }\r\n                            }\r\n                            \r\n                            \/*$('#SuccessModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                            $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('#step-3').hide();\r\n                            *\/\r\n                            \/\/ Check if GA4 code is present in the response and execute it\r\n                            if (response.data.ga4_code) {\r\n                                \/\/ Create a new script element and insert GA4 code\r\n                                var ga4Script = document.createElement('script');\r\n                                ga4Script.text = response.data.ga4_code;\r\n                                document.body.appendChild(ga4Script); \/\/ Append the script to body to execute\r\n                            }\r\n\r\n                            \/\/ Reload the page after a delay (e.g., 3 seconds)\r\n                             \/* setTimeout(function() {\r\n                                 location.reload();\r\n                             }, 3000); *\/ \/\/ 3000 milliseconds = 3 seconds\r\n\r\n                        } else { \/\/alert(response.error);\r\n                            \/\/showModalMessage('error', 'An error occurred while processing your request. Please try again.');\r\n                            \/\/$('#ErrorModal').modal('show').css('z-index', '-1');\r\n                            \/\/$('.modal-backdrop').css('z-index', '-1');\r\n                            $('#ErrorMessage').show();\r\n                            \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                            $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;*\/\r\n                            \/* $('#step-3').hide();\r\n                             setTimeout(function() {\r\n                                location.reload();\r\n                            }, 3000);  *\/\r\n                        }\r\n                    },\r\n                    error: function(xhr, status, error) {   \/\/alert(error);\r\n                        \/\/ Handle the error response (AJAX error)\r\n                        $('#loading-spinner').hide();\r\n                        \/\/showModalMessage('error', 'An error occurred while processing your request. Please try again.');\r\n                        $('#ErrorMessage').show();\r\n                        \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                        });\r\n\r\n                        $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        *\/\r\n                        \/\/$('.modal-backdrop').css('z-index', '0 !important;');\r\n                        \/* $('#step-3').hide();\r\n                         setTimeout(function() {\r\n                            location.reload();\r\n                        }, 3000); *\/ \r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Restrict Zip Code input to numbers only\r\n            $('#zip-code').on('input', function() { \/\/alert('asdfsda');\r\n                this.value = this.value.replace(\/[^0-9]\/g, ''); \/\/ Only allow digits\r\n            });\r\n\r\n            \/\/ Get references to the input field and the button\r\n            const zipCodeInput = document.getElementById('zip-code');\r\n            const goButton = document.getElementById('next-step-1');\r\n\r\n            \/\/ Function to check if the ZIP code is valid\r\n            function validateZipCode() {\r\n                const zipCodeValue = zipCodeInput.value;\r\n                \/\/ Check if the input is exactly 5 digits\r\n                if (zipCodeValue.length === 5 && \/^[0-9]+$\/.test(zipCodeValue)) {\r\n                    goButton.classList.remove('not-clickable');  \/\/ Make the button clickable\r\n                } else {\r\n                    goButton.classList.add('not-clickable');     \/\/ Prevent clicking\r\n                }\r\n            }\r\n\r\n            \/\/ Attach an event listener to the input field to monitor changes\r\n            zipCodeInput.addEventListener('input', validateZipCode);\r\n\r\n            \/\/ Add event listener on the button to prevent clicking if it has 'not-clickable' class\r\n            goButton.addEventListener('click', function(event) {\r\n                if (goButton.classList.contains('not-clickable')) {\r\n                    event.preventDefault(); \/\/ Prevent default action\r\n                }\r\n            });\r\n\r\n\r\n        });\r\n\r\n\r\n    <\/script>\r\n\r\n    \n<p>[\/et_pb_text][et_pb_image src=&#8221;http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2023\/08\/WHCL-HomePage-Slide-2.jpg&#8221; title_text=&#8221;WHCL-HomePage-Slide-2&#8243; align=&#8221;center&#8221; _builder_version=&#8221;4.27.6&#8243; _module_preset=&#8221;default&#8221; global_colors_info=&#8221;{}&#8221;][\/et_pb_image][\/et_pb_column][\/et_pb_row][\/et_pb_section]<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Your Stress Free Holiday Begins Here Get a Free Installation QuoteGet your FREE, no-obligation estimate today and see why customers say the difference is noticeable \u2014 and refreshing.\r\n    <link href=\"https:\/\/maxcdn.bootstrapcdn.com\/bootstrap\/4.5.2\/css\/bootstrap.min.css\" rel=\"stylesheet\">\r\n\r\n    <form id=\"custom-leads-form\" class=\"container\" method=\"POST\" style=\"display:block\">\r\n  \r\n        <!-- Step 1: Zip Code -->\r\n<!--         <div id=\"step-1\" class=\"row search-form-row\"> -->\r\n\t\t<div id=\"step-1\" class=\"row search-form-row\" style=\"\">\r\n            <div class=\"col-lg-12 col-sm-12 col-md-12 search-form-col\">\r\n                <div class=\"outcont\">\r\n                    \r\n                        <div class=\"form-group row col-md-12\" style=\"display: flex; align-items: center;\">\r\n                            <div class=\"search-form-label col-md-6\" style=\"flex: 0 0 auto;\">Get Started With Your <strong>Free<\/strong> Estimate<\/div>\r\n                            <div class=\"form-group col-md-6\" style=\"flex: 0 0 auto; display: flex; align-items: center;\">\r\n                                <input type=\"text\" required title=\"5 Digit Zip Code\" maxlength=\"5\" minlength=\"5\" name=\"zip_code\" class=\"form-control search-form-input\" \r\n                                    placeholder=\"Enter 5 Digit Zip\" id=\"zip-code\" style=\"margin-top: 10px;\" value=\"\">\r\n                                <button type=\"button\" id=\"next-step-1\" name=\"next-step-1\" class=\"btn btn-primary search-form-btn\">GO!<\/button>\r\n                            <\/div>\r\n                            <!-- <div class=\"search-form-label-can col-md-5\" style=\"flex: 0 0 auto;\">&nbsp;&nbsp; Canada Residents Click Here: &nbsp; \r\n                                <a href=\"#\" alt=\"Canada Christmas Light Installation\" class=\"flag\">\r\n                                    <img loading=\"lazy\" decoding=\"async\" src=\"\"  width=\"70\" height=\"40\" alt=\"Canada Flag\" \/>\r\n                                <\/a>\r\n                            <\/div> -->\r\n                            <span id=\"zip-error\" class=\"text-danger\" style=\"display: none; color: white;\">Please enter a valid 5-digit Zip Code.<\/span><br>\r\n                        <\/div>\r\n                    \r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        \r\n        <style>\r\n              \r\n            .residentialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/residential-light-installation.jpg);}\r\n            .commercialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/commercial-light-installation.jpg);}\r\n\r\n\r\n            @media(max-width:768px){\r\n                .residentialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/residential-light-installation.jpg);}\r\n                .commercialbg{background-image:url(http:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2025\/12\/commercial-light-installation.jpg);}\r\n            }\r\n\r\n        <\/style>\r\n\r\n               \r\n       <!--Success Message-->\r\n       <div style=\"display:none; position:fixed; z-index:9999;\" id=\"SuccessMessage\" class=\"alert alert-success alert-dismissible fade show\" role=\"alert\">\r\n            <h2 class=\"alert-heading\">Congratulations!<\/h2><h3 class=\"confirmation-message-text\"> Thank you for submitting your lead! We will be in contact with you soon.<\/h3>           \r\n            <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">\r\n                <span aria-hidden=\"true\">&times;<\/span>\r\n            <\/button>\r\n        <\/div>\r\n        \r\n        <!-- Step 2: Select Residential or Commercial -->\r\n\r\n<!--         <div id=\"step-2\" class=\"form-group row LeadsForm-Step2\" style=\"display: none;\"> -->\r\n\t\t<div id=\"step-2\" class=\"form-group row LeadsForm-Step2\" style=\"display: none;\">\r\n\t\t\t\r\n            <div class=\"col-lg-6 col-sm-6 col-md-6 residentialbg\">\r\n                <div class=\"mar2\">\r\n                    <button type=\"button\" data-type=\"residential\" id=\"residential-btn\" data-search-value=\"residential\" data-search-zip=\"44444\" class=\"btn btn-danger btn-type-choice center-block\">Residential<\/button>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"col-lg-6 col-sm-6 col-md-6 commercialbg\">\r\n                <div class=\"mar2\">\r\n                    <button type=\"button\" data-type=\"commercial\" id=\"commercial-btn\" data-search-value=\"commercial\" data-search-zip=\"44444\" class=\"btn btn-danger btn-type-choice center-block\">Commercial<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Hidden fields to store selected lead type -->\r\n        <input type=\"hidden\" id=\"leadType\" name=\"leadType\" value=\"\">\r\n        <input type=\"hidden\" id=\"res_leads_db\" value=\"0\">\r\n        <input type=\"hidden\" id=\"com_leads_db\" value=\"0\">\r\n        <input type=\"hidden\" id=\"ResellerName\" value=\"\">\r\n\r\n        <input type=\"hidden\" id=\"ExcludedZips_Res\" value=\"\">\r\n        <input type=\"hidden\" id=\"ExcludedZips_Com\" value=\"\">\r\n\r\n        <!-- Reseller Iframe div, initially hidden -->\r\n        <div id=\"ResellerIframeDiv\" class=\"form-group LeadsForm-Step3\" style=\"display: none;\">\r\n            <div class=\"form-row col-sm-12\" style=\"padding: 0px;\">\r\n                <button type=\"button\" id=\"back-step-4\" class=\"btn btn-secondary back-button\">Back<\/button>\r\n                            <\/div>\r\n        <\/div>\r\n\r\n        <!-- Step 3: Form Details -->\r\n        <div id=\"step-3\" class=\"form-group LeadsForm-Step3\" style=\"display: none;\">\r\n            <button type=\"button\" id=\"back-step-3\" class=\"btn btn-secondary back-button\">Back<\/button>\r\n            <div class=\"form-row\">\r\n                <div class=\"form-group col-md-12\" style=\"text-align: center;\">\r\n                    <h4 id=\"EstimateHeading\">GET YOUR FREE ESTIMATE TODAY!<\/h4>\r\n                    <small>(If this isn't your location please enter <a id=\"reloadZipform\" href=\"\">your zip code again<\/a> to find an installer nearest you.)<\/br><\/small>\r\n                    <medium id=\"welcome-message-display\">\r\n                        welcome message                    <\/medium>\r\n                    <p><strong><\/br>Complete Form Below  or Call (888) 705-4523<\/strong><\/p>\r\n                <\/div>\r\n            <\/div>       \r\n            <div class=\"form-row\">\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"FirstName\">First Name<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"FirstName\" name=\"FirstName\" class=\"form-control\" required>\r\n                <\/div>\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"LastName\">Last Name<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"LastName\" name=\"LastName\" class=\"form-control\" required>\r\n                <\/div>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label for=\"Email\">Email<\/label><span class=\"required-asterisk\">*<\/span>\r\n                <input type=\"email\" id=\"Email\" name=\"Email\" class=\"form-control\" required>\r\n            <\/div>\r\n            <!--<div class=\"form-group\">\r\n                <label for=\"PropertyAddress\">Property Address<\/label>\r\n                <input type=\"text\" id=\"PropertyAddress\" name=\"PropertyAddress\" class=\"form-control\">\r\n            <\/div>-->\r\n            <div class=\"form-group\">\r\n                <label for=\"PropertyAddress\">Property Address <\/label>\r\n                <input type=\"text\" id=\"PropertyAddress\" name=\"PropertyAddress\" class=\"form-control\" >\r\n            <\/div>\r\n            <div class=\"form-row\">\r\n                <div class=\"form-group col-md-4\">\r\n                    <label for=\"City\">City<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"City\" name=\"City\" class=\"form-control\" required>\r\n                <\/div>\r\n                <div class=\"form-group col-md-4\">\r\n                    <label for=\"State\">State<\/label><span class=\"required-asterisk\">*<\/span>\r\n                                        <select class=\"form-control\" name=\"State\" id=\"State\" required>\r\n                        <option value=\"\">Select State<\/option>\r\n                        <option value='37'>Alabama<\/option><option value='53'>Alaska<\/option><option value='26'>Alberta<\/option><option value='2'>Arizona<\/option><option value='1'>Arkansas<\/option><option value='27'>British Columbia<\/option><option value='3'>California<\/option><option value='4'>Colorado<\/option><option value='38'>Connecticut<\/option><option value='39'>Delaware<\/option><option value='6'>Florida<\/option><option value='7'>Georgia<\/option><option value='54'>Hawaii<\/option><option value='31'>Idaho<\/option><option value='8'>Illinois<\/option><option value='9'>Indiana<\/option><option value='33'>Iowa<\/option><option value='10'>Kansas<\/option><option value='40'>Kentucky<\/option><option value='11'>Louisiana<\/option><option value='41'>Maine<\/option><option value='42'>Maryland<\/option><option value='43'>Massachusetts<\/option><option value='12'>Michigan<\/option><option value='34'>Minnesota<\/option><option value='44'>Mississippi<\/option><option value='13'>Missouri<\/option><option value='45'>Montana<\/option><option value='14'>Nebraska<\/option><option value='17'>Nevada<\/option><option value='46'>New Hampshire<\/option><option value='15'>New Jersey<\/option><option value='16'>New Mexico<\/option><option value='18'>New York<\/option><option value='47'>North Carolina<\/option><option value='48'>North Dakota<\/option><option value='36'>Ohio<\/option><option value='29'>Oklahoma<\/option><option value='28'>Ontario<\/option><option value='30'>Oregon<\/option><option value='19'>Pennsylvania<\/option><option value='49'>Rhode Island<\/option><option value='20'>South Carolina<\/option><option value='32'>South Dakota<\/option><option value='21'>Tennessee<\/option><option value='22'>Texas<\/option><option value='23'>Utah<\/option><option value='50'>Vermont<\/option><option value='24'>Virginia<\/option><option value='25'>Washington<\/option><option value='5'>Washington DC<\/option><option value='51'>West Virginia<\/option><option value='35'>Wisconsin<\/option><option value='52'>Wyoming<\/option>                    <\/select>\r\n                <\/div>\r\n                <div class=\"form-group col-md-4\">\r\n                    <label for=\"CellPhone\">Phone<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"CellPhone\" name=\"CellPhone\" class=\"form-control\" required>\r\n                <\/div>\r\n            <\/div>\r\n                        <div class=\"form-row\">\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"Zip\">Zip<\/label><span class=\"required-asterisk\">*<\/span>\r\n                    <input type=\"text\" id=\"Zip\" name=\"Zip\" class=\"form-control\" value=\"\"\r\n                    readonly>\r\n                <\/div>\r\n                <div class=\"form-group col-md-6\">\r\n                    <label for=\"SqFootage\">Project Sq Ft If Applicable<\/label>\r\n                    <input type=\"number\" id=\"SqFootage\" name=\"SqFootage\" class=\"form-control\">\r\n                <\/div>\r\n            <\/div>\r\n          \r\n            <div class=\"form-group\">\r\n                <label for=\"ProjectDescription\">Please give us a brief description of your <span id=\"industry_var\">Lighting<\/span> project<\/label><span class=\"required-asterisk\">*<\/span>\r\n                <textarea id=\"ProjectDescription\" name=\"ProjectDescription\" class=\"form-control\" required><\/textarea>\r\n            <\/div>\r\n            <div class=\"form-group\">\r\n                <label for=\"HearAboutUs\">How did you hear about us?<\/label><span class=\"required-asterisk\">*<\/span>\r\n                <input type=\"text\" id=\"HearAboutUs\" name=\"HearAboutUs\" class=\"form-control\" required>\r\n            <\/div>\r\n\r\n            <!--Display messages here-->\r\n            <!--Error Message-->\r\n            <div style=\"display:none;\" id=\"ErrorMessage\" class=\"alert alert-success alert-dismissible fade show\" role=\"alert\">\r\n                <h4 class=\"alert-heading\">Submission Failed!<\/h4><p> An error occurred while processing your request. Please try again.<\/p>           \r\n                <button type=\"button\" class=\"close\" data-dismiss=\"alert\" aria-label=\"Close\">\r\n                    <span aria-hidden=\"true\">&times;<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <div class=\"form-group\" style=\"text-align:center;\">\r\n                <button type=\"submit\" class=\"btn btn-success mt-3 form-submit-btn\" style=\"text-align:center;\"> Click Here to Get Your FREE Estimate! <\/button>\r\n            <\/div>\r\n\r\n            <div class=\"form-group\" style=\"text-align:center; font-size:12px;\">\r\n\r\n                                    <p><label for=\"termsConditions\">By submitting you agree to the \r\n                    <a href=\"https:\/\/www.thechristmaslightdude.com\/staging1\/terms-and-conditions\/\" id=\"terms-conditions-link\" target=\"_blank\">Terms and Conditions<\/a>.<\/label><\/p>\r\n                \r\n\r\n                footer message\r\n                <!-- <p><label for=\"CallYou\"><b>We will call you as soon as possible to schedule your FREE estimate.<\/b><\/label><\/p>\r\n                <label for=\"Policies_Services\">*Policies, products & services offered may vary. Please contact your local We Hang Christmas Lights decorator for more information.<\/label><\/p> -->\r\n            <\/div>\r\n        <\/div>\r\n\r\n         <!-- Hidden Fields -->\r\n        <input type=\"hidden\" id=\"installer_type\" name=\"installer_type\" value=\"\">\r\n        <input type=\"hidden\" id=\"stored_zip\" name=\"stored_zip\" value=\"\">\r\n        <input type=\"hidden\" id=\"industry\" name=\"industry\" value=\"Lighting\">\r\n        <input type=\"hidden\" id=\"industryName\" name=\"industryName\" value=\"Lighting\">\r\n\r\n    <\/form>\r\n\r\n\r\n    <div class=\"modal fade\" id=\"responseModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"responseModalLabel\" aria-hidden=\"true\">\r\n        <div class=\"modal-dialog\" role=\"document\">\r\n            <div class=\"modal-content\">\r\n                <div class=\"modal-header\">\r\n                    <h5 class=\"modal-title\" id=\"responseModalLabel\">Status<\/h5>\r\n                    <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n                        <span aria-hidden=\"true\">&times;<\/span>\r\n                    <\/button>\r\n                <\/div>\r\n                <div class=\"modal-body\">\r\n                    <div id=\"modal-message\" class=\"alert mt-4\"><\/div>\r\n                <\/div>\r\n                <div class=\"modal-footer\">\r\n                    <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Close<\/button>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n    <!--\r\n<style>\r\n#SuccessModal {\r\n    z-index: 9999 !important; \/* Ensure the modal has the highest z-index *\/\r\n    position: fixed; \/* Fix the modal so it stays on top *\/\r\n    \/*top: 10%;  Adjust to your needs *\/\r\n    left: 50% !important;\r\n    transform: translate(-50%, 0); \/* Center the modal horizontally *\/\r\n    width: 50%; \/* Adjust the width as needed *\/\r\n}\r\n\r\n.modal-backdrop, .modal-backdrop.fade.show {\r\n    display: none !important;\r\n}\r\n\r\n<\/style>-->\r\n<!-- Success Message \r\n<div class=\"modal fade\" id=\"SuccessModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"SuccessModalLabel\" aria-hidden=\"true\" style=\"margin-top:10% !important\">\r\n    <div class=\"modal-dialog\" role=\"document\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h5 class=\"modal-title\" id=\"SuccessModalLabel\">Congratulations!<\/h5>\r\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n                    <span aria-hidden=\"true\">&times;<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <div class=\"modal-body\">\r\n                <div id=\"form-success\" class=\"alert alert-success mt-4\">Thank you for submitting your lead! We will be in contact with you soon.<\/div>\r\n            <\/div>\r\n            <div class=\"modal-footer\">\r\n                <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Close<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n\r\n-->\r\n\r\n<!-- Terms Warning Modal\r\n<div class=\"modal fade\" id=\"ErrorModal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"ErrorModalLabel\" aria-hidden=\"true\">\r\n    <div class=\"modal-dialog\" role=\"document\">\r\n        <div class=\"modal-content\">\r\n            <div class=\"modal-header\">\r\n                <h5 class=\"modal-title\" id=\"ErrorModalLabel\">Submission Failed!<\/h5>\r\n                <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\">\r\n                    <span aria-hidden=\"true\">&times;<\/span>\r\n                <\/button>\r\n            <\/div>\r\n            <div class=\"modal-body\">\r\n                <div id=\"form-error\" class=\"alert alert-danger mt-4\">An error occurred while processing your request. Please try again.<\/div>\r\n            <\/div>\r\n            <div class=\"modal-footer\">\r\n                <button type=\"button\" class=\"btn btn-secondary\" data-dismiss=\"modal\">Close<\/button>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n<\/div>\r\n -->\r\n<!-- Loading Spinner (hidden initially) -->\r\n<div id=\"loading-spinner\" style=\"display: none; position: fixed; top: 30%; left: 45%; z-index: 9999;\">\r\n    <img decoding=\"async\" src=\"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/plugins\/lead-generator-for-affiliates\/public\/loading.gif\" alt=\"Loading...\" \/>\r\n<\/div>\r\n    \r\n<script>\r\n        jQuery(document).ready(function($) {        \r\n            var zipCode = '';\r\n            var installerType = '';\r\n            var termsAccepted = false; \/\/ Variable to track terms acceptance\r\n            let currentStep = 2; \/\/ Step Navigation Logic\r\n\r\n\t\t\t\/\/ Define variables so Javascript knows what to do\r\n            var preType = \"residential\";\r\n            var isZipPosted = \"\";\r\n\r\n            \/\/ ONLY auto-click on page load IF the user already entered a zip code in the sidebar\r\n            if (preType !== '' && isZipPosted === 'yes') {\r\n\t\t\t\tsetTimeout(function() {\r\n\t\t\t\t\tif (preType === 'residential') {\r\n\t\t\t\t\t\t$('#residential-btn').trigger('click');\r\n\t\t\t\t\t} else if (preType === 'commercial') {\r\n\t\t\t\t\t\t$('#commercial-btn').trigger('click');\r\n\t\t\t\t\t}\r\n\t\t\t\t}, 100);\r\n            }\r\n\t\t\t\r\n            \/\/ Function to show the appropriate step\r\n            function showStep(step) { \/\/alert(step);\r\n              \/\/ if(step!=1) { $(`#step-${currentStep}`).hide(); } \/\/ Hide current step \r\n              \t$('#step-1, #step-2, #step-3, #ResellerIframeDiv').hide();\r\n                currentStep = step; \/\/ Update current step\r\n             \/\/   $(`#step-${currentStep}`).show(); \/\/ Show new step\r\n\r\n\t\t\t\tif (step === 'iframe') {\r\n\t\t\t\t\t$('#ResellerIframeDiv').show();\r\n\t\t\t\t} else {\r\n\t\t\t\t\t$(`#step-${currentStep}`).show();\r\n\t\t\t\t}\r\n            }\r\n\r\n            $('#next-step-1').click(function() {\r\n                var zipCode = $('#zip-code').val(); \/\/ Get the ZIP code value\r\n                var zipCodeRegex = \/^[0-9]{5}$\/; \/\/ Regular expression to allow only 5 digits\r\n                \r\n                if (!zipCodeRegex.test(zipCode)) {\r\n                    \/\/ Set focus to the ZIP code input field\r\n                    $('#zip-code').focus();\r\n\r\n                    return false; \/\/ Prevent form submission\r\n                } else {\r\n                    \/\/ If valid, store the ZIP code and move to the next step\r\n                    $('#stored_zip').val(zipCode);\r\n\t\t\t\t\t$('#step-1').hide();\r\n                    \r\n                    \/\/ IF type is predefined, skip Step 2. OTHERWISE, show Step 2.\r\n                    if (typeof preType !== 'undefined' && preType !== '') {\r\n                        if (preType === 'residential') {\r\n                            $('#residential-btn').trigger('click');\r\n                        } else if (preType === 'commercial') {\r\n                            $('#commercial-btn').trigger('click');\r\n                        }\r\n                    } else {\r\n                        showStep(2); \r\n                    }\r\n                }\r\n            });\r\n\r\n            \/\/ Back button for Step 2\r\n            $('#back-step-2').click(function() {\r\n                showStep(1); \/\/ Show step 1\r\n            });\r\n\r\n            \/\/ Step 2: Select Installer Type (Residential or Commercial)\r\n            $('#residential-btn, #commercial-btn').click(function() {   \/\/alert($('#stored_zip').val());\r\n                installerType = $(this).data('type'); \/\/ Capture Estimate type (residential or commercial)\r\n                $('#installer_type').val(installerType); \/\/ Store Estimate type in hidden field\r\n                $('#property_var').html(installerType); \/\/ Store Estimate type in hidden field\r\n                $('#Zip').val($('#stored_zip').val()); \/\/ Store zip code\r\n\r\n                \/\/ Replace {{LeadType}} in the WelcomeMessage\r\n                var welcomeMessage = \"welcome message\";\r\n\t\t\t\twelcomeMessage = welcomeMessage.replace(\/{{LeadType}}\/g, installerType); \/\/ Replace {{LeadType}} with selected type\r\n\t\t\t\twelcomeMessage = welcomeMessage.replace(\/\\\\n\/g, '\\n'); \/\/ Replace \\n with actual newline character\r\n\r\n                \/\/ Update the medium element with the new message\r\n                $('#welcome-message-display').html(welcomeMessage); \/\/ Assuming you have an element to display this message\r\n\r\n                \/\/ Fetch ResLeads, ComLeads, and ResellerIframe values from the database via hidden fields\r\n                var resLeadsDb = $('#res_leads_db').val();\r\n                var comLeadsDb = $('#com_leads_db').val();\r\n                var resellerName = $('#ResellerName').val(); \/\/ Assuming this field holds the reseller name\r\n                var ExcludedZipsRes = $('#ExcludedZips_Res').val();\r\n                var ExcludedZipsCom = $('#ExcludedZips_Com').val();\r\n                var UserZipCode = $('#stored_zip').val(); \/\/ Zip code from hidden field\r\n                \r\n                var industry = $('#industry').val();\r\n                var industryName = $('#industryName').val();\r\n\r\n                \/\/ Hide Step 2 and show Step 3\r\n                var EstimateType = '';\r\n\r\n                \/\/ Check installer type and corresponding database values to determine if iframe should be shown\r\n                if (installerType === 'residential' && resLeadsDb == 1 && ExcludedZipsRes.indexOf(UserZipCode) === -1) {\r\n                    EstimateType = 1;\r\n                    \/\/ Insert the lead info into the database for residential reseller leads\r\n                    $('#step-2').hide(); \/\/ Hide normal form\r\n                    insertResellerLead(EstimateType, 'ResellerLead', resellerName);\r\n                } \r\n                else if (installerType === 'commercial' && comLeadsDb == 1 && ExcludedZipsCom.indexOf(UserZipCode) === -1) {\r\n                    EstimateType = 0;   \r\n                    \/\/ Insert the lead info into the database for commercial reseller leads\r\n                    $('#step-2').hide(); \/\/ Hide normal form\r\n                    insertResellerLead(EstimateType, 'ResellerLead', resellerName);\r\n                } \r\n                else {\r\n                    \/\/ Show the normal form if not a reseller lead\r\n                    \/\/ Fetch State\/Country Information for the given ZIP and display if exists\r\n                    $.ajax({  \r\n                        url: customLeadsAjax.ajax_url,  \/\/ Use the WordPress AJAX URL\r\n                        type: 'POST',\r\n                        data: {\r\n                            action: 'search_zip_dataa',  \/\/ Custom action for searching zip data\r\n                            zip_code: UserZipCode  \/\/ Use stored zip code\r\n                        },\r\n                        success: function(response) {\r\n                            var data;\r\n                            try {\r\n                                data = JSON.parse(response);  \/\/ Ensure response is parsed\r\n                            } catch (e) {\r\n                                \/\/console.error('Error parsing JSON response:', e);\r\n                                $('#EstimateHeading').html('GET YOUR FREE ESTIMATE TODAY!');\r\n                                return;\r\n                            }\r\n\r\n                            if (data.success && data.data) {\r\n                                var resultHtml = industryName + ' Services in ';\r\n                                \r\n                                \/\/ Append the city, state, and country to the result HTML\r\n                                resultHtml += data.data.city + ', ';\r\n                                resultHtml += data.data.state + ' and Surrounding Cities';\r\n                                \/\/resultHtml += data.data.country + ' and Surrounding Cities';\r\n\r\n                                \/\/ Update the heading with the location info\r\n                                $('#EstimateHeading').html(resultHtml);\r\n                            } else {\r\n                                $('#EstimateHeading').html('GET YOUR FREE ESTIMATE TODAY!');\r\n                            }\r\n                        },\r\n                        error: function(xhr, status, error) {\r\n                            \/\/ Fallback content in case of error\r\n                            $('#EstimateHeading').html('GET YOUR FREE ESTIMATE TODAY!');\r\n                        }\r\n                    });\r\n\r\n                    \/\/ Hide the iframe and show Step 3\r\n                    $('#ResellerIframeDiv').hide();\r\n                    showStep(3); \/\/ Show step 3 using showStep function\r\n                }\r\n            });\r\n\r\n            \/\/ Back button for Step 3\r\n            $('#back-step-3').click(function() {    \/\/alert($('#stored_zip').val());\r\n               if (typeof preType !== 'undefined' && preType !== '') { showStep(1); } else { showStep(2); }\r\n                \/\/ Restore zip code in the field if necessary\r\n                $('#stored_zip').val($('#stored_zip').val());\r\n            });\r\n\r\n            \/\/ Back button for Step 3\r\n            $('#back-step-4').click(function() {    \/\/alert($('#stored_zip').val());\r\n                $('#ResellerIframeDiv').hide();\r\n                if (typeof preType !== 'undefined' && preType !== '') { showStep(1); } else { showStep(2); }\r\n                \/\/ Restore zip code in the field if necessary\r\n                $('#stored_zip').val($('#stored_zip').val());\r\n            });\r\n\r\n            \/\/ Function to insert reseller lead into the database\r\n            function insertResellerLead(Estimate_Type, leadType, resellerName) {\r\n                var ipAddress = ''; \/\/ Get the user's IP address dynamically if needed, or from server-side\r\n                var fromPage = window.location.href; \/\/ Capture current page URL\r\n\r\n                $.ajax({\r\n                    url: customLeadsAjax.ajax_url, \/\/ Use localized AJAX URL\r\n                    method: 'POST',\r\n                    data: {\r\n                        action: 'insert_reseller_lead', \/\/ The action that triggers the PHP function for inserting\r\n                        ip_address: ipAddress,\r\n                        zip_code: zipCode,\r\n                        from_page: fromPage,\r\n                        EstimateType: Estimate_Type,\r\n                        lead_type: leadType,\r\n                        reseller_name: resellerName,\r\n                        nonce: customLeadsAjax.nonce \/\/ Security nonce\r\n                    },\r\n                    success: function(response) {\r\n                        if (response.success) {\r\n                            \/\/ After successfully inserting the lead, display the iframe\r\n                            $('#ResellerIframeDiv').show();\r\n                            $('#step-2').hide(); \/\/ Hide normal form\r\n                            $('#step-3').hide(); \/\/ Hide normal form\r\n                        } else {\r\n                            \/\/ Handle error response\r\n                            \/\/showModalMessage('error', 'An error occurred while processing your request. Please try again.');\r\n                            $('#ErrorMessage').show();\r\n                            \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                            $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('#ResellerIframeDiv').hide();\r\n                            *\/\r\n                            \/* setTimeout(function() {\r\n                                location.reload();\r\n                            }, 3000); *\/\r\n                        }\r\n                    },\r\n                    error: function(xhr, status, error) {\r\n                        \/\/ Handle AJAX error\r\n                        $('#ErrorMessage').show();\r\n                        \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                        $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        $('#ResellerIframeDiv').hide();\r\n                        \/*\r\n                        \/* setTimeout(function() {\r\n                            location.reload();\r\n                        }, 3000); *\/\r\n                    }\r\n                });\r\n            }\r\n\r\n            \/\/ Handle form submission\r\n            $('#custom-leads-form').on('submit', function(e) {\r\n                e.preventDefault();\r\n                \r\n                \/\/ Show the loading spinner\r\n                $('#loading-spinner').show();\r\n\r\n                var formData = $(this).serialize(); \/\/ Serialize form data for AJAX request\r\n\r\n                \r\n\r\n                $.ajax({\r\n                    url: customLeadsAjax.ajax_url, \/\/ Use localized AJAX URL\r\n                    method: 'POST',\r\n                    data: {\r\n                        action: 'custom_leads_form',  \/\/ Ensure this matches the action in the PHP\r\n                        data: formData, \/\/ Serialized form data\r\n                        nonce: customLeadsAjax.nonce \/\/ Security nonce\r\n                    },\r\n                    success: function(response) {\r\n                        \/\/ Hide the loading spinner\r\n                        $('#loading-spinner').hide();\r\n\r\n                        \/\/ Handle success response\r\n                        if (response.success) {\r\n                            \/\/ if custom thank you page is set for each installer, rediect to it after showing confirmation message\r\n                            if (response.data.redirect_url) {\r\n                                $('#step-3').hide();\r\n                                $('#SuccessMessage').show();\r\n                                \/\/ Delay the redirection for 2 seconds (2000 milliseconds)\r\n                                setTimeout(function() {\r\n                                    window.location.href = response.data.redirect_url;\r\n                                }, 2000);\r\n                            }\r\n                            else {\r\n                                var redirectUrl = \"\";\r\n                                if (redirectUrl) {\r\n                                    window.location.href = redirectUrl; \/\/ Navigate to the redirect URL provided in general settings\r\n                                } else {\r\n                                    $('#SuccessMessage').show();\r\n                                    $('#step-3').hide();\r\n                                }\r\n                            }\r\n                            \r\n                            \/*$('#SuccessModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                            $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('#step-3').hide();\r\n                            *\/\r\n                            \/\/ Check if GA4 code is present in the response and execute it\r\n                            if (response.data.ga4_code) {\r\n                                \/\/ Create a new script element and insert GA4 code\r\n                                var ga4Script = document.createElement('script');\r\n                                ga4Script.text = response.data.ga4_code;\r\n                                document.body.appendChild(ga4Script); \/\/ Append the script to body to execute\r\n                            }\r\n\r\n                            \/\/ Reload the page after a delay (e.g., 3 seconds)\r\n                             \/* setTimeout(function() {\r\n                                 location.reload();\r\n                             }, 3000); *\/ \/\/ 3000 milliseconds = 3 seconds\r\n\r\n                        } else { \/\/alert(response.error);\r\n                            \/\/showModalMessage('error', 'An error occurred while processing your request. Please try again.');\r\n                            \/\/$('#ErrorModal').modal('show').css('z-index', '-1');\r\n                            \/\/$('.modal-backdrop').css('z-index', '-1');\r\n                            $('#ErrorMessage').show();\r\n                            \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                            });\r\n                            $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                            $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;*\/\r\n                            \/* $('#step-3').hide();\r\n                             setTimeout(function() {\r\n                                location.reload();\r\n                            }, 3000);  *\/\r\n                        }\r\n                    },\r\n                    error: function(xhr, status, error) {   \/\/alert(error);\r\n                        \/\/ Handle the error response (AJAX error)\r\n                        $('#loading-spinner').hide();\r\n                        \/\/showModalMessage('error', 'An error occurred while processing your request. Please try again.');\r\n                        $('#ErrorMessage').show();\r\n                        \/*$('#ErrorModal').modal('show').css({\r\n                                'z-index': '9999',\r\n                                'margin-top': '10%'\r\n                        });\r\n\r\n                        $('.modal-backdrop').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        $('.modal-backdrop.show').css('display', 'none !important;'); \/\/ Adjust modal z-index  z-index: 0 !important;\r\n                        *\/\r\n                        \/\/$('.modal-backdrop').css('z-index', '0 !important;');\r\n                        \/* $('#step-3').hide();\r\n                         setTimeout(function() {\r\n                            location.reload();\r\n                        }, 3000); *\/ \r\n                    }\r\n                });\r\n            });\r\n\r\n            \/\/ Restrict Zip Code input to numbers only\r\n            $('#zip-code').on('input', function() { \/\/alert('asdfsda');\r\n                this.value = this.value.replace(\/[^0-9]\/g, ''); \/\/ Only allow digits\r\n            });\r\n\r\n            \/\/ Get references to the input field and the button\r\n            const zipCodeInput = document.getElementById('zip-code');\r\n            const goButton = document.getElementById('next-step-1');\r\n\r\n            \/\/ Function to check if the ZIP code is valid\r\n            function validateZipCode() {\r\n                const zipCodeValue = zipCodeInput.value;\r\n                \/\/ Check if the input is exactly 5 digits\r\n                if (zipCodeValue.length === 5 && \/^[0-9]+$\/.test(zipCodeValue)) {\r\n                    goButton.classList.remove('not-clickable');  \/\/ Make the button clickable\r\n                } else {\r\n                    goButton.classList.add('not-clickable');     \/\/ Prevent clicking\r\n                }\r\n            }\r\n\r\n            \/\/ Attach an event listener to the input field to monitor changes\r\n            zipCodeInput.addEventListener('input', validateZipCode);\r\n\r\n            \/\/ Add event listener on the button to prevent clicking if it has 'not-clickable' class\r\n            goButton.addEventListener('click', function(event) {\r\n                if (goButton.classList.contains('not-clickable')) {\r\n                    event.preventDefault(); \/\/ Prevent default action\r\n                }\r\n            });\r\n\r\n\r\n        });\r\n\r\n\r\n    <\/script>\r\n\r\n    <\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-806","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Get a Free Quote - The Christmas Light Dude<\/title>\n<meta name=\"description\" content=\"Request a free Christmas light installation quote today. Fast, easy estimates for custom holiday lighting solutions.\" \/>\n<meta name=\"robots\" content=\"noindex, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Get a Free Quote - The Christmas Light Dude\" \/>\n<meta property=\"og:description\" content=\"Request a free Christmas light installation quote today. Fast, easy estimates for custom holiday lighting solutions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/\" \/>\n<meta property=\"og:site_name\" content=\"The Christmas Light Dude\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-30T17:28:15+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/get-a-free-quote\\\/\",\"url\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/get-a-free-quote\\\/\",\"name\":\"Get a Free Quote - The Christmas Light Dude\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/#website\"},\"datePublished\":\"2026-03-06T18:56:55+00:00\",\"dateModified\":\"2026-04-30T17:28:15+00:00\",\"description\":\"Request a free Christmas light installation quote today. Fast, easy estimates for custom holiday lighting solutions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/get-a-free-quote\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/get-a-free-quote\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/get-a-free-quote\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get a Free Quote\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/#website\",\"url\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/\",\"name\":\"The Christmas Light Dude\",\"description\":\"Dude... You Need Lights!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/#organization\",\"name\":\"The Christmas Light Dude\",\"url\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/the-christmas-light-dude-landing.png\",\"contentUrl\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/the-christmas-light-dude-landing.png\",\"width\":654,\"height\":384,\"caption\":\"The Christmas Light Dude\"},\"image\":{\"@id\":\"https:\\\/\\\/www.thechristmaslightdude.com\\\/staging1\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Get a Free Quote - The Christmas Light Dude","description":"Request a free Christmas light installation quote today. Fast, easy estimates for custom holiday lighting solutions.","robots":{"index":"noindex","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"og_locale":"en_US","og_type":"article","og_title":"Get a Free Quote - The Christmas Light Dude","og_description":"Request a free Christmas light installation quote today. Fast, easy estimates for custom holiday lighting solutions.","og_url":"https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/","og_site_name":"The Christmas Light Dude","article_modified_time":"2026-04-30T17:28:15+00:00","twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/","url":"https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/","name":"Get a Free Quote - The Christmas Light Dude","isPartOf":{"@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/#website"},"datePublished":"2026-03-06T18:56:55+00:00","dateModified":"2026-04-30T17:28:15+00:00","description":"Request a free Christmas light installation quote today. Fast, easy estimates for custom holiday lighting solutions.","breadcrumb":{"@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/get-a-free-quote\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.thechristmaslightdude.com\/staging1\/"},{"@type":"ListItem","position":2,"name":"Get a Free Quote"}]},{"@type":"WebSite","@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/#website","url":"https:\/\/www.thechristmaslightdude.com\/staging1\/","name":"The Christmas Light Dude","description":"Dude... You Need Lights!","publisher":{"@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.thechristmaslightdude.com\/staging1\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/#organization","name":"The Christmas Light Dude","url":"https:\/\/www.thechristmaslightdude.com\/staging1\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/#\/schema\/logo\/image\/","url":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2026\/01\/the-christmas-light-dude-landing.png","contentUrl":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-content\/uploads\/2026\/01\/the-christmas-light-dude-landing.png","width":654,"height":384,"caption":"The Christmas Light Dude"},"image":{"@id":"https:\/\/www.thechristmaslightdude.com\/staging1\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/pages\/806","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/comments?post=806"}],"version-history":[{"count":7,"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/pages\/806\/revisions"}],"predecessor-version":[{"id":1629,"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/pages\/806\/revisions\/1629"}],"wp:attachment":[{"href":"https:\/\/www.thechristmaslightdude.com\/staging1\/wp-json\/wp\/v2\/media?parent=806"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}