﻿var alturaAtual = 0;
var pesoAtual = 0;

function CalculaMetaBlur()
{
    var altura = $('#AlturaNu').val();
    if(altura.length > 0)
        CalculaMeta();
}

function CalculaMetaLoad()
{

    var meta = $('#txtMeta').val();
    CalculaMetaBlur();
    var options = document.getElementById("ddlMeta").getElementsByTagName("option");
    for(i=options.length-1;i>=0;i--)
    {
        if(options[i].value == meta)
            options[i].selected = true;
    }
    document.getElementById("txtMeta").value = meta;
}

function CalculaMeta() {

    if ($('#AlturaNu').val() != "" && $('#PesoNu').val() != "") {
        var altura = parseFloat($('#AlturaNu').val().replace(",", "."));
        var peso = parseFloat($('#PesoNu').val().replace(",", "."));
        var ddlMeta = document.getElementById("ddlMeta");
        var optn = document.createElement("option");
        if (altura <= 2.5 && peso <= 300) {

            var pesoMinimo = altura * altura * 18.5;
            pesoMinimo = pesoMinimo > parseInt(pesoMinimo) ? parseInt(pesoMinimo + 1) : pesoMinimo;
            var pesoMaximo = altura * altura * 24.9;
            pesoMaximo = peso > parseInt(pesoMaximo) ? parseInt(peso - 1) : parseInt(pesoMaximo);
            // Verifica se houve atualização de altura ou peso
            if (altura == alturaAtual && peso == pesoAtual)
                return false;
            else {
                alturaAtual = altura;
                pesoAtual = peso;
            }

            // Atualiza combobox
            removeAllOptions(ddlMeta);
            
            if (altura > 0) {
                document.getElementById("ddlMeta").style.width = "85px";
                optn.text = "Selecione";
            }
            else {
                document.getElementById("ddlMeta").style.width = "130px";
                optn.text = "Informe sua altura";
            }
            optn.value = "";
            ddlMeta.options.add(optn);
            optn = null;
            for (i = pesoMinimo; i <= pesoMaximo; i++) {
                var optn = document.createElement("option");
                optn.text = parseInt(i) + "kg";
                optn.value = parseInt(i);
                ddlMeta.options.add(optn);
            }
        }
        else {
            removeAllOptions(ddlMeta);
            optn.value = "";
            ddlMeta.options.add(optn);
            document.getElementById("ddlMeta").style.width = "150px";
            optn.text = "Altura ou Peso inválidos";
            
        }
    }
}

function removeAllOptions(selectbox)
{
   
    var options = selectbox.getElementsByTagName("option");
    for(i=options.length-1;i>=0;i--)
    {
        selectbox.remove(i);
        
    }
    document.getElementById("txtMeta").value = "";
}

function ddlMeta_OnChange(dropdownlist)
{
    document.getElementById("txtMeta").value = dropdownlist.options[dropdownlist.selectedIndex].value;
}
