$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
    $("body").on("keyup focus blur", '.debit, .credit', amtCal);
    $("body").on("change blur", '.party', getGrp);
    $("body").on("keyup change", '.credit', autoAddRows);
    $("body").on("blur", '.ot', checkOt);
    $("body").on("keyup blur", '.debit, .credit', disableInwNo);

//    $("#print").prop("disabled", "true");
//    $("#print").css("background-color", "#ffffff");
    $("#hprint").hide();

    function checkOt() {
        var $row = $(this).closest("tr"),
                ot = $row.find(".ot").val();

        if (ot != '') {
            if (ot != 'O' && ot != 'T') {
                alert("Only O or T can be entered");
                $row.find(".ot").val("");
                $row.find(".ot").focus();
            }
        }
    }
    
    function disableInwNo() {
        var $row = $(this).closest("tr");
        var deb = $row.find('.debit').val();
        var cred = $row.find('.credit').val();

        if (deb > 0) {
            $row.find(".credit").attr("readonly", true);
        } else {
            $row.find(".credit").removeAttr("readonly");
//            $row.find(".debit").attr("readonly", true);
        }
        if (cred > 0) {
            $row.find(".debit").attr("readonly", true);
        } else {
            $row.find(".debit").removeAttr("readonly");
//            $row.find(".debit").attr("readonly", true);
        }
    }

    function getGrp() {
        var $row = $(this).closest("tr");
        var acc = $row.find('.party').val();

        $.post('get_grp.php', {accode: acc}, function (data) {
            $row.find('.grpcode').val(data);
        });

    }

    $('#addnew').click(function () {
        AddRows();
    });
    $('#addnew2').click(function () {
        AddRows2();
    });

    function autoAddRows() {
        var ctr = $('#items').val();
        var tr = $(this).closest("tr");
        var srno = tr.find(".srno").val();
        if (srno == ctr) {
            AddRows();

        }
    }

    function remove() {
        $(this).closest("tr").remove();
        amtCal();
    }

    function AddRows() {
        var ctr = $('#items').val();
        var hide_check = "";
        if ($("#del_all").prop("checked")) {
            hide_check = 0;
        } else {
            hide_check = 1;
        }
        $.post('jv_add.php', {ctr: ctr, hide: hide_check}, function (data) {
            $(data).appendTo('.tbody');
            ctr++;
            $('#items').val(ctr);

        });
    }

    function AddRows2() {
        var ctr = $('#items2').val();
        var hide_check = "";
        if ($("#del_all").prop("checked")) {
            hide_check = 0;
        } else {
            hide_check = 1;
        }
        $.post('jvdesc_add.php', {ctr: ctr, hide: hide_check}, function (data) {
            $(data).appendTo('.tbody2');
            ctr++;
            $('#items2').val(ctr);

        });
    
    }
    

    function amtCal() {
        var val1 = 0,
                val2 = 0;

        $(".credit").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val1 += parseFloat(this.value);
            }
        });
        var amount = parseFloat(val1);

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

        var amount2 = parseFloat(val2);

        $("#totcredit").val(amount.toFixed(2));
        $("#totdebit").val(amount2.toFixed(2));
    }

    $("#submit").hide();

    $("#finishTab").click(function () {

        var val1 = 0,
                val2 = 0,
                valid = true,
                vouchdt = $(".vouchdt").val();


        $(".credit").each(function () {

            if (!isNaN(this.value) && this.value.length != 0) {
                val1 += parseFloat(this.value);
            }
        });

        if (vouchdt != '') {

            var stdate = $('.zstdate').val();
            var endate = $('.zenddate').val();

            var fmdate = $('.vouchdt').val();

            if (fmdate >= stdate && fmdate <= endate) {
            } else {
                alert("Date Does Not Belong To Finacial Year");

                return false;
                valid = false;
            }

        }



        var amount = parseFloat(val1.toFixed(2));

        $(".debit").each(function () {
            if (!isNaN(this.value) && this.value.length != 0) {
                val2 += parseFloat(this.value);
            }
        });
        var amount2 = parseFloat(val2.toFixed(2));
        if (amount != amount2) {
            alert('Debit & Credit Total Does Not Match. Please Check');
            return false;
            valid = false;
        }



        if (valid) {
            var isValid = true;

            if (isValid) {
                $("#submit").show();
                $("#submit").click();

            }
        }
    });

//    $("#submit").click(function () {
//        var val1 = 0,
//                val2 = 0;
//
//        $(".credit").each(function () {
//
//            if (!isNaN(this.value) && this.value.length != 0) {
//                val1 += parseFloat(this.value);
//            }
//        });
//        var amount = parseFloat(val1);
//
//        $(".debit").each(function () {
//            if (!isNaN(this.value) && this.value.length != 0) {
//                val2 += parseFloat(this.value);
//            }
//        });
//        var amount2 = parseFloat(val2);
//        if (amount != amount2) {
//            alert('Debit & Credit Total Does Not Match. Please Check');
//        } else {
//            $("#submit").focus();
//        }
//    });


//    $(document).keydown(function (event) {
//        if (!(String.fromCharCode(event.which).toLowerCase() == 'd' && event.altKey) && !(event.which == 19))
//            return true;
//        var val1 = 0,
//                val2 = 0;
//        var $row = $(this).closest("tr");
//        $(".credit").each(function () {
//
//            if (!isNaN(this.value) && this.value.length != 0) {
//                val1 += parseFloat(this.value);
//            }
//        });
//        var amount = parseFloat(val1);
//
//        $(".debit").each(function () {
//            if (!isNaN(this.value) && this.value.length != 0) {
//                val2 += parseFloat(this.value);
//            }
//        });
//        
//        var amount2 = parseFloat(val2);
//        if (amount != amount2) {
//            alert('Debit & Credit Total Does Not Match. Please Check');
//        } else {
//            $("#submit").focus();
//        }
////        $(".total").focus();
//
//        event.preventDefault();
//        return false;
//
//    });
});