Frequently Asked Questions

What is Care2Run?
Care2Run is a non-profit social enterprise that aims to transform differently-abled young people and young people from under-served communities to become tomorrow’s leaders via evidence-based adaptive sports programmes.
What programmes can I enrol in?

At Care2Run, we offer a variety of programmes aimed at transforming the lives of young people:

Visit the specific programme’s page to find more details about its duration, eligibility, and learning outcomes.

How can I work for Care2Run?

You can contribute in a variety of ways, from being a mentor to those with learning challenges to assisting with behind-the-scenes work to facilitate Care2Run programmes:

How can I donate to Care2Run?

Head to our Donate page, select your desired amount, and send in your money via PayPal, credit card, or debit card. You can also choose to make recurring donations on a weekly or monthly basis in the donation form.

We would really appreciate your help to achieve Care2Run’s mission of providing for the community.

The Form is in Development Progress

FX Registration Form

    Step 1 of 6

    FX Orientation Guide

    Please Download: FunXercises Orientation Guide to get a general idea on what you, your child and family can expect to prepare for our typical programme.

    Type of Registration *




    document.addEventListener('DOMContentLoaded', function() { const steps = document.querySelectorAll('.step'); let currentStep = 0; const progressFill = document.getElementById('progress-fill'); const progressText = document.getElementById('progress-text'); // DOB -> Age const dobInput = document.getElementById('dob'); const ageField = document.getElementById('calculated-age'); // Pricing controls const planSelect = document.getElementById('payment-plan'); const siblingField = document.getElementById('sibling-field'); const siblingInput = document.getElementById('siblings'); const totalField = document.getElementById('calculated-total'); function updateProgress() { const percent = ((currentStep + 1) / steps.length) * 100; progressFill.style.width = percent + '%'; progressText.textContent = `Step ${currentStep + 1} of ${steps.length}`; } function showStep(index) { steps.forEach((s, i) => s.style.display = i === index ? 'block' : 'none'); updateProgress(); window.scrollTo({ top: 0, behavior: 'smooth' }); } // Step 0 validation (registration type only) function validateStep0() { const stepEl = steps[0]; const selected = stepEl.querySelector('input[name="registration_type"]:checked'); if (!selected) { alert('Please select a registration type.'); return false; } return true; } // Pricing calculator function getSelectedSessionCount() { const checked = document.querySelectorAll('input[name="session_selection[]"]:checked, input[name="session_selection"]:checked'); return checked.length; } function calculateTotal() { const sessions = getSelectedSessionCount(); const plan = planSelect ? planSelect.value : ""; const siblings = siblingInput ? (parseInt(siblingInput.value, 10) || 0) : 0; let total = 0; if (plan === "Single Session") { total = sessions * 30; if (siblingField) siblingField.style.display = "none"; } else if (plan === "Bundle (3 Sessions)") { total = Math.ceil(sessions / 3) * 75; if (siblingField) siblingField.style.display = "none"; } else if (plan === "Group Bundle") { if (siblingField) siblingField.style.display = "block"; total = Math.ceil(sessions / 3) * 300 - (siblings * 10); if (total 0 ? "RM " + total : ""; } // Attach session & plan listeners function attachSessionListeners() { const sessionBoxes = document.querySelectorAll('input[name="session_selection[]"], input[name="session_selection"]'); sessionBoxes.forEach(cb => cb.addEventListener('change', calculateTotal)); } attachSessionListeners(); if (planSelect) planSelect.addEventListener('change', calculateTotal); if (siblingInput) siblingInput.addEventListener('input', calculateTotal); // Next button navigation document.querySelectorAll('.next-btn').forEach(btn => { btn.addEventListener('click', () => { // Step 0 special case if (currentStep === 0) { if (!validateStep0()) return; const selected = steps[0].querySelector('input[name="registration_type"]:checked'); currentStep = selected.value === 'returning' ? 3 : 1; showStep(currentStep); return; } // Other steps: just move forward (CF7 validation will handle required fields) if (currentStep { btn.addEventListener('click', () => { if (currentStep > 0) { currentStep--; showStep(currentStep); } }); }); // Initialize showStep(currentStep); });
    Shopping Cart