Expert-reviewed resources and digital tools designed to transform your body, mind, and energy levels.

Science-Based Weight Loss & Fitness Plans That Actually Work

Start Here-Best Fitness and Wellness Guides

Trending in Health & Nutrition

Expert-Back Health and Wellness Guides

HealthEndure Picks: Ebooks & Guides You’ll Love

Most Popular Weight Loss & Wellness Articles

Home Workout Plans & Exercise Guides

Join Healthendure

Download Your Free Moringa Guide

Signup & Unlock More Health Insights Straight to Your Inbox

0
document.addEventListener('DOMContentLoaded', function() { // 1. Setup age-based sleep durations (in hours) const sleepSettings = { 'teen': { best: 9, good: 7.5, min: 6 }, 'adult': { best: 7.5, good: 6, min: 4.5 }, 'older': { best: 7, good: 6, min: 4.5 }, 'default': { best: 7.5, good: 6, min: 4.5 } }; function calculateCycles(isWakeupLogic) { // Get IDs from your map const inputId = isWakeupLogic ? 'sleep-time-wake' : 'sleep-time-now'; const timeVal = document.getElementById(inputId).value; const ageGroup = document.getElementById('sleep-age').value || 'default'; if (!timeVal) { alert("Please select a time first!"); return; } // Parse the input time const [hrs, mins] = timeVal.split(':'); const baseDate = new Date(); baseDate.setHours(parseInt(hrs), parseInt(mins), 0); const config = sleepSettings[ageGroup]; const resultsMap = { 'time-best': config.best, 'time-good': config.good, 'time-min': config.min }; // Update each result widget for (const [id, hours] of Object.entries(resultsMap)) { let resultDate = new Date(baseDate); // If "Wakeup" logic, subtract hours to find bedtime. // If "Bedtime" logic, add hours to find wakeup time. // We add 15 mins for the "falling asleep" buffer. const totalMinutes = (hours * 60) + 15; const adjustment = isWakeupLogic ? (totalMinutes * -1) : totalMinutes; resultDate.setMinutes(resultDate.getMinutes() + adjustment); const finalTime = resultDate.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', hour12: true }); const displayElement = document.getElementById(id); if (displayElement) { displayElement.innerText = finalTime; } } } // 2. Attach to your Button IDs from image_67d0d4.png document.getElementById('btn-wake')?.addEventListener('click', function(e) { e.preventDefault(); calculateCycles(true); }); document.getElementById('btn-now')?.addEventListener('click', function(e) { e.preventDefault(); calculateCycles(false); }); });