Neww

☀️
24°C
Padbury
Good day

Poolwise Padbury

🏖️ Your Local Pool Care Experts • Proudly Serving Padbury & Northern Suburbs

Hillarys • Sorrento • Duncraig • Kingsley • Greenwood • Craigie • Woodvale

🏡 PADBURY LOCAL LAUNCH PRICING: Supporting our community with introductory rates - Your neighbours trust us! 🏡
1. Pool Type

✓ Chlorinator output adjusted for local seasons

2. Pool Size

🏊 Average local pool: 40,000-60,000 litres

3. Pool Condition
4. Test Strip Results

💚 Cloudy/Green? See recovery service

ℹ️ Enter if known for salt pools.

ℹ️ Optional. High levels feed algae.

'; var emailData = { to: recipientEmail, from: 'info@poolwisepadbury.com.au', subject: 'Your Poolwise Padbury Water Test Results', htmlBody: emailBodyHtml }; // This is a placeholder for your actual API endpoint. // In a real Shopify scenario, you might use an app proxy or a separate backend service. console.log('Simulating email send:'); console.log(emailData); // Simulate a network request setTimeout(function() { // Simulate a success (change to false to test error) var success = true; if (success) { emailStatus.textContent = '✅ Results sent successfully!'; emailStatus.style.color = 'green'; } else { emailStatus.textContent = '❌ Failed to send email. Please try again or contact us.'; emailStatus.style.color = 'red'; } emailButton.disabled = false; }, 1500); /* // Example of a real 'fetch' call if you have an endpoint fetch('/api/send-pool-results', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify(emailData) }) .then(function(response) { if (!response.ok) { throw new Error('Server error: ' + response.status); } return response.json(); }) .then(function(result) { emailStatus.textContent = '✅ Results sent successfully!'; emailStatus.style.color = 'green'; }) .catch(function(error) { var userErrorMessage = '❌ Failed to send email. '; if (error.message.includes('Failed to fetch')) { userErrorMessage += 'Check network connection.'; } else { userErrorMessage += error.message; } userErrorMessage += ' Please try again or contact us.'; emailStatus.textContent = userErrorMessage; emailStatus.style.color = 'red'; }) .finally(function() { emailButton.disabled = false; }); */ } window.toggleBookingWidget = function(type) { bookingType = type; var widgetId = (type === 'urgent') ? 'bookingWidgetUrgent' : 'bookingWidgetService'; var widget = $('#' + widgetId); if(widget) { if (!widget.classList.contains('active')) { generateBookingWidget(widgetId, type); } widget.classList.toggle('active'); } }; function generateBookingWidget(widgetId, type) { var widget = $('#' + widgetId); if (!widget) { return; } var today = new Date(); var dates = []; if (type === 'urgent') { dates.push({ day: 'Today', date: today.toLocaleDateString('en-AU') }); var tomorrow = new Date(today); tomorrow.setDate(today.getDate() + 1); dates.push({ day: 'Tomorrow', date: tomorrow.toLocaleDateString('en-AU') }); } else { for (var i = 1; i < 6; i++) { var nextDay = new Date(); nextDay.setDate(new Date().getDate() + i); dates.push({ day: nextDay.toLocaleDateString('en-AU', { weekday: 'short' }), date: nextDay.toLocaleDateString('en-AU') }); } } var times = [ { t: '9:00 AM', a: true }, { t: '10:00 AM', a: false }, { t: '11:00 AM', a: true }, { t: '1:00 PM', a: true }, { t: '2:00 PM', a: true }, { t: '3:00 PM', a: false } ]; var html = '

Book Service

'; html += '

Select date:

'; html += '
'; dates.forEach(function(d) { html += '
' + d.day + '
' + d.date + '
'; }); html += '
'; html += '

Select time:

'; html += '
'; times.forEach(function(t) { if (t.a) { html += '
' + t.t + '
'; } else { html += '
' + t.t + '
'; } }); html += '
'; html += ''; html += ''; widget.innerHTML = html; } window.selectDate = function(el, date) { selectedDate = date; var options = $$('.date-option'); options.forEach(function(opt) { opt.classList.remove('selected'); }); if(el) el.classList.add('selected'); updateBookingSummary(); }; window.selectTime = function(el, time) { selectedTime = time; var options = $$('.time-option'); options.forEach(function(opt) { opt.classList.remove('selected'); }); if(el) el.classList.add('selected'); updateBookingSummary(); }; function updateBookingSummary() { if (selectedDate && selectedTime && bookingType) { var summaryEl = $('#bookingSummary' + bookingType); if (summaryEl) { summaryEl.style.display = 'block'; summaryEl.innerHTML = '

🗓️ Selected: ' + selectedTime + ' on ' + selectedDate + '

'; } } } window.confirmBooking = function() { if (selectedDate && selectedTime) { window.location.href = SERVICE_PRICING.booking + '?service_type=' + bookingType + '&date=' + selectedDate + '&time=' + selectedTime; } else { alert('Please select a date and time.'); } }; })();