﻿/// <reference path="jquery.intellisense.js"/>

var modesObject = {
    start: function() {
        // expand / collapse
        $('.modesobjectcollapsed .btn_expand').click(function() {
            var link = $(this);
            var li = link.parents('li');
            var collapsed = link.parents('.modesobjectcollapsed');
            var expanded = collapsed.next('.modesobjectexpanded');
            var collapsedHeight = li.height();

            collapsed.css('display', 'none');
            expanded.css('display', 'block');
            var expandedHeight = li.height();

            li.css('overflow', 'hidden');
            li.height(collapsedHeight);
            li.stop();
            li.animate({
                height: expandedHeight
            }, 500, 'easeOutCubic', function() {
                li.css('height', 'auto');
            });

            return false;
        });
        $('.modesobjectexpanded .btn_collapse').click(function() {
            var link = $(this);
            var li = link.parents('li');
            var expanded = link.parents('.modesobjectexpanded');
            var collapsed = expanded.prev('.modesobjectcollapsed');

            collapsed.css('display', 'block');
            expanded.css('display', 'none');
            var collapsedHeight = li.height();
            collapsed.css('display', 'none');
            expanded.css('display', 'block');

            var expandedHeight = li.height();
            li.css('overflow', 'hidden');
            li.height(expandedHeight);
            li.stop();
            li.animate({
                height: collapsedHeight
            }, 500, 'easeOutCubic', function() {
                li.css('height', 'auto');
                collapsed.css('display', 'block');
                expanded.css('display', 'none');
            });


            return false;
        });

        // lightboxes
        var done = new Array();
        $('.modesobjectexpanded .lightbox').each(function(i, el) {
            var lb = $(el);
            var css = lb.attr("class").replace('lightbox ', '');

            // check if already added
            for (var j = 0; j < done.length; j++)
                if (done[j] == css)
                return true;
            done.push(css);
        });

        // setup lightbox groups
        for (var i = 0; i < done.length; i++) {
            var els = $('.' + done[i]);
            els.lightBox();
        }

        // add trigger for collapsed state lightbox
        $('.modesobjectcollapsed .lightbox').click(function() {
            var link = $(this);
            if (link.attr('href') != '#') {
                var collapsed = link.parents('.modesobjectcollapsed');
                var expanded = collapsed.next('.modesobjectexpanded');
                var firstImage = $(expanded.find('.lightbox')[0]);
                firstImage.click();
            }
            return false;
        });
    }
};

$(modesObject.start);
