/*
 * [di] digitale informationssysteme gmbh | www.digi-info.de
 * Author: Sergej Leibenzon <leibenzon@digi-info.de>
*/

$(document).ready(function() {


    // animation for main navigation
    var navContainers = $('.nav-left, .nav-right');
    var navItem = $('.leaf', '.nav-wrapper');

    $.each(navItem, function(index, value) {
        if($(this).hasClass('expanded') && $(this).find('.sub').length > 0) {
            totalHeight = $('.expanded .sub a', navContainers).length * 15 + 111;
            $('.expanded', navContainers).parent('.menu').parent().animate({
                marginTop: '-' + totalHeight / 2 + 'px',
                top: '135px'
            }, 350);
        }
    });

    var bookList = function() {
        var row = $('.row','.cover-list'),
            item = $('.cover-item', row),
            link = $('.cover-link', item),
            title = $('.title', item),
            content = $('.cover-content',item),
            arrow = $('.cover-arrow', content);

        // reset margin of last cover-item in a row
        for(var i=0;i<(item.length/5)+1;i++) {
            item.eq((5*(i+1))-1).attr('style', 'margin-right: 0;');
        }

        // add grayscale canvas to images
        $.each(link, function(i) {
            link.eq(i).addClass('bwWrapper').BlackAndWhite();
        });
        var canvas = $('canvas', link);
        canvas.attr('style', 'position: absolute; top: 6px; left: 6px;');

        // add close button to tile bar
        title.append('<a href="#close" class="close-btn" title="Schließen ...">x</a>');

        // init colorbox
        $('.colorbox').colorbox();

        // show/hide cover conten on click event
        link.click(function() {

            // add arrow on right position
            if(arrow.length == 0) {
                title.append('<span class="cover-arrow">');
            }

            // realign cover content with arrow for current row
            var start = 15;

            $.each($(this).parent().parent('.row').find('.cover-item'), function() {
                if($('.cover-content', $(this)).length > 0) {
                    $('.cover-content', $(this)).find('.cover-arrow').css('left', (start + 24) + 'px');
                    $('.cover-content', $(this)).css('left', '-' + (start-15) + 'px');
                    start += 122;
                }
            });

            if($(this).siblings('.cover-content').length > 0 && !$(this).hasClass('expanded')) {

                $.each(link, function(i) {
                    if (link.eq(i).hasClass('expanded')) {
                        link.eq(i).removeClass('expanded');
                        $('canvas', link.eq(i)).show();
						link.eq(i).find('img').css('filter', 'progid:DXImageTransform.Microsoft.BasicImage(grayscale=1)');
                        link.eq(i).siblings('.cover-content').stop(true, true).hide(
                            'slide', { direction: "down" }, 320
                        );
                        link.eq(i).parent().parent('.row').stop(true, true).animate({
                            height: 168
                        }, 350);
                    }
                });

                if(!$(this).hasClass('expanded')) {
                    $('#disabling-div').show();
                    $(this).addClass('expanded');
                    $('canvas', $(this)).hide();
					$(this).find('img').css('filter', 'none');
                    $(this).siblings('.cover-content').stop(true, true).show(
                        'slide', { direction: "up" }, 350, function() {
                            $('#disabling-div').hide();
                        }   
                    );
                    $(this).parent().parent('.row').stop(true, true).animate({
                        height: 120 + $('.inner', $(this).parent()).height()
                        + $('.title', $(this).parent()).height() + $(this).height()
                    }, 350);
                }

                $('.close-btn').click(function() {
                    if($(this).parent().parent().parent().find('.cover-link').hasClass('expanded')) {
                        $(this).parent().parent().stop(true, true).hide(
                            'slide', { direction: "up" }, 320
                        );
                        $(this).parent().parent().parent().parent().parent('.row').stop(true, true).animate({
                            height: 168
                        }, 350);
                        //console.log($(this).parent().parent().parent().parent().find('.cover-link'));
                        $(this).parentsUntil('.row').find('.cover-link').removeClass('expanded');
                        $(this).parentsUntil('.row').find('canvas').show();
                    }
                });
            }
        });
        
    }();
});
