$(document).ready(function()
{
    /* Set forbid link options. */
    $('td.operate a.forbider').click(function()
    {
        $.getJSON($(this).attr('href'),function(data)
        {
            if(data.result == 'success') return location.href = data.locate;
            bootbox.alert(data.message + '');
        });
        return false;
    });

    if(v.mode != 'normal')
    {
        $('.nav-default li').removeClass('active');
        $('.nav-default li a[href*=' + v.mode + ']').parent('li').addClass('active');
    }

    $('.btn-checkUserLimit').click(function()
    {
        var link    = $(this).attr('href');
        var isModal = $(this).data('toggle') == 'modal';
        $.get(createLink('user', 'ajaxCheckUserLimit', 'from=js'), function(response)
        {
            if(response.result == 'fail')
            {
                bootbox.alert(response.message);
            }
            else
            {
                if(isModal)
                {
                    $.zui.modalTrigger.show({url: link, backdrop: 'static'});
                }
                else
                {
                    location.href = link;
                }
            }
        }, 'json');

        return false;
    });

    $('#userList').on('sort.sortable', function(e, data)
    {
        var orders = [];
        $.each(v.users, function(key, user)
        {
            orders.push(user.order);
        })

        var users = [];
        $.each(data.orders, function(id, order){
            users.push({id, order});
        });
        users.sort(function(a, b){return a.order - b.order});

        var newOrders = {};
        $.each(users, function(key, user){
            newOrders[user.id] = orders[key];
        });

        $.post(createLink('user', 'sort'), {users: newOrders}, function(response)
        {
            if(response.result == 'success')
            {
                return location.reload();
            }
            else
            {
                bootbox.alert(response.message);
            }
        }, 'json');
    });
});
