/**
 * alvlaskin.ts
 * Hannu Luomanen
 * HM-lab 2006 - 2021
 * */
/**
 * Laskee ja esittää HTML-lomakkeen id:llä tunnistettuihin kenttiin/kohtiin "netto", "brutto", "alv" ja "alvpros" (ALV-prosentti, valintalista) syötettyjen/valittujen arvojen mukaan pyydetyn luvun, joko brutto, netto tai ALV:n määrä
 * */
function laske() {
    poistaPilkut();
    let brutto = parseFloat(document.getElementById('brutto').value);
    let netto = parseFloat(document.getElementById('netto').value);
    let alv = 0;
    let alvpros = parseFloat(document.getElementById('alvpros').value);
    let annettu_arvo = "";
    if (!(isNaN(brutto)))
        annettu_arvo = "brutto";
    if (!(isNaN(netto)) && annettu_arvo == "")
        annettu_arvo = "netto";
    switch (annettu_arvo) {
        case "brutto":
            // Laskutoimitukset, jos on annettu brutto
            // Pyöristetään tulokset kolmeen desimaaliin
            netto = brutto * 100 / (100 + alvpros);
            alv = Math.round((brutto - netto) * 1000) / 1000;
            netto = Math.round(netto * 1000) / 1000;
            document.getElementById('alv').innerText = alv.toString();
            document.getElementById('netto').value = netto.toString();
            break;
        case "netto":
            // Laskutoimitukset, jos on annettu vain netto
            brutto = (100 + alvpros) * netto / 100;
            alv = Math.round((brutto - netto) * 1000) / 1000;
            brutto = Math.round(brutto * 1000) / 1000;
            document.getElementById('alv').innerText = alv.toString();
            document.getElementById('brutto').value = brutto.toString();
            break;
    }
    return true;
}
/**
 * Vaihdetaan pilkut pisteiksi syöttökentissä, että kelpaa varmasti numeroksi
 * */
function poistaPilkut() {
    const kentat = document.querySelectorAll('.arvo'); // Vaatii EcmaScript 6
    kentat.forEach(kentta => {
        let str = kentta.value;
        let result = str.replace(",", ".");
        kentta.value = result;
    });
    return;
}
/**
 * Tyhjentää ALV-tiedon joka ei ole syöttökentässä
*/
function resetoi() {
    document.getElementById('alv').innerText = "";
}
