Partner With Us for Meaningful CSR

Fill in the details below so we can tailor an inclusive, movement-based CSR programme for your organisation — supporting neurodiverse and underserved youth across Malaysia.

    Step 1 of 2

    Section A

    Basic Information

    Tell us a bit about your organisation

    Your Organisation
    CorporateNGOSchool / UniversityCommunity Group
    CSR Objectives & Programme Interest
    Team BuildingInclusion & DEIStaff EngagementCommunity OutreachCo-brandingEmployee Volunteering
    document.addEventListener('DOMContentLoaded', function () { var TOTAL_STEPS = 2; var currentStep = 0; // ── Step navigation ────────────────────────────────────────── function showStep(idx) { for (var i = 0; i < TOTAL_STEPS; i++) { var el = document.getElementById('csr-step-' + i); if (el) el.style.display = (i === idx) ? 'block' : 'none'; } currentStep = idx; updateProgress(idx); window.scrollTo({ top: 0, behavior: 'smooth' }); } function updateProgress(idx) { var pct = ((idx + 1) / TOTAL_STEPS) * 100; var fill = document.getElementById('csr-progress-fill'); var text = document.getElementById('csr-progress-text'); if (fill) fill.style.width = pct + '%'; if (text) text.textContent = 'Step ' + (idx + 1) + ' of ' + TOTAL_STEPS; } // ── Section A required-field validation ────────────────────── function validateSectionA() { var ok = true; var requiredText = ['fname', 'email', 'org', 'phone', 'progtype']; requiredText.forEach(function (name) { var el = document.querySelector('[name="' + name + '"]'); if (!el || !el.value.trim()) ok = false; }); // Radio group: orgtype var orgtype = document.querySelector('input[name="orgtype"]:checked'); if (!orgtype) ok = false; // Checkbox group: at least one obj[] var obj = document.querySelectorAll('input[name="obj[]"]:checked, input[name="obj"]:checked'); if (obj.length === 0) ok = false; var err = document.getElementById('sectionA-error'); if (err) err.style.display = ok ? 'none' : 'block'; return ok; } // ── Section B required-field validation (used on submit) ───── function validateSectionB() { var ok = true; var msg = document.querySelector('[name="message"]'); if (!msg || !msg.value.trim()) ok = false; var consent = document.querySelector('input[name="consent"]'); if (!consent || !consent.checked) ok = false; var err = document.getElementById('sectionB-error'); if (err) err.style.display = ok ? 'none' : 'block'; return ok; } // ── Wire next / prev buttons ───────────────────────────────── document.querySelectorAll('.csr-btn-next').forEach(function (btn) { btn.addEventListener('click', function () { if (this.getAttribute('data-validates') === 'A' && !validateSectionA()) return; if (currentStep 0) showStep(currentStep - 1); }); }); // ── Block submit if Section B invalid ──────────────────────── var cf7Form = document.querySelector('.wpcf7-form'); if (cf7Form) { cf7Form.addEventListener('submit', function (e) { if (!validateSectionB()) { e.preventDefault(); e.stopPropagation(); } }, true); } // ── Range slider counter ───────────────────────────────────── document.addEventListener('input', function (e) { if (e.target && e.target.name === 'participants') { var v = parseInt(e.target.value, 10); var label = document.getElementById('pax-val'); if (label) label.textContent = (v >= 300 ? '300 pax' : v + ' pax'); } }); // ── Highlight selected radio / checkbox containers ─────────── function syncListItemState(input) { var item = input.closest('.wpcf7-list-item'); if (!item) return; if (input.type === 'radio') { var name = input.name; document.querySelectorAll('input[type="radio"][name="' + name + '"]').forEach(function (r) { var li = r.closest('.wpcf7-list-item'); if (li) li.classList.toggle('is-checked', r.checked); }); } else if (input.type === 'checkbox') { item.classList.toggle('is-checked', input.checked); } } document.addEventListener('change', function (e) { var t = e.target; if (t && (t.type === 'radio' || t.type === 'checkbox')) { syncListItemState(t); } }); // Initial sync (in case any inputs are pre-checked) document.querySelectorAll( '.csr-radio-row input[type="radio"], .csr-check-grid input[type="checkbox"]' ).forEach(syncListItemState); // ── CF7 submit feedback ────────────────────────────────────── document.addEventListener('wpcf7submit', function () { var a = document.getElementById('sectionA-error'); var b = document.getElementById('sectionB-error'); if (a) a.style.display = 'none'; if (b) b.style.display = 'none'; }, false); // ── Init ───────────────────────────────────────────────────── showStep(0); });
    Shopping Cart