function process_google_sheet(sheet) { //processes the data brought in by the google sheet jsonp var entries = sheet['feed']['entry']; var events = []; var years = []; for(var i=0; i 0 ? true : false; var diff = Math.abs(diff); //convert that difference to an absolute value. will momentarily sort on this basis var entry = entries[i]; entry['diff'] = diff; entry['upcoming'] = upcoming; events.push(entry); } //sorts items based on how far (either into the past or future) from today the event begins. events.sort(function(a, b) {return a['diff'] - b['diff']}); //why? so that past events are sorted most recent first, and upcoming are soonest first var html = ""; //iterate through the events. append them to different sections if they are future or past events for (var i=0; i"+year+""); years.push(year); } } } select_event_year({value:(years.length>0?years[0]:new Date().getFullYear())}); } function gen_upcoming_event(event) { //generates the contents of upcoming event items var headline = event['gsx$headline']['$t']; var href = event['gsx$url']['$t']; var image = event['gsx$image']['$t']; var description = event['gsx$description']['$t']; var date = event['gsx$date']['$t']; var text_date = event['gsx$textdate']['$t']; var time = event['gsx$time']['$t']; var location1 = event['gsx$location1']['$t']; var location2 = event['gsx$location2']['$t']; var happening = gen_happening_blurb(event['gsx$date']['$t']); var html = "
0) { html += " style=\"background:url('"+image+"') no-repeat scroll center center #000000;" +"background-size: 100% auto;" +"filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/concepts/images/ct1.png,sizingMethod=scale);" +"-ms-filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src=/concepts/images/ct1.png,sizingMethod=scale);\""; } html += ">"; html += "
" +"
" +"
"+happening+"
" +"

"+headline+"

" +"

"+description+"

" +"
" +"
" +"
" +"
" +"

"+text_date+"

" +"
" +"

"+time+"

" +"
" +"

"+location1+"

" +"
" +"

"+location2+"

" +"
" +"
" +"" +"
"; return html; } function gen_past_event(event) { //generates the contents of past event items var headline = event['gsx$headline']['$t']; var href = event['gsx$url']['$t']; var image = event['gsx$image']['$t']; var description = event['gsx$description']['$t']; var date = event['gsx$date']['$t']; var year = new Date(date).getFullYear(); var text_date = event['gsx$textdate']['$t']; var time = event['gsx$time']['$t']; var location1 = event['gsx$location1']['$t']; var location2 = event['gsx$location2']['$t']; var html = "
" +"
" +"

"+headline+"

" +"

"+text_date+" | "+location2+"

" +"

"+description+"

" +"
" +"

"+text_date+" / "+time+"

" +"

"+location1+", "+location2+"

" +"
" +"
" +"
"; return html; } function gen_happening_blurb(date) { //date will come as the text of the Date field from the google sheet var month_names = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var weekday_names = ['Sunday', 'Monday' , 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; var return_text = ""; var date_obj = new Date(date); var diff = date_obj.getTime()-(new Date().getTime()); if (diff>(7*24*60*60*1000)) { return_text = "Happening "+month_names[date_obj.getMonth()]+" "+date_obj.getDate(); } else if (diff<=(7*24*60*60*1000) && diff>(24*60*60*1000)) { return_text = "Happening "+weekday_names[date_obj.getDay()]; } else if (diff<=(24*60*60*1000) && diff>0) { return_text = "Happening tomorrow"; } else if (diff<=0) { return_text = "Happening today"; } return return_text; } function select_event_year(element) { var year = element.value; $("div.past-event-background-wrapper").css({display:'none'}); $("div.past-event-background-wrapper."+year).css({display:'block'}); }