Help
RSS
API
Feed
Maltego
Contact
Domain > agripoland.org
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-05-21
85.128.134.227
(
ClassC
)
2026-02-01
85.128.174.184
(
ClassC
)
Port 80
HTTP/1.1 200 OKDate: Sun, 01 Feb 2026 21:36:32 GMTContent-Type: text/htmlContent-Length: 60127Connection: keep-aliveNA-LS-Cache-Enabled: offLast-Modified: Mon, 29 Dec 2025 15:52:57 GMTETag: eadf-647193ca89238Accept-Ranges: bytesVary: Accept-EncodingX-CDN-nazwa.pl-location: LAX-CDN-nazwa.pl-policyused: cdndisabledServer: Apache/2 !DOCTYPE html>html langpl>head> meta charsetUTF-8> meta http-equivX-UA-Compatible contentIEedge> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>AGRIPOLAND.org/title> style> /* Styl paska czasowego */ #time-bar { background-color: #222; color: red; padding: 8px 0; text-align: center; font-family: Verdana, sans-serif; font-size: 16px; position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; box-shadow: 0 2px 5px rgba(0,0,0,0.3); } /* Styl paska walutowego */ #currency-bar { background-color: #2c3e50; color: white; padding: 10px 0; text-align: center; font-family: Verdana, sans-serif; font-size: 14px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1000; box-shadow: 0 -2px 5px rgba(0,0,0,0.3); display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; } .currency { display: inline-block; } .currency-value { font-weight: bold; color: #f39c12; } .last-update { font-size: 12px; color: #bdc3c7; margin-top: 5px; width: 100%; } /* Styl głównej zawartości */ body { background-color: gray; color: white; font-family: Verdana, sans-serif; padding-top: 100px; padding-bottom: 70px; margin: 0; } h1, h2, h3 { text-align: center; } a { color: white; text-decoration: none; } a:hover { text-decoration: underline; } .content { max-width: 800px; margin: 0 auto; padding: 20px; } .article-link { display: block; margin: 10px 0; } /* Styl nawigacji */ #nav-bar { background-color: #333; position: fixed; top: 40px; left: 0; width: 100%; z-index: 999; display: flex; justify-content: center; padding: 10px 0; } .nav-link { color: white; padding: 10px 20px; margin: 0 10px; border-radius: 5px; transition: background-color 0.3s; } .nav-link:hover { background-color: #333; text-decoration: none; } .lex { display: none; margin-top: 20px; padding: 20px; background-color: #444; border-radius: 8px; } .lex.active { display: block; } .lex-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } #nav-bar-2 { background-color: #333; padding: 10px; margin-top: 5px; /* odstęp między paskami */}#nav-bar-2 .nav-link { color: #f5f5f5; margin-right: 15px; text-decoration: none;} /* Styl kalkulatorów */ .calculator-section { display: none; margin-top: 20px; padding: 20px; background-color: #444; border-radius: 8px; } .calculator-section.active { display: block; } .calculator-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .form-group { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; font-weight: bold; } input, select { width: 100%; padding: 8px; border-radius: 4px; border: 1px solid #666; background-color: #555; color: white; } button { background-color: #f39c12; color: #222; border: none; padding: 10px 15px; border-radius: 4px; cursor: pointer; font-weight: bold; transition: background-color 0.3s; } button:hover { background-color: #e67e22; } .results { margin-top: 20px; padding: 15px; background-color: #333; border-radius: 8px; } table { width: 100%; border-collapse: collapse; margin-top: 15px; } th, td { padding: 8px; text-align: left; border-bottom: 1px solid #666; } th { background-color: #555; } .export-btn { margin-top: 15px; background-color: #27ae60; } .export-btn:hover { background-color: #2ecc71; } .tabs { display: flex; margin-bottom: 15px; } .tab { padding: 10px 15px; background-color: #555; cursor: pointer; margin-right: 5px; border-radius: 5px 5px 0 0; } .tab.active { background-color: #f39c12; color: #222; } /style>/head>body> !-- Pasek górny z czasem --> div idtime-bar>Ładowanie czasu.../div> !-- Pasek nawigacyjny --> div idnav-bar> a href# classnav-link onclickshowSection(home)>Strona główna/a> a href# classnav-link onclickshowSection(lex)>Prawo/a> a href# classnav-link onclickshowSection(calculations)>Kalkulacje/a> a href# classnav-link onclickshowSection(calculators)>Kalkulatory/a> /div> !-- Główna zawartość strony --> div classcontent> !-- Sekcja główna --> div idhome-section classcontent-section> h1>POLSKIE STOWARZYSZENIE WSPARCIA PRODUKCJI ROLNICZEJ/h1> h2>AGRIPOLAND/h2> h3>KRS 0000481609/h3> h3>a hrefmailto:spptch@wp.pl>spptch@wp.pl/a>/h3> div stylemargin-top: 30px;> a hrefmy/ns.html classarticle-link> Wpływ nawożenia słomą na substancje organiczne w glebie. /a> a hrefart/index1.php classarticle-link>Jak postępować z dzikimi zwierzętami na terenach miast i wsi? /a> a hrefmc/index.php classarticle-link>Wpływ burzy magnetycznej na prowadzenie gps /a> a hrefmy/index.php classarticle-link>Artykuł Mykotosyny /a> a hrefps/index.php classarticle-link>Artykuł PRRS 1 /a> a hrefasf/index.php classarticle-link>Artykuł ASF 1 /a> a hrefasf/asf1.php classarticle-link>Artykuł ASF 2/a> a hrefnr1.html classarticle-link>Artykuł z 21 maja 2023 roku/a> a hrefnr2.html classarticle-link>Artykuł z 4 czerwca 2023 roku/a> a hrefnr3.html classarticle-link>Artykuł z 17 kwietnia 2024 roku/a> a hrefnr4.html classarticle-link>Artykuł z 28 grudnia 2024 roku/a> a hrefnr5.html classarticle-link>Artykuł z 10 stycznia 2025 roku/a> /div> /div> div idlex-section classcontent-section styledisplay:none;> h2>Prawo/h2> div stylemargin-top: 30px;> a hrefp/index21.php classarticle-link>Sprawy związane z dzikimi zwierzątami /a> a hrefp/index20.php classarticle-link>4 sierpnia - 24 sierpnia 2025 roku /a> a hrefp/index18.php classarticle-link>22 lipca - 3 sierpnia 2025 roku /a> a hrefp/index17.php classarticle-link>17 - 22 lipca 2025 roku /a> a hrefp/index16.php classarticle-link>16 lipca 2025 roku /a> a hrefp/index15.php classarticle-link>15 lipca 2025 roku /a> a hrefp/index14.php classarticle-link>13 lipca 2025 roku /a> a hrefp/index13.php classarticle-link>Ustawa deregulacyjna /a> a hrefp/index12.php classarticle-link>12 lipca 2025 roku /a> a hrefp/index11.php classarticle-link>11 lipca 2025 roku /a> a hrefp/index10.php classarticle-link>10 lipca 2025 roku /a> a hrefp/index9.php classarticle-link>9 lipca 2025 roku /a> a hrefp/index8.php classarticle-link>8 lipca 2025 roku /a> a hrefp/index7.php classarticle-link>5 lipca 2025 roku /a> a hrefp/index6.php classarticle-link>Kalendarz obowiązków w prawie ochrony środowiska - Lipiec 2025 /a> a hrefp/index5.php classarticle-link>4 lipca 2025 roku /a> a hrefp/index4.php classarticle-link>Szczegółowe warunki i tryb przyznawania, wypłaty oraz zwrotu pomocy finansowej w ramach działania Tworzenie grup producentów i organizacji producentów objętego Programem Rozwoju Obszarów Wiejskich na lata 2014-2020. /a> a hrefp/index3.php classarticle-link>Szczegółowe warunki i tryb przyznawania, wypłaty oraz zwrotu pomocy finansowej w ramach działania Tworzenie grup producentów i organizacji producentów objętego Programem Rozwoju Obszarów Wiejskich na lata 2014-2020. /a> a hrefp/index2.php classarticle-link>3 lipca 2025 roku /a> a hrefp/index.php classarticle-link>2 lipca 2025 roku /a> /div> /div> !-- Sekcja kalkulacji --> div idcalculations-section classcontent-section styledisplay:none;> h2>Kalkulacje/h2> div classtabs> button typebutton onclicklocation.hrefn/index.php nameedit>Kalkulator opłacalności zakupu prowadzenia GPS/button> button typebutton onclicklocation.hreftucz/index.php nameedit>Kalkulator tuczu trzody chlewnej/button> button typebutton onclicklocation.hrefdetal/index.php nameedit>Kalkulator wartości tucznika w detalu/button> button typebutton onclicklocation.hrefsc/index.php nameedit>Kalkulator straty polnu zależny od szerokości ścieżek/button> /div> /div> !-- Sekcja kalkulatorów --> div idcalculators-section classcontent-section styledisplay:none;> h2>Kalkulatory finansowe/h2> div classtabs> div classtab active onclickshowCalculator(loan)>Kalkulator kredytowy/div> div classtab onclickshowCalculator(foreign-loan)>Kredyt walutowy/div> div classtab onclickshowCalculator(leasing)>Leasing/div> div classtab onclickshowCalculator(deposit)>Kalkulator lokaty/div> div classtab onclickshowCalculator(comparison)>Porównanie/div> /div> !-- Kalkulator kredytowy --> div idloan-calculator classcalculator-section active> form idloan-form classcalculator-form> div classform-group> label forloan-amount>Kwota kredytu (PLN):/label> input typenumber idloan-amount min1000 step1000 value100000 required> /div> div classform-group> label forloan-term>Okres kredytowania (miesiące):/label> input typenumber idloan-term min6 max360 value60 required> /div> div classform-group> label forinterest-rate>Oprocentowanie roczne (%):/label> input typenumber idinterest-rate min0 max30 step0.01 value5.5 required> /div> div classform-group> label forloan-type>Typ raty:/label> select idloan-type required> option valuefixed>Stała/option> option valuevariable>Zmienna/option> /select> /div> div classform-group> label forcommission>Prowizja (%):/label> input typenumber idcommission min0 max20 step0.01 value1.0> /div> div classform-group> label forother-costs>Inne koszty (PLN):/label> input typenumber idother-costs min0 step100 value0> /div> div classform-group> button typebutton onclickcalculateLoan()>Oblicz/button> /div> /form> div idloan-results classresults styledisplay:none;> h3>Wyniki kalkulacji kredytu/h3> div idloan-summary>/div> div idloan-schedule-container> h4>Harmonogram spłaty/h4> div styleoverflow-x: auto;> table idloan-schedule> thead> tr> th>Nr raty/th> th>Kwota raty/th> th>Część kapitałowa/th> th>Część odsetkowa/th> th>Pozostały kapitał/th> /tr> /thead> tbody idloan-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(loan)>Eksportuj do Excel/button> /div> /div> !-- W sekcji tabs dodaj nowe zakładki -->!-- Kalkulator kredytu walutowego -->!-- Kalkulator kredytu walutowego -->div idforeign-loan-calculator classcalculator-section> form idforeign-loan-form classcalculator-form> div classform-group> label forforeign-loan-amount>Kwota kredytu:/label> input typenumber idforeign-loan-amount min1000 step1000 value100000 required> /div> div classform-group> label forforeign-currency>Waluta:/label> select idforeign-currency required> option valueUSD>USD - dolar amerykański/option> option valueEUR>EUR - euro/option> option valueGBP>GBP - funt brytyjski/option> option valueCHF>CHF - frank szwajcarski/option> /select> /div> div classform-group> label forforeign-loan-term>Okres kredytowania (miesiące):/label> input typenumber idforeign-loan-term min6 max360 value60 required> /div> div classform-group> label forforeign-interest-rate>Oprocentowanie roczne (%):/label> input typenumber idforeign-interest-rate min0 max30 step0.01 value3.5 required> /div> div classform-group> label forforeign-loan-type>Typ raty:/label> select idforeign-loan-type required> option valuefixed>Stała/option> option valuevariable>Zmienna/option> /select> /div> div classform-group> button typebutton onclickcalculateForeignLoan()>Oblicz/button> /div> /form> div idforeign-loan-results classresults styledisplay:none;> h3>Wyniki kalkulacji kredytu walutowego/h3> div idforeign-loan-summary>/div> div idforeign-loan-schedule-container> h4>Harmonogram spłaty/h4> div styleoverflow-x: auto;> table idforeign-loan-schedule> thead> tr> th>Nr raty/th> th>Kwota raty (waluta)/th> th>Część kapitałowa/th> th>Część odsetkowa/th> th>Pozostały kapitał/th> /tr> /thead> tbody idforeign-loan-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(foreign-loan)>Eksportuj do Excel/button> /div>/div>script>// Funkcja do obliczania kredytu walutowegofunction calculateForeignLoan() { const amount parseFloat(document.getElementById(foreign-loan-amount).value); const currency document.getElementById(foreign-currency).value; const term parseInt(document.getElementById(foreign-loan-term).value); const annualRate parseFloat(document.getElementById(foreign-interest-rate).value) / 100; const loanType document.getElementById(foreign-loan-type).value; const monthlyRate annualRate / 12; let monthlyPayment, totalInterest 0; let schedule ; if (loanType fixed) { // Rata stała monthlyPayment amount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; schedule.push({ month: i, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } } else { // Rata zmienna const principalPayment amount / term; let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const payment principalPayment + interest; schedule.push({ month: i, payment: payment, principal: principalPayment, interest: interest, remaining: remaining - principalPayment }); totalInterest + interest; remaining - principalPayment; } } // Wyświetl wyniki const totalPayment amount + totalInterest; document.getElementById(foreign-loan-summary).innerHTML ` p>strong>Kwota kredytu:/strong> ${amount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Waluta:/strong> ${currency}/p> p>strong>Okres kredytowania:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Typ raty:/strong> ${loanType fixed ? Stała : Zmienna}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowita kwota do spłaty:/strong> ${totalPayment.toFixed(2).replace(., ,)} ${currency}/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(foreign-loan-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.payment.toFixed(2).replace(., ,)} ${currency}/td> td>${item.principal.toFixed(2).replace(., ,)} ${currency}/td> td>${item.interest.toFixed(2).replace(., ,)} ${currency}/td> td>${item.remaining.toFixed(2).replace(., ,)} ${currency}/td> `; scheduleBody.appendChild(row); }); document.getElementById(foreign-loan-results).style.display block;}/script>!-- Kalkulator leasingu -->div idleasing-calculator classcalculator-section> form idleasing-form classcalculator-form> div classform-group> label forleasing-amount>Wartość przedmiotu leasingu:/label> input typenumber idleasing-amount min1000 step1000 value100000 required> /div> div classform-group> label forleasing-currency>Waluta umowy:/label> select idleasing-currency required> option valuePLN>PLN - złoty polski/option> option valueUSD>USD - dolar amerykański/option> option valueEUR>EUR - euro/option> option valueGBP>GBP - funt brytyjski/option> /select> /div> div classform-group> label forleasing-term>Okres leasingu (miesiące):/label> input typenumber idleasing-term min6 max60 value36 required> /div> div classform-group> label forleasing-rate>Oprocentowanie roczne (%):/label> input typenumber idleasing-rate min0 max30 step0.01 value5.5 required> /div> div classform-group> label forleasing-fee>Opłata wstępna (%):/label> input typenumber idleasing-fee min0 max50 step0.1 value10> /div> div classform-group> label forleasing-residual>Wartość wykupu (%):/label> input typenumber idleasing-residual min0 max50 step0.1 value5> /div> div classform-group> button typebutton onclickcalculateLeasing()>Oblicz/button> /div> /form> div idleasing-results classresults styledisplay:none;> h3>Wyniki kalkulacji leasingu/h3> div idleasing-summary>/div> div idleasing-schedule-container> h4>Harmonogram płatności/h4> div styleoverflow-x: auto;> table idleasing-schedule> thead> tr> th>Nr raty/th> th>Opłata leasingowa/th> th>Część kapitałowa/th> th>Odsetki/th> th>Pozostała kwota/th> /tr> /thead> tbody idleasing-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(leasing)>Eksportuj do Excel/button> /div>/div> !-- Kalkulator lokaty --> div iddeposit-calculator classcalculator-section> form iddeposit-form classcalculator-form> div classform-group> label fordeposit-amount>Kwota lokaty (PLN):/label> input typenumber iddeposit-amount min100 step100 value100000 required> /div> div classform-group> label fordeposit-term>Okres lokaty (miesiące):/label> input typenumber iddeposit-term min1 max120 value12 required> /div> div classform-group> label fordeposit-rate>Oprocentowanie roczne (%):/label> input typenumber iddeposit-rate min0 max30 step0.01 value3.5 required> /div> div classform-group> label forcapitalization>Kapitalizacja odsetek:/label> select idcapitalization required> option valuemonthly>Miesięczna/option> option valuequarterly>Kwartalna/option> option valueannually>Roczna/option> option valueend>Na koniec okresu/option> /select> /div> div classform-group> label fortax-rate>Podatek od odsetek (%):/label> input typenumber idtax-rate min0 max100 value19 required> /div> div classform-group> button typebutton onclickcalculateDeposit()>Oblicz/button> /div> /form> div iddeposit-results classresults styledisplay:none;> h3>Wyniki kalkulacji lokaty/h3> div iddeposit-summary>/div> div iddeposit-schedule-container> h4>Harmonogram naliczania odsetek/h4> div styleoverflow-x: auto;> table iddeposit-schedule> thead> tr> th>Okres/th> th>Odsetki brutto/th> th>Podatek/th> th>Odsetki netto/th> th>Saldo/th> /tr> /thead> tbody iddeposit-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(deposit)>Eksportuj do Excel/button> /div> /div> !-- Porównanie kredytu i lokaty --> div idcomparison-calculator classcalculator-section> h3>Porównanie kredytu i lokaty/h3> p>Wprowadź dane, aby porównać koszt kredytu z potencjalnym zyskiem z lokaty./p> div classcalculator-form> div classform-group> label forcomparison-amount>Kwota (PLN):/label> input typenumber idcomparison-amount min1000 step1000 value100000 required> /div> div classform-group> label forcomparison-term>Okres (miesiące):/label> input typenumber idcomparison-term min6 max120 value60 required> /div> div classform-group> label forcomparison-loan-rate>Oprocentowanie kredytu (%):/label> input typenumber idcomparison-loan-rate min0 max30 step0.01 value5.5 required> /div> div classform-group> label forcomparison-deposit-rate>Oprocentowanie lokaty (%):/label> input typenumber idcomparison-deposit-rate min0 max30 step0.01 value3.5 required> /div> div classform-group> button typebutton onclickcalculateComparison()>Porównaj/button> /div> /div> div idcomparison-results classresults styledisplay:none;> h3>Wyniki porównania/h3> div idcomparison-summary>/div> div idcomparison-chart-container> canvas idcomparison-chart width400 height200>/canvas> /div> button classexport-btn onclickexportToExcel(comparison)>Eksportuj do Excel/button> /div> /div> /div> /div> !-- Pasek dolny z kursami walut --> div idcurrency-bar>Ładowanie kursów walut.../div> script srchttps://cdn.jsdelivr.net/npm/chart.js>/script> script> // Funkcje nawigacyjne function showSection(sectionId) { document.querySelectorAll(.content-section).forEach(section > { section.style.display none; }); document.getElementById(sectionId + -section).style.display block; } function showCalculator(calculatorId) { document.querySelectorAll(.calculator-section).forEach(section > { section.classList.remove(active); }); document.querySelectorAll(.tab).forEach(tab > { tab.classList.remove(active); }); document.getElementById(calculatorId + -calculator).classList.add(active); document.querySelectorAll(.tab).forEach(tab > { if (tab.textContent.toLowerCase().includes(calculatorId)) { tab.classList.add(active); } }); } // Funkcja do aktualizacji czasu function updateTime() { const now new Date(); // Czas lokalny const localTime now.toLocaleTimeString(pl-PL, { hour: 2-digit, minute: 2-digit, second: 2-digit, hour12: false }); // Czas światowy (UTC) const utcTime now.getUTCHours().toString().padStart(2, 0) + : + now.getUTCMinutes().toString().padStart(2, 0) + : + now.getUTCSeconds().toString().padStart(2, 0); // Aktualizacja paska document.getElementById(time-bar).textContent `Czas lokalny: ${localTime} | Czas światowy (UTC): ${utcTime}`; } // Funkcja do pobierania kursów walut async function fetchCurrencyRates() { try { const response await fetch(https://api.nbp.pl/api/exchangerates/tables/A/?formatjson); const data await response.json(); const rates data0.rates; // Wybieramy interesujące nas waluty const currencies { USD: dolar amerykański, EUR: euro, GBP: funt brytyjski, CHF: frank szwajcarski, DKK: korona duńska }; let html ; // Generujemy HTML dla każdej waluty for (const code, name of Object.entries(currencies)) { const rate rates.find(r > r.code code); if (rate) { html + `div classcurrency> ${code}: span classcurrency-value>${rate.mid.toFixed(4)} PLN/span> /div>`; } } // Dodajemy informację o czasie aktualizacji const updateTime new Date().toLocaleString(pl-PL); html + `div classlast-update>Ostatnia aktualizacja: ${updateTime} | Źródło: NBP | Następna aktualizacja za 5 minut/div>`; document.getElementById(currency-bar).innerHTML html; } catch (error) { console.error(Błąd pobierania kursów walut:, error); document.getElementById(currency-bar).innerHTML div classlast-update>Błąd pobierania kursów walut. Spróbuj ponownie później./div>; } } // Funkcje kalkulatora kredytowego function calculateLoan() { const amount parseFloat(document.getElementById(loan-amount).value); const term parseInt(document.getElementById(loan-term).value); const annualRate parseFloat(document.getElementById(interest-rate).value) / 100; const loanType document.getElementById(loan-type).value; const commission parseFloat(document.getElementById(commission).value) / 100; const otherCosts parseFloat(document.getElementById(other-costs).value); const monthlyRate annualRate / 12; let monthlyPayment, totalInterest 0, totalCost 0; let schedule ; // Oblicz prowizję i inne koszty const commissionAmount amount * commission; totalCost commissionAmount + otherCosts; if (loanType fixed) { // Rata stała monthlyPayment amount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; schedule.push({ month: i, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } } else { // Rata zmienna const principalPayment amount / term; let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const payment principalPayment + interest; schedule.push({ month: i, payment: payment, principal: principalPayment, interest: interest, remaining: remaining - principalPayment }); totalInterest + interest; remaining - principalPayment; } } // Wyświetl wyniki const totalPayment amount + totalInterest; const totalCostWithInterest totalPayment + totalCost; document.getElementById(loan-summary).innerHTML ` p>strong>Kwota kredytu:/strong> ${amount.toFixed(2).replace(., ,)} PLN/p> p>strong>Okres kredytowania:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Typ raty:/strong> ${loanType fixed ? Stała : Zmienna}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Prowizja i inne koszty:/strong> ${totalCost.toFixed(2).replace(., ,)} PLN/p> p>strong>Całkowita kwota do spłaty:/strong> ${totalPayment.toFixed(2).replace(., ,)} PLN/p> p>strong>Całkowity koszt (z prowizją i innymi kosztami):/strong> ${totalCostWithInterest.toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(loan-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.payment.toFixed(2).replace(., ,)}/td> td>${item.principal.toFixed(2).replace(., ,)}/td> td>${item.interest.toFixed(2).replace(., ,)}/td> td>${item.remaining.toFixed(2).replace(., ,)}/td> `; scheduleBody.appendChild(row); }); document.getElementById(loan-results).style.display block; } // Funkcje kalkulatora lokaty function calculateDeposit() { const amount parseFloat(document.getElementById(deposit-amount).value); const term parseInt(document.getElementById(deposit-term).value); const annualRate parseFloat(document.getElementById(deposit-rate).value) / 100; const capitalization document.getElementById(capitalization).value; const taxRate parseFloat(document.getElementById(tax-rate).value) / 100; let periodsPerYear, periodsTotal; let schedule ; let currentAmount amount; let totalInterest 0, totalTax 0; // Określ częstotliwość kapitalizacji switch (capitalization) { case monthly: periodsPerYear 12; break; case quarterly: periodsPerYear 4; break; case annually: periodsPerYear 1; break; case end: periodsPerYear 1; break; } const periodRate annualRate / periodsPerYear; periodsTotal Math.ceil(term / (12 / periodsPerYear)); if (capitalization end) { // Kapitalizacja na koniec okresu const interest amount * annualRate * (term / 12); const tax interest * taxRate; const netInterest interest - tax; schedule.push({ period: 1, grossInterest: interest, tax: tax, netInterest: netInterest, balance: amount + netInterest }); totalInterest interest; totalTax tax; currentAmount + netInterest; } else { // Kapitalizacja okresowa for (let i 1; i periodsTotal; i++) { const interest currentAmount * periodRate; const tax interest * taxRate; const netInterest interest - tax; schedule.push({ period: i, grossInterest: interest, tax: tax, netInterest: netInterest, balance: currentAmount + netInterest }); totalInterest + interest; totalTax + tax; currentAmount + netInterest; } } // Wyświetl wyniki document.getElementById(deposit-summary).innerHTML ` p>strong>Kwota lokaty:/strong> ${amount.toFixed(2).replace(., ,)} PLN/p> p>strong>Okres lokaty:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Kapitalizacja:/strong> ${getCapitalizationName(capitalization)}/p> p>strong>Odsetki brutto:/strong> ${totalInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Podatek od odsetek:/strong> ${totalTax.toFixed(2).replace(., ,)} PLN/p> p>strong>Odsetki netto:/strong> ${(totalInterest - totalTax).toFixed(2).replace(., ,)} PLN/p> p>strong>Końcowa kwota:/strong> ${currentAmount.toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(deposit-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.period}/td> td>${item.grossInterest.toFixed(2).replace(., ,)}/td> td>${item.tax.toFixed(2).replace(., ,)}/td> td>${item.netInterest.toFixed(2).replace(., ,)}/td> td>${item.balance.toFixed(2).replace(., ,)}/td> `; scheduleBody.appendChild(row); }); document.getElementById(deposit-results).style.display block; } function getCapitalizationName(capitalization) { switch (capitalization) { case monthly: return Miesięczna; case quarterly: return Kwartalna; case annually: return Roczna; case end: return Na koniec okresu; default: return capitalization; } } // Funkcja porównania kredytu i lokaty function calculateComparison() { const amount parseFloat(document.getElementById(comparison-amount).value); const term parseInt(document.getElementById(comparison-term).value); const loanRate parseFloat(document.getElementById(comparison-loan-rate).value) / 100; const depositRate parseFloat(document.getElementById(comparison-deposit-rate).value) / 100; // Oblicz koszt kredytu (uproszczone - tylko odsetki) const loanInterest amount * loanRate * (term / 12); const loanTotal amount + loanInterest; // Oblicz zysk z lokaty (uproszczone - kapitalizacja miesięczna) const depositInterest amount * Math.pow(1 + depositRate/12, term) - amount; const depositTax depositInterest * 0.19; const depositNetInterest depositInterest - depositTax; const depositTotal amount + depositNetInterest; // Wyświetl wyniki document.getElementById(comparison-summary).innerHTML ` p>strong>Kwota:/strong> ${amount.toFixed(2).replace(., ,)} PLN/p> p>strong>Okres:/strong> ${term} miesięcy/p> p>strong>Koszt kredytu (odsetki):/strong> ${loanInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Całkowita spłata kredytu:/strong> ${loanTotal.toFixed(2).replace(., ,)} PLN/p> p>strong>Zysk z lokaty (brutto):/strong> ${depositInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Podatek od odsetek:/strong> ${depositTax.toFixed(2).replace(., ,)} PLN/p> p>strong>Zysk z lokaty (netto):/strong> ${depositNetInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Końcowa kwota lokaty:/strong> ${depositTotal.toFixed(2).replace(., ,)} PLN/p> p>strong>Różnica:/strong> ${(depositTotal - loanTotal).toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj wykres renderComparisonChart(amount, loanTotal, depositTotal); document.getElementById(comparison-results).style.display block; } function renderComparisonChart(amount, loanTotal, depositTotal) { const ctx document.getElementById(comparison-chart).getContext(2d); // Jeśli wykres już istnieje, zniszcz go przed utworzeniem nowego if (window.comparisonChart) { window.comparisonChart.destroy(); } window.comparisonChart new Chart(ctx, { type: bar, data: { labels: Kwota początkowa, Kredyt (całkowita spłata), Lokata (końcowa kwota), datasets: { label: PLN, data: amount, loanTotal, depositTotal, backgroundColor: rgba(54, 162, 235, 0.7), rgba(255, 99, 132, 0.7), rgba(75, 192, 192, 0.7) , borderColor: rgba(54, 162, 235, 1), rgba(255, 99, 132, 1), rgba(75, 192, 192, 1) , borderWidth: 1 } }, options: { responsive: true, scales: { y: { beginAtZero: true, title: { display: true, text: Kwota (PLN) } } } } }); } // Funkcja eksportu do Excel function exportToExcel(type) { let html, filename; if (type loan) { html document.getElementById(loan-schedule-container).innerHTML; filename harmonogram_kredytu.xls; } else if (type deposit) { html document.getElementById(deposit-schedule-container).innerHTML; filename harmonogram_lokaty.xls; } else { html document.getElementById(comparison-summary).innerHTML; filename porownanie_kredytu_lokaty.xls; } // Zamień kropki na przecinki w liczbach html html.replace(/\.(\d{2})/g, ,$1); // Utwórz link do pobrania const blob new Blob(`html>body>${html}/body>/html>`, {type: application/vnd.ms-excel}); const link document.createElement(a); link.href URL.createObjectURL(blob); link.download filename; link.click(); } // Inicjalizacja i ustawienie interwałów updateTime(); setInterval(updateTime, 1000); fetchCurrencyRates(); setInterval(fetchCurrencyRates, 5 * 60 * 1000); // 5 minut // Funkcja do obliczania kredytu walutowegoasync function calculateForeignLoan() { const amount parseFloat(document.getElementById(foreign-loan-amount).value); const currency document.getElementById(foreign-currency).value; const term parseInt(document.getElementById(foreign-loan-term).value); const annualRate parseFloat(document.getElementById(foreign-interest-rate).value) / 100; const loanType document.getElementById(foreign-loan-type).value; const monthlyRate annualRate / 12; let monthlyPayment, totalInterest 0; let schedule ; // Pobierz aktualny kurs waluty z NBP let currentRate; try { currentRate await fetchCurrencyRate(currency); } catch (error) { console.error(Błąd pobierania kursu waluty:, error); alert(Nie udało się pobrać kursu waluty. Spróbuj ponownie później.); return; } if (loanType fixed) { // Rata stała monthlyPayment amount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; // Oblicz datę płatności raty (co miesiąc od daty rozpoczęcia) const paymentDate new Date(startDate); paymentDate.setMonth(startDate.getMonth() + i); schedule.push({ month: i, date: paymentDate, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } } else { // Rata zmienna const principalPayment amount / term; let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const payment principalPayment + interest; // Oblicz datę płatności raty (co miesiąc od daty rozpoczęcia) const paymentDate new Date(startDate); paymentDate.setMonth(startDate.getMonth() + i); schedule.push({ month: i, date: paymentDate, payment: payment, principal: principalPayment, interest: interest, remaining: remaining - principalPayment }); totalInterest + interest; remaining - principalPayment; } } // Pobierz kursy walut dla każdej raty (symulacja - w rzeczywistości trzeba by pobrać historyczne kursy) // Tutaj dla uproszczenia używamy aktualnego kursu dla wszystkich rat // W rzeczywistej implementacji trzeba by użyć API NBP do pobrania historycznych kursów for (const item of schedule) { item.exchangeRate currentRate; item.paymentPLN item.payment * currentRate; item.principalPLN item.principal * currentRate; item.interestPLN item.interest * currentRate; } // Wyświetl wyniki const totalPayment amount + totalInterest; const totalPaymentPLN totalPayment * currentRate; document.getElementById(foreign-loan-summary).innerHTML ` p>strong>Kwota kredytu:/strong> ${amount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Waluta:/strong> ${currency}/p> p>strong>Aktualny kurs ${currency}:/strong> ${currentRate.toFixed(4).replace(., ,)} PLN/p> p>strong>Okres kredytowania:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Typ raty:/strong> ${loanType fixed ? Stała : Zmienna}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowita kwota do spłaty:/strong> ${totalPayment.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowita kwota do spłaty (PLN):/strong> ${totalPaymentPLN.toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(foreign-loan-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.date.toLocaleDateString(pl-PL)}/td> td>${item.payment.toFixed(2).replace(., ,)} ${currency}/td> td>${item.exchangeRate.toFixed(4).replace(., ,)}/td> td>${item.paymentPLN.toFixed(2).replace(., ,)}/td> td>${item.principalPLN.toFixed(2).replace(., ,)}/td> td>${item.interestPLN.toFixed(2).replace(., ,)}/td> td>${item.remaining.toFixed(2).replace(., ,)} ${currency}/td> `; scheduleBody.appendChild(row); }); document.getElementById(foreign-loan-results).style.display block;}// Funkcja do pobierania kursu waluty z NBPasync function fetchCurrencyRate(currency) { try { const response await fetch(`https://api.nbp.pl/api/exchangerates/rates/a/${currency.toLowerCase()}/?formatjson`); const data await response.json(); return data.rates0.mid; } catch (error) { console.error(Błąd pobierania kursu waluty:, error); throw error; }}// Funkcja do obliczania leasingufunction calculateLeasing() { const amount parseFloat(document.getElementById(leasing-amount).value); const currency document.getElementById(leasing-currency).value; const term parseInt(document.getElementById(leasing-term).value); const annualRate parseFloat(document.getElementById(leasing-rate).value) / 100; const feePercentage parseFloat(document.getElementById(leasing-fee).value) / 100; const residualPercentage parseFloat(document.getElementById(leasing-residual).value) / 100; const monthlyRate annualRate / 12; const feeAmount amount * feePercentage; const residualValue amount * residualPercentage; const financedAmount amount - feeAmount - residualValue; // Oblicz ratę leasingową (uproszczone obliczenia) const monthlyPayment financedAmount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let schedule ; let remaining financedAmount; let totalInterest 0; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; schedule.push({ month: i, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } // Dodaj płatność wykupu na koniec if (residualValue > 0) { schedule.push({ month: term + 1, payment: residualValue, principal: residualValue, interest: 0, remaining: 0 }); } // Wyświetl wyniki const totalPayment feeAmount + schedule.reduce((sum, item) > sum + item.payment, 0); document.getElementById(leasing-summary).innerHTML ` p>strong>Wartość przedmiotu leasingu:/strong> ${amount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Waluta umowy:/strong> ${currency}/p> p>strong>Okres leasingu:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Opłata wstępna:/strong> ${feeAmount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Wartość wykupu:/strong> ${residualValue.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowity koszt leasingu:/strong> ${totalPayment.toFixed(2).replace(., ,)} ${currency}/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(leasing-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.payment.toFixed(2).replace(., ,)}/td> td>${item.principal.toFixed(2).replace(., ,)}/td> td>${item.interest.toFixed(2).replace(., ,)}/td> td>${item.remaining.toFixed(2).replace(., ,)}/td> `; scheduleBody.appendChild(row); }); document.getElementById(leasing-results).style.display block;}// Aktualizacja funkcji exportToExcelfunction exportToExcel(type) { let html, filename; if (type loan) { html document.getElementById(loan-schedule-container).innerHTML; filename harmonogram_kredytu.xls; } else if (type foreign-loan) { html document.getElementById(foreign-loan-schedule-container).innerHTML; filename harmonogram_kredytu_walutowego.xls; } else if (type leasing) { html document.getElementById(leasing-schedule-container).innerHTML; filename harmonogram_leasingu.xls; } else if (type deposit) { html document.getElementById(deposit-schedule-container).innerHTML; filename harmonogram_lokaty.xls; } else { html document.getElementById(comparison-summary).innerHTML; filename porownanie_kredytu_lokaty.xls; } // Zamień kropki na przecinki w liczbach html html.replace(/\.(\d{2})/g, ,$1); // Utwórz link do pobrania const blob new Blob(`html>body>${html}/body>/html>`, {type: application/vnd.ms-excel}); const link document.createElement(a); link.href URL.createObjectURL(blob); link.download filename; link.click();}// Inicjalizacja daty rozpoczęcia kredytu walutowegodocument.getElementById(foreign-start-date).valueAsDate new Date(); /script>/body>/html>
Port 443
HTTP/1.1 200 OKDate: Sun, 01 Feb 2026 21:36:32 GMTContent-Type: text/htmlContent-Length: 60127Connection: keep-aliveNA-LS-Cache-Enabled: offLast-Modified: Mon, 29 Dec 2025 15:52:57 GMTETag: eadf-647193ca89238Accept-Ranges: bytesVary: Accept-EncodingX-CDN-nazwa.pl-location: LAX-CDN-nazwa.pl-policyused: cdndisabledServer: Apache/2 !DOCTYPE html>html langpl>head> meta charsetUTF-8> meta http-equivX-UA-Compatible contentIEedge> meta nameviewport contentwidthdevice-width, initial-scale1.0> title>AGRIPOLAND.org/title> style> /* Styl paska czasowego */ #time-bar { background-color: #222; color: red; padding: 8px 0; text-align: center; font-family: Verdana, sans-serif; font-size: 16px; position: fixed; top: 0; left: 0; width: 100%; z-index: 1000; box-shadow: 0 2px 5px rgba(0,0,0,0.3); } /* Styl paska walutowego */ #currency-bar { background-color: #2c3e50; color: white; padding: 10px 0; text-align: center; font-family: Verdana, sans-serif; font-size: 14px; position: fixed; bottom: 0; left: 0; width: 100%; z-index: 1000; box-shadow: 0 -2px 5px rgba(0,0,0,0.3); display: flex; justify-content: center; flex-wrap: wrap; gap: 20px; } .currency { display: inline-block; } .currency-value { font-weight: bold; color: #f39c12; } .last-update { font-size: 12px; color: #bdc3c7; margin-top: 5px; width: 100%; } /* Styl głównej zawartości */ body { background-color: gray; color: white; font-family: Verdana, sans-serif; padding-top: 100px; padding-bottom: 70px; margin: 0; } h1, h2, h3 { text-align: center; } a { color: white; text-decoration: none; } a:hover { text-decoration: underline; } .content { max-width: 800px; margin: 0 auto; padding: 20px; } .article-link { display: block; margin: 10px 0; } /* Styl nawigacji */ #nav-bar { background-color: #333; position: fixed; top: 40px; left: 0; width: 100%; z-index: 999; display: flex; justify-content: center; padding: 10px 0; } .nav-link { color: white; padding: 10px 20px; margin: 0 10px; border-radius: 5px; transition: background-color 0.3s; } .nav-link:hover { background-color: #333; text-decoration: none; } .lex { display: none; margin-top: 20px; padding: 20px; background-color: #444; border-radius: 8px; } .lex.active { display: block; } .lex-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } #nav-bar-2 { background-color: #333; padding: 10px; margin-top: 5px; /* odstęp między paskami */}#nav-bar-2 .nav-link { color: #f5f5f5; margin-right: 15px; text-decoration: none;} /* Styl kalkulatorów */ .calculator-section { display: none; margin-top: 20px; padding: 20px; background-color: #444; border-radius: 8px; } .calculator-section.active { display: block; } .calculator-form { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .form-group { margin-bottom: 15px; } label { display: block; margin-bottom: 5px; font-weight: bold; } input, select { width: 100%; padding: 8px; border-radius: 4px; border: 1px solid #666; background-color: #555; color: white; } button { background-color: #f39c12; color: #222; border: none; padding: 10px 15px; border-radius: 4px; cursor: pointer; font-weight: bold; transition: background-color 0.3s; } button:hover { background-color: #e67e22; } .results { margin-top: 20px; padding: 15px; background-color: #333; border-radius: 8px; } table { width: 100%; border-collapse: collapse; margin-top: 15px; } th, td { padding: 8px; text-align: left; border-bottom: 1px solid #666; } th { background-color: #555; } .export-btn { margin-top: 15px; background-color: #27ae60; } .export-btn:hover { background-color: #2ecc71; } .tabs { display: flex; margin-bottom: 15px; } .tab { padding: 10px 15px; background-color: #555; cursor: pointer; margin-right: 5px; border-radius: 5px 5px 0 0; } .tab.active { background-color: #f39c12; color: #222; } /style>/head>body> !-- Pasek górny z czasem --> div idtime-bar>Ładowanie czasu.../div> !-- Pasek nawigacyjny --> div idnav-bar> a href# classnav-link onclickshowSection(home)>Strona główna/a> a href# classnav-link onclickshowSection(lex)>Prawo/a> a href# classnav-link onclickshowSection(calculations)>Kalkulacje/a> a href# classnav-link onclickshowSection(calculators)>Kalkulatory/a> /div> !-- Główna zawartość strony --> div classcontent> !-- Sekcja główna --> div idhome-section classcontent-section> h1>POLSKIE STOWARZYSZENIE WSPARCIA PRODUKCJI ROLNICZEJ/h1> h2>AGRIPOLAND/h2> h3>KRS 0000481609/h3> h3>a hrefmailto:spptch@wp.pl>spptch@wp.pl/a>/h3> div stylemargin-top: 30px;> a hrefmy/ns.html classarticle-link> Wpływ nawożenia słomą na substancje organiczne w glebie. /a> a hrefart/index1.php classarticle-link>Jak postępować z dzikimi zwierzętami na terenach miast i wsi? /a> a hrefmc/index.php classarticle-link>Wpływ burzy magnetycznej na prowadzenie gps /a> a hrefmy/index.php classarticle-link>Artykuł Mykotosyny /a> a hrefps/index.php classarticle-link>Artykuł PRRS 1 /a> a hrefasf/index.php classarticle-link>Artykuł ASF 1 /a> a hrefasf/asf1.php classarticle-link>Artykuł ASF 2/a> a hrefnr1.html classarticle-link>Artykuł z 21 maja 2023 roku/a> a hrefnr2.html classarticle-link>Artykuł z 4 czerwca 2023 roku/a> a hrefnr3.html classarticle-link>Artykuł z 17 kwietnia 2024 roku/a> a hrefnr4.html classarticle-link>Artykuł z 28 grudnia 2024 roku/a> a hrefnr5.html classarticle-link>Artykuł z 10 stycznia 2025 roku/a> /div> /div> div idlex-section classcontent-section styledisplay:none;> h2>Prawo/h2> div stylemargin-top: 30px;> a hrefp/index21.php classarticle-link>Sprawy związane z dzikimi zwierzątami /a> a hrefp/index20.php classarticle-link>4 sierpnia - 24 sierpnia 2025 roku /a> a hrefp/index18.php classarticle-link>22 lipca - 3 sierpnia 2025 roku /a> a hrefp/index17.php classarticle-link>17 - 22 lipca 2025 roku /a> a hrefp/index16.php classarticle-link>16 lipca 2025 roku /a> a hrefp/index15.php classarticle-link>15 lipca 2025 roku /a> a hrefp/index14.php classarticle-link>13 lipca 2025 roku /a> a hrefp/index13.php classarticle-link>Ustawa deregulacyjna /a> a hrefp/index12.php classarticle-link>12 lipca 2025 roku /a> a hrefp/index11.php classarticle-link>11 lipca 2025 roku /a> a hrefp/index10.php classarticle-link>10 lipca 2025 roku /a> a hrefp/index9.php classarticle-link>9 lipca 2025 roku /a> a hrefp/index8.php classarticle-link>8 lipca 2025 roku /a> a hrefp/index7.php classarticle-link>5 lipca 2025 roku /a> a hrefp/index6.php classarticle-link>Kalendarz obowiązków w prawie ochrony środowiska - Lipiec 2025 /a> a hrefp/index5.php classarticle-link>4 lipca 2025 roku /a> a hrefp/index4.php classarticle-link>Szczegółowe warunki i tryb przyznawania, wypłaty oraz zwrotu pomocy finansowej w ramach działania Tworzenie grup producentów i organizacji producentów objętego Programem Rozwoju Obszarów Wiejskich na lata 2014-2020. /a> a hrefp/index3.php classarticle-link>Szczegółowe warunki i tryb przyznawania, wypłaty oraz zwrotu pomocy finansowej w ramach działania Tworzenie grup producentów i organizacji producentów objętego Programem Rozwoju Obszarów Wiejskich na lata 2014-2020. /a> a hrefp/index2.php classarticle-link>3 lipca 2025 roku /a> a hrefp/index.php classarticle-link>2 lipca 2025 roku /a> /div> /div> !-- Sekcja kalkulacji --> div idcalculations-section classcontent-section styledisplay:none;> h2>Kalkulacje/h2> div classtabs> button typebutton onclicklocation.hrefn/index.php nameedit>Kalkulator opłacalności zakupu prowadzenia GPS/button> button typebutton onclicklocation.hreftucz/index.php nameedit>Kalkulator tuczu trzody chlewnej/button> button typebutton onclicklocation.hrefdetal/index.php nameedit>Kalkulator wartości tucznika w detalu/button> button typebutton onclicklocation.hrefsc/index.php nameedit>Kalkulator straty polnu zależny od szerokości ścieżek/button> /div> /div> !-- Sekcja kalkulatorów --> div idcalculators-section classcontent-section styledisplay:none;> h2>Kalkulatory finansowe/h2> div classtabs> div classtab active onclickshowCalculator(loan)>Kalkulator kredytowy/div> div classtab onclickshowCalculator(foreign-loan)>Kredyt walutowy/div> div classtab onclickshowCalculator(leasing)>Leasing/div> div classtab onclickshowCalculator(deposit)>Kalkulator lokaty/div> div classtab onclickshowCalculator(comparison)>Porównanie/div> /div> !-- Kalkulator kredytowy --> div idloan-calculator classcalculator-section active> form idloan-form classcalculator-form> div classform-group> label forloan-amount>Kwota kredytu (PLN):/label> input typenumber idloan-amount min1000 step1000 value100000 required> /div> div classform-group> label forloan-term>Okres kredytowania (miesiące):/label> input typenumber idloan-term min6 max360 value60 required> /div> div classform-group> label forinterest-rate>Oprocentowanie roczne (%):/label> input typenumber idinterest-rate min0 max30 step0.01 value5.5 required> /div> div classform-group> label forloan-type>Typ raty:/label> select idloan-type required> option valuefixed>Stała/option> option valuevariable>Zmienna/option> /select> /div> div classform-group> label forcommission>Prowizja (%):/label> input typenumber idcommission min0 max20 step0.01 value1.0> /div> div classform-group> label forother-costs>Inne koszty (PLN):/label> input typenumber idother-costs min0 step100 value0> /div> div classform-group> button typebutton onclickcalculateLoan()>Oblicz/button> /div> /form> div idloan-results classresults styledisplay:none;> h3>Wyniki kalkulacji kredytu/h3> div idloan-summary>/div> div idloan-schedule-container> h4>Harmonogram spłaty/h4> div styleoverflow-x: auto;> table idloan-schedule> thead> tr> th>Nr raty/th> th>Kwota raty/th> th>Część kapitałowa/th> th>Część odsetkowa/th> th>Pozostały kapitał/th> /tr> /thead> tbody idloan-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(loan)>Eksportuj do Excel/button> /div> /div> !-- W sekcji tabs dodaj nowe zakładki -->!-- Kalkulator kredytu walutowego -->!-- Kalkulator kredytu walutowego -->div idforeign-loan-calculator classcalculator-section> form idforeign-loan-form classcalculator-form> div classform-group> label forforeign-loan-amount>Kwota kredytu:/label> input typenumber idforeign-loan-amount min1000 step1000 value100000 required> /div> div classform-group> label forforeign-currency>Waluta:/label> select idforeign-currency required> option valueUSD>USD - dolar amerykański/option> option valueEUR>EUR - euro/option> option valueGBP>GBP - funt brytyjski/option> option valueCHF>CHF - frank szwajcarski/option> /select> /div> div classform-group> label forforeign-loan-term>Okres kredytowania (miesiące):/label> input typenumber idforeign-loan-term min6 max360 value60 required> /div> div classform-group> label forforeign-interest-rate>Oprocentowanie roczne (%):/label> input typenumber idforeign-interest-rate min0 max30 step0.01 value3.5 required> /div> div classform-group> label forforeign-loan-type>Typ raty:/label> select idforeign-loan-type required> option valuefixed>Stała/option> option valuevariable>Zmienna/option> /select> /div> div classform-group> button typebutton onclickcalculateForeignLoan()>Oblicz/button> /div> /form> div idforeign-loan-results classresults styledisplay:none;> h3>Wyniki kalkulacji kredytu walutowego/h3> div idforeign-loan-summary>/div> div idforeign-loan-schedule-container> h4>Harmonogram spłaty/h4> div styleoverflow-x: auto;> table idforeign-loan-schedule> thead> tr> th>Nr raty/th> th>Kwota raty (waluta)/th> th>Część kapitałowa/th> th>Część odsetkowa/th> th>Pozostały kapitał/th> /tr> /thead> tbody idforeign-loan-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(foreign-loan)>Eksportuj do Excel/button> /div>/div>script>// Funkcja do obliczania kredytu walutowegofunction calculateForeignLoan() { const amount parseFloat(document.getElementById(foreign-loan-amount).value); const currency document.getElementById(foreign-currency).value; const term parseInt(document.getElementById(foreign-loan-term).value); const annualRate parseFloat(document.getElementById(foreign-interest-rate).value) / 100; const loanType document.getElementById(foreign-loan-type).value; const monthlyRate annualRate / 12; let monthlyPayment, totalInterest 0; let schedule ; if (loanType fixed) { // Rata stała monthlyPayment amount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; schedule.push({ month: i, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } } else { // Rata zmienna const principalPayment amount / term; let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const payment principalPayment + interest; schedule.push({ month: i, payment: payment, principal: principalPayment, interest: interest, remaining: remaining - principalPayment }); totalInterest + interest; remaining - principalPayment; } } // Wyświetl wyniki const totalPayment amount + totalInterest; document.getElementById(foreign-loan-summary).innerHTML ` p>strong>Kwota kredytu:/strong> ${amount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Waluta:/strong> ${currency}/p> p>strong>Okres kredytowania:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Typ raty:/strong> ${loanType fixed ? Stała : Zmienna}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowita kwota do spłaty:/strong> ${totalPayment.toFixed(2).replace(., ,)} ${currency}/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(foreign-loan-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.payment.toFixed(2).replace(., ,)} ${currency}/td> td>${item.principal.toFixed(2).replace(., ,)} ${currency}/td> td>${item.interest.toFixed(2).replace(., ,)} ${currency}/td> td>${item.remaining.toFixed(2).replace(., ,)} ${currency}/td> `; scheduleBody.appendChild(row); }); document.getElementById(foreign-loan-results).style.display block;}/script>!-- Kalkulator leasingu -->div idleasing-calculator classcalculator-section> form idleasing-form classcalculator-form> div classform-group> label forleasing-amount>Wartość przedmiotu leasingu:/label> input typenumber idleasing-amount min1000 step1000 value100000 required> /div> div classform-group> label forleasing-currency>Waluta umowy:/label> select idleasing-currency required> option valuePLN>PLN - złoty polski/option> option valueUSD>USD - dolar amerykański/option> option valueEUR>EUR - euro/option> option valueGBP>GBP - funt brytyjski/option> /select> /div> div classform-group> label forleasing-term>Okres leasingu (miesiące):/label> input typenumber idleasing-term min6 max60 value36 required> /div> div classform-group> label forleasing-rate>Oprocentowanie roczne (%):/label> input typenumber idleasing-rate min0 max30 step0.01 value5.5 required> /div> div classform-group> label forleasing-fee>Opłata wstępna (%):/label> input typenumber idleasing-fee min0 max50 step0.1 value10> /div> div classform-group> label forleasing-residual>Wartość wykupu (%):/label> input typenumber idleasing-residual min0 max50 step0.1 value5> /div> div classform-group> button typebutton onclickcalculateLeasing()>Oblicz/button> /div> /form> div idleasing-results classresults styledisplay:none;> h3>Wyniki kalkulacji leasingu/h3> div idleasing-summary>/div> div idleasing-schedule-container> h4>Harmonogram płatności/h4> div styleoverflow-x: auto;> table idleasing-schedule> thead> tr> th>Nr raty/th> th>Opłata leasingowa/th> th>Część kapitałowa/th> th>Odsetki/th> th>Pozostała kwota/th> /tr> /thead> tbody idleasing-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(leasing)>Eksportuj do Excel/button> /div>/div> !-- Kalkulator lokaty --> div iddeposit-calculator classcalculator-section> form iddeposit-form classcalculator-form> div classform-group> label fordeposit-amount>Kwota lokaty (PLN):/label> input typenumber iddeposit-amount min100 step100 value100000 required> /div> div classform-group> label fordeposit-term>Okres lokaty (miesiące):/label> input typenumber iddeposit-term min1 max120 value12 required> /div> div classform-group> label fordeposit-rate>Oprocentowanie roczne (%):/label> input typenumber iddeposit-rate min0 max30 step0.01 value3.5 required> /div> div classform-group> label forcapitalization>Kapitalizacja odsetek:/label> select idcapitalization required> option valuemonthly>Miesięczna/option> option valuequarterly>Kwartalna/option> option valueannually>Roczna/option> option valueend>Na koniec okresu/option> /select> /div> div classform-group> label fortax-rate>Podatek od odsetek (%):/label> input typenumber idtax-rate min0 max100 value19 required> /div> div classform-group> button typebutton onclickcalculateDeposit()>Oblicz/button> /div> /form> div iddeposit-results classresults styledisplay:none;> h3>Wyniki kalkulacji lokaty/h3> div iddeposit-summary>/div> div iddeposit-schedule-container> h4>Harmonogram naliczania odsetek/h4> div styleoverflow-x: auto;> table iddeposit-schedule> thead> tr> th>Okres/th> th>Odsetki brutto/th> th>Podatek/th> th>Odsetki netto/th> th>Saldo/th> /tr> /thead> tbody iddeposit-schedule-body>/tbody> /table> /div> /div> button classexport-btn onclickexportToExcel(deposit)>Eksportuj do Excel/button> /div> /div> !-- Porównanie kredytu i lokaty --> div idcomparison-calculator classcalculator-section> h3>Porównanie kredytu i lokaty/h3> p>Wprowadź dane, aby porównać koszt kredytu z potencjalnym zyskiem z lokaty./p> div classcalculator-form> div classform-group> label forcomparison-amount>Kwota (PLN):/label> input typenumber idcomparison-amount min1000 step1000 value100000 required> /div> div classform-group> label forcomparison-term>Okres (miesiące):/label> input typenumber idcomparison-term min6 max120 value60 required> /div> div classform-group> label forcomparison-loan-rate>Oprocentowanie kredytu (%):/label> input typenumber idcomparison-loan-rate min0 max30 step0.01 value5.5 required> /div> div classform-group> label forcomparison-deposit-rate>Oprocentowanie lokaty (%):/label> input typenumber idcomparison-deposit-rate min0 max30 step0.01 value3.5 required> /div> div classform-group> button typebutton onclickcalculateComparison()>Porównaj/button> /div> /div> div idcomparison-results classresults styledisplay:none;> h3>Wyniki porównania/h3> div idcomparison-summary>/div> div idcomparison-chart-container> canvas idcomparison-chart width400 height200>/canvas> /div> button classexport-btn onclickexportToExcel(comparison)>Eksportuj do Excel/button> /div> /div> /div> /div> !-- Pasek dolny z kursami walut --> div idcurrency-bar>Ładowanie kursów walut.../div> script srchttps://cdn.jsdelivr.net/npm/chart.js>/script> script> // Funkcje nawigacyjne function showSection(sectionId) { document.querySelectorAll(.content-section).forEach(section > { section.style.display none; }); document.getElementById(sectionId + -section).style.display block; } function showCalculator(calculatorId) { document.querySelectorAll(.calculator-section).forEach(section > { section.classList.remove(active); }); document.querySelectorAll(.tab).forEach(tab > { tab.classList.remove(active); }); document.getElementById(calculatorId + -calculator).classList.add(active); document.querySelectorAll(.tab).forEach(tab > { if (tab.textContent.toLowerCase().includes(calculatorId)) { tab.classList.add(active); } }); } // Funkcja do aktualizacji czasu function updateTime() { const now new Date(); // Czas lokalny const localTime now.toLocaleTimeString(pl-PL, { hour: 2-digit, minute: 2-digit, second: 2-digit, hour12: false }); // Czas światowy (UTC) const utcTime now.getUTCHours().toString().padStart(2, 0) + : + now.getUTCMinutes().toString().padStart(2, 0) + : + now.getUTCSeconds().toString().padStart(2, 0); // Aktualizacja paska document.getElementById(time-bar).textContent `Czas lokalny: ${localTime} | Czas światowy (UTC): ${utcTime}`; } // Funkcja do pobierania kursów walut async function fetchCurrencyRates() { try { const response await fetch(https://api.nbp.pl/api/exchangerates/tables/A/?formatjson); const data await response.json(); const rates data0.rates; // Wybieramy interesujące nas waluty const currencies { USD: dolar amerykański, EUR: euro, GBP: funt brytyjski, CHF: frank szwajcarski, DKK: korona duńska }; let html ; // Generujemy HTML dla każdej waluty for (const code, name of Object.entries(currencies)) { const rate rates.find(r > r.code code); if (rate) { html + `div classcurrency> ${code}: span classcurrency-value>${rate.mid.toFixed(4)} PLN/span> /div>`; } } // Dodajemy informację o czasie aktualizacji const updateTime new Date().toLocaleString(pl-PL); html + `div classlast-update>Ostatnia aktualizacja: ${updateTime} | Źródło: NBP | Następna aktualizacja za 5 minut/div>`; document.getElementById(currency-bar).innerHTML html; } catch (error) { console.error(Błąd pobierania kursów walut:, error); document.getElementById(currency-bar).innerHTML div classlast-update>Błąd pobierania kursów walut. Spróbuj ponownie później./div>; } } // Funkcje kalkulatora kredytowego function calculateLoan() { const amount parseFloat(document.getElementById(loan-amount).value); const term parseInt(document.getElementById(loan-term).value); const annualRate parseFloat(document.getElementById(interest-rate).value) / 100; const loanType document.getElementById(loan-type).value; const commission parseFloat(document.getElementById(commission).value) / 100; const otherCosts parseFloat(document.getElementById(other-costs).value); const monthlyRate annualRate / 12; let monthlyPayment, totalInterest 0, totalCost 0; let schedule ; // Oblicz prowizję i inne koszty const commissionAmount amount * commission; totalCost commissionAmount + otherCosts; if (loanType fixed) { // Rata stała monthlyPayment amount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; schedule.push({ month: i, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } } else { // Rata zmienna const principalPayment amount / term; let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const payment principalPayment + interest; schedule.push({ month: i, payment: payment, principal: principalPayment, interest: interest, remaining: remaining - principalPayment }); totalInterest + interest; remaining - principalPayment; } } // Wyświetl wyniki const totalPayment amount + totalInterest; const totalCostWithInterest totalPayment + totalCost; document.getElementById(loan-summary).innerHTML ` p>strong>Kwota kredytu:/strong> ${amount.toFixed(2).replace(., ,)} PLN/p> p>strong>Okres kredytowania:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Typ raty:/strong> ${loanType fixed ? Stała : Zmienna}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Prowizja i inne koszty:/strong> ${totalCost.toFixed(2).replace(., ,)} PLN/p> p>strong>Całkowita kwota do spłaty:/strong> ${totalPayment.toFixed(2).replace(., ,)} PLN/p> p>strong>Całkowity koszt (z prowizją i innymi kosztami):/strong> ${totalCostWithInterest.toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(loan-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.payment.toFixed(2).replace(., ,)}/td> td>${item.principal.toFixed(2).replace(., ,)}/td> td>${item.interest.toFixed(2).replace(., ,)}/td> td>${item.remaining.toFixed(2).replace(., ,)}/td> `; scheduleBody.appendChild(row); }); document.getElementById(loan-results).style.display block; } // Funkcje kalkulatora lokaty function calculateDeposit() { const amount parseFloat(document.getElementById(deposit-amount).value); const term parseInt(document.getElementById(deposit-term).value); const annualRate parseFloat(document.getElementById(deposit-rate).value) / 100; const capitalization document.getElementById(capitalization).value; const taxRate parseFloat(document.getElementById(tax-rate).value) / 100; let periodsPerYear, periodsTotal; let schedule ; let currentAmount amount; let totalInterest 0, totalTax 0; // Określ częstotliwość kapitalizacji switch (capitalization) { case monthly: periodsPerYear 12; break; case quarterly: periodsPerYear 4; break; case annually: periodsPerYear 1; break; case end: periodsPerYear 1; break; } const periodRate annualRate / periodsPerYear; periodsTotal Math.ceil(term / (12 / periodsPerYear)); if (capitalization end) { // Kapitalizacja na koniec okresu const interest amount * annualRate * (term / 12); const tax interest * taxRate; const netInterest interest - tax; schedule.push({ period: 1, grossInterest: interest, tax: tax, netInterest: netInterest, balance: amount + netInterest }); totalInterest interest; totalTax tax; currentAmount + netInterest; } else { // Kapitalizacja okresowa for (let i 1; i periodsTotal; i++) { const interest currentAmount * periodRate; const tax interest * taxRate; const netInterest interest - tax; schedule.push({ period: i, grossInterest: interest, tax: tax, netInterest: netInterest, balance: currentAmount + netInterest }); totalInterest + interest; totalTax + tax; currentAmount + netInterest; } } // Wyświetl wyniki document.getElementById(deposit-summary).innerHTML ` p>strong>Kwota lokaty:/strong> ${amount.toFixed(2).replace(., ,)} PLN/p> p>strong>Okres lokaty:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Kapitalizacja:/strong> ${getCapitalizationName(capitalization)}/p> p>strong>Odsetki brutto:/strong> ${totalInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Podatek od odsetek:/strong> ${totalTax.toFixed(2).replace(., ,)} PLN/p> p>strong>Odsetki netto:/strong> ${(totalInterest - totalTax).toFixed(2).replace(., ,)} PLN/p> p>strong>Końcowa kwota:/strong> ${currentAmount.toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(deposit-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.period}/td> td>${item.grossInterest.toFixed(2).replace(., ,)}/td> td>${item.tax.toFixed(2).replace(., ,)}/td> td>${item.netInterest.toFixed(2).replace(., ,)}/td> td>${item.balance.toFixed(2).replace(., ,)}/td> `; scheduleBody.appendChild(row); }); document.getElementById(deposit-results).style.display block; } function getCapitalizationName(capitalization) { switch (capitalization) { case monthly: return Miesięczna; case quarterly: return Kwartalna; case annually: return Roczna; case end: return Na koniec okresu; default: return capitalization; } } // Funkcja porównania kredytu i lokaty function calculateComparison() { const amount parseFloat(document.getElementById(comparison-amount).value); const term parseInt(document.getElementById(comparison-term).value); const loanRate parseFloat(document.getElementById(comparison-loan-rate).value) / 100; const depositRate parseFloat(document.getElementById(comparison-deposit-rate).value) / 100; // Oblicz koszt kredytu (uproszczone - tylko odsetki) const loanInterest amount * loanRate * (term / 12); const loanTotal amount + loanInterest; // Oblicz zysk z lokaty (uproszczone - kapitalizacja miesięczna) const depositInterest amount * Math.pow(1 + depositRate/12, term) - amount; const depositTax depositInterest * 0.19; const depositNetInterest depositInterest - depositTax; const depositTotal amount + depositNetInterest; // Wyświetl wyniki document.getElementById(comparison-summary).innerHTML ` p>strong>Kwota:/strong> ${amount.toFixed(2).replace(., ,)} PLN/p> p>strong>Okres:/strong> ${term} miesięcy/p> p>strong>Koszt kredytu (odsetki):/strong> ${loanInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Całkowita spłata kredytu:/strong> ${loanTotal.toFixed(2).replace(., ,)} PLN/p> p>strong>Zysk z lokaty (brutto):/strong> ${depositInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Podatek od odsetek:/strong> ${depositTax.toFixed(2).replace(., ,)} PLN/p> p>strong>Zysk z lokaty (netto):/strong> ${depositNetInterest.toFixed(2).replace(., ,)} PLN/p> p>strong>Końcowa kwota lokaty:/strong> ${depositTotal.toFixed(2).replace(., ,)} PLN/p> p>strong>Różnica:/strong> ${(depositTotal - loanTotal).toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj wykres renderComparisonChart(amount, loanTotal, depositTotal); document.getElementById(comparison-results).style.display block; } function renderComparisonChart(amount, loanTotal, depositTotal) { const ctx document.getElementById(comparison-chart).getContext(2d); // Jeśli wykres już istnieje, zniszcz go przed utworzeniem nowego if (window.comparisonChart) { window.comparisonChart.destroy(); } window.comparisonChart new Chart(ctx, { type: bar, data: { labels: Kwota początkowa, Kredyt (całkowita spłata), Lokata (końcowa kwota), datasets: { label: PLN, data: amount, loanTotal, depositTotal, backgroundColor: rgba(54, 162, 235, 0.7), rgba(255, 99, 132, 0.7), rgba(75, 192, 192, 0.7) , borderColor: rgba(54, 162, 235, 1), rgba(255, 99, 132, 1), rgba(75, 192, 192, 1) , borderWidth: 1 } }, options: { responsive: true, scales: { y: { beginAtZero: true, title: { display: true, text: Kwota (PLN) } } } } }); } // Funkcja eksportu do Excel function exportToExcel(type) { let html, filename; if (type loan) { html document.getElementById(loan-schedule-container).innerHTML; filename harmonogram_kredytu.xls; } else if (type deposit) { html document.getElementById(deposit-schedule-container).innerHTML; filename harmonogram_lokaty.xls; } else { html document.getElementById(comparison-summary).innerHTML; filename porownanie_kredytu_lokaty.xls; } // Zamień kropki na przecinki w liczbach html html.replace(/\.(\d{2})/g, ,$1); // Utwórz link do pobrania const blob new Blob(`html>body>${html}/body>/html>`, {type: application/vnd.ms-excel}); const link document.createElement(a); link.href URL.createObjectURL(blob); link.download filename; link.click(); } // Inicjalizacja i ustawienie interwałów updateTime(); setInterval(updateTime, 1000); fetchCurrencyRates(); setInterval(fetchCurrencyRates, 5 * 60 * 1000); // 5 minut // Funkcja do obliczania kredytu walutowegoasync function calculateForeignLoan() { const amount parseFloat(document.getElementById(foreign-loan-amount).value); const currency document.getElementById(foreign-currency).value; const term parseInt(document.getElementById(foreign-loan-term).value); const annualRate parseFloat(document.getElementById(foreign-interest-rate).value) / 100; const loanType document.getElementById(foreign-loan-type).value; const monthlyRate annualRate / 12; let monthlyPayment, totalInterest 0; let schedule ; // Pobierz aktualny kurs waluty z NBP let currentRate; try { currentRate await fetchCurrencyRate(currency); } catch (error) { console.error(Błąd pobierania kursu waluty:, error); alert(Nie udało się pobrać kursu waluty. Spróbuj ponownie później.); return; } if (loanType fixed) { // Rata stała monthlyPayment amount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; // Oblicz datę płatności raty (co miesiąc od daty rozpoczęcia) const paymentDate new Date(startDate); paymentDate.setMonth(startDate.getMonth() + i); schedule.push({ month: i, date: paymentDate, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } } else { // Rata zmienna const principalPayment amount / term; let remaining amount; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const payment principalPayment + interest; // Oblicz datę płatności raty (co miesiąc od daty rozpoczęcia) const paymentDate new Date(startDate); paymentDate.setMonth(startDate.getMonth() + i); schedule.push({ month: i, date: paymentDate, payment: payment, principal: principalPayment, interest: interest, remaining: remaining - principalPayment }); totalInterest + interest; remaining - principalPayment; } } // Pobierz kursy walut dla każdej raty (symulacja - w rzeczywistości trzeba by pobrać historyczne kursy) // Tutaj dla uproszczenia używamy aktualnego kursu dla wszystkich rat // W rzeczywistej implementacji trzeba by użyć API NBP do pobrania historycznych kursów for (const item of schedule) { item.exchangeRate currentRate; item.paymentPLN item.payment * currentRate; item.principalPLN item.principal * currentRate; item.interestPLN item.interest * currentRate; } // Wyświetl wyniki const totalPayment amount + totalInterest; const totalPaymentPLN totalPayment * currentRate; document.getElementById(foreign-loan-summary).innerHTML ` p>strong>Kwota kredytu:/strong> ${amount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Waluta:/strong> ${currency}/p> p>strong>Aktualny kurs ${currency}:/strong> ${currentRate.toFixed(4).replace(., ,)} PLN/p> p>strong>Okres kredytowania:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Typ raty:/strong> ${loanType fixed ? Stała : Zmienna}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowita kwota do spłaty:/strong> ${totalPayment.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowita kwota do spłaty (PLN):/strong> ${totalPaymentPLN.toFixed(2).replace(., ,)} PLN/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(foreign-loan-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.date.toLocaleDateString(pl-PL)}/td> td>${item.payment.toFixed(2).replace(., ,)} ${currency}/td> td>${item.exchangeRate.toFixed(4).replace(., ,)}/td> td>${item.paymentPLN.toFixed(2).replace(., ,)}/td> td>${item.principalPLN.toFixed(2).replace(., ,)}/td> td>${item.interestPLN.toFixed(2).replace(., ,)}/td> td>${item.remaining.toFixed(2).replace(., ,)} ${currency}/td> `; scheduleBody.appendChild(row); }); document.getElementById(foreign-loan-results).style.display block;}// Funkcja do pobierania kursu waluty z NBPasync function fetchCurrencyRate(currency) { try { const response await fetch(`https://api.nbp.pl/api/exchangerates/rates/a/${currency.toLowerCase()}/?formatjson`); const data await response.json(); return data.rates0.mid; } catch (error) { console.error(Błąd pobierania kursu waluty:, error); throw error; }}// Funkcja do obliczania leasingufunction calculateLeasing() { const amount parseFloat(document.getElementById(leasing-amount).value); const currency document.getElementById(leasing-currency).value; const term parseInt(document.getElementById(leasing-term).value); const annualRate parseFloat(document.getElementById(leasing-rate).value) / 100; const feePercentage parseFloat(document.getElementById(leasing-fee).value) / 100; const residualPercentage parseFloat(document.getElementById(leasing-residual).value) / 100; const monthlyRate annualRate / 12; const feeAmount amount * feePercentage; const residualValue amount * residualPercentage; const financedAmount amount - feeAmount - residualValue; // Oblicz ratę leasingową (uproszczone obliczenia) const monthlyPayment financedAmount * (monthlyRate * Math.pow(1 + monthlyRate, term)) / (Math.pow(1 + monthlyRate, term) - 1); let schedule ; let remaining financedAmount; let totalInterest 0; for (let i 1; i term; i++) { const interest remaining * monthlyRate; const principal monthlyPayment - interest; schedule.push({ month: i, payment: monthlyPayment, principal: principal, interest: interest, remaining: remaining - principal }); totalInterest + interest; remaining - principal; } // Dodaj płatność wykupu na koniec if (residualValue > 0) { schedule.push({ month: term + 1, payment: residualValue, principal: residualValue, interest: 0, remaining: 0 }); } // Wyświetl wyniki const totalPayment feeAmount + schedule.reduce((sum, item) > sum + item.payment, 0); document.getElementById(leasing-summary).innerHTML ` p>strong>Wartość przedmiotu leasingu:/strong> ${amount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Waluta umowy:/strong> ${currency}/p> p>strong>Okres leasingu:/strong> ${term} miesięcy/p> p>strong>Oprocentowanie roczne:/strong> ${(annualRate * 100).toFixed(2).replace(., ,)}%/p> p>strong>Opłata wstępna:/strong> ${feeAmount.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Wartość wykupu:/strong> ${residualValue.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Suma odsetek:/strong> ${totalInterest.toFixed(2).replace(., ,)} ${currency}/p> p>strong>Całkowity koszt leasingu:/strong> ${totalPayment.toFixed(2).replace(., ,)} ${currency}/p> `; // Wygeneruj harmonogram const scheduleBody document.getElementById(leasing-schedule-body); scheduleBody.innerHTML ; schedule.forEach(item > { const row document.createElement(tr); row.innerHTML ` td>${item.month}/td> td>${item.payment.toFixed(2).replace(., ,)}/td> td>${item.principal.toFixed(2).replace(., ,)}/td> td>${item.interest.toFixed(2).replace(., ,)}/td> td>${item.remaining.toFixed(2).replace(., ,)}/td> `; scheduleBody.appendChild(row); }); document.getElementById(leasing-results).style.display block;}// Aktualizacja funkcji exportToExcelfunction exportToExcel(type) { let html, filename; if (type loan) { html document.getElementById(loan-schedule-container).innerHTML; filename harmonogram_kredytu.xls; } else if (type foreign-loan) { html document.getElementById(foreign-loan-schedule-container).innerHTML; filename harmonogram_kredytu_walutowego.xls; } else if (type leasing) { html document.getElementById(leasing-schedule-container).innerHTML; filename harmonogram_leasingu.xls; } else if (type deposit) { html document.getElementById(deposit-schedule-container).innerHTML; filename harmonogram_lokaty.xls; } else { html document.getElementById(comparison-summary).innerHTML; filename porownanie_kredytu_lokaty.xls; } // Zamień kropki na przecinki w liczbach html html.replace(/\.(\d{2})/g, ,$1); // Utwórz link do pobrania const blob new Blob(`html>body>${html}/body>/html>`, {type: application/vnd.ms-excel}); const link document.createElement(a); link.href URL.createObjectURL(blob); link.download filename; link.click();}// Inicjalizacja daty rozpoczęcia kredytu walutowegodocument.getElementById(foreign-start-date).valueAsDate new Date(); /script>/body>/html>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]