addLoadListener(initEGPform);

function initEGPform()
{
    if(document.getElementById('egpForm'))
    {
        var EGPform=document.getElementById('egpForm');
        EGPform.onsubmit=calculate;

        setTimeout("focusAge()",100);
        document.getElementById('age').onfocus=clearForm;
    }
}

function focusAge()
{
    var ageField=document.getElementById('age');
    ageField.focus();
}

function clearForm()
{
    document.getElementById('age').value = "";
    var results = document.getElementById('results');
    values = results.getElementsByTagName('td');
    for (i=0; i<values.length; i++)
    {
        values[i].firstChild.nodeValue = "";
    }
}

function calculate()
{
    var age = setage(document.getElementById('age').value);
    
    
    if (isNaN(age) || age == "")
    {
        alert('U moet de leeftijd opgeven als een getal, eventueel met een decimaal.');
        document.getElementById('age').value = "";
        focusAge();
        return false;
    }
    var mg = 6.49*Math.exp(-0.1397*age)+1.85;
    document.getElementById('age').value = present(age,1);
    document.getElementById('min2syx_mg').firstChild.nodeValue = present(mg-2*0.44,2);
    document.getElementById('min2syx_ml').firstChild.nodeValue = present((mg-2*0.44)*0.6,2);
    document.getElementById('min1syx_mg').firstChild.nodeValue = present(mg-0.44,2);
    document.getElementById('min1syx_ml').firstChild.nodeValue = present((mg-0.44)*0.6,2);
    document.getElementById('m_mg').firstChild.nodeValue = present(mg,2);
    document.getElementById('m_ml').firstChild.nodeValue = present((mg)*0.6,2);
    document.getElementById('plus1syx_mg').firstChild.nodeValue = present(mg+0.44,2);
    document.getElementById('plus1syx_ml').firstChild.nodeValue = present((mg+0.44)*0.6,2);
    document.getElementById('plus2syx_mg').firstChild.nodeValue = present(mg+2*0.44,2);
    document.getElementById('plus2syx_ml').firstChild.nodeValue = present((mg+2*0.44)*0.6,2);
    
    return false;
}

function setage(age)
{
    ageN = age.replace(/,/,".");
    
    return ageN;
}

function present(val,nDec)
{
    var roundFact = Math.pow(10,nDec)
    val = Math.round(val*roundFact)/roundFact+"";
    var decimals="";
    for(i=0; i<nDec; i++)
    {
        decimals+="0";
    }
    
    var valueParts = val.split(".");
    if (valueParts.length==2)
    {
        decimals=valueParts[1];
        
        while (decimals.length<nDec)
        {
            decimals+="0";
        }
    }
    return valueParts[0]+","+decimals;
}
