function init()

in harness/app-assets/templates/assets/js/modules/collagePlus.js [82:155]


    function init (selector, children, orientation) {
        // Set defaults based off window size
        var albumWidth;
        var imageHeight;
        var screenSpace = window.innerWidth;

        var padding = getComputedStyle(document.getElementsByClassName("gallery")[0]).getPropertyValue("padding-left");
            padding = Math.round(parseFloat(padding));

        // Gallery padding depenedent on available screen space
        var gp = screenSpace < 955 ? "11px 11px 0 11px" : "12px 12px 0 12px" ;

        // Pass correct width for settings
        switch (orientation) {
          case "portrait":
            albumWidth = 675;
            $(".gallery").css('padding', gp);
            break;
          case "landscape":
            albumWidth = 930;
            break;
          default:
            albumWidth = $(selector)[0].clientWidth - (padding * 2);
        }

        if (window.innerWidth < 450) {
            imageHeight = 150;
        } else {
            imageHeight = 300;
        }

        var settings = {
            "targetHeight"          : imageHeight,
            "albumWidth"            : albumWidth,
            "padding"               : padding,
            "images"                : $(children),
            "fadeSpeed"             : "fast",
            "display"               : "inline-block",
            "effect"                : "default",
            "direction"             : "vertical",
            "allowPartialLastRow"   : true
        };

        var row = 0,
            elements = [],
            rownum = 1;

        settings.images.each(function(scope, index) {

            var w = this.width,
                h = this.height;

            var nw = Math.ceil(w/h*settings.targetHeight),
                nh = Math.ceil(settings.targetHeight);

            elements.push([this, nw, nh]);

            row += nw + settings.padding;

            if (row > settings.albumWidth && elements.length !== 0) {
                resizeRow(elements, (row - settings.padding), settings, rownum);
                row = 0;
                elements = [];
                rownum += 1;
            }

            if (settings.images.length-1 == index && elements.length !== 0) {
                resizeRow(elements, row, settings, rownum);
                row = 0;
                elements = [];
                rownum += 1;
            }
        });
    }