<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="style.css">
    <link rel="stylesheet" href="//code.jquery.com/ui/1.13.2/themes/base/jquery-ui.css">
    <script src="https://code.jquery.com/jquery-3.6.0.js"></script>
    <script src="https://code.jquery.com/ui/1.13.2/jquery-ui.js"></script>
</head>
<body>
    <div id="container">
        <main>
            <form method="get">
                <fieldset>
                    <legend>Kıdem Tazminatı Hesaplama Aracı</legend>
                    <div class="notlar"><em>*</em> Doldurulması zorunlu alanlar.</div>
                    <ol class="narrow">
                        <li>
                            <label for="IsBaslangicTarihi"><em>*</em> İşe Başlangıç Tarihi:</label>
                            <input type="text" id="IsBaslangicTarihi" name="IsBaslangicTarihi" class="iw10"> <span
                                class="orn">Örn. 1650,75</span>
                        </li>
                        <li>
                            <label for="IsBitisTarihi"><em>*</em> İşten Ayrılma Tarihi:</label>
                            <input type="text" id="IsBitisTarihi" name="IsBitisTarihi" class="iw10"> <span
                                class="orn">Örn. 1650,75</span>
                        </li>
                        <li>
                            <label for="AylikBrutMaas"><em>*</em> Brüt Ücret:</label>
                            <input type="number" id="AylikBrutMaas" name="AylikBrutMaas" step="0.000001" class="iw10">
                            <span class="orn">Örn. 1768,25</span>
                        </li>
                        <li>
                            <label for="EkOdemeler"><em>*</em> Aylık Yardımlar:</label>
                            <input type="number" id="EkOdemeler" name="EkOdemeler"
                                placeholder="Yol, yemek vb. aylık yardımların toplamını giriniz." step="0.000001"
                                class="iw10"> <span class="orn">Örn. 10,75</span>
                        </li>
                    </ol>
                    <div class="buttons"><button type="button" onclick="hesapla();">Hesapla</button> <button
                            type="reset">Temizle</button>
                    </div>
                </fieldset>
            </form>
            <fieldset id="sonuc" style="display: none;">

            </fieldset>
        </main>
    </div>
    <script>
        jQuery(document).ready(function () {
            $(function () {
                $("#IsBaslangicTarihi").datepicker({
                    dateFormat: "dd.mm.yy",
                    altFormat: "yy-mm-dd",
                    altField: "#IsBaslangicTarihiDB",
                    monthNames: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
                    dayNamesMin: ["Pa", "Pt", "Sl", "Ça", "Pe", "Cu", "Ct"],
                    setDate: new Date(1985, 00, 01),
                    changeYear: true,
                    firstDay: 1,
                    language:"tr"
                });
                $("#IsBitisTarihi").datepicker({
                    dateFormat: "dd.mm.yy",
                    altFormat: "yy-mm-dd",
                    altField: "#IsBitisTarihiDB",
                    monthNames: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"],
                    dayNamesMin: ["Pa", "Pt", "Sl", "Ça", "Pe", "Cu", "Ct"],
                    changeYear: true,
                    firstDay: 1
                }).datepicker("setDate", new Date());
            });
        });
        function formatTL(num) {
            let p = num.toFixed(2).split(".");
            return p[0].split("").reverse().reduce(function (acc, num, i, orig) {
                return num == "-" ? acc : num + (i && !(i % 3) ? "." : "") + acc;
            }, "") + "," + p[1] + " TL";
        }
        function hesapla() {
      
            let IsBaslangicTarihi = new Date(document.getElementById("IsBaslangicTarihi").value);
            let IsBitisTarihi = new Date(document.getElementById("IsBitisTarihi").value);
            console.log(IsBaslangicTarihi);
            console.log(IsBitisTarihi);
            let AylikBrutMaas = document.getElementById("AylikBrutMaas").value;
            let EkOdemeler = 0;
            if (document.getElementById("EkOdemeler").value > 0) {
                EkOdemeler = document.getElementById("EkOdemeler").value;
            }
            AylikBrutMaas = parseInt(AylikBrutMaas) + parseInt(EkOdemeler);
            let Fark = new Date(IsBitisTarihi - IsBaslangicTarihi);
            let ToplamGun = Math.floor(Fark / 1000 / 60 / 60 / 24);
            let KıdemTazminati = 0;
            if (ToplamGun < 365) {
                KıdemTazminati = 0;
            }
            if (AylikBrutMaas > 10596) {
                AylikBrutMaas = 10596;
            }
            let KidemTazminatiTutariBrut = 0;
            if (ToplamGun < 365) {
                KidemTazminatiTutariBrut = 0;
            }
            else if (ToplamGun >= 365 && ToplamGun < 1095) {
                KidemTazminatiTutariBrut = (ToplamGun / 365) * AylikBrutMaas;
            }
            else if (ToplamGun >= 1095) {
                KidemTazminatiTutariBrut = (ToplamGun / 365) * AylikBrutMaas;
            }
            let DamgaVergisi = 0;
            if (ToplamGun < 365) {
                DamgaVergisi = 0;
            }
            if (ToplamGun >= 365) {
                DamgaVergisi = (((ToplamGun / 365) * AylikBrutMaas) * 0.00759);
            }
            let TazminatIhbarGunu = 0;
            if (ToplamGun < 180) {
                TazminatIhbarGunu = 14;
            }
            else if (ToplamGun >= 180 && ToplamGun < 545) {
                TazminatIhbarGunu = 28;
            }
            else if (ToplamGun >= 545 && ToplamGun < 1095) {
                TazminatIhbarGunu = 42;
            }
            else if (ToplamGun >= 1095) {
                TazminatIhbarGunu = 56;
            }
            let NetOdenecekKidemTazminatiTutari = KidemTazminatiTutariBrut - DamgaVergisi;
            let NetOdenecekIhbarTazminati = (AylikBrutMaas / 30) * TazminatIhbarGunu;
            let IhbarTazminatiGelirVergisiKesintisi = NetOdenecekIhbarTazminati * 0.15;
            let IhbarTazminatiDamgaVergisiKesintisi = NetOdenecekIhbarTazminati * 0.00759;
            let NetIhbarTazminati = NetOdenecekIhbarTazminati - (IhbarTazminatiGelirVergisiKesintisi + IhbarTazminatiDamgaVergisiKesintisi);
            let ToplamOdenecek = NetIhbarTazminati + NetOdenecekKidemTazminatiTutari;
            if (IsBaslangicTarihi >= IsBitisTarihi)
                alert("Başlangıç Tarihi Bitiş Tarihine Eşit veya Bitiş Tarihinden Büyük Olamaz")
            else {
                document.getElementById("sonuc").style.display = "block";
                document.getElementById("sonuc").innerHTML = `
                      <legend>Tazminat Hesaplama Sonuçları</legend>
                      <b>Hesaplamaya Esas Gün: </b> ${ToplamGun} Gün<br>
                      <b>Kıdem Tazminatına Esas Ücret: </b> ${formatTL(AylikBrutMaas)}<br>
                      <b>Kıdem Tazminatı Tutarı (Brüt): </b> ${formatTL(KidemTazminatiTutariBrut)}<br>
                      <b>Damga Vergisi(0.00759): </b> ${formatTL(DamgaVergisi)}<br>
                      <b>Net Ödenecek Kıdem Tazminatı: </b> ${formatTL(NetOdenecekKidemTazminatiTutari)}<br>
                      <b>İhbar Günü: </b> ${TazminatIhbarGunu} Gün<br>
                      <b>İhbar Tazminatı (Brüt): </b> ${formatTL(NetOdenecekIhbarTazminati)}<br>
                      <b>Gelir Vergisi Kesintisi: </b> ${formatTL(IhbarTazminatiGelirVergisiKesintisi)}<br>
                      <b>Damga Vergisi Kesintisi (0.00759): </b> ${formatTL(IhbarTazminatiDamgaVergisiKesintisi)}<br>
                      <b>Net İhbar Tazminatı: </b> ${formatTL(NetIhbarTazminati)}<br>
                      <b>Toplam: </b> ${formatTL(ToplamOdenecek)}<br>`;
            }
        }


    </script>
</body>
</html>



İki Taihi Bir Birinden Çıkarırken Doğru Çıkarmıyor Acaba Nedeni Ne Olabilir?