/**
 * @author Kim
 *
 * Body Mass Index Calculator
 */
function checkval(id){
    if (document.getElementById(id)) 
        if ('' != document.getElementById(id).value) 
            return true;
    return false;
}

function roundit(x){
    var rounded;
    x = x + 0.05; // round to tenths
    f_bmi = Math.floor(x);
    diff = Math.floor((x - f_bmi) * 10);
    rounded = f_bmi + "." + diff;
    return rounded;
}

function calculate_bmr(){
    var form = document.forms['bmr_calculator'];

	var geslacht = 1;
	if (form.bmr_geslacht[0].checked) 
		geslacht = 1;
	if (form.bmr_geslacht[1].checked) 
		geslacht = 0;
	
	var leeftijd 	= form.bmr_leeftijd.value ? form.bmr_leeftijd.value : '';
	var lengte 		= form.bmr_lengte.value ? form.bmr_lengte.value : '';
	var gewicht 	= form.bmr_gewicht.value ? form.bmr_gewicht.value : '';
	
	var bmr 	= 0;
	var error 	= false;
	
	leeftijd 	= parseFloat(leeftijd.replace(",", "."));
	lengte 		= parseFloat(lengte.replace(",", "."));
    gewicht 	= parseFloat(gewicht.replace(",", "."));
	
	if (leeftijd) {
		if (leeftijd < 18 || leeftijd > 120) {
			$('span#bmr_leeftijd_error').remove();
			$('input#bmr_calculate').after('<span id="bmr_leeftijd_error" class="error">Uw leeftijd moet minimum 18 jaar en mag maximum 120 jaar zijn!</span>');
			error = true;
		}
		else {
			$('span#bmr_leeftijd_error').remove();
		}
	}
	else {
		$('span#bmr_leeftijd_error').remove();
		$('input#bmr_calculate').after('<span id="bmr_leeftijd_error" class="error">Gelieve uw leeftijd in te vullen!</span>');
		error = true;
	}
    
	if (lengte) {
		if (lengte < 100 || lengte > 250) {
			$('span#bmr_lengte_error').remove();
			$('input#bmr_calculate').after('<span id="bmr_lengte_error" class="error">Uw lengte moet minimum 100 cm en mag maximum 250 cm zijn!</span>');
			error = true;
		}
		else {
			$('span#bmr_lengte_error').remove();
		}
	}
	else {
		$('span#bmr_lengte_error').remove();
		$('input#bmr_calculate').after('<span id="bmr_lengte_error" class="error">Gelieve uw lengte in te vullen!</span>');
		error = true;
	}
    
	if (gewicht) {
		if (gewicht < 25 || gewicht > 250) {
			$('span#bmr_gewicht_error').remove();
			$('input#bmr_calculate').after('<span id="bmr_gewicht_error" class="error">Uw gewicht moet minimum 25 kg en mag maximum 250 kg zijn!</span>');
			error = true;
		}
		else {
			$('span#bmr_gewicht_error').remove();
		}
	}
	else {
		$('span#bmr_gewicht_error').remove();
		$('input#bmr_calculate').after('<span id="bmr_gewicht_error" class="error">Gelieve uw gewicht in te vullen!</span>');
		error = true;
	}
    
    if (true == error)
		return;
	
	if (geslacht == 1)
		bmr = 66 + (13.7 * gewicht) + (5 * lengte) - (6.8 * leeftijd);
	else
		bmr = 655 + (9.6 * gewicht) + (1.85 * lengte) - (4.7 * leeftijd);
	
    bmr = roundit(bmr);
	
	$('input#bmr_result').val(bmr);
    return true;
}

function calculate_bmi() {
    var form 		= document.forms['bmi_calculator'];
    var lengte 		= form.bmi_lengte.value ? form.bmi_lengte.value : '';
	var gewicht 	= form.bmi_gewicht.value ? form.bmi_gewicht.value : '';
	
    var bmi 		= 0;
    var error 		= false;
    
    if (!lengte) {
        $('span#bmi_lengte_error').remove();
        $('input#bmi_calculate').after('<span id="bmi_lengte_error" class="error">Gelieve uw lengte in te vullen!</span>');
        error = true;
    }
    else {
        $('span#bmi_lengte_error').remove();
    }
    
    if (!gewicht) {
        $('span#bmi_gewicht_error').remove();
        $('input#bmi_calculate').after('<span id="bmi_gewicht_error" class="error">Gelieve uw gewicht in te vullen!</span>');
        error = true;
    }
    else {
        $('span#bmi_gewicht_error').remove();
    }
    if (true == error) 
        return;
		
    lengte 	= parseFloat(lengte.replace(",", "."));
    gewicht = parseFloat(gewicht.replace(",", "."));
    
    bmi 	= (gewicht) / (Math.pow((lengte / 100), 2));
    $('input#bmi_result').val(roundit(bmi));
    return true;
}

