﻿var mGosterme = 1;

 function SayiKontrol(e) {
    olay = document.all ? window.event : e; tus = document.all ? olay.keyCode : olay.which; if ((tus < 48 || tus > 57) && tus != 8) { if (document.all) { olay.returnValue = false; } else { olay.preventDefault(); } }
}

$(document).ready(function() {




    var MaksimumTutarX = 0;
    var KrediTutarX = 0;
    var KrediTutarX = 0;
    var Parametre = '';
    $('#KrediHesapla1_txtTutar').keypress(function(event) {
        SayiKontrol(event);
    });

    $('#KrediHesapla1_HesTip div.selector span').text('');
    $("#KrediHesapla1_HesapTipi").click(function() {
        if ($('#KrediHesapla1_HesapTipi').val() == 'SatirSayi') {
            $('#SatirSayi').css('display', 'inline');
            $('#SatirTutar').css('display', 'none');
        }
        else if ($('#KrediHesapla1_HesapTipi').val() == 'SatirTutar') {
            $('#SatirSayi').css('display', 'none');
            $('#SatirTutar').css('display', 'inline');
        } else {
            $('#SatirSayi').css('display', 'none');
            $('#SatirTutar').css('display', 'none');
        }

    });
    AjaxVeriCek("BankalariAl", null, null, '#KrediHesapla1_cbBanka', "BankaId", "BankaAdi");

    $("#KrediHesapla1_cbBanka").change(function() {
        //alert($("#KrediHesapla1_cbBanka").val());
        if ($("#KrediHesapla1_cbBanka").val == 0) {
            resetForm();
        } else {
            AjaxVeriCek("KrediTurleriniAl", $("#KrediHesapla1_cbBanka").val(), null, '#KrediHesapla1_cbKrediTuru', "KrediTuruId", "KrediTuruAdi");
        }
    });
    $("#KrediHesapla1_cbKrediTuru").change(function() {
        $('#output').empty();
        if ($("#KrediHesapla1_cbKrediTuru").val() > 0) {
            $("#KrediHesapla1_txtTutar").val('0');
            $(".butonlar").css('display', 'none');
            resetForm();
        }
        else {
            $("#KrediHesapla1_txtTutar").val('0');
            $(".butonlar").css('display', 'none');
            $('#KrTr div.selector span').text('Seçiniz');
            resetForm();
        }
    });
    $("#btnSahis").click(function() {
        if ($("#KrediHesapla1_cbHesapTipi").val() == 'Toplam') {
            AjaxDetayHesapla('Sahis');
        } else {
            AjaxDetayHesapla('AylikSahis');
        }
    });
    $("#btnSirket").click(function() {
        if ($("#KrediHesapla1_cbHesapTipi").val() == 'Toplam') {
            AjaxDetayHesapla('Sirket');
        } else {
            AjaxDetayHesapla('AylikSirket');
        }
    });
    $("#KrediHesapla1_cbHesapTipi").change(function() {
        if ($("#KrediHesapla1_cbHesapTipi").val() == 'Toplam') {
            $("#KrediTanimi").html('Toplam Kredi Tutarı')
        } else {
            $("#KrediTanimi").html('Aylık Ödeme Tutarı')
        }
    });
    //parametrik veri cekme islemleri baslangici
    function AjaxVeriCek(hedefVeri, bankaId, taksitSayisi, nesneAdi, valueField, textField) {
        var bankaId = bankaId;
        var taksitSayisi = taksitSayisi;
        var parametre = '';
        if (bankaId != null && taksitSayisi != null) {
            parametre = '@BankaId=' + bankaId + ',@VadeSuresi=' + taksitSayisi;
        }
        else if (bankaId != null && taksitSayisi == null) {
            parametre = '@BankaId=' + bankaId;
        }
        else if (bankaId == null && taksitSayisi == null) {
            parametre = '@KrediTuruAdi=|Yeni|';
        }
        //alert(0);
        $.ajax({
            type: "POST",
            url: "OSYSService.asmx/" + hedefVeri,
            data: "{'sqlCondition': '" + parametre + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                AjaxSucceeded(msg, valueField, textField);
            },
            error: AjaxFailed
        });
        function AjaxSucceeded(result, valueField, textField) {
            var GelenVeri = (typeof result.d) == 'string' ? eval('(' + result.d + ')') : result.d;
            if (GelenVeri != null) {
                if (GelenVeri.length > 0) {
                    $(nesneAdi).empty();
                    $(nesneAdi).append("<option value='0'>Seçiniz</option>");
                    var slc = '';
                    for (var i = 0; i < GelenVeri.length; i++) {
                        if (GelenVeri[i][textField] != 'İkinciel') {
                            slc = (valueField != 'BankaId') ? 'selected' : '';
                            $('#KrTr div.selector span').text('İkinciel');
                            if (hedefVeri == "KrediTurleriniAl") {
                                $(".trMaksimum").css('display', 'inline');
                                if (mGosterme != 1) {
                                    $("#txtMaksimum").html("Bu araç için maksimum kredi tutarı: <span style='color:red'><b>" + formatCurrency($("#SatisFiyati").text().replace('.', '').replace(',', '.') * (GelenVeri[i]["KaskoDegerYuzdesi"] / 100)) + "</b></span> TL'dir");
                                }
                                $("#KrediHesapla1_txtTutar").val($("#SatisFiyati").text().replace('.', '').replace(',', '.') * (GelenVeri[i]["KaskoDegerYuzdesi"] / 100));
                            }
                        }
                        $(nesneAdi).append("<option value='" + GelenVeri[i][valueField] + "' " + slc + ">" + GelenVeri[i][textField] + "</option>");
                        slc = '';
                    }
                    if ($("#KrediHesapla1_cbBanka").val() > 0) {
                        $(".butonlar").css('display', 'inline');
                    }
                    else {
                        $('#Bnk div.selector span').text('Seçiniz');
                    }
                }
                else {
                    $(".butonlar").css('display', 'none');
                    resetForm();
                }
            }
            else {
                //alert("hata" + hedefVeri);
            }
        }
        function AjaxFailed(result) {
            //alert(result.status + ' ' + result.statusText);
        }
    }
    //parametrik veri cekme islemleri bitişi
    //tekil hesaplama başlangıcı
    function AjaxOzetHesapla(prA) {
        var bankaId = $("#KrediHesapla1_cbBanka").val();
        var taksitSayisi = $("#KrediHesapla1_cbTaksitSayisi").val();
        $.ajax({
            type: "POST",
            url: "OSYSService.asmx/BankaFaizleriAl",
            data: "{'sqlCondition': '@BankaId=" + bankaId + ",@KrediTuruId=" + $("#KrediHesapla1_cbKrediTuru").val() + ",@VadeSuresi=" + taksitSayisi + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                AjaxSucceeded(msg);
            },
            error: AjaxFailed
        });
        function AjaxSucceeded(result) {
            var KrediTablosu = (typeof result.d) == 'string' ? eval('(' + result.d + ')') : result.d;
            if (prA != 'change') {
                $("#KrediHesapla1_txtTutar").val($("#KrediHesapla1_txtKaskoDegeri").val() * (KrediTablosu[0].KaskoDegerYuzdesi / 100));
            }
            $("#KrediHesapla1_txtFaizOrani").val(KrediTablosu[0].FaizOrani);
            //$("#KrediHesapla1_txtKaskoDegerYuzdesi").val(KrediTablosu[0].KaskoDegerYuzdesi);
            var sahisAylikTaksit = KrediHesapla('Tekli', KrediTablosu[0].FaizOrani, KrediTablosu[0].VadeSuresi, KrediTablosu[0].KaskoDegerYuzdesi, KrediTablosu[0].BsmvSahis, KrediTablosu[0].KkdfSahis);
            var sirketAylikTaksit = KrediHesapla('Tekli', KrediTablosu[0].FaizOrani, KrediTablosu[0].VadeSuresi, KrediTablosu[0].KaskoDegerYuzdesi, KrediTablosu[0].BsmvSirket, KrediTablosu[0].KkdfSirket);

            $("#KrediHesapla1_lblToplam").html('Gerçek Kişiler için aylık taksit: <b>' + sahisAylikTaksit + ' TL</b><br/>Tüzel Kişiler için aylık taksit: <b>' + sirketAylikTaksit + ' TL</b>');
        }
        function AjaxFailed(result) {
            //alert(result.status + ' ' + result.statusText);
        }
    }
    //tekil hesaplama bitişi
    //detaylı hesaplama başlangıcı
    function AjaxDetayHesapla(Parametre) {
        var bankaId = $("#KrediHesapla1_cbBanka").val();
        //var taksitSayisi = $("#KrediHesapla1_cbTaksitSayisi").val();

        var krediTuru = $("#KrediHesapla1_cbKrediTuru").val();
        //alert(bankaId + ' ' + krediTuru);
        $.ajax({
            type: "POST",
            url: "OSYSService.asmx/BankaFaizleriAl",
            data: "{'sqlCondition': '@BankaId=" + bankaId + ",@KrediTuruId=" + krediTuru + "'}",
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function(msg) {
                AjaxSucceeded(msg);
            },
            error: AjaxFailed
        });
        function AjaxSucceeded(result) {
            var KrediTablosu = (typeof result.d) == 'string' ? eval('(' + result.d + ')') : result.d;
            var fark = 0;
            var satir = '';

            //aylara göre kredi hesaplama işlemleri burada başlıyor
            $('#output').empty();
            //$('#output').html('<table cellpadding="0" cellspacing="0" width="450"><tr><td colspan="5" id="nedir">&nbsp;</td></tr><tr><th class="col1 altTd">Vade</th><th class="col2 altTd">Faiz</th><th class="col3 altTd">Kredi Miktarı</th><th class="col4 altTd">Taksit Tutarı</th><th class="col5 altTd">Toplam</th></tr>');

            var renk = '';
            var sayisay = 0;
            for (var i = 0; i < KrediTablosu.length; i++) {

                if (sayisay == 0) {
                    sayisay = 1;
                    renk = "auto";
                } else {
                    sayisay = 0;
                    renk = "#dcdcdc";
                }
                var kullanilacakTutar = $("#KrediHesapla1_txtTutar").val(); //$("#KrediHesapla1_txtKaskoDegeri").val() * (KrediTablosu[i].KaskoDegerYuzdesi / 100);
                var taksitTutari = 0;
                if (Parametre == 'Sahis') {
                    taksitTutari = KrediHesapla('Detayli', KrediTablosu[i].FaizOrani, KrediTablosu[i].VadeSuresi, KrediTablosu[i].KaskoDegerYuzdesi, KrediTablosu[i].BsmvSahis, KrediTablosu[i].KkdfSahis);
                    //$('#output').append('<tr>' +
                    satir += '<tr style="background-color:' + renk + ';">';
                    satir += '<td class="col1 colx">' + KrediTablosu[i].VadeSuresi + '</td>';
                    satir += '<td class="col2 colx">' + KrediTablosu[i].FaizOrani + '</td>';
                    satir += '<td class="col3 colx"><b>' + formatCurrency(kullanilacakTutar) + '</b> TL</td>';
                    satir += '<td class="col4 colx"><b>' + taksitTutari + '</b> TL</td>';
                    satir += '<td class="col5 colx"><b>' + formatCurrency(Math.round((taksitTutari.replace('.', '').replace(',', '.') * KrediTablosu[i].VadeSuresi) * 100) / 100) + '</b> TL</td></tr> ';

                }
                else if (Parametre == 'Sirket') {
                    taksitTutari = KrediHesapla('Detayli', KrediTablosu[i].FaizOrani, KrediTablosu[i].VadeSuresi, KrediTablosu[i].KaskoDegerYuzdesi, KrediTablosu[i].BsmvSirket, KrediTablosu[i].KkdfSirket);
                    satir += '<tr style="background-color:' + renk + ';">';
                    satir += '<td width="40px" class="col1 colx">' + KrediTablosu[i].VadeSuresi + '</td>';
                    satir += '<td width="100px" class="col2 colx">' + KrediTablosu[i].FaizOrani + '</td>';
                    satir += '<td width="100px" class="col3 colx"><b>' + formatCurrency(kullanilacakTutar) + '</b> TL</td>';
                    satir += '<td width="100px" class="col4 colx"><b>' + taksitTutari + '</b> TL</td>';
                    satir += '<td width="100px" class="col5 colx"><b>' + formatCurrency(Math.round((taksitTutari.replace('.', '').replace(',', '.') * KrediTablosu[i].VadeSuresi) * 100) / 100) + '</b> TL</td></tr> ';
                }
                else {
                    if (Parametre == 'AylikSahis') {
                        taksitTutari = KrediHesapla('Aylik', KrediTablosu[i].FaizOrani, KrediTablosu[i].VadeSuresi, KrediTablosu[i].KaskoDegerYuzdesi, KrediTablosu[i].BsmvSahis, KrediTablosu[i].KkdfSahis);
                    } else {
                        taksitTutari = KrediHesapla('Aylik', KrediTablosu[i].FaizOrani, KrediTablosu[i].VadeSuresi, KrediTablosu[i].KaskoDegerYuzdesi, KrediTablosu[i].BsmvSirket, KrediTablosu[i].KkdfSirket);
                    }
                    fark = Math.round((taksitTutari.replace('.', '').replace(',', '.') - $("#KrediHesapla1_txtTutar").val()) * 100) / 100;
                    satir += '<tr style="background-color:' + renk + ';">';
                    satir += '<td width="40px" class="col1 colx">' + KrediTablosu[i].VadeSuresi + '</td>';
                    satir += '<td width="100px" class="col2 colx">' + KrediTablosu[i].FaizOrani + '</td>';
                    satir += '<td width="100px" class="col3 colx"><b>' + formatCurrency($("#KrediHesapla1_txtTutar").val() * KrediTablosu[i].VadeSuresi) + '</b> TL</td>';
                    satir += '<td width="100px" class="col4 colx"><b>' + formatCurrency(taksitTutari.replace('.', '').replace(',', '.') - fark) + '</b> TL</td>';
                    satir += '<td width="100px" class="col5 colx"><b>' + formatCurrency(Math.round((($("#KrediHesapla1_txtTutar").val() - fark) * KrediTablosu[i].VadeSuresi) * 100) / 100) + '</b> TL</td></tr> ';

                }

            }
            $('#output').html('<table cellpadding="0" cellspacing="0" width="450"><tr><td colspan="5" id="nedir">&nbsp;</td></tr><tr><th class="col1 altTd">Vade</th><th class="col2 altTd">Faiz</th><th class="col3 altTd">Kredi Miktarı</th><th class="col4 altTd">Taksit Tutarı</th><th class="col5 altTd">Toplam</th></tr>' + satir + '</table>');
            //aylara göre kredi hesaplama işlemi burada bitiyor

            if (Parametre == 'Sahis') {
                $('#nedir').html('<br/><b><span style="font-size:12pt;"><span style="color:#b04b19;padding-left:20px;">Gerçek Kişiler İçin</span> <span style="color:#414141;">Kredi Tablosu</span></span></b><br/><br/>');
            } else if (Parametre == 'Sirket') {
                $('#nedir').html('<br/><b><span style="font-size:12pt;"><span style="color:#b04b19;padding-left:20px;">Tüzel Kişiler İçin</span> <span style="color:#414141;">Kredi Tablosu</span></span></b><br/><br/>');
            }
        }
        function AjaxFailed(result) {
            //alert(result.status + ' ' + result.statusText);
        }
    }
    //detaylı hesaplama bitişi
});

