Register for The Rest Rx Retreat
Your Information
Order Summary
Select a package
October 16-20, 2025
Scottsdale, Arizona
$0.00
Select payment option
$0.00
Secure payment powered by Stripe
// Initialize variables let selectedPackage = ”; let selectedPaymentOption = ”; let packagePrice = 0; let amountDue = 0;
// Set package from URL parameter if available document.addEventListener(‘DOMContentLoaded’, function() { const packageParam = getUrlParameter(‘package’); if (packageParam) { selectPackage(packageParam); }
// Add event listeners for package selection document.getElementById(‘package_standard’).addEventListener(‘change’, function() { if(this.checked) { selectPackage(‘standard’); } });
document.getElementById(‘package_premium’).addEventListener(‘change’, function() { if(this.checked) { selectPackage(‘premium’); } });
// Add event listeners for payment option selection document.getElementById(‘payment_full’).addEventListener(‘change’, function() { if(this.checked) { selectPaymentOption(‘full’); } });
document.getElementById(‘payment_deposit’).addEventListener(‘change’, function() { if(this.checked) { selectPaymentOption(‘deposit’); } });
// Handle form submission and Stripe integration document.getElementById(‘stripe-button’).addEventListener(‘click’, function(e) { e.preventDefault();
// Validate form const form = document.getElementById(‘registration-form’); if (!form.checkValidity()) { form.reportValidity(); return; }
// Check if package and payment option are selected if (!selectedPackage || !selectedPaymentOption) { alert(‘Please select a package and payment option.’); return; }
// Here you would integrate with Stripe // For WordPress implementation, this would redirect to a WooCommerce checkout // or use a Stripe plugin to handle the payment
// For now, we’ll simulate a redirect to a thank you page alert(‘In the WordPress implementation, this would connect to Stripe for payment processing. After successful payment, the user would be redirected to a confirmation page.’);
// Collect form data for submission const formData = new FormData(form); formData.append(‘selected_package’, selectedPackage); formData.append(‘payment_option’, selectedPaymentOption); formData.append(‘amount_due’, amountDue);
// Log form data (for demonstration) console.log(‘Form data collected for submission:’); for (let pair of formData.entries()) { console.log(pair[0] + ‘: ‘ + pair[1]); }
// In WordPress implementation, this would be handled by a form submission handler }); });
// Package selection function function selectPackage(package) { selectedPackage = package;
// Update radio buttons document.getElementById(‘package_standard’).checked = (package === ‘standard’); document.getElementById(‘package_premium’).checked = (package === ‘premium’);
// Update box styling document.getElementById(‘standard-package-box’).style.border = (package === ‘standard’) ? ‘2px solid #d75fa2’ : ‘1px solid #ddd’; document.getElementById(‘standard-package-box’).style.backgroundColor = (package === ‘standard’) ? ‘#fdf8fb’ : ‘white’;
document.getElementById(‘premium-package-box’).style.border = (package === ‘premium’) ? ‘2px solid #d75fa2’ : ‘1px solid #ddd’; document.getElementById(‘premium-package-box’).style.backgroundColor = (package === ‘premium’) ? ‘#fdf8fb’ : ‘white’;
// Update package price if (package === ‘standard’) { packagePrice = 2495; document.getElementById(‘summary-package’).textContent = ‘Standard Package’; } else if (package === ‘premium’) { packagePrice = 2995; document.getElementById(‘summary-package’).textContent = ‘Premium Package’; }
document.getElementById(‘summary-subtotal’).textContent = ‘$’ + packagePrice.toFixed(2);
// Update total due based on payment option updateTotalDue(); }
// Payment option selection function function selectPaymentOption(option) { selectedPaymentOption = option;
// Update radio buttons document.getElementById(‘payment_full’).checked = (option === ‘full’); document.getElementById(‘payment_deposit’).checked = (option === ‘deposit’);
// Update box styling document.getElementById(‘full-payment-box’).style.border = (option === ‘full’) ? ‘2px solid #d75fa2’ : ‘1px solid #ddd’; document.getElementById(‘full-payment-box’).style.backgroundColor = (option === ‘full’) ? ‘#fdf8fb’ : ‘white’;
document.getElementById(‘deposit-payment-box’).style.border = (option === ‘deposit’) ? ‘2px solid #d75fa2’ : ‘1px solid #ddd’; document.getElementById(‘deposit-payment-box’).style.backgroundColor = (option === ‘deposit’) ? ‘#fdf8fb’ : ‘white’;
// Update payment option text if (option === ‘full’) { document.getElementById(‘summary-payment-option’).textContent = ‘Pay in Full’; } else if (option === ‘deposit’) { document.getElementById(‘summary-payment-option’).textContent = ‘Deposit’; }
// Update total due updateTotalDue(); }
// Update total due based on selections function updateTotalDue() { if (selectedPackage && selectedPaymentOption) { if (selectedPaymentOption === ‘full’) { amountDue = packagePrice; } else if (selectedPaymentOption === ‘deposit’) { amountDue = 500; }
document.getElementById(‘summary-total’).textContent = ‘$’ + amountDue.toFixed(2); document.getElementById(‘stripe-button’).disabled = false; document.getElementById(‘stripe-button’).style.opacity = ‘1’; } else { document.getElementById(‘stripe-button’).disabled = true; document.getElementById(‘stripe-button’).style.opacity = ‘0.7’; } }