{"version":3,"file":"main.js","sources":["../../anxioscript/main.js"],"names":["$","user","id","read","itinerary","itineraryFinished","pills","randomId","i","Math","floor","random","toString","loadUser","JSON","parse","localStorage","getItem","saveUser","setItem","stringify","checkRead","scrollTop","window","windowHeight","height","endTop","offset","top","endHeight","trackEvent","setItinerary","newItinerary","visible","#text-1","#pill-1","#turn-1","#noturn-1","#text-2","#pill-2","#turn-2","#noturn-2","#pill-3","#turn-2-1","#turn-2-2","#turn-3","#noturn-3","#end","#name-0","#name-1","#name-2","#name-3","#name-4","#name-5","#name-6","#name-7","#easteregg","enabled","administered","each","itineraries","inArray","removeAttr","attr","removeClass","addClass","action","goatcounter","count","path","referrer","location","host","pathname","event","Modernizr","localstorage","length","setInterval","index","on","toggleClass","hasClass","css","outerHeight","left","transitions","pill-1","pill-2",1,"pill-3",4,6,"this","FastClick","attach","document","body"],"mappings":"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","sourcesContent":["/* global FastClick, Modernizr */\n\n$(function() {\n 'use strict';\n\n var user = {\n id: null,\n read: {},\n itinerary: 0,\n itineraryFinished: false,\n pills: 0,\n };\n\n function randomId() {\n var id = '';\n for (var i = 0; i < 32; i += 1) {\n id += Math.floor(Math.random() * 16).toString(16);\n }\n return id;\n }\n\n function loadUser() {\n user = JSON.parse(localStorage.getItem('anxioscript')) || {};\n if (!user.id) {\n user.id = randomId();\n }\n if (!user.read) {\n user.read = [];\n }\n if (typeof user.itinerary !== 'number') {\n user.itinerary = 0;\n user.itineraryFinished = false;\n user.pills = 0;\n }\n }\n\n function saveUser() {\n localStorage.setItem('anxioscript', JSON.stringify(user));\n }\n\n function checkRead() {\n var scrollTop = $(window).scrollTop();\n var windowHeight = $(window).height();\n var endTop = $('#end').offset().top;\n var endHeight = $('#end').height();\n\n if (scrollTop + windowHeight >= endTop + endHeight) {\n if (user.itinerary !== 'easteregg' && !user.read[user.itinerary]) {\n user.read[user.itinerary] = true;\n saveUser();\n }\n if (!user.itineraryFinished) {\n if (user.itinerary === 'easteregg') {\n trackEvent('easteregg');\n } else {\n trackEvent('itinerary-' + user.itinerary);\n }\n user.itineraryFinished = true;\n saveUser();\n }\n }\n }\n\n function setItinerary(newItinerary) {\n var visible = {\n '#text-1': [0, 1, 2, 3, 4, 5, 6, 7],\n '#pill-1': [0, 1, 2, 3, 4, 5, 6, 7],\n '#turn-1': [ 1, 3, 6, 7],\n '#noturn-1': [0, 2, 4, 5 ],\n '#text-2': [0, 1, 2, 3, 4, 5, 6, 7],\n '#pill-2': [0, 1, 2, 3, 4, 5, 6, 7],\n '#turn-2': [ 4, 5, 6, 7],\n '#noturn-2': [0, 1, 2, 3 ],\n '#pill-3': [0, 1, 2, 3, 4, 5, 6, 7],\n '#turn-2-1': [ 5, 7],\n '#turn-2-2': [ 4, 6 ],\n '#turn-3': [ 2, 3 ],\n '#noturn-3': [0, 1, ],\n '#end': [0, 1, 2, 3, 4, 5, 6, 7],\n '#name-0': [0],\n '#name-1': [1],\n '#name-2': [2],\n '#name-3': [3],\n '#name-4': [4],\n '#name-5': [5],\n '#name-6': [6],\n '#name-7': [7],\n '#easteregg': ['easteregg'],\n };\n var enabled = {\n '#pill-1': [0],\n '#pill-2': [0, 1],\n '#pill-3': [0, 1, 4, 6],\n };\n var administered = {\n '#pill-1': [1, 3, 6, 7],\n '#pill-2': [ 4, 5, 6, 7],\n '#pill-3': [ 2, 3, 5, 7],\n };\n $.each(visible, function(id, itineraries) {\n if ($.inArray(newItinerary, itineraries) >= 0) {\n $(id).removeAttr('hidden');\n } else {\n $(id).attr('hidden', '');\n }\n });\n $.each(enabled, function(id, itineraries) {\n if ($.inArray(newItinerary, itineraries) >= 0) {\n $(id).removeClass('pill-disabled');\n } else {\n $(id).addClass('pill-disabled');\n }\n });\n $.each(administered, function(id, itineraries) {\n if ($.inArray(newItinerary, itineraries) >= 0) {\n $(id).addClass('pill-administered');\n } else {\n $(id).removeClass('pill-administered');\n }\n });\n user.itinerary = newItinerary;\n }\n\n function trackEvent(action) {\n if (window.goatcounter) {\n window.goatcounter.count({\n path: 'anxioscript:' + action,\n referrer: window.location.host + window.location.pathname,\n event: true\n });\n }\n }\n\n if (Modernizr.localstorage) {\n loadUser();\n setItinerary(user.itinerary);\n\n if ($('#end').length) {\n setInterval(checkRead, 1000);\n }\n\n $.each(user.read, function (index, read) {\n if (read) {\n $('#read-' + index).removeAttr('hidden');\n }\n });\n }\n\n if ($('main.read').length) {\n $('#help-toggle').removeAttr('hidden');\n }\n\n $('#nav-toggle').on('click', function() {\n $('#help').removeClass('expanded');\n $('nav').toggleClass('expanded');\n });\n\n $('#nav-close').on('click', function() {\n $('nav').removeClass('expanded');\n });\n\n $('#help-toggle').on('click', function() {\n if (!$('#help').hasClass('expanded')) {\n $('#help')\n .css('top', $('header').outerHeight())\n .css('left', $('.read').offset().left);\n trackEvent('help');\n }\n $('nav').removeClass('expanded');\n $('#help').toggleClass('expanded');\n });\n\n $('#help-close').on('click', function() {\n $('#help').removeClass('expanded');\n });\n\n $(window).on('resize', function() {\n $('nav, #help').removeClass('expanded');\n });\n\n $('#pill-1, #pill-2, #pill-3').on('click', function() {\n var transitions = {\n 'pill-1': {0: 1},\n 'pill-2': {0: 4, 1: 6},\n 'pill-3': {0: 2, 1: 3, 4: 5, 6: 7},\n };\n user.pills += 1;\n if (user.pills >= 10) {\n setItinerary('easteregg');\n $(window).scrollTop(0);\n } else if (!$(this).hasClass('pill-disabled')) {\n setItinerary(transitions[this.id][user.itinerary]);\n }\n saveUser();\n });\n\n $('#readagain').on('click', function() {\n $('nav, #help').removeClass('expanded');\n $(window).scrollTop(0);\n setItinerary(0);\n user.itineraryFinished = false;\n user.pills = 0;\n saveUser();\n trackEvent('readagain');\n });\n\n $('#reset').on('click', function() {\n $('.itinerary-read').attr('hidden', '');\n user.read = {};\n user.itinerary = 0;\n user.itineraryFinished = false;\n user.pills = 0;\n saveUser();\n trackEvent('reset');\n });\n\n FastClick.attach(document.body);\n});\n"]}