Minutes Left To Life Calculator

by sammy

HTML

<div class='field'>
    <p>
        How healthy do you think you are?
    </p>
    <input type='radio' class='health' id='poor' name='health' value='50'/>
    <label for='poor'>Poor</label>
    <input type='radio' class='health' id='fair' name='health' value='70'/>
    <label for='fair'>Fair</label>
    <input type='radio' class='health' id='good' name='health' value='100'/>
    <label for='good'>Good</label>
</div>
<input class='age' placeholder='age'/>
<p class='min-left'></p>

CSS

body {
    margin: 10px;
}

p {
    margin: 5px 0px;
}

.field {
    margin: 10px 0px;
}

JavaScript

$('.age').on('input', calculate);
$('.health').on('click', calculate);

function calculate() {
    var age = $('.age').val();
    var health = $('.health:checked').val();
    
    if (!age || !health)
        return;
    
    var yearsLeft = health-age;
    
    var final = yearsLeft * 356.25 * 24 * 60;
    
    final = commaSeparateNumber(final);

    $('.min-left').text('You have about ' + final + ' minutes left');
}

function commaSeparateNumber(val) {
    while (/(\d+)(\d{3})/.test(val.toString())) {
        val = val.toString().replace(/(\d+)(\d{3})/, '$1' + ',' + '$2');
    }
    return val;
}