$(document).ready(function () {
    $('body').on('blur', '.setoff', setoff);
    $('body').on('keyup', '#recd, #discount, #dclaim', calculateRow);
    $('body').on('click', '.mark, #mclaim', setclaim);
    $('body').on('change', '#bankname', getRecpNo);
    $("body").on("keyup", ".crsearch", getSearchData);
    $("body").on("click", ".crload", getSearchData);
    $("body").on("click", "#search", getSearchData);
    $("body").on("click", "#submit ,#cancel", hide_but);
    $("body").on("change", "#bankname", getCB);
    $("body").on("keyup blur", "#amount", getAmtWrd);

    getAmtWrd();
    function getAmtWrd() {
        var number = $('#amount').val();
        $.post('numtowords.php', { number: number }, function (data) {
            $(".showrsword").text(data);
        });
    }

    function getCB() {
        var bankname = $("#bankname").val();
        if (bankname == 3) {
            $("#type").val("C").trigger("change");
        } else {
            $("#type").val("U").trigger("change");
        }
    }

    function hide_but() {
        $("#ssubmit").hide();
        $("#scancel").hide();
    }

    //    $('body').on('click', '#edit, #delete', checkAutoRecp);
    //    
    //
    //    function checkAutoRecp() {
    //        var trnflag = $(".trnflag").val();
    //        if (trnflag != "") {
    //            alert('Edit / Delete Not Allowed.');
    //            location.reload(true);
    //        }
    //    }

    $(".tranmesg").hide();
    var trnflag = $(".trnflag").val();
    if (trnflag != "") {
        $("#hedit").hide();
        $("#hdelete").hide();
        $(".tranmesg").show();
        $(".trnmsg").val("Edit / Delete Not Allowed For this Receipt");
    }

    function getRecpNo() {
        var bankname = $("#bankname").val(),
            cashdb = "cashrecp",
            vouchno = $("#vouchno").val();

        $.get('getRecpNo.php',
            { bankname: bankname, cashdb: cashdb, vouchno: vouchno }, function (data) {
                $('.recpno').val(data);

            });
    }

    function showDays(firstDate, secondDate) {
        var date1 = firstDate;
        var date2 = secondDate.split("-").reverse().join("-");
        var mfirstday = new Date(date1);
        var mlastday = new Date(date2);
        var distance
        if (mfirstday > mlastday) {
            distance = mfirstday.getTime() - mlastday.getTime();
            distance = Math.ceil(distance / 1000 / 60 / 60 / 24);
        } else {
            distance = 0;
        }
        return distance;
    }

    $(".settotal").hide();

    function setoff() {
        var val = 0;
        var $row = $(this).closest("tr");
        var msetoff = parseFloat($row.find('.setoff').val()),
            mbalamt = parseFloat($row.find('.balamt').val()),
            mbilamt = parseFloat($row.find('.billamt').val()),
            amtadj = parseFloat($row.find(".amtadj").val()),
            mbilldate = $row.find('.billdate').val(),
            mvouchdt = $('#vouchdt').val();
        if (isNaN(msetoff)) {
            msetoff = 0;
        }

        if (msetoff > mbalamt) {
            $row.find('.setoff').val(0);
            $row.find('.setoff').focus();
            alert("SETOFF AMOUNT CANNOT BE GREATER THAN BALANCE AMOUNT");
            $("#save").attr("disabled", "disabled");

        }

        var balance = mbilamt - amtadj - msetoff;
        $row.find(".balamt").val(balance);

        var mamt = $('#amount').val();

        /*********Total Part************/

        $(".setoff").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val += parseFloat(this.value);
            }
        });

        if (val > mamt) {
            $row.find('.setoff').val(0);
            $row.find('.setoff').focus();
            alert("TOTAL SETOFF AMOUNT CANNOT BE GREATER THAN TOTAL AMOUNT");
            $("#save").attr("disabled", "disabled");
        } else {
            $("#totsetoff").val(val);
            $("#save").removeAttr("disabled");

            var totdays = showDays(mvouchdt, mbilldate);
            //                            alert(totdays);

            var totremain = mamt - val;

            $row.find('.days').val(totdays);
            $("#remain").val(totremain);
        }
    }

    //    function addrows() {
    //        var ctr = $('#items').val();
    //        $.post('billsett.php', {ctr: ctr}, function (data) {
    //            $(data).appendTo('#data');
    //            ctr++;
    //            $('#items').val(ctr);
    //        });
    //    }

    function parseDate(str) {
        var mdy = str.split('/')
        return new Date(mdy[2], mdy[0] - 1, mdy[1]);
    }

    function daydiff(first, second) {
        return (second - first) / (1000 * 60 * 60 * 24)
    }


    //    $('#addnew').click(function () {
    //        addrows();
    //    });


    function billsett() {
        $('#data').empty();
        var accode = $('#party').val();
        var vouchno = $('#vouchno').val();
        var vouchdt = $('#vouchdt').val();
        var amount = $('#amount').val();
        var bankcode = $('#bankcode').val();

        $.get('billsett.php',
            {
                accode: accode,
                vouchno: vouchno,
                vouchdt: vouchdt,
                amount: amount,
                bank: bankcode,
                dbf: "cashrecp",
                pvar: "R",
                source: "CR"
            }, function (data) {
                $('#data').html(data);
                $('.billflag').val(1);

            });
    }

    $('#billsett').click(function () {
        billsett();
    });

    $('#amount').blur(function () {        //  TO ACTIVATE BILLSETT - UNCOMMENT THE MIDDLE PART
        $(".settotal").show();
        $("#settmodal").modal("show");
        billsett();
        $("#settmodal").on('shown.bs.modal', function () {
            $(".setoff").first().focus();
            $(".setoff").first().select();
        });
    });


    //    $(document).keydown(function (event) {
    //        //19 for Mac Command+S
    //        if (event.keyCode == 27) { // escape key maps to keycode `27`
    //            // <DO YOUR WORK HERE>
    //            $("#settmodal").hide();
    //        }
    //
    //    });

    function calculatesetoff() {
        var val = 0;
    }


    function calculateRow() {
        var fintot = 0;
        var subtot = parseFloat($('#recd').val());
        var discount = parseFloat($('#discount').val());
        var claim = parseFloat($('#dclaim').val());

        fintot = subtot + discount + claim;

        if (isNaN(fintot)) {
            $('#amount').val("0");
        } else {
            $('#amount').val(fintot.toFixed(1));
        }
    }

    $("#mclaim").click(function () {
        var code = $("#party").val();
        $.post('get_claim.php', { code: code, var: "R" }, function (data) {
            $('#browdata').html("");
            $('#browdata').append(data);
            $("#overlay_form").fadeIn(1000);
            positionPopup();

        });
    });

    function setclaim() {

        var $row = $(this).closest("tr");
        var vouch = $('#vouchno').val();
        var vouchdt = $('#mvouchdt').val();
        //  var claim   = $('#claim').val();
        var mval = 0;
        var mark = $row.find('.mark');
        //          if($row.find(".mark").is(":checked")) {
        var mtot = 0;
        var cl = parseFloat($("#dclaim").val());
        if ($row.find(".mark").is(":checked")) {
            mtot = cl + parseFloat($row.find(".billamt").val());

        } else {
            mtot = cl - parseFloat($row.find(".billamt").val());
        }
        $("#dclaim").val(mtot.toFixed(2));



        /*        $($(".mark").is(":checked")).each( function() {
         var bamt = parseFloat($(".billamt").val());
         mtot = mtot + bamt;       
         });*/


        /*$(".billamt").each(function() {
         if ($row.find(".mark").is(":checked")) {
         mtot = mtot + parseFloat($row.find(".billamt").val());
         alert(mtot);
         }
         });*/
    }


    //////////////////////////////////////////////Search Part - Start//////////////////////////////////////////////
    $(".crnoRecord").hide();

    $(".searchModal").on('shown.bs.modal', function () {
        $(".crsearch").focus();
        $(".crsearch").val("");
        $(".crfield").val("1");
        getSearchData();
    });

    var smrangeFrom = 0,
        smrangeTo = 40;

    function getSearchData(pagination) {

        $(".crloader").show();

        if (pagination == 'prev') {
            if (smrangeFrom > 0) {
                smrangeFrom = (smrangeFrom - 40);
                smrangeTo = (smrangeTo - 40);
            }
        }
        if (pagination == 'next') {
            smrangeFrom = (smrangeFrom + 40);
            smrangeTo = (smrangeTo + 40);
        }

        var series = $(".series").val(),
            para = $(".para").val(),
            crsearch = $(".crsearch").val(),
            crfield = $(".crfield").val(),
            croperator = $(".croperator").val(),
            data = {
                crsearch: crsearch, crfield: crfield, croperator: croperator, para: para,
                series: series, rangeFrom: smrangeFrom, rangeTo: smrangeTo
            },
            values = "";
        $.ajax({
            type: 'GET',
            dataType: 'json',
            url: "bankrecp_search.php",
            data: data,
            success: function (response) {
                $.each(response, function () {
                    values += "<tr class='clickable-row' data-href='" + this.action + "'>" +
                        "<td align='left'>" + this.vouchno + "</td>" +
                        "<td align='left'>" + this.vouchdt + "</td>" +
                        "<td align='left'>" + this.bankcode + "</td>" +
                        "<td align='left'>" + this.recpno + "</td>" +
                        "<td align='left'>" + this.chqno + "</td>" +
                        "<td align='left'>" + this.drawbank + "</td>" +
                        "<td align='left'>" + this.accode + "</td>" +
                        "<td align='right'>" + this.amount + "</td>" +
                        "<td align='left'>" + this.narr1 + "</td>" +
                        "<td align='left'><a href='" + this.action + "'><i class='fa fa-pencil' style='font-size:1.3em;cursor:pointer;'></i></a></td>" +
                        "</tr>";
                });
                $(".crloader").hide();
                $(".crTbody").empty();
                $(".crTbody").html(values);
                if (response) {
                    $(".search-action-bar").show();
                }
            },
            error: function (request, textStatus, errorThrown) {

            }
        });
    }
    $("#search").click(function () {
        getSearchData();
    });
    $(".crprev").click(function () {
        getSearchData('prev');
    });
    $(".crprev").click(function () {
        getSearchData('next');
    });


    //////////////////////////////////////////////Search Part - End  //////////////////////////////////////////////

});