document.addEventListener('DOMContentLoaded', function() { var artistSelect = document.getElementById('artistSelect'); var songInputs = document.getElementById('songInputs'); // Update song inputs based on selected artist artistSelect.addEventListener('change', function() { var artist = artistSelect.value; updateSongInputs(artist); }); // Generate initial song inputs var initialArtist = artistSelect.value; updateSongInputs(initialArtist); }); document.getElementById('generateBtn').addEventListener('click', function() { var artist = document.getElementById('artistSelect').value; var songs = []; // Collect selected songs from dropdown menus for (var i = 0; i < 12; i++) { var select = document.getElementById('songSelect' + i); var selectedSong = select.options[select.selectedIndex].text; songs.push(selectedSong); } // Create image with artist name and song names overlayed generateImage(artist, songs); }); function updateSongInputs(artist) { var songInputs = document.getElementById('songInputs'); songInputs.innerHTML = ''; // Create dropdown menus for song selection for (var i = 0; i < 12; i++) { var select = document.createElement('select'); select.id = 'songSelect' + i; var defaultOption = document.createElement('option'); defaultOption.text = 'Select Song'; defaultOption.disabled = true; defaultOption.selected = true; select.appendChild(defaultOption); // Populate dropdown menu with songs for the selected artist var artistSongs = getArtistSongs(artist); for (var j = 0; j < artistSongs.length; j++) { var option = document.createElement('option'); option.text = artistSongs[j]; select.appendChild(option); } songInputs.appendChild(select); } } function generateImage(artist, songs) { // Your existing code for generating the image // Show download button var downloadBtn = document.getElementById('downloadBtn'); downloadBtn.style.display = 'block'; downloadBtn.addEventListener('click', function() { downloadImage(); }); } function downloadImage() { var canvas = document.createElement('canvas'); var ctx = canvas.getContext('2d'); var img = document.getElementById('resultImg'); canvas.width = img.width; canvas.height = img.height; ctx.drawImage(img, 0, 0); // Convert canvas to image and download var link = document.createElement('a'); link.download = 'dream_concert_set_list.png'; link.href = canvas.toDataURL('image/png'); link.click(); } function getArtistSongs(artist) { // Define songs for each artist var songsByArtist = { 'Mayday Parade': ['Jamie All Over', 'Black Cat', 'Stay', 'Anywhere But Here', 'Miserable At Best', 'Terrible Things'], 'The Maine': ['Into Your Arms', 'Everything I Ask For', 'Misery', 'Some Days', 'Don\'t Stop Now', 'Am I Pretty?'], 'The Wonder Years': ['Passing Through A Screen Door', 'Came Out Swinging', 'Dismantling Summer', 'The Devil in My Bloodstream', 'I Just Want to Sell Out My Funeral'], 'We The Kings': ['Check Yes Juliet', 'Secret Valentine', 'Skyway Avenue', 'Sad Song', 'Say You Like Me', 'Just Keep Breathing'], 'Real Friends': ['Mess', 'I Don\'t Love You Anymore', 'Late Nights in My Car', 'Summer', 'From the Outside', 'Maybe This Place Is the Same and We\'re Just Changing'], 'Knuckle Puck': ['No Good', 'Evergreen', 'Gone', 'Pretense', 'Double Helix', 'Want Me Around'], 'The Summer Set': ['Chelsea', 'Boomerang', 'Lightning in a Bottle', 'Maybe Tonight', 'Missin\' You', 'Figure Me Out'], 'Hot Milk': ['Wide Awake', 'Candy Coated Lie$', 'California\'s Burning', 'I just Wanna Know What Happens When I\'m Dead'], 'Daisy Grenade': ['Cherry Red', 'Tragic', 'Spit You Out', 'Dead Men Tell No Tales'], 'Diva Bleach': ['Bleach', 'Queen Bee', 'Shattered', 'Pretty Poison'], 'Like Roses': ['Thorns', 'Dead Leaves', 'Fading Petals', 'Wilting Beauty'] }; return songsByArtist[artist] || []; }
VIP FUNHOUSE TICKETS
(VIP offerings vary city to city. Please check ticketing page for more info)
GENERAL ADMISSION TICKETS
(GA Tickets go on sale 1/27 at 10 AM Local Time)