$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
//    $(".tbody").on("blur", '.rate', autoAddRows);
    $("body").on("keyup change blur", '.amount, .discperc, .gsttype', mainbCal);
    $("body").on("focus", '.amount', autoAddRows);
    $("body").on("blur change", ".vouchdt", getvoucher);
    $("body").on("change", ".oms", editoms);
    $("body").on("change", ".gstperc, .oms", gstperc);
    $("body").on("change", ".cmbparty", getoms);
    $("body").on("click", "#submit ,#cancel", hide_but);


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


    function getoms() {
        var party = $(".cmbparty").val();
        $.post('chk_oms.php', {party: party}, function (data) {
            if (data == 1) {
                $(".oms").prop('checked', true);
            } else {
                $(".oms").prop('checked', false);
            }
        }, 'json');
    }
    function gstperc() {
        var gstp = $(".gstperc").val();
        if (gstp != '') {
            if ($(".oms").prop('checked')) {
                $(".igstperc").val(gstp)
            } else {
                var cgstp = gstp / 2;
                $(".sgstperc").val(cgstp)
                $(".cgstperc").val(cgstp)
            }
        }

    }

    function editoms() {
        var igstamt = $('.igstamt').val(),
                cgstamt = $('.cgstamt').val();
        if ($(".oms").prop('checked')) {
            if (igstamt == 0) {
                var val = cgstamt * 2;
                $('.igstamt').val(val);
                $('.cgstamt').val(0);
                $('.sgstamt').val(0);
            }
        } else {
            if (cgstamt == 0) {
                var val2 = igstamt / 2;
                $('.cgstamt').val(val2);
                $('.sgstamt').val(val2);
                $('.igstamt').val(0);
            }
        }
        mainbCal();
    }

    function getvoucher() {
        var date = new Date($(".vouchdt").val()),
                month = (date.getMonth() + 1).toString(),
                vouchno = $('.vouchno').val(),
                voucher = '0' + month + vouchno;
        $('.monno').val(month);
        $('.voucher').val(voucher);
    }


    $('#hedit').click(function () {
        var addflag = $('.addflag').val();
        if (addflag != 1) {
            $('.oms').prop("disabled", true);
        } else {
            $('.oms').prop("disabled", false);
        }
    });
    $(document).keydown(function (event) {
        if (!(String.fromCharCode(event.which).toLowerCase() == 'd' && event.altKey) && !(event.which == 19))
            return true;
        $(".cdicsperc ").focus();
        event.preventDefault();
        return false;
    });
    $('#addnew').click(function () {
        AddRows();
    });
    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();
    }

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

    function mainbCal() {

        var grosstot = 0,
                totbillamt = 0,
                igst = 0,
                cgst = 0,
                gsttype = $('.gstperc').val();
        $(".amount").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                grosstot += parseFloat(this.value);
            }
        });
        var discperc = $('.discperc').val(),
                discamt = discperc * grosstot / 100,
                taxable = parseFloat(grosstot) - parseFloat(discamt);
        $(".grossamt").val(grosstot.toFixed(2));
        $(".totdiscamt").val(discamt.toFixed(2));
        $(".taxableamt").val(taxable.toFixed(2));
        if (gsttype != '') {
            if ($(".oms").prop('checked')) {
                igst = (taxable * gsttype / 100).toFixed(2);
                $('.igstamt').val(igst);
            } else {
                var gstperc = gsttype / 2;
                cgst = (taxable * gstperc / 100).toFixed(2);
                $('.cgstamt').val(cgst);
                $('.sgstamt').val(cgst);
            }
        }


        totbillamt = (parseFloat(taxable) + parseFloat(cgst) + parseFloat(cgst) + parseFloat(igst)).toFixed(2);
        
        var totbillamt2 = (totbillamt * 100) / 100;
        var rtotbillamt = Math.round(totbillamt2);

        var rdoff = (rtotbillamt - totbillamt).toFixed(2);
        $(".roundoff").val(rdoff);
        
        $(".totbillamt").val(rtotbillamt);
        
    }
});