Router.onRun(function () { $(document).ready(function () { if (window.logoInterval !== undefined) clearInterval(window.logoInterval); var i = 0; window.logoInterval = setInterval(function() { $('img.home-logo').attr('src', '/img/icons/1_' + ((++i%5)+1) + '.gif'); }, 2000); }); this.next(); }, { only: ['login'] }); function prepareDates() { var month = $('input[name=month]').val(); var year = $('input[name=year]').val(); if (month !== undefined && year !== undefined) { Meteor.call('getInstagramMedia', +("20"+year), +month, function(error, results) { // console.log('Instagram response', results.data); if (results.data.data.length > 0) { var photos = _.sortBy(results.data.data, function(p) { return p.created_time; }); Session.set('date', { month: month, year: year }); Session.set('photos', photos); Meteor.call('getInstagramUsername', function (err, res) { Session.set('username', res); }); $('form.dates div.error').hide(); $('form.dates button.next').show(); } else { $('form.dates button.next').hide(); $('form.dates div.error').show(); } }); } } function animate() { var delay = 0; $('img.logo').attr('src', '/img/logo_anim.gif'); // load $('li#step1').addClass('active'); var photos = $('div.photo'); photos.each(function(i) { var self = this; _.delay(function () { $(self).show(); }, 400 * i); }); delay += 400 * photos.length; // pixelate _.delay(function () { $('li#step1').removeClass('active'); $('li#step2').addClass('active'); _.each(Session.get('photos'), function(x, i) { _.delay(function() { $('#canvas-'+x.id).show(); Effects.pixelate(x.id); _.delay(function () { $('#img-'+x.id).hide(); }, 100); }, 400 * i); }); }, delay + 2000); delay += 400 * photos.length; delay += 2000; // colorize _.delay(function() { $('li#step2').removeClass('active'); $('li#step3').addClass('active'); _.each(Session.get('photos'), function(x, i) { _.delay(function () { Effects.colorize(x.id); $('#canvas-'+x.id).show(); }, 400 * i); }); }, delay + 2000); delay += 400 * photos.length; delay += 2000; _.delay(function() { $('li#step3').removeClass('active'); $('li#step4').addClass('active'); $('div.photos').hide(); var palette = Effects.average(); $('div#dominant1').css('background', 'rgba(' + palette[0][0] + ',' + palette[0][1] + ',' + palette[0][2] + ',1)'); $('div#dominant2').css('background', 'rgba(' + palette[1][0] + ',' + palette[1][1] + ',' + palette[1][2] + ',1)'); $('ol#dominant1 li.r').text('R-' + palette[0][0].toString(16).toUpperCase()); $('ol#dominant1 li.g').text('G-' + palette[0][1].toString(16).toUpperCase()); $('ol#dominant1 li.b').text('B-' + palette[0][2].toString(16).toUpperCase()); $('ol#dominant2 li.r').text('R-' + palette[1][0].toString(16).toUpperCase()); $('ol#dominant2 li.g').text('G-' + palette[1][1].toString(16).toUpperCase()); $('ol#dominant2 li.b').text('B-' + palette[1][2].toString(16).toUpperCase()); Session.set('dominant1hex', palette[0][0].toString(16).toUpperCase() + palette[0][1].toString(16).toUpperCase() + palette[0][2].toString(16).toUpperCase()); Session.set('dominant2hex', palette[1][0].toString(16).toUpperCase() + palette[1][1].toString(16).toUpperCase() + palette[1][2].toString(16).toUpperCase()); $('img.logo').attr('src', '/img/logo.jpg'); $('div.dominants').show(); }, delay + 2000); } function animate2() { var delay = 0; var photos = $('div.photo'); $('img.logo').attr('src', '/img/logo_anim.gif'); _.delay(function() { $('li#step4').removeClass('active'); $('li#step5').addClass('active'); $('div.dominants').hide(); $('div.photos').show(); _.each(Session.get('photos'), function(x, i) { _.delay(function () { Effects.averageColor(x.id); }, 400 * i); }); }, delay + 2000); delay += 400 * photos.length; delay += 2000; _.delay(function() { $('li#step5').removeClass('active'); $('li#step6').addClass('active'); $('div.photos').hide(); $('div.final').show(); Effects.drawFinal(); }, delay + 2000); delay += 400 * photos.length; delay += 2000; _.delay(function() { var matrix = Effects.drawFinalIcon(); Session.set('final_matrix', matrix); }, delay + 2000); delay += 400 * photos.length; delay += 2000; var canvas = document.getElementById('canvas-final'); var dataUrl = canvas.toDataURL(); $('a.share-save').attr('href', dataUrl); $('a.share-save').attr('download', new Date().getTime()); _.delay(function() { $('h2.title').html('Done!