//client side script for list module.
$(function(){
    $('.listContainer').sortable({
        distance: 5,
        helper: function(e, el){
            var $clone = $(el).clone();
            var ret = $clone.get(0);
            ret.id = 'clone';
            ret.style.backgroundColor = '#EEE8DA';
            ret.style.border = '1px solid #D8D4BF';
            return ret;
        },
        update: function(e, ui){
            var listIds = '';
            $('.listContainer div input').each(function(){
                if (this.parentNode.id == 'clone')
                    return true;
                    
                listIds += $(this).val();
                listIds += ',';
            });
            listIds = listIds.substring(0, listIds.length - 1);
            $.jwlib.listReorder(listIds);
        }
    }).sortable('disable');
    
    $('.reorderLinkOff').toggle(function(){
        var $this = $(this);
        $('.allLists').removeClass('allLists').addClass('security');
        $('.allListsOn').removeClass('allListsOn').addClass('securityOn');
        $this.html('Done');
        
        $('.listContainer').sortable('enable').children().each(function(){
            var $this = $(this);
            if ($this.hasClass('listOn'))
                $this.removeClass('listOn').addClass('reorderOn');
            else 
                $this.removeClass('list').addClass('reorder');
            $this.children('a').click(function(){return false;});
        });
    }, function(){
        var $this = $(this);
        $('.security').removeClass('security').addClass('allLists');
        $('.securityOn').removeClass('securityOn').addClass('allListsOn');
        $this.html('Reorder');
        
        $('.listContainer').sortable('disable').children().each(function(){
            var $this = $(this);
            if ($this.hasClass('reorderOn'))
                $this.removeClass('reorderOn').addClass('listOn');
            else 
                $this.removeClass('reorder').addClass('list');
            $this.children('a').unbind('click');
        });
    });
});