$(document).ready(function()
{
    $.setAjaxForm('#statForm', function(response)
    {
        if(response.messageTip) $.zui.messager.success(response.messageTip);
        if(response.locate) setTimeout(function(){location.href = response.locate;}, 1200);
        return false;
    });

    $('tr.edit').toggleClass('hidden', v.mode != 'edit');
    $('tr.view').toggleClass('hidden', v.mode == 'edit');

    $('table.datatable').datatable({storage: false, fixedHeader: true, fixedHeaderOffset: 54});

    $('.singleEdit').click(function()
    {
        if($('tr.edit').is(':visible')) return false;

        var originTable = $('#attendStat');
        var index       = $(this).parent().parent().data('index');
        var originTR    = $('#attendStat tbody').find('tr').eq(index);

        originTR.next('tr.edit').removeClass('hidden');
        originTR.next('tr.edit').children('td.singleSave').removeClass('hidden');
        originTR.addClass('hidden');

        originTable.datatable('load');
    })

    /* expand active tree. */
    $('.tree').tree('expandSelect', '.active');

    $('.main-col div[id*=datatable] .datatable-rows .table-bordered tbody').find('tr:visible').find('td').css('border-top', '0 none');
    
    $('#year').change(function()
    {
        var monthList = v.monthList[$(this).val()];
        $('#month').empty().append('<option key=""></option>').val('');
        Object.keys(monthList).forEach(function(key)
        {
            $('#month').append('<option value="' + key + '">' + monthList[key] + '</option>');
            if($('#month').val() == '') $('#month').val(key);
        })
        $('.chosen').trigger('chosen:updated');
    })
    
    $('#year, #month').change(function()
    {
        const year  = $('#year').val();
        const month = $('#month').val();
        $('.btn-search').attr('href', createLink('attend', 'attendstat', 'month=' + year + month));
    });

    $('.btn-update-paid').click(function()
    {
        if(!$('#paidDays').val()) return false;

        $('[name^=paid\\[]').val($('#paidDays').val());
    });
})
