{"version":3,"file":"rpmblocks.min.js","sources":["../blocks/banner/banner.js","../blocks/calendar/calendar.js","../blocks/buttons/buttons.js","../node_modules/@glidejs/glide/dist/glide.esm.js","../blocks/callout/callout.js","../blocks/columns/columns.js","../blocks/cast/cast.js","../blocks/creative/creative.js","../blocks/gallery/gallery.js","../blocks/newsletter/newsletter.js","../blocks/image/image.js","../blocks/text/text.js"],"sourcesContent":["export const RPMBanner = (function () {\n\t'use strict';\n\n\tlet $musicPlayer;\n\n\tfunction init() {\n\t\tevents();\n\t}\n\n\tfunction events() {\n\t\t$musicPlayer = $('.rpmblock--banner__music');\n\t\tif(!$musicPlayer.length > 0) return;\n\t\t\n\t\t$musicPlayer.each(function(){\n\t\t\tlet $this = $(this);\n\t\t\tlet $button = $this.find('.rpmblock--banner__music-button');\n\t\t\tlet $player = $this.find('.rpmblock--banner__music-player');\n\t\t\t$button.on('click', function(){\n\t\t\t\tif($this.hasClass('active')) {\n\t\t\t\t\t$this.removeClass('active');\n\t\t\t\t\treturn;\n\t\t\t\t}\n\t\t\t\t$this.addClass('active');\n\t\t\t})\n\t\t});\n\t}\n\n\treturn {\n\t\tinit: init,\n\t};\n})();\n","export const RPMCalendar = (function() {\n\t'use strict';\n\t\n\tlet weeklyCalendar;\n\t\n\tfunction init() {\n\t\tweekly();\n\t}\n\n\tfunction weekly() {\n\t\tweeklyCalendar = document.querySelector('#weekly-calendar');\n\t\tif(!weeklyCalendar) return;\n\t\t// console.log(weeklyCalendar);\n\n\t\tvar COMMONUTILS = {\n\t\t\tpageWidth: function() {\n\t\t\t\t\"use strict\";\n\t\t\t\t// console.log('sdsdfdsf');\n\t\t\t\treturn document.documentElement.clientWidth;\n\t\t\t},\n\n\t\t\t// FUNCTION TO EXECUTE CODE BASED ON LOCATION\n\t\t\tuserLocation: function() {\n\t\t\t\t\"use strict\";\n\n\t\t\t\t// let json = \n\n\t\t\t\t// console.log( weeklyCalendar.dataset.events );\n\n\t\t\t\tSCHEDULE.initWeekly();\n\t\t\t\tSCHEDULE.Fetch( weeklyCalendar.dataset.events,\n\t\t\t\t\tfunction() {\n\t\t\t\t\t\tSCHEDULE.Weekly(\"#weekly-calendar\");\n\t\t\t\t\t}\n\t\t\t\t);\n\n\t\t\t}\n\n\t\t};\n\n\t\t// NAMESPACE FOR SCHEDULE FUNCTIONS\n\t\tvar SCHEDULE = {\n\t\t\t// JSON results for show dates and times will be stored here\n\t\t\tTimes: null,\n\t\t\tAvail: null,\n\n\t\t\t// sched: 'calendar/_data/schedule.json?4',\n\t\t\tSchedule: null,\n\n\n\t\t\tgetData: function(schedule, targetdiv, href) {\n\n\t\t\t\t// console.log(\"schedule: \", schedule);\n\n\t\t\t\t$.getJSON(schedule, {\n\t\t\t\t\tformat: \"json\"\n\t\t\t\t}, function(data) {\n\n\t\t\t\t\t// data = JSON.stringify(data);\n\n\n\t\t\t\t\tvar dd = new Date();\n\t\t\t\t\tvar dn = dd.getMonth();\n\t\t\t\t\tdn++; // because months are 0 indexed\n\n\t\t\t\t\tfor (di = 0; di <= data.schedule_info.length; di++) { // changed < to <= to compare fill length\n\n\t\t\t\t\t\tcurrentMonth = Number(data.schedule_info[0].dateID);\n\n\t\t\t\t\t\tif (currentMonth < dn) {\n\t\t\t\t\t\t\tdata.schedule_info.shift();\n\t\t\t\t\t\t}\n\n\t\t\t\t\t}\n\n\n\t\t\t\t\t//data.schedule_info.shift();\n\t\t\t\t\t// console.log(data.schedule_info[1].dateID);\n\n\n\n\t\t\t\t\t// SCHEDULE.Schedule = data;\n\t\t\t\t\t// console.log(SCHEDULE.Schedule)\n\t\t\t\t\t// var results = SCHEDULE.schedulePop(SCHEDULE.Schedule, href); //********\n\t\t\t\t\t// $(targetdiv).append(results);\n\n\n\t\t\t\t\t// HIDE ARROWS ON FIRST/LAST MONTHS\n\t\t\t\t\t$(\".cal-right\").click(function(e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvar months = $(\".month\").length - 1;\n\t\t\t\t\t\tvar next = $(\".month:visible\").index();\n\n\t\t\t\t\t\tif ($(\".cal-left\").hasClass(\"inactive\")) {\n\t\t\t\t\t\t\t$(\".cal-left\").removeClass(\"inactive\");\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif ($(\".month:visible\").index() < months) {\n\t\t\t\t\t\t\t$(\".month:visible\").hide();\n\t\t\t\t\t\t\t$(\".month\").eq(next).fadeIn(\"slow\");\n\t\t\t\t\t\t} else if ($(\".month:visible\").index() == months) {\n\t\t\t\t\t\t\t$(this).addClass(\"inactive\");\n\t\t\t\t\t\t\t$(\".month:visible\").hide();\n\t\t\t\t\t\t\t$(\".month\").eq(next).fadeIn(\"slow\");\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\t$(\".cal-left\").click(function(e) {\n\t\t\t\t\t\te.preventDefault();\n\t\t\t\t\t\tvar months = 1;\n\t\t\t\t\t\tvar next = $(\".month:visible\").index() - 2;\n\t\t\t\t\t\tif ($(\".cal-right\").hasClass(\"inactive\")) {\n\t\t\t\t\t\t\t$(\".cal-right\").removeClass(\"inactive\");\n\t\t\t\t\t\t};\n\t\t\t\t\t\tif ($(\".month:visible\").index() > months) {\n\t\t\t\t\t\t\t$(\".month:visible\").hide();\n\t\t\t\t\t\t\t$(\".month\").eq(next).fadeIn(\"slow\");\n\t\t\t\t\t\t} else if ($(\".month:visible\").index() == months) {\n\t\t\t\t\t\t\t$(this).addClass(\"inactive\");\n\t\t\t\t\t\t\t$(\".month:visible\").hide();\n\t\t\t\t\t\t\t$(\".month\").eq(next).fadeIn(\"slow\");\n\t\t\t\t\t\t}\n\t\t\t\t\t});\n\n\t\t\t\t\t//COMMONUTILS.mobileTickets (\".ticket-link.premium-tickets, .month a\", \"10232\");\n\t\t\t\t});\n\t\t\t},\n\n\t\t\t// Get JSON file, call appropriate parsing function after\n\t\t\tFetch: function(source, callback) {\n\t\t\t\tif(typeof source === 'string') {\n\t\t\t\t\tlet data = JSON.parse(source);\n\t\t\t\t\tSCHEDULE.Times = data.schedule_info;\n\t\t\t\t\tcallback();\n\t\t\t\t} else {\n\t\t\t\t\t$.getJSON(source, function(data) {\n\t\t\t\t\t\t// console.log('here', data);\n\t\t\t\t\t\t// Format dates if Ticketmaster calendar\n\t\t\t\t\t\tSCHEDULE.Times = data.schedule_info;\n\t\t\t\t\t\t// console.log('schedule times set');\n\t\t\t\t\t\tcallback();\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t},\n\n\t\t\t// Populates Schedule Menu\n\t\t\tPopulateWeekly: function(container, eventslist) {\n\n\t\t\t\t// console.log('here', eventslist);\n\n\t\t\t\t//Append ticket links to corresponding date div\n\t\t\t\tfor (var i = 0; i < eventslist.length; i++) {\n\t\t\t\t\t//var eventDate = \".\" + eventslist[i].start.slice(-5);\n\t\t\t\t\tlet eventDate = \".\" + eventslist[i].start;\n\t\t\t\t\tlet eventTime = eventslist[i].title;\n\t\t\t\t\tlet isBest = eventslist[i].best ? 'event-time--best' : '';\n\t\t\t\t\tlet eventInfo;\n\n\t\t\t\t\teventTime = eventTime.replace(\":00 \", \"\");\n\n\t\t\t\t\t// var eventInfo = \"\" + eventTime + \"\";\n\n\t\t\t\t\tif (eventTime != \"3:00PM\") {\n\t\t\t\t\t\teventInfo = \"\" + eventTime + \"\";\n\t\t\t\t\t} else {\n\t\t\t\t\t\teventInfo = \"\" + eventTime + \"\";\n\t\t\t\t\t}\n\n\t\t\t\t\t// Best availability (weekly on homepage)\n\t\t\t\t\t$('#weekly-calendar').find(eventDate).find(\".tc\").append(eventInfo);\n\t\t\t\t}\n\n\t\t\t},\n\n\t\t\t// WEEKLY LINK FORMATTING\n\t\t\t// Call this for Ticketmaster calendars with direct performance ticket links\n\t\t\tWeekly: function(container) {\n\t\t\t\t// console.log('what', SCHEDULE.Times);\n\n\t\t\t\tvar eventslist = [];\n\n\t\t\t\t//Date fix\n\t\t\t\tvar calDate = new Date();\n\t\t\t\tcalDate.setDate(calDate.getDate() - 1);\n\n\t\t\t\t//var wDays = 0;\n\n\t\t\t\t// Format events for calendar\n\t\t\t\tfor (var i = 0; i < Object.keys(SCHEDULE.Times).length; i++) {\n\n\t\t\t\t\tvar showYear = SCHEDULE.Times[i].year;\n\t\t\t\t\tvar showMonth = SCHEDULE.Times[i].dateID;\n\t\t\t\t\tif (showMonth.length < 2 && showMonth < 10) { // +0 to front of time if needed\n\t\t\t\t\t\tvar zeroString = '0';\n\t\t\t\t\t\tshowMonth = zeroString.concat(showMonth);\n\t\t\t\t\t}\n\t\t\t\t\tvar linkMonth = showMonth;\n\t\t\t\t\tvar hoursKey = Object.keys(SCHEDULE.Times[i].hours);\n\n\t\t\t\t\tfor (var j = 0; j < hoursKey.length; j++) {\n\t\t\t\t\t\tvar showDay = hoursKey[j];\n\t\t\t\t\t\tvar timesKey = Object.keys(SCHEDULE.Times[i].hours[showDay]);\n\t\t\t\t\t\t// console.log(timesKey);\n\t\t\t\t\t\tfor (var k = 0; k < timesKey.length; k++) {\n\t\t\t\t\t\t\tvar eveMat = timesKey[k];\n\t\t\t\t\t\t\tvar theTime = SCHEDULE.Times[i].hours[showDay][eveMat];\n\t\t\t\t\t\t\tvar linkTime = theTime;\n\n\t\t\t\t\t\t\tif (linkTime && linkTime.length < 7) { // +0 to front of time if needed\n\t\t\t\t\t\t\t\tvar zeroString = '0';\n\t\t\t\t\t\t\t\tlinkTime = zeroString.concat(linkTime);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (eveMat != 'dark') {\n\n\t\t\t\t\t\t\t\tvar linkDay = (Number(showDay)+1).toString();\n\t\t\t\t\t\t\t\tif (linkDay.length < 2 && linkDay < 10) { // +0 to front of time if needed\n\t\t\t\t\t\t\t\t\tvar zs = '0';\n\t\t\t\t\t\t\t\t\tlinkDay = zs.concat(linkDay);\n\t\t\t\t\t\t\t\t};\n\t\t\t\t\t\t\t\tlet showDate = linkMonth + \"/\" + linkDay + \"/\" + showYear;\n\t\t\t\t\t\t\t\tvar startDate = showYear + \"-\" + showMonth + \"-\" + linkDay;\n\n\t\t\t\t\t\t\t\tif (calDate <= new Date(startDate)) {\n\t\t\t\t\t\t\t\t\teventslist.push({\n\t\t\t\t\t\t\t\t\t\tstart: startDate, // previously: SCHEDULE.Times[i].date,\n\t\t\t\t\t\t\t\t\t\turl: 'http://www.telecharge.com/Broadway/Waitress/Ticket?PerformanceDateTime=' + showDate + '%20' + linkTime.time + 'PM',\n\t\t\t\t\t\t\t\t\t\ttitle: theTime.time + 'PM',\n\t\t\t\t\t\t\t\t\t\tbest: theTime.best,\n\t\t\t\t\t\t\t\t\t});\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t};\n\t\t\t\t\t\t};\n\n\t\t\t\t\t};\n\t\t\t\t\t/*\n\t\t\t\t\twDays++;\n\t\t\t\t\tif (wDays == 7) { break; }\n\t\t\t\t\t*/\n\t\t\t\t}\n\t\t\t\tSCHEDULE.PopulateWeekly(container, eventslist);\n\t\t\t},\n\n\t\t\t//calendar creation function\n\t\t\tinitWeekly: function() {\n\n\t\t\t\tvar months = [\"January\", \"February\", \"March\", \"April\", \"May\", \"June\", \"July\", \"August\", \"September\", \"October\", \"November\", \"December\"];\n\n\t\t\t\tvar calText = \"\";\n\t\t\t\tdocument.getElementById(\"weekly-calendar\").innerHTML = calText;\n\n\t\t\t\tvar thisDay = new Date();\n\t\t\t\tvar weekday = new Array(7);\n\t\t\t\tweekday[0] = \"SUN\";\n\t\t\t\tweekday[1] = \"MON\";\n\t\t\t\tweekday[2] = \"TUE\";\n\t\t\t\tweekday[3] = \"WED\";\n\t\t\t\tweekday[4] = \"THU\";\n\t\t\t\tweekday[5] = \"FRI\";\n\t\t\t\tweekday[6] = \"SAT\";\n\n\t\t\t\t// get today's date\n\t\t\t\tvar d = thisDay.getDate();\n\t\t\t\tvar m = thisDay.getMonth();\n\t\t\t\tvar y = thisDay.getFullYear();\n\t\t\t\tvar n = weekday[thisDay.getDay()];\n\n\t\t\t\t// generate weekday names\n\t\t\t\tcalText += '
' + n + '
' + (m + 1) + '/' + d + '