﻿function Calculator() {
    var szer = 720;
    var wys = 680;
    var wys2 = wys + 8;
    var szer2 = szer + 8;
    var Xpos = ((screen.width / 2) - (szer2 / 2));
    var Ypos = ((screen.height / 2) - (wys2 / 2));

    Okno = window.open('Calculator.aspx', 'calculator', 'toolbar=no,menubar=no,location=no,personalbar=no,scrollbars=no,status=no,directories=no,resizable=no,width=' + szer2 + ',height=' + wys2 + ',left=' + Xpos + ',top=' + Ypos);
    Okno.focus();
}

function FormatField(p) {
    p = p + '';
    if (p == '') p = '0';
    p = p.replace(",", ".");
    re = / /gi;
    p = p.replace(re, "");
    p = parseFloat(p);

    var pennies = (p - Math.floor(p)) * 100;
    pennies = Math.round(pennies);
    if (pennies < 10)
        pennies = "0" + pennies; // add a leading zero
    var pstring = "," + pennies;
    p = Math.floor(p);   // don't need the pennies anymore.
    while (p >= 1) {
        modulus = p % 1000;
        p = Math.floor(p / 1000);
        if (p >= 1) {
            if (modulus >= 100)
                thous = " "
            else if (modulus >= 10)
                thous = " 0"   // add one leading zero
            else
                thous = " 00";   // add two leading zeros
        }
        else
            thous = "";
        thous += modulus;
        pstring = thous + pstring;
    }
    if (pstring == ',00') pstring = '0,00';
    return pstring;
}
function Field(id) { return document.getElementById(id); }
function calculate() {
    var _PropertyType = 0;
    if (Field('chkOption1').checked)
        _PropertyType = Field('chkOption1').value;
    if (Field('chkOption2').checked)
        _PropertyType = Field('chkOption2').value;
    if (Field('chkOption3').checked)
        _PropertyType = Field('chkOption3').value;
    if (Field('chkOption4').checked)
        _PropertyType = Field('chkOption4').value;

    var _Price = Field("cena").value.replace(',', '.').replace(' ', '').replace(' ', '');
    if (_Price == '') {
        _Price = 0;
    }
    var _Notarialna = 0;
    var _Sadowa = 0;
    var _Skarbowa = _Price * 0.02;
    var _NotarialnaVat = 0;
    var _Wypisy = 200;
    var _Prowizja = _Price * Field("prowizjaprocent").value.replace(',', '.') / 100;
    var _ProwizjaVat = _Prowizja * 0.22;

    //typ wlasnosci: 1 spoldzielcza; 2 spoldzielcza z KW; 3 hipoteczna
    if (_Price <= 3000) {
        _Notarialna = 100;
    }
    else if (_Price > 3000 && _Price <= 10000) {
        _Notarialna = 100 + (_Price - 3000) * 3 / 100;
    }
    else if (_Price > 10000 && _Price <= 30000) {
        _Notarialna = 310 + (_Price - 10000) * 2 / 100;
    }
    else if (_Price > 30000 && _Price <= 60000) {
        _Notarialna = 710 + (_Price - 30000) * 1 / 100;
    }
    else if (_Price > 60000 && _Price <= 1000000) {
        _Notarialna = 1010 + (_Price - 60000) * 0.4 / 100;
    }
    else if (_Price > 1000000 && _Price <= 2000000) {
        _Notarialna = 4770 + (_Price - 1000000) * 0.2 / 100;
    }
    else if (_Price > 2000000) {
        _Notarialna = 6770 + ((_Price - 2000000) * (0.25 / 100));
    }
    if (_Notarialna > 10000)
        _Notarialna = 10000;
    //w zaleznosci od rodzaju nieruchomosci roznie liczone stawki
    switch (_PropertyType) {
        case '1':
            _Notarialna = _Notarialna / 2;
            _Sadowa = 200;
            break;
        case '2':
            _Notarialna = _Notarialna / 2;
            _Wypisy = 50;
            _Sadowa = 0;
            break;
        case '3':
            _Sadowa = 200;
            break;
        case '4':
            _Sadowa = 200;
            _Skarbowa = 0;
            break;
    }
    _NotarialnaVat = _Notarialna * 22 / 100;

    Field("taksanotarialna").value = Math.round(_Notarialna * 100) / 100;
    Field("vatodtaksy").value = Math.round(_NotarialnaVat * 100) / 100;
    Field("oplataskarbowa").value = Math.round(_Skarbowa * 100) / 100;
    Field("oplatasadowa").value = Math.round(_Sadowa * 100) / 100;
    Field("wypisy").value = Math.round(_Wypisy * 100) / 100;
    Field("prowizja").value = Math.round(_Prowizja * 100) / 100;
    //Field("prowizjavat").value = Math.round(_ProwizjaVat * 100) / 100;

    Field("dodatkowe").value = Math.round((parseFloat(_Notarialna) + parseFloat(_Wypisy) + parseFloat(_NotarialnaVat) + parseFloat(_Sadowa) + parseFloat(_Skarbowa) + parseFloat(_Prowizja) + parseFloat(_ProwizjaVat)) * 100) / 100;
    Field("suma").value = FormatField(Math.round((parseFloat(_Notarialna) + parseFloat(_Wypisy) + parseFloat(_NotarialnaVat) + parseFloat(_Sadowa) + parseFloat(_Skarbowa) + parseFloat(_Prowizja) + parseFloat(_ProwizjaVat) + parseFloat(_Price)) * 100) / 100);
    if (Field("suma").value == '.NaN') Field("suma").value = 0;

}
