<?php
//include top of the page
include_once('top.php');

//include functions
include_once('events.inc');

// main
if($_GET['event_id']) {
	$current = getCurrent();
	// display top controls
	displayControls($current, 'playlists.php', 'topctrl');
//gather all data needed
	// get playlists for given event
	$playlist_tmp = array();
	$playlists = array();
	$vs = false;
	$sql = 'SELECT name, room_id FROM events, rooms WHERE event_id='.$_GET['event_id'].' AND events.club_id = rooms.club_id ORDER BY priority';
	$rooms = $db->query($sql);
	$sql = 'SELECT playlist_id, room_id, name, start, end, playlists.note FROM playlists LEFT JOIN djs ON playlists.dj_id = djs.dj_id WHERE playlists.event_id ='.$_GET['event_id'].' ORDER BY start, playlist_id';
	$result = $db->query($sql);
	// fix sort for PM and AM
	while($row = $result->fetch_assoc()) {
		$row['start'] = timeTo12($row['start']);
		$row['end'] = timeTo12($row['end']);
		if(!$row['name']) {
			$vsdjs[$row['playlist_id']] = array();
			$sql = 'SELECT DISTINCT name, vs_tracks.dj_id FROM djs, vs_tracks WHERE vs_tracks.playlist_id ='.$row['playlist_id'].' AND vs_tracks.dj_id = djs.dj_id ORDER BY priority';
			$vs = $db->query($sql);
			$name = '';
			while($dj = $vs->fetch_assoc()) {
				$name .= $dj['name'].' vs. ';
				//populates array $vsdjs with shortest unique names
				for($i=1; $i<strlen($dj['name']); $i++) {
					$short = substr($dj['name'], 0, $i);
					if(!array_search($short, $vsdjs[$row['playlist_id']])) {
						$vsdjs[$row['playlist_id']][$dj['dj_id']] = ucfirst($short);
						break;
					}
				}
			}
			$row['name'] = substr($name, 0, -5); //remove last ' vs. '
			$row['vs'] = true;
			$vs = true;
		}
		$playlists_tmp[] = $row;
	}
	if(count($playlists_tmp)) {
		foreach($playlists_tmp as $playlist) {
			if(((int) substr($playlist['start'], 0, 2)) > 6 && ((int) substr($playlist['start'], 0, 2)) != 12) {
				$playlists[] = $playlist;
			}
		}
		foreach($playlists_tmp as $playlist) {
			if($playlist['start'] != NULL && (((int) substr($playlist['start'], 0, 2)) <= 6 || ((int) substr($playlist['start'], 0, 2)) == 12)) {
				$playlists[] = $playlist;
			}
		}
		foreach($playlists_tmp as $playlist) {
			if($playlist['start'] == NULL) {
				$playlists[] = $playlist;
			}
		}
	}
	//display data
	echo '<ul id="rooms">';
	while($room = $rooms->fetch_assoc()) {
		$use = false;
		foreach($playlists as $playlist) {
			if($room['room_id'] == $playlist['room_id']) {
				$use = true;
				break;
			}
		}
		if($use) {
			echo '<li><a href="#" id="r'.$room['room_id'].'">'.$room['name'].'</a></li>';
		}
	}
	echo '</ul>';
	echo '<div id="tablelimitter">';
	echo '<table id="playlists" cellspacing="0">';
	$rooms->data_seek(0);
	while($room = $rooms->fetch_assoc()) {
		$use = false;
		foreach($playlists as $playlist) {
			if($room['room_id'] == $playlist['room_id']) {
				$use = true;
				break;
			}
		}
		if($use) {
			echo '<tr class="room">';
			echo '<td class="room" colspan="';
			echo $vs ? '4' : '3';
			echo '">'.$room['name'].'</td></tr>';
			foreach($playlists as $playlist) {
				if($room['room_id'] == $playlist['room_id']) {
					echo '<tr class="r'.$room['room_id'].'"><td class="playlist" colspan="';
					echo $vs ? '4' : '3';
					echo '">'.$playlist['name'];
					echo $playlist['vs'] && $playlist['start'] ? '<br />' : '';
					echo $playlist['start'] ? ' <span class="minor">'.substr($playlist['start'], 0, 5).'-'.substr($playlist['end'], 0, 5).'</span></td></tr>' : '</td></tr>';
					if($playlist['note']) {
					 echo '<tr class="r'.$room['room_id'].'"><td class="note" colspan="';
					 echo $vs ? '4' : '3';
					 echo '">('.$playlist['note'].')</td></tr>';
					}
					// get tracklists
					if($playlist['vs']) {
						$sql = 'SELECT artist, title, requested, vs_tracks.dj_id FROM tracks, vs_tracks, djs WHERE tracks.playlist_id='.$playlist['playlist_id'].' AND tracks.track_id = vs_tracks.track_id AND vs_tracks.dj_id = djs.dj_id ORDER BY number';
					} else {
						$sql = 'SELECT artist, title, requested FROM tracks WHERE playlist_id='.$playlist['playlist_id'].' ORDER BY number';
					}
					$result = $db->query($sql);
					// display playlist
					if($result->num_rows) {
						echo '<tr class="r'.$room['room_id'].'">';
						if($vs) {
							echo $playlist['vs'] ? '<th>dj</th><th' : '<th colspan="2"';
						} else {
							echo '<th';
						}
						echo '>artist</th><th>title</th><th>req</th></tr>';
					}
					while($row = $result->fetch_assoc()) {
						if($row['requested'] == 'yes') {
							echo '<tr class="r'.$room['room_id'].'">';
							//$vsdjs[$playlist['playlist_id']][$row['dj_id']] stores short name for dj_id
							if($vs) {
								echo $playlist['vs'] ? '<td>'.$vsdjs[$playlist['playlist_id']][$row['dj_id']].':</td><td' : '<td colspan="2"';
							} else {
								echo '<td';
							}
							echo ' class="req">'.$row['artist'].'</td><td class="req">'.$row['title'].'</td><td class="req_yes">x</td></tr>'."\n";
						} else {
							echo '<tr class="r'.$room['room_id'].'">';
							if($vs) {
								echo $playlist['vs'] ? '<td>'.$vsdjs[$playlist['playlist_id']][$row['dj_id']].':</td><td' : '<td colspan="2"';
							} else {
								echo '<td';
							}
							echo '>'.$row['artist'].'</td><td>'.$row['title'].'</td><td class="req_no"></td></tr>'."\n";
						}
					}
				}
			}
		}
	}
	echo '</table>';
	echo '</div>';
	// display bottom controls
	displayControls($current, 'playlists.php', 'bottomctrl');
} else {
	echo '<h1>&gt;&gt; Playlists &lt;&lt;</h1>';
	listPreviousEvents('playlists.php');
}

//include bottom
include_once('bottom.php');
?>