$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
    $("body").on("keyup change blur focus", ".pcscart, .cartqty, .qty, .rate, .amount,.discperc,.discamt,.vatperc,.packchgs", calDetail);
    $("body").on("focus blur change", ".vouchdt", getvoucher); 
    $("body").on("change blur", ".cmbparty", getgst);
    $("body").on("blur", '.discperc', autoaddrow);

    $("body").on("blur", '.mobile', getAdd);
    // $("body").on("blur", '.qty', chkStk);
    $("body").on("change", '.paidby', hidshow);        
        
    printLast();
    
    hidshow();
    function hidshow() {
        var paidby = $(".paidby").val();
        if (paidby == "O") {
            $(".bankdetl").show();
        } else {
            $(".bankdetl").hide();
            $(".bankname").val("").trigger("change");
        }
        
        if (paidby == "R") {
            $(".credpdisp").show();
            $(".party").prop('required',true);
            $(".cashparty").prop('required',false);
            $(".cashpdisp").hide();
        }else if(paidby == "O"){
            $(".credpdisp").show();
            $(".party").prop('required',true);
            $(".cashpdisp").hide();
        }else{
            $(".cashpdisp").show();
            $(".party").prop('required',false);
            $(".cashparty").prop('required',true);
            $(".credpdisp").hide();

        }
    }

    function printLast() {
        var vouchno = $(".vouchno").val(),
                para = $(".para").val(),
                paytype = $(".paidby").val(),
                link = "";
        if (paytype == '1') {
            link = "thermal_print.php?vouchno=" + vouchno;
        } else {
            link = "sale_print.php?vouchno=" + vouchno;
        }

        $.ajax({
            type: "POST",
            datatype: "json",
            data: {vouchno: vouchno},
            url: "print_last.php",
            success: function (response) {
                if (response.success == true) {
                    window.open(link, "_blank");
                }
            },
            error: function (request, errorThrown, textStatus) {

            }
        });
    }


    $("form").submit(function () {

        var party = $('.party').val(),
                totbillamt = $('.totbillamt').val(),
                valid = true;


        // if (party == '') {
        //     var message = "Party Cannot Be Empty";
        //     alert(message);
        //     return false;
        //     valid = false;
        // }

        // if (parseFloat(totbillamt) <= 0 || totbillamt == '') {
        //     var message = "Netamt Cannot zero";
        //     alert(message);
        //     return false;
        //     valid = false;
        // }



        if (valid) {
            var isValid = true;

            if (isValid) {
                $("#submit").hide();
                $("#cancel").hide();

            }
        }
    });
//    $("body").on("blur", '.barcode, .qty', chkItemExist);

//    function chkItemExist() {
//        var tr = $(this).closest("tr"),
//                barcode = tr.find(".barcode").val(),
//                sr = tr.find(".srno").val(),
//                a = 1;
//        if (barcode != '') {
//
//            $(".tbody").find('tr').each(function () {
//                var row = $(this);
//                var srno = row.find('.srno').val();
//                var itemchk = row.find('.barcode').val();
//                if (barcode == itemchk && srno != sr) {
//                    alert('Item  Already Exist  at Sr.  ' + srno);
//                    row.find(".barcode").val("");
//                    row.find(".itemname").val("");
//                    row.find(".qty").val(0);
////                    $("#itemcode_" + sr).val('');
////                    $('#item_' + sr).val('').trigger('change');
////                    return false;
//
//
//                }
//            });
//        }
//    }

//     function chkStk() {
//         var tr = $(this).closest("tr"),
//                 stkqty = tr.find(".stkqty").val(),
//                 qty = tr.find(".qty").val();

//         if (parseFloat(qty) > 0) {
//             if (parseFloat(qty) > parseFloat(stkqty)) {
// //                $(".mesg").text("Sale Qty. is Greater than Stock Qty.");
// //                $("#alertmodal").modal('show');
//                 alert("Sale Qty. is Greater than Stock Qty.");
//                 tr.find(".qty").val("0");
//                 tr.find(".qty").focus();
//             }
//         }
//     }

    function getAdd() {
        var mobile = $(".mobile").val();
        var address = $(".address").val();
        if (address == "") {
            $.post('getAdd.php', {mobile: mobile}, function (data) {
                if (data != "") {
                    $(".address").val(data);
                    $(".barcode").focus();
                }
            });
        }
    }


    var canc_flag = $(".canc_flag").val();
    if (canc_flag != '') {
        $("#scancbill").hide();
        $("#hedit").hide();

    }


