function calc_GenerateResultHTML(resultObj)
{
    rv = '<table class="results" border="1"><tbody>'
        + '<tr class="header"><td colspan="2">Cena nieruchomości</td><td>' + MONEY_toString100Groszy(resultObj.inValue) + '</td></tr>'
        + '<tr><td colspan="2">Podatek od czynności cywilnoprawnych</td><td>' + MONEY_toString100Groszy(resultObj.outPodatekCywilny) + '</td></tr>'
        + '<tr><td rowspan="3">Notariusz</td><td>taksa</td><td>' + MONEY_toString100Groszy(resultObj.outNotariusz) + '</td></tr>'
        + '<tr><td>VAT</td><td>' + MONEY_toString100Groszy(resultObj.outNotariuszVAT) + '</td></tr>'
        + '<tr><td>razem</td><td>' + MONEY_toString100Groszy(resultObj.outNotariuszAll) + '</td></tr>';

    if (resultObj.outZalozenieKsiegi)
    {
        rv = rv
            + '<tr><td colspan="2">Założenie księgi wieczystej</td><td>' + MONEY_toString100Groszy(resultObj.outZalozenieKsiegi) + '</td></tr>';
    }

    rv = rv
        + '<tr><td colspan="2">Wpis do księgi wieczystej</td><td>' + MONEY_toString100Groszy(resultObj.outWpisDoKsiegi) + '</td></tr>'

        + '<tr><td rowspan="3">Agencja nieruchomości</td><td>prowizja</td><td>' + MONEY_toString100Groszy(resultObj.outAgencja) + '</td></tr>'
        + '<tr><td>VAT</td><td>' + MONEY_toString100Groszy(resultObj.outAgencjaVAT) + '</td></tr>'
        + '<tr><td>razem</td><td>' + MONEY_toString100Groszy(resultObj.outAgencjaAll) + '</td></tr>'
        + '<tr class="header"><td colspan="2">Suma opłat</td><td>' + MONEY_toString100Groszy(resultObj.outAdditionals) + '</td></tr>'
        + '<tr class="header"><td colspan="2">Razem (nieruchomość + opłaty)</td><td>' + MONEY_toString100Groszy(resultObj.outAll) + '</td></tr>';

    rv = rv
        + '</tbody></table>';

    return rv;
}

function calc_valueChange(elem)
{
    var resultObj        = new Object();
    var inValue          = NUMBER_parseInput(document.getElementById('calcKosztNieruchomosci_InValue').value);
    var inPercentage     = NUMBER_parseInput(document.getElementById('calcKosztNieruchomosci_InPercentage').value) * 0.01;
    var inRodzaj         = INPUT_getRadioValue('calcKosztNieruchomosci_Rodzaj', 'mieszkanie');
    var inKsiega         = INPUT_getRadioValue('calcKosztNieruchomosci_Ksiega', 1);
    var inDeal           = INPUT_getRadioValue('calcKosztNieruchomosci_Deal', 'sprzedaz');

    /* main calculation */
    var outPodatekCywilny = inValue * 0.02;
    if (inDeal == 'darowizna')
    {
        outPodatekCywilny = 0;
    }

    var outNotariusz = STAWKA_NOTARIALNA_get(inValue);
    if (inRodzaj == 'mieszkanie')
    {
        outNotariusz = outNotariusz / 2;
    }

    /* results */
    resultObj.inValue            = NUMBER_floorToDecimals(inValue, 2);

    resultObj.outPodatekCywilny  = outPodatekCywilny;
    resultObj.outNotariusz       = NUMBER_floorToDecimals(outNotariusz, 2);
    resultObj.outNotariuszVAT    = NUMBER_floorToDecimals(resultObj.outNotariusz * 0.22, 2);
    resultObj.outNotariuszAll    = NUMBER_floorToDecimals(resultObj.outNotariusz + resultObj.outNotariuszVAT, 2);
    resultObj.outWpisDoKsiegi    = 200;
    resultObj.outZalozenieKsiegi = NUMBER_floorToDecimals(inKsiega, 2);
    resultObj.outAgencja         = NUMBER_floorToDecimals(inPercentage * inValue, 2);
    resultObj.outAgencjaVAT      = NUMBER_floorToDecimals(resultObj.outAgencja * 0.22, 2);
    resultObj.outAgencjaAll      = NUMBER_floorToDecimals(resultObj.outAgencja + resultObj.outAgencjaVAT, 2);

    resultObj.outAdditionals     = NUMBER_floorToDecimals(
        resultObj.outPodatekCywilny + resultObj.outNotariuszAll + resultObj.outWpisDoKsiegi + resultObj.outZalozenieKsiegi + resultObj.outAgencjaAll, 2);
    resultObj.outAll             = NUMBER_floorToDecimals(resultObj.inValue + resultObj.outAdditionals, 2);

    document.getElementById('calc_result').innerHTML = calc_GenerateResultHTML(resultObj);
}

window.onload = function(){calc_valueChange(null);};

