% if ($error) {
	<div class="row">
		<div class="col s12">
			<div class="card caution-color">
				<div class="card-content white-text">
					<span class="card-title">Fehler</span>
					<p>Fahrt nicht gefunden.</p>
				</div>
			</div>
		</div>
	</div>
% }
% else {
	<div class="row">
		<div class="col s12">
			<p>
				% if (my $name = stash('username')) {
					<b><a href="/p/<%= $name %>"><%= $name %></a></b>s
				% }
				% if ($journey->{cancelled}) {
					Ausgefallene Fahrt
				% }
				% else {
					Fahrt
				% }
				% if ($journey->{edited} & 0x0020) {
					∗
				% }
				von
				<b><%= $journey->{from_name} %></b>
				% if ($journey->{edited} & 0x0004) {
					∗
				% }
				nach
				<b><%= $journey->{to_name} %></b>
				% if ($journey->{edited} & 0x0400) {
					∗
				% }
				am
				<b><%= $journey->{sched_departure}->strftime('%d.%m.%Y') %></b>
				% if (my $v = stash('journey_visibility')) {
					% if (stash('username')) {
						<i class="material-icons right"><%= visibility_icon($v) %></i>
					% }
					% else {
						<a class="right" href="/journey/visibility?id=<%= $journey->{id} %>">
							<i class="material-icons"><%= visibility_icon($v) %></i>
						</a>
					% }
				% }
			</p>
			% if ($journey->{edited}) {
				<p>
					∗ Daten wurden manuell eingetragen
				</p>
			% }
			% if (not stash('readonly') and ($journey->{cancelled} or ($journey->{rt_arrival} and ($journey->{rt_arrival}->epoch - $journey->{sched_arrival}->epoch) >= 3600))) {
				<div style="text-align: center; margin-bottom: 1em;">
					% my $form_target = sprintf('/journey/passenger_rights/FGR %s %s %s.pdf', $journey->{sched_departure}->ymd, $journey->{type}, $journey->{no});
					%= form_for $form_target => (method => 'POST') => begin
						%= csrf_field
						%= hidden_field id => $journey->{id}
						<button class="btn waves-effect waves-light grey darken-3" type="submit" name="action" value="generate">
							<i class="material-icons left">file_download</i>
							Fahrgastrechte
						</button>
					%= end
				</div>
			% }
			<table class="striped">
				<tr>
					<th scope="row">Fahrt</th>
					<td>
						<%= $journey->{type} %> <%= $journey->{no} %>
						% if ($journey->{line}) {
							(Linie <%= $journey->{line} %>)
						% }
					</td>
				</tr>
				<tr>
					<th scope="row">Abfahrt</th>
					<td>
						% if ($journey->{cancelled}) {
							<i class="material-icons">cancel</i>
							(Plan: <%= $journey->{sched_departure}->strftime('%H:%M'); %>)
						% }
						% elsif ($journey->{rt_departure} != $journey->{sched_departure}) {
							%= $journey->{rt_departure}->strftime('%H:%M');
							(<%= sprintf('%+d', ($journey->{rt_departure}->epoch - $journey->{sched_departure}->epoch) / 60) %>,
							Plan: <%= $journey->{sched_departure}->strftime('%H:%M'); %>)
						% }
						% else {
							%= $journey->{sched_departure}->strftime('%H:%M');
						% }
						% if ($journey->{edited} & 0x0003) {
							∗
						% }
					</td>
				</tr>
				<tr>
					<th scope="row">Ankunft</th>
					<td>
						% if ($journey->{cancelled}) {
							<i class="material-icons">cancel</i>
							% if ($journey->{sched_arrival}->epoch != 0) {
								(Plan: <%= $journey->{sched_arrival}->strftime('%H:%M'); %>)
							% }
						% }
						% elsif ($journey->{rt_arrival}->epoch == 0 and $journey->{sched_arrival}->epoch == 0) {
							<i class="material-icons">timer_off</i>
						% }
						% elsif ($journey->{rt_arrival} != $journey->{sched_arrival}) {
							%= $journey->{rt_arrival}->strftime('%H:%M');
							(<%= sprintf('%+d', ($journey->{rt_arrival}->epoch - $journey->{sched_arrival}->epoch) / 60) %>,
							Plan: <%= $journey->{sched_arrival}->strftime('%H:%M'); %>)
						% }
						% else {
							%= $journey->{sched_arrival}->strftime('%H:%M');
						% }
						% if ($journey->{edited} & 0x0300) {
							∗
						% }
					</td>
				</tr>
				<tr>
					<th scope="row">Strecke</th>
					<td>
						% if ($journey->{skip_route}) {
							<i class="material-icons right">location_off</i>
							<%= numify_skipped_stations($journey->{skip_route}) %><br/>
						% }
						% if ($journey->{km_route} > 0.1) {
							ca. <%= sprintf_km($journey->{km_route}) %>
							(Luftlinie: <%= sprintf_km($journey->{km_beeline}) %>)
						% }
						% elsif ($journey->{km_beeline} > 0.1) {
							(Luftlinie: <%= sprintf_km($journey->{km_beeline}) %>)
						% }
						% else {
							?
						% }
						% if ($journey->{edited} & 0x0010) {
							∗
						% }
					</td>
				</tr>
				<tr>
					<th scope="row">Tempo</th>
					<td>
						% if ($journey->{skip_route}) {
							<i class="material-icons right">location_off</i>
							<%= numify_skipped_stations($journey->{skip_route}) %><br/>
						% }
						% if ($journey->{km_route} > 0.1 and $journey->{kmh_route} > 0.01) {
							∅ <%= sprintf('%.f', $journey->{kmh_route}) %> km/h
							(<%= sprintf('%.f', $journey->{kmh_beeline}) %> km/h)
							% if ($journey->{edited} & 0x0303) {
								∗
							% }
						% }
						% elsif ($journey->{km_beeline} > 0.1 and $journey->{kmh_beeline} > 0.01) {
							(<%= sprintf('%.f', $journey->{kmh_beeline}) %> km/h)
						% }
						% else {
							?
						% }
					</td>
				</tr>
				% if ($journey->{messages} and @{$journey->{messages}}) {
					<tr>
						<th scope="row">Meldungen</th>
						<td>
							% for my $message (@{$journey->{messages} // []}) {
								% my ($ts, $msg) = @{$message};
								<%= $ts->strftime('%d.%m.%Y %H:%M') %> : <%= $msg %><br/>
							% }
						</td>
					</tr>
				% }
				% if ($journey->{user_data} and $journey->{user_data}{comment}) {
					<tr>
						<th scope="row">Kommentar</th>
						<td>
							<%= $journey->{user_data}{comment} %>
						</td>
					</tr>
				% }
				% if ($journey->{user_data} and $journey->{user_data}{wagongroups} and not exists $journey->{user_data}{wagons}) {
				<tr>
					<th scope="row">Rollmaterial</th>
					<td class="wagons">
						%= include '_wagons', wagongroups => $journey->{user_data}{wagongroups};
					</td>
				</tr>
				% }
				% elsif ($journey->{user_data} and $journey->{user_data}{wagons}) {
				<tr>
					<th scope="row">Rollmaterial</th>
					<td class="wagons">
						% for my $wagongroup (@{$journey->{user_data}{wagongroups} // []}) {
							Wagenverbund <%= $wagongroup %><br/>
						% }
						% for my $wagon (@{$journey->{user_data}{wagons}}) {
							<span><%= substr($wagon->{id}, 0, 2) %></span><span><%= substr($wagon->{id}, 2, 2) %></span><span><%= substr($wagon->{id}, 4, 1) %></span><span class="wagonclass"><%= substr($wagon->{id}, 5, 3) %></span><span class="wagonnum"><%= substr($wagon->{id}, 8, 3) %></span><span class="checksum"><%= substr($wagon->{id}, 11) %></span>
							%= $wagon->{type}
							% if ($wagon->{number}) {
								– Wagen <%= $wagon->{number} %>
							% }
							<br/>
						% }
					</td>
				</tr>
				% }
				<tr>
					<th scope="row">Route</th>
					<td>
						% my $before = 1;
						% my $within = 0;
						% my $at_startstop = 0;
						% for my $station (@{$journey->{route}}) {
							% if (($station->[1] and $station->[1] == $journey->{from_eva}) or $station->[0] eq $journey->{from_name}) {
								% $within = 1; $at_startstop = 1;
							% }
							% elsif (($station->[1] and $station->[1] == $journey->{to_eva}) or $station->[0] eq $journey->{to_name}) {
								% $within = 0; $at_startstop = 1;
							% }
							% else {
								% $at_startstop = 0;
							% }
							<span style="color: #808080;">
								% if ($before and $station->[2]{sched_dep}) {
									%= $station->[2]{sched_dep}->strftime('%H:%M')
								% }
								% elsif (not $before and $station->[2]{sched_arr}) {
									%= $station->[2]{sched_arr}->strftime('%H:%M')
								% }
							</span>
							% if ($at_startstop or $within) {
								%= $station->[0]
							% }
							% else {
								<span style="color: #808080;"><%= $station->[0] %></span>
							% }
							% if ($journey->{edited} & 0x0010) {
								∗
							% }
							% if ($within or $at_startstop) {
								<span style="color: #808080;">
									% if ($before and $station->[2]{rt_dep} and $station->[2]{dep_delay}) {
										%= sprintf('%+d', $station->[2]{dep_delay})
									% }
									% elsif (not $before and $station->[2]{rt_arr} and $station->[2]{arr_delay}) {
										%= sprintf('%+d', $station->[2]{arr_delay})
									% }
								</span>
							% }
							% if (($station->[1] and $station->[1] == $journey->{from_eva}) or $station->[0] eq $journey->{from_name}) {
								% $before = 0;
							% }
							<br/>
						% }
					</td>
				</tr>
			</table>
		</div>
	</div>
	% if (stash('polyline_groups')) {
		%= include '_map', station_coordinates => stash('station_coordinates'), polyline_groups => stash('polyline_groups')
	% }
	<div class="row">
		<div class="col s12 grey-text">
			<i class="material-icons tiny" aria-hidden="true"><%= $journey->{is_iris} ? 'train' : 'directions' %></i>
			%= $journey->{backend_name} || 'IRIS'
			#<%= $journey->{id} %>
		</div>
	</div>
	% if (not stash('readonly')) {
		% if (stash('with_share')) {
			<div class="row">
				<div class="col s12 m6 l6">
				</div>
				<div class="col s12 m6 l6 center-align">
					<a class="btn waves-effect waves-light action-share"
						% if (stash('journey_visibility') eq 'public') {
							data-url="<%= url_for('public_journey', name => current_user()->{name}, id => $journey->{id} )->to_abs->scheme('https'); %>"
						% }
						% else {
							data-url="<%= url_for('public_journey', name => current_user()->{name}, id => $journey->{id} )->to_abs->scheme('https'); %>?token=<%= $journey->{from_eva} %>-<%= $journey->{checkin_ts} % 337 %>-<%= $journey->{sched_dep_ts} %>"
						% }
						data-text="<%= stash('share_text') %>"
						>
						<i class="material-icons left" aria-hidden="true">share</i> Teilen
					</a>
				</div>
			</div>
		% }
		<div class="row hide-on-small-only">
			<div class="col s12 m6 l6 center-align">
				<a class="waves-effect waves-light red btn action-delete"
						data-id="<%= $journey->{id} %>"
						data-checkin="<%= $journey->{checkin}->epoch %>"
						data-checkout="<%= $journey->{checkout}->epoch %>">
					<i class="material-icons left">delete_forever</i>
					Löschen
				</a>
			</div>
			<div class="col s12 m6 l6 center-align">
				%= form_for '/journey/edit' => (method => 'POST') => begin
					%= hidden_field 'journey_id' => param('journey_id')
					<button class="btn waves-effect waves-light" type="submit" name="action" value="edit">
						<i class="material-icons left" aria-hidden="true">edit</i>
						Bearbeiten
					</button>
				%= end
			</div>
		</div>
		<div class="row hide-on-med-and-up">
			<div class="col s12 m6 l6 center-align">
				%= form_for '/journey/edit' => (method => 'POST') => begin
					%= hidden_field 'journey_id' => param('journey_id')
					<button class="btn waves-effect waves-light" type="submit" name="action" value="edit">
						<i class="material-icons left" aria-hidden="true">edit</i>
						Bearbeiten
					</button>
				%= end
			</div>
			<div class="col s12 m6 l6 center-align" style="margin-top: 1em;">
				<a class="waves-effect waves-light red btn action-delete"
						data-id="<%= $journey->{id} %>"
						data-checkin="<%= $journey->{checkin}->epoch %>"
						data-checkout="<%= $journey->{checkout}->epoch %>">
					<i class="material-icons left" aria-hidden="true">delete_forever</i>
					Löschen
				</a>
			</div>
		</div>
	% }
% }