$(document).ready(function () {
    $("body").off('click').on("click", '.remove', remove);
    $("body").on('change', '.mon, .deptcode', chkattendance);
    $("body").on('blur ', '#sun, #ho', getholiday);
    $("body").on('change keyup blur', '.sun, .ho, .hf, .ab', chg_present);
    $("body").on('change keyup ', '#sun, #ho, .pr, .ot, .pd', caltotdays);

    $("body").on("change blur focus", ".intime, .outtime", calHrsMins);
    $("body").on('click', '.empproceed', GetDailyAttend);
    // $('body').on('change blur', '.dept', getProc);

    // function getProc() {
    //     var dept = $(".dept").val();

    //     if (dept != '') {
    //         $.get('getproc.php', {dept: dept}, function (data) {
    //             $(".process").html(data);
    //         });
    //     }
    // }

    function calHrsMins() {
        var tr = $(this).closest("tr"),
            starttime = tr.find('.intime').val(),
            endtime = tr.find('.outtime').val();
        //        hrs = tr.find('.hrs');
        var date1, date2, sec, hours, min;
        var vouchdt = $('.vouchdt').val();
        date1 = new Date("04/12/2011 " + starttime);
        date2 = new Date("04/12/2011 " + endtime);
        sec = (date2.getTime() / 1000.0) - (date1.getTime() / 1000.0);
        hours = parseInt(sec / 60 / 60);
        sec = sec - hours * 60 * 60;
        min = parseInt(sec / 60);
        ses = sec - min * 60;
        tr.find('.nohrs').val(hours);
        tr.find('.nomins').val(min);
    }


    function GetDailyAttend() {
        var date = $(".vouchdt").val(),
            dept = $(".dept").val();

        if (dept != "") {
            $.post('get_dailyattend.php', { date: date, dept: dept }, function (data) {
                $(".empproceed").hide();
                $('.daily_attend').html(data);

                $('.dept').on('select2:opening select2:unselecting', function (e) {
                    e.preventDefault(); // Block dropdown
                });

                // Optional: style it to look disabled
                $('.dept').next('.select2-container').css('pointer-events', 'none');
                $('.dept').next('.select2-container').find('.select2-selection')
                    .css('background-color', '#e9ecef');

                // IMPORTANT: Keep the select enabled so the value submits
                $('.dept').prop('disabled', false);
                $('.vouchdt').prop('readonly', true);

            });
        } else {
            alert("Department Cannot Be Empty");
        }
    }

    function caltotdays() {
        var tr = $(this).closest("tr"),
            totpr = tr.find(".pr").val(),
            ot = tr.find(".ot").val(),
            pd = tr.find(".pd").val();

        var total = parseFloat(totpr) + parseFloat(ot) + parseFloat(pd);

        if (total > 31) {
            alert("Total No. Of Days Cannaot Be Greater Than 31");
            //            tr.find(".ot").val();
            tr.find(".ot").focus();
            //            tr.find(".ot").select();
        } else {
            tr.find(".totdays").val(total);
        }


    }

    $("#submit").hide();
    $("#finishTab").click(function () {
        var valid = true;
        $(".tbody").find('tr').each(function () {
            var row = $(this);
            var pr = row.find('.pr').val();
            if (pr > 31) {
                alert('Present Cannot Be Greater Than 31');
                valid = false;
                row.find('.ho').focus();
                return false;
            }
            //$("#finishTab").click(function () {
            //        var valid = true,
            //                monname = $('.monname').val();
            //
            //        $(".tbody").find('tr').each(function () {
            //            var row = $(this);
            //            var pr = row.find('.pr').val();
            //            if (pr > 31) {
            //
            //                $.post("chk_month.php", {monname: monname}, function (data) {
            //                    if (data != '') {
            //                        alert(data);
            //                        valid = false;
            //                        row.find('.ho').focus();
            //                        return false;
            ////                        alert(data);
            //                    } else {
            //                        getdata();
            //                    }
            //                });
            //            }

        });
        if (valid) {
            var isValid = true;
            if (isValid) {
                $("#submit").show();
                $("#submit").click();
            }
        }
    });
    $('#sun').keyup(function () {
        var sun = $("#sun").val();
        if (sun > 5) {
            alert("No. Of Sundays In A Month Cannot Be Greater Than 5");
            $("#sun").focus();
            $("#sun").val();
        }
    });
    function chg_present() {

        $('.tbody tr').each(function () {

            var tr = $(this).closest("tr");
            var hf = tr.find(".hf").val(),
                sun = tr.find(".sun").val(),
                ho = tr.find(".ho").val(),
                ab = tr.find(".ab").val(),
                pr = tr.find(".totpr").val(),
                monno = tr.find(".totpr").val();
            var totpr = parseFloat(sun) + parseFloat(ho) + parseFloat(pr) - parseFloat(hf) - parseFloat(ab);

            if (totpr > 31) {
                //                 $.post("chk_month.php", {monname: monno}, function (data) {
                //                    if (data != '') {
                //                        alert(data);
                ////                        valid = false;
                ////                        row.find('.ho').focus();
                ////                        return false;
                ////                        alert(data);
                //                    } else {
                //                        getdata();
                //                    }
                //                });

                tr.find(".sun").val(0);
                tr.find(".sun").focus();
                tr.find(".sun").select();
            } else {
                tr.find('.pr').val(totpr);
                tr.find('.totdays').val(totpr);
            }
        });
    }

    function getholiday() {

        $('.tbody tr').each(function () {
            var sun = $("#sun").val();
            var ho = $("#ho").val();
            var row = $(this);
            if (sun > 0) {
                $(".sun").val(sun);
            }
            if (ho > 0) {
                $(".ho").val(ho);
            }
        });
    }

    function chkattendance() {
        var mon = $(".mon").val(),
            deptcode = $(".deptcode").val(),
            vouchno = $(".vouchno").val();
        $.post("auto_chkattendance.php", { mon: mon, deptcode: deptcode, vouchno: vouchno }, function (data) {
            if (data != '') {
                alert(data);
                $('#ssubmit').hide();
                $('#scancel').hide();
            } else {
                getdata();
                $('#ssubmit').show();
                $('#scancel').show();
            }
        });
    }

    $('.deptname').change(function () {
        var deptname = $(".deptname").val();
        $(".deptcode").val(deptname);
    }
    );
    function getdata() {
        var deptcode = $('.deptcode').val(),
            vouchno = $('.vouchno').val(),
            addflag = $('.addflag').val(),
            monname = $('.monname').val();
        $(".tabledata").val("");
        $.post('auto_empdata_attend.php', { deptcode: deptcode, vouchno: vouchno, addflag: addflag, monname: monname }, function (data) {
            $(".tabledata").html(data);
        });
    }
    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;
        }
        $.post('attendmonth_add.php', { ctr: ctr, hide: hide_check }, function (data) {
            $(data).appendTo('.tabledata');
            ctr++;
            $('#items').val(ctr);
        });
    }
    $('#addnew').click(function () {
        AddRows();
    });
});


