window.cmu = window.cmu || {};

(function (ns) {
    var my = {};
    my.logger = gj.logging.getLogger('cmu.gridutils');

    ns.gridInit = function (spec) {
        my.logger.debug('gridInit()');

        spec = spec || {};
        spec.viewNode = spec.viewNode || $('.treasuryGrid ul.images');

        var $viewNode = spec.viewNode;
        var $elements = $viewNode.find('li .object');

        ns.shuffleImages($elements, 80);

        if (cmu._dot) {
            var canvas = cmu.gridCanvas({
                originObject: cmu._dot.getViewNode()
                // outlineOffset: 15
                // useObjectOutline: false
            });

            $elements.hover(
                function (e) {
                    canvas.setActiveObject($(this).closest('li'));
                },
                function (e) {
                    canvas.setActiveObject(null);
                }
            );
        }
    };

    ns.shuffleImages = function ($elements, range) {
        var opt = {'range': range};
        $elements.each(function () {
            $(this).css({
                position: 'relative',
                top: ns.getRandomDimension(opt) + 'px',
                left: ns.getRandomDimension(opt) + 'px'
            });
        });
    };

    ns.getRandomDimension = function (opt) {
        opt = opt || {};
        opt.range = opt.range || 100;
        opt.offset = opt.offset || (opt.range / 2) * -1;
        return Math.floor(Math.random() * opt.range) + Math.round(opt.offset);
    };

})(window.cmu);


