﻿toggleMessageExpanded = function(value) {
    return (value.indexOf('Expand') >= 0);
}

toggleMessage = function(value) {
    if (toggleMessageExpanded(value)) {
        return messageCollapse(value);
    } else {
        return messageExpand(value);
    }
    return value;
}

messageCollapse = function(value) { return value.replace('Expand', 'Collapse'); }
messageExpand = function(value) { return value.replace('Collapse', 'Expand'); }


$(document).ready(function() {
    function CollapseAll() {

        var displayCount = 5;
        //$('.BookstoreGroupItems ul').height((displayCount * 1.5) + 'em');

        $('.BookstoreGroupItems ul').each(function() {
            displayCount = $(this).children('li').length;

            if (displayCount == null || displayCount > 5) {
                displayCount = 5;
            }

            $(this).height((displayCount * 1.5) + 'em');
        });
    }

    CollapseAll();

    $('.BookstoreGroup .ExpandAll').each(function() {
        $(this).click(function() {
            var message = $('.BookstoreGroup .ExpandAll').html();

            if (toggleMessageExpanded(message)) {

                $('.BookstoreGroup .ExpandGroup').each(function() {
                    $(this).html(messageCollapse($(this).html()));
                });

                $('.BookstoreGroupItems ul').each(function() {
                    var liCount = 0;
                    //$(this).children('li').each(function() { liCount++; });
                    liCount = $(this).children('li').length;

                    if (liCount == null) { liCount = 1; }

                    //$(this).parent('li').height((liCount * 1.5) + 'em');
                    $(this).height((liCount * 1.5) + 'em');
                });
            } else {
                $('.BookstoreGroup .ExpandGroup').each(function() {
                    $(this).html(messageExpand($(this).html()));
                });

                CollapseAll();
            }

            $('.BookstoreGroup .ExpandAll').html(toggleMessage(message));
            return false;
        });
    });

    $('.BookstoreGroup .ExpandGroup').each(function() {
        $(this).click(function() {
            var parentID = $(this).attr('parentID')
            var message = $(this).html();
            var liCount = $('#' + parentID + " ul").children('li').length;
            
            if (liCount == null) { liCount = 5; }
            
            if (!toggleMessageExpanded(message)) {
                if (liCount > 5) {
                    liCount = 5;
                }
            }

            $(this).html(toggleMessage(message));
            $('#' + parentID + ' ul').height((liCount * 1.5) + 'em');
            return false;
        });
    });
});