'use strict';var _slicedToArray=function(){function sliceIterator(arr,i){var _arr=[];var _n=true;var _d=false;var _e=undefined;try{for(var _i=arr[Symbol.iterator](),_s;!(_n=(_s=_i.next()).done);_n=true){_arr.push(_s.value);if(i&&_arr.length===i)break;}}catch(err){_d=true;_e=err;}finally{try{if(!_n&&_i["return"])_i["return"]();}finally{if(_d)throw _e;}}return _arr;}return function(arr,i){if(Array.isArray(arr)){return arr;}else if(Symbol.iterator in Object(arr)){return sliceIterator(arr,i);}else{throw new TypeError("Invalid attempt to destructure non-iterable instance");}};}();var _typeof=typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"?function(obj){return typeof obj;}:function(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj;};function _toConsumableArray(arr){if(Array.isArray(arr)){for(var i=0,arr2=Array(arr.length);i0&&arguments[0]!==undefined?arguments[0]:location.search;var o=arguments.length>1&&arguments[1]!==undefined?arguments[1]:{};var d=arguments.length>2&&arguments[2]!==undefined?arguments[2]:decodeURIComponent;return q.replace(/[?&]([^&=]*)(?:=([^&]*))?/g,function(a,k,v){return o[d(k)]=d(v||'');}),o;};var query=deQuery();var eventUrl=query.e||'https://gist.githubusercontent.com/johan/d7309c8c5e7dcd7ce160e88803aa29ab/raw/5f0411c2f93d4cbd894833b9c9629a7c2f49a2aa/events.json';var leaderUrl=query.l||'https://gist.githubusercontent.com/johan/d7309c8c5e7dcd7ce160e88803aa29ab/raw/bd8ef78c433e1253a7b4978bb69551663bd62636/leaders.json';var regions=null;var center={aus:[-32.7278575,151.2604738,'Australia','Hunter Valley'],ca:[43.9888232,-80.0262646,'Canada','Ecology Retreat Centre'],de:[52.0668495,7.2107544,'Germany','Seminarhof'],east:[42.4965698,-72.9462321,'US East Coast','Earthdance'],midwest:[40.1591988,-85.2805088,'US Midwest','Oakwood Retreat Center'],norcal:[38.5369205,-123.0701147,'US Northern California','Wildwood'],socal:[34.1349793,-116.3599965,'US Southern California','Joshua Tree Retreat Center'],uk:[51.2727283,-2.4157968,'United Kingdom','Ammerdown']};var places=Object.keys(center);var prereqs={"Any":"*","None":0,"HAI 1":1,"HAI 2":2,"HAI 3":3,"HAI 4":4,"HAI 5":5,"On Team":"t"};var levels={"HAI Mini":0,"-":null,"HAI 1":1,"HAI 2":2,"HAI 3":3,"HAI 4":4,"HAI 5":5,"HAI 6":6,"HAI 7":7,"HAI 8":8,"HAI 9":9,"--":null,"Couples 1":"c1","Couples 2":"c2","---":"Team Related","Assistant Training":"at","Active Listening Training":"alt","Team Workshop":"tw","Intern Workshop":"iw","----":null,"Others":""};var defaultPrereqs={"(team|intern).*(workshop|meeting)":"t","mystery upper level":5,"loving sex":5,"assistant training":2,"active listening":1,"community (night|weekend)":1,"(monthly|hai).*connect":1,"support group":1};var defaultLevels={"mini":0,"assistant training":"at","active listening":"alt","lc1":"c1","igniting your love":"c1","lc2":"c2","heart to heart":"c2","team.*workshop":"tw","intern.*workshop":"iw"};var events=document.querySelector('#events');var byRegion=document.querySelector('#byregion');var byPrereq=document.querySelector('#byprereq');var byLevels=document.querySelector('#bylevels');var byLeader=document.querySelector('#byleader');var now=Date.now();var eventInFuture=function eventInFuture(_ref){var end=_ref.end;return end>now;};var decodeEvent=function decodeEvent(_ref2){var title=_ref2.title,start=_ref2.start,end=_ref2.end,url=_ref2.url,className=_ref2.className,geo=_ref2.geo,uid=_ref2.uid,level=_ref2.level,prereq=_ref2.prereq,region=_ref2.region,facilitators=_ref2.facilitators;title=title.replace(/\s+/g,' ').trim().replace(/[,.]+$/,'');title=title.replace(/(.*), Level (\d+)$/,function(all,name,num){if(level===undefined)level=num;return num?'HAI '+num+': '+name:name;});if(level===undefined){for(var re in defaultLevels){if(level!=null)break;if(title.match(new RegExp(re,'i'))){level=defaultLevels[re];}}}if(prereq===undefined){prereq=level&&(level>5?5:level-1)||null;for(var _re in defaultPrereqs){if(prereq)break;if(title.match(new RegExp(_re,'i'))){prereq=defaultPrereqs[_re];}}}if(/^\//.test(url||'')){url='http://www.hai.org'+url.replace('EventDetail?','EventDetail_pub?');}if(region===undefined){region=className.split('-')[1].toLowerCase();}if(geo===undefined)geo=region;if(uid===undefined)uid=(url.match(/id=([^&]+)/)||[])[1];if(!title.match(/ [-@] /))title+=' @ '+center[region][2];return{title:title,url:url,className:className,facilitators:facilitators,region:region,level:level,prereq:prereq,geo:geo,start:parseDate(start),end:parseDate(end)};};var initEventList=function initEventList(allevents,pos){var _iteratorNormalCompletion=true;var _didIteratorError=false;var _iteratorError=undefined;try{for(var _iterator=allevents[Symbol.iterator](),_step;!(_iteratorNormalCompletion=(_step=_iterator.next()).done);_iteratorNormalCompletion=true){var event=_step.value;var className=event.className,region=event.region,prereq=event.prereq,title=event.title,start=event.start,end=event.end,url=event.url;var t=iso(start);var e=document.createElement('li');e.className=className;var a=document.createElement('a');a.href=url;a.textContent=t+': '+title;e.appendChild(gcalLink(event));e.appendChild(a);a.style.marginLeft='8px';events.appendChild(e);}}catch(err){_didIteratorError=true;_iteratorError=err;}finally{try{if(!_iteratorNormalCompletion&&_iterator.return){_iterator.return();}}finally{if(_didIteratorError){throw _iteratorError;}}}};var initFilterList=function initFilterList(regions,facilitators){function input(_ref3){var text=_ref3.text,title=_ref3.title,id=_ref3.id,type=_ref3.type,name=_ref3.name,value=_ref3.value,checked=_ref3.checked,onclick=_ref3.onclick;var li=document.createElement('li');var label=document.createElement('label');var input=document.createElement('input');if(id)input.id=id;if(name)input.name=name;if(value!=null)input.value=value;input.checked=!!checked;input.type=type||'checkbox';input.onclick=onclick||filterEvents;if(title)label.title=title;li.appendChild(label);label.appendChild(input);label.appendChild(document.createTextNode(' '+text));return li;}if(initFilterList.done)return;initFilterList.done=true;var unit={de:'km',ca:'km'}[regions[0].region]||'mi';byRegion.appendChild(input({text:'All',onclick:function onclick(e){var checked=e.target.checked;regions.forEach(function(_ref4){var region=_ref4.region;return document.getElementById(region).checked=checked;});filterEvents();}}));regions.forEach(function(_ref5,nth){var className=_ref5.className,region=_ref5.region,name=_ref5.name,site=_ref5.site,km=_ref5.km,mi=_ref5.mi;var dist={km:km,mi:mi}[unit]+{km:'km',mi:'mi'}[unit],info=void 0;if(location.hash==='#debug')console.log(info=km+'km / '+mi+'mi to '+region+' ('+site+')');else console.log(info=dist+' to '+region+' ('+site+')');var li=input({text:name,id:region,checked:!nth,title:'~'+info});byRegion.appendChild(li);});for(var text in prereqs){var prereq=prereqs[text];byPrereq.appendChild(input({text:text,type:'radio',name:'prereq',value:prereq||'',id:'p'+prereq,checked:!prereq}));}byLevels.appendChild(input({text:'All',checked:true,onclick:function onclick(e){var checked=e.target.checked;for(var _text in levels){if(/^-+$/.test(_text))continue;var level=levels[_text];document.getElementById('l'+level).checked=checked;}filterEvents();}}));var $menu=$(byLevels);for(var _text2 in levels){var level=levels[_text2];if(/^-+$/.test(_text2)){$menu.append('');if(level){$menu.append('');}}else{byLevels.appendChild(input({text:_text2,value:level,id:'l'+level,checked:true}));}}byLeader.appendChild(input({text:'All',checked:true,onclick:function onclick(e){var checked=e.target.checked;var checks=Object.assign({"":"Other"},facilitators);for(var id in checks){var f=facilitators[id];if(f?f.facilitator:!id){document.querySelector('#byleader input[value="'+id+'"]').checked=checked;}}filterEvents();}}));$menu=$(byLeader);for(var id in facilitators){var leader=facilitators[id];if(!leader.facilitator){continue;$menu.append('');}else{byLeader.appendChild(input({text:leader.name,value:id,checked:true}));}}byLeader.appendChild(input({text:"Other",value:'',checked:true}));};var filterEvents=function filterEvents(){var visibleRegions=regions.map(function(_ref6){var region=_ref6.region;return region;}).filter(function(region){return(document.getElementById(region)||{}).checked;});var prereq=Array.from(document.querySelectorAll('input[name=prereq]')).find(function(_ref7){var checked=_ref7.checked;return checked;}).value||null;var level={},leader={};Array.from(document.querySelectorAll('#bylevels input')).forEach(function(_ref8){var value=_ref8.value,checked=_ref8.checked;return level[value]=checked;});Array.from(document.querySelectorAll('#byleader input')).forEach(function(_ref9){var value=_ref9.value,checked=_ref9.checked;return leader[value]=checked;});var otherFacs=byLeader.querySelector('input[value=""]').checked;var shownEvents=[];Array.from(events.children).forEach(function(e,n){var event=allevents[n];var showRegion=visibleRegions.indexOf(event.region)!==-1;var showPrereq=event.prereq==prereq||prereq=='*';var showLevels=level[event.level===0?0:event.level||''];var facs=event.facilitators;var picks=facs.filter(function(id){return leader[id];});var mainfacs=facs.filter(function(id){return id&&id in leader;});var showLeader=!!picks.length||otherFacs&&(!event.facilitators.length||picks.length!==mainfacs.length);var show=showRegion&&showPrereq&&showLevels&&showLeader;e.style.display=show?'block':'none';if(show)shownEvents.push(event);});var showDLC=!!shownEvents.length;document.querySelector('#fetch').style.display=showDLC?'block':'none';if(showDLC){var dlc=document.getElementById('dlc');var text=dlc.textContent,className=dlc.className;var name='2017 HAI events in '+visibleRegions.join('/');var filename='2017-hai-events-'+visibleRegions.join('+');if(prereq!=='*'){filename+='-'+(prereq?prereq.replace(/\s+/g,''):'public');var desc=document.querySelector('#p'+prereq);if(desc)desc=desc.nextSibling.nodeValue.trim();name+=prereq?' requiring '+desc:' open to the public';}filename+='.ics';var a=icalLink({text:text,name:name,filename:filename,events:shownEvents});a.id='dlc';a.className=className;dlc.parentNode.replaceChild(a,dlc);}};var fetchJSON=function fetchJSON(url){return new Promise(function(resolve,reject){fetch(url).catch(reject).then(function(res){return res.text().catch(reject).then(function(j){return resolve(JSON.parse(j));});});});};var cached=function cached(as,promiseFunc){var ms=arguments.length>2&&arguments[2]!==undefined?arguments[2]:3600e3;return new Promise(function(resolve,reject){var _JSON$parse=JSON.parse(localStorage[as]||'{}'),from=_JSON$parse.from,data=_JSON$parse.data;if(data&&Date.now()-(from||0)