function KrediHesapla(HesapTipi, FaizOrani, TaksitSayisi, KaskoDegerYuzdesi, BsmvOran, KkdfOran) {
    if (HesapTipi == 'Tekli') {
        var tutar = $("#KrediHesapla1_txtTutar").val();
        var faizorani = $("#KrediHesapla1_txtFaizOrani").val() / 100;
        var taksitsayisi = "-" + $("#KrediHesapla1_cbTaksitSayisi").val();
        faizorani = faizorani + (faizorani * KkdfOran / 100) + (faizorani * BsmvOran / 100);
        var ayliktaksit = 0;
        ayliktaksit = tutar / ((1 - Math.pow(1 + faizorani, taksitsayisi)) / faizorani);
        ayliktaksit = Math.round(ayliktaksit * 100) / 100;

        return formatCurrency(ayliktaksit);
    } else if (HesapTipi == 'Aylik') {
        var tutar = $("#KrediHesapla1_txtTutar").val() * TaksitSayisi;
        var faizorani = FaizOrani / 100;
        var taksitsayisi = "-" + TaksitSayisi;
        faizorani = faizorani + (faizorani * (KkdfOran / 100)) + (faizorani * (BsmvOran / 100));
        var ayliktaksit = 0;
        ayliktaksit = tutar / ((1 - Math.pow(1 + faizorani, taksitsayisi)) / faizorani);
        ayliktaksit = Math.round(ayliktaksit * 100) / 100;
        return formatCurrency(ayliktaksit);
    }
    else {
        var tutar = $("#KrediHesapla1_txtTutar").val();
        var faizorani = FaizOrani / 100;
        var taksitsayisi = "-" + TaksitSayisi;
        faizorani = faizorani + (faizorani * (KkdfOran / 100)) + (faizorani * (BsmvOran / 100));
        var ayliktaksit = 0;
        ayliktaksit = tutar / ((1 - Math.pow(1 + faizorani, taksitsayisi)) / faizorani);
        ayliktaksit = Math.round(ayliktaksit * 100) / 100;
        return formatCurrency(ayliktaksit);
    }
}



function formatCurrency(strValue) {
    strValue = strValue.toString().replace(/\$|\,/g, '');
    dblValue = parseFloat(strValue);

    blnSign = (dblValue == (dblValue = Math.abs(dblValue)));
    dblValue = Math.floor(dblValue * 100 + 0.50000000001);
    intCents = dblValue % 100;
    strCents = intCents.toString();
    dblValue = Math.floor(dblValue / 100).toString();
    if (intCents < 10)
        strCents = "0" + strCents;
    for (var i = 0; i < Math.floor((dblValue.length - (1 + i)) / 3); i++)
        dblValue = dblValue.substring(0, dblValue.length - (4 * i + 3)) + '.' + dblValue.substring(dblValue.length - (4 * i + 3));
    return (((blnSign) ? '' : '-') + dblValue + ',' + strCents);
}