//    $("#hdelete").hide();s


    $("#cancbill").click(function () {
        $("#cancmodel").modal('show');
    });

    function autoaddrow() {
        if ($(this).closest('tr').is(":last-child")) {
            AddRows();
        }
    }

    var lrno = $('.lrno').val();
    if (lrno != '') {
        $(".lrdetail").show();
    } else {
        $(".lrdetail").hide();
    }

    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);
    }


    $(".lrtab").click(function () {
        $(".lrdetail").animate({
            height: 'toggle'
        });
    });
//    $('#hedit').click(function () {
//        var addflag = $('.addflag').val();
//        if (addflag != 1) {
//            $('.oms').prop("disabled", true);
//        } else {
//            $('.oms').prop("disabled", false);
//        }
//    });
    function getgst() {
        var party = $('.cmbparty').val();
        $.post('getcustgst.php', {party: party}, function (data) {
//            if (data.gstno != 0) {
            $('.gstno').val(data.gstno);
//            }
            $('.mobile').val(data.mobile);
            $('.transporter').val(data.transporter).trigger('change');
        }, 'json');
    }


    function calDetail() {
        var tr = $(this).closest("tr"),
               cartqty = tr.find(".cartqty").val(),
               pcscart = tr.find(".pcscart").val();
               if (pcscart > 0){
                   qty = cartqty * pcscart;
                   tr.find(".qty").val(qty);
               }else{
                   qty = tr.find(".qty").val();
                   // console.log(qty);
               }
               var rate = tr.find(".rate").val(),
                amount = ((rate * qty) / 10).toFixed(2),
                discperc = tr.find(".discperc").val(),
                discamt = 0,
                vatperc = tr.find(".vatperc").val(),
                subtot = 0,
                total = 0,
                vat = 0;

        // if (discperc > 0) {
        //     discamt = ((discperc * amount) / 100).toFixed(2);
        // } else {
        //     discamt = tr.find(".discamt").val();
        // }
        var discamt = 0;
        subtot = amount - discamt;
        if (vatperc > 0) {
            vat = ((vatperc * subtot) / 100).toFixed(2);
        } else {
            vat = 0;
        }
        total = (parseFloat(subtot) + parseFloat(vat)).toFixed(2);
        tr.find(".amount").val(amount);
        tr.find(".discamt").val(discamt);
        tr.find(".vat").val(vat);
        tr.find(".total").val(total);
        var totamt = 0,
                totdisc = 0,
                totvat = 0,
                totalqty = 0,
                tottotal = 0;
        $(".amount").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                totamt += parseFloat(this.value);
            }
        });
        $(".discamt").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                totdisc += parseFloat(this.value);
            }
        });
        $(".vat").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                totvat += parseFloat(this.value);
            }
        });
        $(".total").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                tottotal += parseFloat(this.value);
            }
        });
        $(".qty").each(function () {
            if (!isNaN(this.value) && this.value.lenght != 0) {
                totalqty += parseFloat(this.value);
            }
        });
        $(".totamt").val(totamt);
        $(".totdisc").val(totdisc);
        $(".totvat").val(totvat);
        $(".totalqty").val(totalqty);


        var packchgs = $(".packchgs").val();
        var finamt = parseFloat(tottotal) + parseFloat(packchgs);
        $(".tottotal").val(finamt);


    }


    $('#addnew').click(function () {
        AddRows();
    });
    function remove() {
        $(this).closest("tr").remove();
        calDetail();
        caltran();
    }

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

            $(focusFld).focus();
        });
    }

    $(document).keydown(function (event) {
        //19 for Mac Command+S
        if (!(String.fromCharCode(event.which).toLowerCase() == 'v' && event.altKey) && !(event.which == 19))
            return true;
//        alert("Ctrl-s pressed");
//        $("#edit").click();
        var href = $('#prndir').attr('href');
//        window.open = href;
//        window.location.href = href;
        window.open(href);
//        location.reload();
    });


});