// JavaScript Document
function recalculate() {

    var brutto = 0;
    var tax = 0;
    var date = document.getElementById("id_inpt_3");
    var result = document.getElementById("id_inpt_4");
    var message = document.getElementById("id_inpt_5");
    var message_tmp = "";
    var message_val = 0;

    if (document.getElementById("id_inpt_1").value != "")
        brutto = parseInt(document.getElementById("id_inpt_1").value);

    if (document.getElementById("id_inpt_2").value != "")
        tax = parseInt(document.getElementById("id_inpt_2").value);

    //var tax_year_arr = new Array(5225, 2230, 34600, 5035, 2150, 33300, 4895, 2090, 32400, 4745, 2020, 31400, 4615, 1960, 30500, 4615, 1920, 29900);
    var tax_year_arr = new Array(6475,0,37400,6035,0,34800,5225,2230,34600,5035,2150,33300,4895,2090,32400,4745,2020,31400,4615,1960,30500,4615,1920,29900);

    var tax_year = parseInt(date.value);

    var allowance = tax_year_arr[tax_year * 3];
    var start_rate = tax_year_arr[(tax_year * 3) + 1];
    var basic_rate = tax_year_arr[(tax_year * 3) + 2];
    var higher_rate = 0;

    var prijem_allowance = 0;
    var prijem_start_rate = 0;
    var prijem_basic_rate = 0;
    var prijem_higher_rate = 0;
    var prijem_all = 0;

    var tax_rate_allowance = 0;
    var tax_rate_start_rate = 0.1;
    var tax_rate_basic_rate = 0.22;
    var tax_rate_higher_rate = 0.40;

    var tax_allowance = 0;
    var tax_start_rate = 0;
    var tax_basic_rate = 0;
    var tax_higher_rate = 0;
    var tax_all = 0;

    // prijem_allowance
    if (brutto > allowance)
        prijem_allowance = allowance;
    else
        prijem_allowance = brutto;

    // prijem_start_rate
    if (brutto == allowance + start_rate)
        prijem_start_rate = start_rate;
    else if (prijem_allowance < allowance)
        prijem_start_rate = 0;
    else if (brutto > (allowance + start_rate))
        prijem_start_rate = start_rate;
    else
        prijem_start_rate = brutto - allowance;


    // prijem_basic_rate
    if (brutto == allowance + start_rate + basic_rate)
        prijem_basic_rate = basic_rate;
    else if (start_rate > prijem_start_rate)
        prijem_basic_rate = 0;
    else if (brutto > allowance + start_rate + basic_rate)
        prijem_basic_rate = basic_rate;
    else
        prijem_basic_rate = brutto - allowance - start_rate;


    // prijem_higher_rate
    if (prijem_basic_rate > 0) {
        if ((brutto - allowance - start_rate - basic_rate) > 0)
            prijem_higher_rate = brutto - allowance - start_rate - basic_rate;
        else
            prijem_higher_rate = 0;
    } else
        prijem_higher_rate = 0;

    prijem_all = prijem_allowance + prijem_start_rate + prijem_basic_rate + prijem_higher_rate;

    // taxes
    tax_allowance = prijem_allowance * tax_rate_allowance;
    tax_start_rate = prijem_start_rate * tax_rate_start_rate;
    tax_basic_rate = prijem_basic_rate * tax_rate_basic_rate;
    tax_higher_rate = prijem_higher_rate * tax_rate_higher_rate;
    tax_all = tax_allowance + tax_start_rate + tax_basic_rate + tax_higher_rate;

    // messages
    if (tax < tax_all)
        message_val = tax - tax_all;

    if (brutto == 0)
        message_tmp = " ";
    else if (tax > brutto)
        message_tmp = "Skontrolujte sumy! Zaplatili ste viac dani nez ste zarobili!";
    else if (tax < tax_all)
        message_tmp = "Vyzera to tak ze ste zaplatili malo dani a mate nedoplatok!";
    else if (tax == tax_all)
        message_tmp = "Zaplatili ste spravnu dan.";
    else
        message_tmp = "Skontaktujte Nas - My vam tie dane rychlo vratime.";

    if (message_val != 0)
        message.value = message_tmp + " £" + message_val.toFixed(2);
    else
        message.value = message_tmp;

    // result
    if (tax == tax_all)
        result.value = 0;
    else if (tax > tax_all)
        result.value = tax - tax_all;
    else
        result.value = 0;

/*
    document.write("<p>brutto = " + brutto + "<p>");
    document.write("<p>allowance = " + allowance + "<p>");
    document.write("<p>start_rate = " + start_rate + "<p>");
    document.write("<p>basic_rate = " + basic_rate + "<p>");
    document.write("<p>higher_rate = " + higher_rate + "<p>");

    document.write("<p>prijem_allowance = " + prijem_allowance + "<p>");
    document.write("<p>prijem_start_rate = " + prijem_start_rate + "<p>");
    document.write("<p>prijem_basic_rate = " + prijem_basic_rate + "<p>");
    document.write("<p>prijem_higher_rate = " + prijem_higher_rate + "<p>");
    document.write("<p>prijem_all = " + prijem_all + "<p>");

    document.write("<p>tax_rate_allowance = " + tax_rate_allowance + "<p>");
    document.write("<p>tax_rate_start_rate = " + tax_rate_start_rate + "<p>");
    document.write("<p>tax_rate_basic_rate = " + tax_rate_basic_rate + "<p>");
    document.write("<p>tax_rate_higher_rate = " + tax_rate_higher_rate + "<p>");

    document.write("<p>tax_allowance = " + tax_allowance + "<p>");
    document.write("<p>tax_start_rate = " + tax_start_rate + "<p>");
    document.write("<p>tax_basic_rate = " + tax_basic_rate + "<p>");
    document.write("<p>tax_higher_rate = " + tax_higher_rate + "<p>");
    document.write("<p>tax_all = " + tax_all + "<p>");
    document.write("<p>tax = " + tax + "<p>");
*/
}