function calculate_fatperc() {
	var form = document.forms['vet_calculator'];

	var geslacht = 1;
	if (form.vet_geslacht[0].checked) 
		geslacht = 1;
	if (form.vet_geslacht[1].checked) 
		geslacht = 0;
	
	var leeftijd 	= form.vet_leeftijd.value ? form.vet_leeftijd.value : '';
	var lengte 		= form.vet_lengte.value ? form.vet_lengte.value : '';
	var gewicht 	= form.vet_gewicht.value ? form.vet_gewicht.value : '';
	/*var momtrek 	= form.vet_momtrek.value ? form.vet_momtrek.value : '';
	var nomtrek 	= form.vet_nomtrek.value ? form.vet_nomtrek.value : '';
	var homtrek 	= form.vet_homtrek.value ? form.vet_homtrek.value : '';*/
	
	var vetperc = 0;
	var error 	= false;
	
	leeftijd 	= parseFloat(leeftijd.replace(",", "."));
	lengte 		= parseFloat(lengte.replace(",", "."));
    gewicht 	= parseFloat(gewicht.replace(",", "."));
	/*momtrek 	= parseFloat(momtrek.replace(",", "."));
	nomtrek 	= parseFloat(nomtrek.replace(",", "."));
	homtrek 	= parseFloat(homtrek.replace(",", "."));*/
	
	if (leeftijd) {
		if (leeftijd < 18 || leeftijd > 120) {
			$('span#vet_leeftijd_error').remove();
			$('input#vet_calculate').after('<span id="vet_leeftijd_error" class="error">Uw leeftijd moet minimum 18 jaar en mag maximum 120 jaar zijn!</span>');
			error = true;
		}
		else {
			$('span#vet_leeftijd_error').remove();
		}
	}
	else {
		$('span#vet_leeftijd_error').remove();
		$('input#vet_calculate').after('<span id="vet_leeftijd_error" class="error">Gelieve uw leeftijd in te vullen!</span>');
		error = true;
	}
    
	if (lengte) {
		if (lengte < 100 || lengte > 250) {
			$('span#vet_lengte_error').remove();
			$('input#vet_calculate').after('<span id="vet_lengte_error" class="error">Uw lengte moet minimum 100 cm en mag maximum 250 cm zijn!</span>');
			error = true;
		}
		else {
			$('span#vet_lengte_error').remove();
		}
	}
	else {
		$('span#vet_lengte_error').remove();
		$('input#vet_calculate').after('<span id="vet_lengte_error" class="error">Gelieve uw lengte in te vullen!</span>');
		error = true;
	}
    
	if (gewicht) {
		if (gewicht < 25 || gewicht > 250) {
			$('span#vet_gewicht_error').remove();
			$('input#vet_calculate').after('<span id="vet_gewicht_error" class="error">Uw gewicht moet minimum 25 kg en mag maximum 250 kg zijn!</span>');
			error = true;
		}
		else {
			$('span#vet_gewicht_error').remove();
		}
	}
	else {
		$('span#vet_gewicht_error').remove();
		$('input#vet_calculate').after('<span id="vet_gewicht_error" class="error">Gelieve uw gewicht in te vullen!</span>');
		error = true;
	}
	//	calculate bmi
    bmi 	= (gewicht) / (Math.pow((lengte / 100), 2));
    
    if (true == error)
		return;
	
	vetperc = (1.2 * bmi) + (0.23 * leeftijd) - (10.8 * geslacht) - 5.4;
    vetperc = roundit(vetperc);
	
	$('input#vet_result').val(vetperc);
    return true;
}

$(document).ready(function() {
	$('input#bmr_calculate').click(function() {
        calculate_bmr();
    });
	
    $('input#bmi_calculate').click(function() {
        calculate_bmi();
    });
	
	$('input#vet_calculate').click(function() {
        calculate_fatperc();
    });
});

