{"id":17,"date":"2025-09-23T14:44:40","date_gmt":"2025-09-23T18:44:40","guid":{"rendered":"https:\/\/support.pdmus.com\/?page_id=17"},"modified":"2025-11-06T17:29:17","modified_gmt":"2025-11-06T22:29:17","slug":"trouble-ticket-support-page","status":"publish","type":"page","link":"https:\/\/support.pdmus.com\/","title":{"rendered":"Trouble Ticket Support Page"},"content":{"rendered":"\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<p class=\"has-contrast-color has-text-color has-link-color wp-elements-57c662068c050a1364de34302c960a99\">We are sorry to hear you are experiencing difficulties with one of our products. In order for us to expedite the process please fill the form below.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns alignwide are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n    <form method=\"post\" id=\"coilForm\" enctype=\"multipart\/form-data\">\n\n        <!-- Hidden ticket field -->\n        <input type=\"hidden\" name=\"ticket_id\" id=\"ticket_id\" value=\"\">\n        <input type=\"hidden\" id=\"coil_form_nonce\" name=\"coil_form_nonce\" value=\"586d77c336\" \/><input type=\"hidden\" name=\"_wp_http_referer\" value=\"\/index.php\/wp-json\/wp\/v2\/pages\/17\" \/>\n        <div class=\"progress-wrap\" aria-hidden=\"false\">\n            <div class=\"progress-label\">Progress: <span id=\"progressText\">Step 1 of 4<\/span><\/div>\n            <div class=\"progress\">\n                <div class=\"progress-bar\" id=\"progressBar\" style=\"width:0%\"><\/div>\n            <\/div>\n        <\/div>\n\n        <!-- STEP 1: Sell to Contractor -->\n        <div class=\"form-step step-1\">\n            <label>DID YOU SELL PRODUCTS TO A CONTRACTOR? *<\/label>\n            <div class=\"radio-group\">\n                <label><input type=\"radio\" name=\"sold_to_contractor\" value=\"Yes\" required> YES<\/label>\n                <label><input type=\"radio\" name=\"sold_to_contractor\" value=\"No\" required> NO<\/label>\n            <\/div>\n            <div id=\"contractor-section\" style=\"display:none; margin-top:10px;\">\n                <h3>Contractor Information<\/h3>\n\n                <label>Contractor Name *<\/label>\n                <input type=\"text\" name=\"contractor_name\">\n\n                <h3>Contractor Contact Information<\/h3>\n                <label>First Name *<\/label>\n                <input type=\"text\" name=\"contractor_first\">\n\n                <label>Last Name *<\/label>\n                <input type=\"text\" name=\"contractor_last\">\n\n                <label>Email *<\/label>\n                <input type=\"email\" name=\"contractor_email\">\n\n                <label>Phone *<\/label>\n                <input type=\"tel\" name=\"contractor_phone\">\n\n                <h4>Address<\/h4>\n                <label>Address *<\/label>\n                <input type=\"text\" name=\"contractor_address\">\n                <label>Address Line 2 (Apt, Suite, etc.)<\/label>\n                <input type=\"text\" name=\"contractor_address2\" placeholder=\"Apartment, Suite, Unit, Building, Floor, etc.\">\n\n                <label>City *<\/label>\n                <input type=\"text\" name=\"contractor_city\">\n\n                <label>State *<\/label>\n                <select name=\"contractor_state\">\n                <option value=\"\">\u2014 Select State \u2014<\/option>\n                <option value='AL'>Alabama<\/option><option value='AK'>Alaska<\/option><option value='AZ'>Arizona<\/option><option value='AR'>Arkansas<\/option><option value='CA'>California<\/option><option value='CO'>Colorado<\/option><option value='CT'>Connecticut<\/option><option value='DE'>Delaware<\/option><option value='FL'>Florida<\/option><option value='GA'>Georgia<\/option><option value='HI'>Hawaii<\/option><option value='ID'>Idaho<\/option><option value='IL'>Illinois<\/option><option value='IN'>Indiana<\/option><option value='IA'>Iowa<\/option><option value='KS'>Kansas<\/option><option value='KY'>Kentucky<\/option><option value='LA'>Louisiana<\/option><option value='ME'>Maine<\/option><option value='MD'>Maryland<\/option><option value='MA'>Massachusetts<\/option><option value='MI'>Michigan<\/option><option value='MN'>Minnesota<\/option><option value='MS'>Mississippi<\/option><option value='MO'>Missouri<\/option><option value='MT'>Montana<\/option><option value='NE'>Nebraska<\/option><option value='NV'>Nevada<\/option><option value='NH'>New Hampshire<\/option><option value='NJ'>New Jersey<\/option><option value='NM'>New Mexico<\/option><option value='NY'>New York<\/option><option value='NC'>North Carolina<\/option><option value='ND'>North Dakota<\/option><option value='OH'>Ohio<\/option><option value='OK'>Oklahoma<\/option><option value='OR'>Oregon<\/option><option value='PA'>Pennsylvania<\/option><option value='RI'>Rhode Island<\/option><option value='SC'>South Carolina<\/option><option value='SD'>South Dakota<\/option><option value='TN'>Tennessee<\/option><option value='TX'>Texas<\/option><option value='UT'>Utah<\/option><option value='VT'>Vermont<\/option><option value='VA'>Virginia<\/option><option value='WA'>Washington<\/option><option value='WV'>West Virginia<\/option><option value='WI'>Wisconsin<\/option><option value='WY'>Wyoming<\/option>                <\/select>\n\n                <label>Postal \/ ZIP Code *<\/label>\n                <input type=\"text\" name=\"contractor_zip\">\n\n                <label>Country *<\/label>\n                <select name=\"contractor_country\">\n                <option value=\"\">\u2014 Select Country \u2014<\/option>\n                <option value='US'>United States<\/option><option value='CA'>Canada<\/option><option value='MX'>Mexico<\/option><option value='GB'>United Kingdom<\/option><option value='AU'>Australia<\/option><option value='FR'>France<\/option><option value='DE'>Germany<\/option><option value='IN'>India<\/option><option value='IT'>Italy<\/option><option value='JP'>Japan<\/option><option value='CN'>China<\/option><option value='BR'>Brazil<\/option><option value='ZA'>South Africa<\/option><option value='NZ'>New Zealand<\/option><option value='SG'>Singapore<\/option><option value='KR'>South Korea<\/option>                <\/select>\n            <\/div>\n\n            <button type=\"button\" class=\"next-step\">Next<\/button>\n        <\/div>\n\n        <!-- STEP 3: Product Info -->\n        <div class=\"form-step step-3\" style=\"display:none;\">\n            <h3>Product Information<\/h3>\n            <div id=\"product-list\">\n                <div class=\"product-item\">\n                    <label>PRODUCT SKU *<\/label>\n                    <select name=\"sku[]\" required>\n                        <option value=\"\">\u2014 Select SKU \u2014<\/option>\n                        <option value=\"F100-GUS1185012\">F100-GUS1185012<\/option>\n                        <option value=\"F100-GUS1210034\">F100-GUS1210034<\/option>\n                        <option value=\"F100-GUS121512\">F100-GUS121512<\/option>\n                        <option value=\"F100-GUS1216412\">F100-GUS1216412<\/option>\n                        <option value=\"F100-GUS122512\">F100-GUS122512<\/option>\n                        <option value=\"F100-GUS123512\">F100-GUS123512<\/option>\n                        <option value=\"F100-GUS1250100\">F100-GUS1250100<\/option>\n                        <option value=\"F100-GUS125012\">F100-GUS125012<\/option>\n                        <option value=\"F100-GUS125034\">F100-GUS125034<\/option>\n                        <option value=\"F100-GUS1410034\">F100-GUS1410034<\/option>\n                    <\/select>\n\n                    <label>Quantity *<\/label>\n                    <input type=\"number\" name=\"quantity[]\" min=\"1\" required>\n\n                    <label>Is the Installation Date available?<\/label>\n                    <div class=\"radio-group\">\n                        <label><input type=\"radio\" name=\"date_known[0]\" value=\"Yes\" required checked> YES<\/label>\n                        <label><input type=\"radio\" name=\"date_known[0]\" value=\"No\" required> NO<\/label>\n                    <\/div>\n                    <div class=\"date-wrapper\">\n                        <label>Installation Date<\/label>\n                        <input type=\"date\" name=\"date_stamp[]\">\n                    <\/div>\n\n                    <label>Brief Issue *<\/label>\n                    <input type=\"text\" name=\"issue[]\" required placeholder=\"Brief issue (describe)\">\n\n                    <label>Upload Picture (optional)<\/label>\n                    <input type=\"file\" name=\"picture[]\" accept=\"image\/*\">\n\n                    <label>DID YOU INSTALL COILS AT YOUR CUSTOMER JOB SITE? *<\/label>\n                    <div class=\"radio-group\">\n                        <label><input type=\"radio\" name=\"installed_at_jobsite[0]\" value=\"Yes\" required> YES<\/label>\n                        <label><input type=\"radio\" name=\"installed_at_jobsite[0]\" value=\"No\" required> NO<\/label>\n                    <\/div>\n\n                    <div class=\"jobsite-fields\" style=\"display:none;\">\n                        <label>End User First Name *<\/label>\n                        <input type=\"text\" name=\"job_enduser_first[0]\">\n\n                        <label>End User Last Name *<\/label>\n                        <input type=\"text\" name=\"job_enduser_last[0]\">\n\n                        <label>Job Site Address *<\/label>\n                        <input type=\"text\" name=\"job_address[0]\">\n\n                        <label>Job Site Address Line 2 <\/label>\n                        <input type=\"text\" name=\"job_address2[0]\" placeholder=\"Apartment, Suite, Unit, Building, Floor, etc.\">\n\n                        <label>City *<\/label>\n                        <input type=\"text\" name=\"job_city[0]\">\n\n                        <label>State *<\/label>\n                        <select name=\"job_state[0]\">\n                            <option value=\"\">\u2014 Select State \u2014<\/option>\n                            <option value='AL'>Alabama<\/option><option value='AK'>Alaska<\/option><option value='AZ'>Arizona<\/option><option value='AR'>Arkansas<\/option><option value='CA'>California<\/option><option value='CO'>Colorado<\/option><option value='CT'>Connecticut<\/option><option value='DE'>Delaware<\/option><option value='FL'>Florida<\/option><option value='GA'>Georgia<\/option><option value='HI'>Hawaii<\/option><option value='ID'>Idaho<\/option><option value='IL'>Illinois<\/option><option value='IN'>Indiana<\/option><option value='IA'>Iowa<\/option><option value='KS'>Kansas<\/option><option value='KY'>Kentucky<\/option><option value='LA'>Louisiana<\/option><option value='ME'>Maine<\/option><option value='MD'>Maryland<\/option><option value='MA'>Massachusetts<\/option><option value='MI'>Michigan<\/option><option value='MN'>Minnesota<\/option><option value='MS'>Mississippi<\/option><option value='MO'>Missouri<\/option><option value='MT'>Montana<\/option><option value='NE'>Nebraska<\/option><option value='NV'>Nevada<\/option><option value='NH'>New Hampshire<\/option><option value='NJ'>New Jersey<\/option><option value='NM'>New Mexico<\/option><option value='NY'>New York<\/option><option value='NC'>North Carolina<\/option><option value='ND'>North Dakota<\/option><option value='OH'>Ohio<\/option><option value='OK'>Oklahoma<\/option><option value='OR'>Oregon<\/option><option value='PA'>Pennsylvania<\/option><option value='RI'>Rhode Island<\/option><option value='SC'>South Carolina<\/option><option value='SD'>South Dakota<\/option><option value='TN'>Tennessee<\/option><option value='TX'>Texas<\/option><option value='UT'>Utah<\/option><option value='VT'>Vermont<\/option><option value='VA'>Virginia<\/option><option value='WA'>Washington<\/option><option value='WV'>West Virginia<\/option><option value='WI'>Wisconsin<\/option><option value='WY'>Wyoming<\/option>                        <\/select>\n\n                        <label>Postal \/ ZIP Code *<\/label>\n                        <input type=\"text\" name=\"job_zip[0]\">\n\n                        <label>Country *<\/label>\n                        <select name=\"job_country[0]\">\n                            <option value=\"\">\u2014 Select Country \u2014<\/option>\n                            <option value='US'>United States<\/option><option value='CA'>Canada<\/option><option value='MX'>Mexico<\/option><option value='GB'>United Kingdom<\/option><option value='AU'>Australia<\/option><option value='FR'>France<\/option><option value='DE'>Germany<\/option><option value='IN'>India<\/option><option value='IT'>Italy<\/option><option value='JP'>Japan<\/option><option value='CN'>China<\/option><option value='BR'>Brazil<\/option><option value='ZA'>South Africa<\/option><option value='NZ'>New Zealand<\/option><option value='SG'>Singapore<\/option><option value='KR'>South Korea<\/option>                        <\/select>\n                    <\/div>\n\n                    <button type=\"button\" class=\"remove-product\" style=\"display:none;\">Remove<\/button>\n                    <hr>\n                <\/div>\n            <\/div>\n            <button type=\"button\" id=\"add-product\">+ Add Another Product<\/button>\n\n            <button type=\"button\" class=\"prev-step\">Back<\/button>\n            <button type=\"button\" class=\"next-step\">Next<\/button>\n        <\/div>\n\n        <!-- STEP 4: Confirmation Summary -->\n        <div class=\"form-step step-4\" style=\"display:none;\">\n            <h3>Review Your Submission<\/h3>\n            <div id=\"summary\"><\/div>\n\n            <div class=\"acknowledgment-section\" style=\"margin: 20px 0; padding: 15px; background: #f5f5f5; border-radius: 4px;\">\n                <label class=\"acknowledgment-label\">\n                    <input type=\"checkbox\" name=\"acknowledgment\" required>\n                    By submitting this form, contractor certifies that all information provided is accurate and consents to PDM using this data for processing the installation request.\n                    PDM will prosecute any fraudulent attempt or false statement in this document up to the full extent of the law.\n\n                    DO NOT SHIP ANYTHING UNTILL A TROUBLE TICKET NUMBER HAS BEEN ASSIGNED TO YOU OR SHIPMENT WILL BE AUTOMATICALLY DISCARDED\n                <\/label>\n            <\/div>\n\n            <button type=\"button\" class=\"prev-step\">Back<\/button>\n            <button type=\"submit\" name=\"coil_submit\">Submit<\/button>\n        <\/div>\n\n        <!-- Thank you message (hidden by default) -->\n        <div id=\"thank-you-message\" style=\"display:none; text-align:center; padding:30px; background:#f0f9ff; border-radius:8px; margin:20px 0;\">\n            <h2 style=\"color:#0066cc; margin-bottom:15px;\">Thank You for Your Submission!<\/h2>\n            <p style=\"font-size:16px; color:#444;\">Your coil installation form has been received. Our team will review it shortly.<\/p>\n        <\/div>\n    <\/form>\n\n    <!-- Styles moved to external file (coil_form_additional.css).\n         Paste the contents of coil_form_additional.css into WordPress > Customize > Additional CSS.\n    -->\n\n    <script>\n    document.addEventListener('DOMContentLoaded', function() {\n        const form = document.getElementById('coilForm');\n        const steps = form.querySelectorAll('.form-step');\n        let currentStep = 0;\n\n        \/\/ Simple HTML escape to prevent injection into the summary\n        function escapeHtml(str) {\n            if (typeof str !== 'string') return str;\n            return str.replace(\/&\/g, '&amp;')\n                      .replace(\/<\/g, '&lt;')\n                      .replace(\/>\/g, '&gt;')\n                      .replace(\/\"\/g, '&quot;')\n                      .replace(\/'\/g, '&#39;');\n        }\n\n        function updateProgress(index) {\n            const total = steps.length;\n            const stepNum = (index + 1);\n            const pct = Math.round(((index) \/ (total - 1)) * 100);\n            const bar = document.getElementById('progressBar');\n            const txt = document.getElementById('progressText');\n            if (bar) bar.style.width = pct + '%';\n            if (txt) txt.textContent = `Step ${stepNum} of ${total}`;\n        }\n\n        function showStep(index) {\n            steps.forEach((step, i) => step.style.display = (i === index ? 'block' : 'none'));\n            updateProgress(index);\n        }\n\n        \/\/ Keep contractor fields' required attributes in sync and show\/hide the contractor section\n        function setContractorRequired(required) {\n            const contractorSection = document.getElementById('contractor-section');\n            if (!contractorSection) return;\n            const contractorFields = contractorSection.querySelectorAll('input,select,textarea');\n            contractorFields.forEach(el => {\n                if (el.type === 'hidden' || el.type === 'button') return;\n                el.required = required;\n                if (!required) { try { el.value = ''; } catch (err) {} }\n            });\n            contractorSection.style.display = required ? 'block' : 'none';\n        }\n\n        \/\/ initialize contractor required to false (hidden)\n        setContractorRequired(false);\n\n        \/\/ update contractor required and visibility when radio changes\n        form.addEventListener('change', function(ev) {\n            if (ev.target && ev.target.name === 'sold_to_contractor') {\n                const soldYes = form.querySelector('input[name=\"sold_to_contractor\"][value=\"Yes\"]').checked;\n                setContractorRequired(soldYes);\n            }\n        });\n\n        \/\/ Capture URL ?ticket=1234\n        const urlParams = new URLSearchParams(window.location.search);\n        const ticket = urlParams.get('ticket');\n        if (ticket) document.getElementById('ticket_id').value = ticket;\n\n        \/\/ Handle step navigation (simplified) - contractor is inlined in step-1 and toggled immediately\n        form.addEventListener('click', function(e) {\n            if (e.target.classList.contains('next-step')) {\n                const inputs = steps[currentStep].querySelectorAll('[required]');\n                for (let input of inputs) {\n                    if (!input.checkValidity()) {\n                        input.reportValidity();\n                        return;\n                    }\n                }\n\n                \/\/ ensure contractor fields required state matches the selection\n                const soldYes = form.querySelector('input[name=\"sold_to_contractor\"][value=\"Yes\"]')?.checked;\n                setContractorRequired(!!soldYes);\n\n                if (currentStep < steps.length - 1) currentStep++;\n                showStep(currentStep);\n\n                if (steps[currentStep].classList.contains('step-4')) generateSummary();\n            }\n\n            if (e.target.classList.contains('prev-step')) {\n                if (currentStep > 0) currentStep--;\n                showStep(currentStep);\n            }\n        });\n\n        \/\/ Add\/remove product sections\n        document.getElementById('add-product').addEventListener('click', function() {\n            const productList = document.getElementById('product-list');\n            const count = productList.children.length;\n            const newItem = productList.firstElementChild.cloneNode(true);\n            \/\/ clear non-radio values\n            newItem.querySelectorAll('input, select').forEach(el => { if (el.type !== 'radio') el.value = ''; });\n\n            \/\/ rename radio groups and reset checked state appropriately\n            newItem.querySelectorAll('input[type=radio]').forEach(el => {\n                el.name = el.name.replace(\/\\[\\d+\\]\/, `[${count}]`);\n                el.checked = false;\n            });\n\n            \/\/ rename job_ fields to the new index\n            newItem.querySelectorAll('[name^=\"job_\"]').forEach(el => { el.name = el.name.replace(\/\\[\\d+\\]\/, `[${count}]`); });\n\n            \/\/ set sensible defaults: date_known -> Yes and show date input\n            const radioNames = new Set();\n            newItem.querySelectorAll('input[type=radio]').forEach(r => radioNames.add(r.name));\n            radioNames.forEach(name => {\n                if (name.startsWith('date_known')) {\n                    const yes = newItem.querySelector(`input[name=\"${name}\"][value=\"Yes\"]`);\n                    if (yes) yes.checked = true;\n                    const dateInput = newItem.querySelector('input[name=\"date_stamp[]\"]');\n                    if (dateInput) { dateInput.required = true; newItem.querySelector('.date-wrapper').style.display = 'block'; }\n                }\n            });\n\n            newItem.querySelector('.remove-product').style.display = 'inline-block';\n            productList.appendChild(newItem);\n        });\n\n        form.addEventListener('click', function(e) {\n            if (e.target.classList.contains('remove-product')) {\n                const item = e.target.closest('.product-item');\n                if (item) item.remove();\n            }\n\n            if (e.target.name.startsWith('installed_at_jobsite')) {\n                const item = e.target.closest('.product-item');\n                const show = e.target.value === 'Yes';\n                item.querySelector('.jobsite-fields').style.display = show ? 'block' : 'none';\n                item.querySelectorAll('.jobsite-fields input, .jobsite-fields select').forEach(el => {\n                    el.required = show;\n                });\n            }\n\n            if (e.target.name && e.target.name.startsWith('date_known')) {\n                const item = e.target.closest('.product-item');\n                const hasDate = e.target.value === 'Yes';\n                const dateWrapper = item.querySelector('.date-wrapper');\n                const dateInput = item.querySelector('input[name=\"date_stamp[]\"]');\n                if (dateWrapper && dateInput) {\n                    dateWrapper.style.display = hasDate ? 'block' : 'none';\n                    dateInput.required = hasDate;\n                    if (!hasDate) dateInput.value = '';\n                }\n            }\n        });\n\n        \/\/ Handle form submission and thank you message\n        form.addEventListener('submit', function(e) {\n            e.preventDefault(); \/\/ Prevent default form submission (page reload)\n            \n            const acknowledgment = form.querySelector('input[name=\"acknowledgment\"]');\n            if (!acknowledgment.checked) {\n                acknowledgment.scrollIntoView({ behavior: 'smooth', block: 'center' });\n                alert('Please acknowledge the submission terms to continue.');\n                return;\n            }\n\n            \/\/ Submit form data via AJAX to process server-side (CSV, email)\n            const formData = new FormData(form);\n            formData.append('coil_submit', '1'); \/\/ Ensure the submit flag is set\n            \n            fetch(window.location.href, {\n                method: 'POST',\n                body: formData\n            })\n            .then(response => response.text())\n            .catch(error => {\n                console.error('Submission error:', error);\n                alert('There was an error submitting the form. Please try again.');\n            })\n            .finally(() => {\n                \/\/ Hide form and show thank you message after submission attempt\n                const formSteps = form.querySelectorAll('.form-step');\n                formSteps.forEach(step => step.style.display = 'none');\n                document.querySelector('.progress-wrap').style.display = 'none';\n                document.getElementById('thank-you-message').style.display = 'block';\n            });\n        });\n\n        \/\/ Generate confirmation summary\n        function generateSummary() {\n            const summary = document.getElementById('summary');\n            let html = `<p><strong>Ticket ID:<\/strong> ${escapeHtml(document.getElementById('ticket_id').value || 'N\/A')}<\/p>`;\n            const sold = form.querySelector('input[name=\"sold_to_contractor\"]:checked')?.value || 'N\/A';\n            html += `<p><strong>Sold to Contractor:<\/strong> ${escapeHtml(sold)}<\/p>`;\n\n                if (sold === 'Yes') {\n                    html += `<h4>Contractor Info<\/h4>`;\n                    const rawContractorName = (form.contractor_name && form.contractor_name.value) ? form.contractor_name.value : ((form.contractor_first.value || form.contractor_last.value) ? `${form.contractor_first.value} ${form.contractor_last.value}` : '');\n                    html += `<p><strong>Contractor Name:<\/strong> ${escapeHtml(rawContractorName || 'N\/A')}<\/p>`;\n                    html += `<p><strong>First Name:<\/strong> ${escapeHtml(form.contractor_first.value || 'N\/A')}<br>\n                    <strong>Last Name:<\/strong> ${escapeHtml(form.contractor_last.value || 'N\/A')}<\/p>`;\n                    html += `<p><strong>Email:<\/strong> ${escapeHtml(form.contractor_email.value || 'N\/A')}<br>\n                    <strong>Phone:<\/strong> ${escapeHtml(form.contractor_phone.value || 'N\/A')}<\/p>`;\n                    html += `<p><strong>Address:<\/strong><br>\n                    ${escapeHtml(form.contractor_address.value || '')}${form.contractor_address2.value ? '<br>' + escapeHtml(form.contractor_address2.value) : ''}<br>\n                    ${escapeHtml(form.contractor_city.value || '')}, ${escapeHtml(form.contractor_state.value || '')} ${escapeHtml(form.contractor_zip.value || '')}<br>\n                    ${escapeHtml(form.contractor_country.value || '')}<\/p>`;\n                }\n\n            html += `<h4>Products<\/h4>`;\n            const skus = form.querySelectorAll('[name=\"sku[]\"]');\n            \/\/ gather end user inputs (names like job_enduser_first[0], job_enduser_last[0])\n            const endUsersFirst = form.querySelectorAll('[name^=\"job_enduser_first\"]');\n            const endUsersLast = form.querySelectorAll('[name^=\"job_enduser_last\"]');\n            const jobAddresses2 = form.querySelectorAll('[name^=\"job_address2[\"]');\n            skus.forEach((sku, i) => {\n                    const installed = form.querySelector(`input[name=\"installed_at_jobsite[${i}]\"]:checked`)?.value || 'N\/A';\n                const endUser = escapeHtml(((endUsersFirst[i]?.value || '') + ' ' + (endUsersLast[i]?.value || '')).trim() || 'N\/A');\n                const dateValRaw = form.querySelectorAll('[name=\"date_stamp[]\"]')[i]?.value || '';\n                const dateVal = dateValRaw ? dateValRaw : 'N\/A';\n                html += `<p><strong>Product ${i+1}<\/strong><br>\n                SKU: ${escapeHtml(sku.value || '')}<br>\n                Quantity: ${escapeHtml((form.querySelectorAll('[name=\"quantity[]\"]')[i].value) || '')}<br>\n                Date: ${escapeHtml(dateVal)}<br>\n                Issue: ${escapeHtml((form.querySelectorAll('[name=\"issue[]\"]')[i].value) || '')}<br>\n                End User: ${endUser}<br>\n                Installed at Job Site: ${escapeHtml(installed)}${installed === 'Yes' ? '<br>Job Address: ' + escapeHtml((form.querySelectorAll('[name^=\"job_address[\"]')[i]?.value || '')) + (jobAddresses2[i]?.value ? '<br>' + escapeHtml(jobAddresses2[i].value) : '') + '<br>' + escapeHtml((form.querySelectorAll('[name^=\"job_city[\"]')[i]?.value || '')) + ', ' + escapeHtml((form.querySelectorAll('[name^=\"job_state[\"]')[i]?.value || '')) + ' ' + escapeHtml((form.querySelectorAll('[name^=\"job_zip[\"]')[i]?.value || '')) + '<br>' + escapeHtml((form.querySelectorAll('[name^=\"job_country[\"]')[i]?.value || '')) : ''}<\/p>`;\n            });\n            summary.innerHTML = html;\n        }\n\n        showStep(currentStep);\n\n        \/\/ Initialize per-product date wrapper visibility\/required based on current radio states\n        document.querySelectorAll('.product-item').forEach(item => {\n            const selected = item.querySelector('input[name^=\"date_known\"]:checked');\n            const dateWrapper = item.querySelector('.date-wrapper');\n            const dateInput = item.querySelector('input[name=\"date_stamp[]\"]');\n            const hasDate = selected ? selected.value === 'Yes' : false;\n            if (dateWrapper && dateInput) {\n                dateWrapper.style.display = hasDate ? 'block' : 'none';\n                dateInput.required = hasDate;\n            }\n        });\n    });\n    <\/script>\n\n<!--     <style>\n        .form-step { margin-bottom: 25px; }\n        .form-step button { margin-top: 10px; margin-right: 5px; }\n        .product-item { margin-bottom: 15px; padding:10px; background:#f8f8f8; border-radius:6px; }\n        #add-product { margin-top: 10px; display: block; }\n        hr { border: 1px solid #ccc; margin: 10px 0; }\n        #summary { background: #f9f9f9; padding: 15px; border-radius: 6px; }\n        .jobsite-fields { margin-left:20px; margin-top:10px; background:#eef; padding:10px; border-radius:6px; }\n    <\/style>\n -->\n    \n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\"><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>We are sorry to hear you are experiencing difficulties with one of our products. In order for us to expedite the process please fill the form below.<\/p>\n","protected":false},"author":2,"featured_media":34,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-17","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/pages\/17","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/comments?post=17"}],"version-history":[{"count":20,"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/pages\/17\/revisions"}],"predecessor-version":[{"id":212,"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/pages\/17\/revisions\/212"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/media\/34"}],"wp:attachment":[{"href":"https:\/\/support.pdmus.com\/index.php\/wp-json\/wp\/v2\/media?parent=17"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}