PageSourceSearch

https://www.511mt.net/templates/map_icon_hover.tmpl

js 511mt.net collected 2026-09-24 11:17:04 UTC 13,011 bytes, 473 lines download raw bytes

1<script type="text/javascript">
2const { DateTime } = luxon;
3	var iteris_icon_hover = {
4		abbr_to_full_dir: function(dir) {
5			switch(dir) {
6				case 'N': return 'Northbound';
7				case 'S': return 'Southbound';
8				case 'E': return 'Eastbound';
9				case 'W': return 'Westbound';
10				case 'B': return 'Both Directions';
11				default: return 'N/A';
12			}
13		},
14		waze_subtype: function(type) {
15			switch(type) {
16				case "ACCIDENT_MINOR": return "Minor Accident";
17				case "ACCIDENT_MAJOR": return "Major Accident";
18				case "JAM_MODERATE_TRAFFIC": return "Moderate Traffic";
19				case "JAM_HEAVY_TRAFFIC": return "Heavy Traffic";
20				case "JAM_STAND_STILL_TRAFFIC": return "Stand Still Traffic";
21				case "HAZARD_ON_ROAD": return "Hazard On Road";
22				case "HAZARD_ON_ROAD_OBJECT": return "Object On Road";
23				case "HAZARD_WEATHER_FOG": return "Weather - Fog";
24				case "HAZARD_WEATHER_HAIL": return "Weather - Hail";
25				case "HAZARD_WEATHER_HEAVY_RAIN": return "Weather - Heavy Rain";
26				case "HAZARD_WEATHER_HEAVY_SNOW": return "Weather - Heavy Snow";
27				case "HAZARD_WEATHER_FLOOD": return "Weather - Flood";
28				case "HAZARD_WEATHER_TORNADO": return "Weather - Tornado";
29				case "HAZARD_WEATHER_HEAT_WAVE": return "Weather - Heat Wave";
30				case "HAZARD_WEATHER_HURRICANE": return "Weather - Hurricane";
31				case "HAZARD_WEATHER_FREEZING_RAIN": return "Weather - Freezing Rain";
32				case "HAZARD_ON_ROAD_LANE_CLOSED": return "Lane Closed";
33				case "HAZARD_ON_ROAD_OIL": return "Oil On Road";
34				case "HAZARD_ON_ROAD_ICE": return "Ice On Road";
35				case "HAZARD_ON_ROAD_CONSTRUCTION": return "Road Construction";
36				case "HAZARD_ON_ROAD_CAR_STOPPED": return "Car Stopped On Road";
37				case "ROAD_CLOSED_HAZARD": return "Road Closed Due To Hazard";
38				case "ROAD_CLOSED_CONSTRUCTION": return "Road Closed Due To Construction";
39				case "ROAD_CLOSED_EVENT": return "Road Closed Due To Event";
40				case "HAZARD_ON_SHOULDER_CAR_STOPPED": return "Hazard - Car Stopped On Shoulder";
41				default: return "";
42			}
43		},
44		convert_timestamp: function(etime) {
45			if (!etime) return '';
46			return DateTime.fromSeconds(etime, { zone: 'America/New_York' }).toFormat('MMM dd yyyy, h:mm a');
47		},
48		stream_available: function(rtsp) {
49			if (typeof rtsp === "undefined") {
50				return "Provides Still Images Only";
51			} else {
52				return "Has Streaming Video";
53			}
54		}
55	};
56
57	function cleanMessage(message){
58		var cleanText;
59		cleanText = $(message).text();
60		if(cleanText.length > 23){
61			cleanText = cleanText.substring(0, 20);
62			cleanText += "...";
63			}
64		return cleanText;
65	}
66</script>
67<style type="text/css">
68    #pu_balloon_container {
69        background: #ECF0FF;
70        width: 100%;
71    }
72
73    .popup_table {
74		width: 100%;
75    }
76
77    .popup_table .header {
78        height: 28px;
79        line-height: 12px !important;
80        text-align: center;
81        font: bold 12px 'Arial';
82        color: #000B33;
83        width: 100%;
84    }
85
86    .popup_table .image {
87        width: 30px;
88    }
89
90/*
91    .popup_table .header img.icon {
92        width: 16px;
93        height: 16px;
94        padding: 0px 4px;
95        vertical-align: middle;
96        text-align: center;
97    }
98*/
99
100    .popup_table td.subtitle,
101    .popup_table td.other_row,
102    .popup_table td.centered_row {
103        border-top: 1px dashed #CCCCCC;
104    }
105
106		.popup_table td.centered_row {
107			text-align: center;
108		}
109
110    .popup_table  td.label {
111        font-weight: bold;
112        color: #444444;
113        padding: 6px 8px 4px 2px;
114        white-space: nowrap;
115        vertical-align: top;
116    }
117
118    .popup_table td.data {
119        padding-right: 6px;
120    }
121
122    .popup_table td.bold {
123        font-weight: bold;
124    }
125
126		img.still {
127			width: 200px;
128		}
129</style>
130<script type="text/x-jqote-template" id="template-map-icon-hover">
131<% if(this.derived.layer_name.match(/cams/g)) { %>
132<table class="popup_table" cellpadding="0" cellspacing="0">
133	<tr>
134		<td class="header menu_hdr_gradient">
135			<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
136			Camera
137		</td>
138	</tr>
139</table>
140<table class="popup_table" cellpadding="0" cellspacing="0">
141	<tr>
142		<td colspan="2" class="title label">
143			Traffic Nearest to Camera is Traveling: <%= iteris_icon_hover.abbr_to_full_dir(this.feature.dir) %>
144		</td>
145	</tr>
146	<tr>
147		<td colspan="2" class="subtitle label">
148			Location: <%= this.feature.route %> @ <%= this.feature.cross_street %>
149		</td>
150	</tr>
151	<tr>
152		<td colspan="2" class="title label">
153			Camera: <%= this.feature.name %>
154		</td>
155	</tr>
156	<tr>
157		<td colspan="2" class="subtitle label">
158			Still Image: <img class="still" src="<%= this.feature.url %>" />
159		</td>
160	</tr>
161	<tr>
162		<td colspan="2" class="centered_row label">
163			This Camera <%= iteris_icon_hover.stream_available(this.feature.RTSP) %>
164		</td>
165	</tr>
166</table>
167<% } else if(this.derived.layer_name.match(/vspl/g)) { %>
168<table class="popup_table" cellpadding="0" cellspacing="0">
169	<tr>
170		<td class="header menu_hdr_gradient">
171			<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
172			<%= this.feature.road_type %>
173		</td>
174	</tr>
175</table>
176<table class="popup_table" cellpadding="0" cellspacing="0">
177	<tr>
178		<td class="title label">
179			Name
180		</td>
181		<td class="title bold data">
182			<%= this.feature.name %>
183		</td>
184	</tr>
185	<tr>
186		<td class="subtitle label">
187			Speed
188		</td>
189		<td class="subtitle bold" style="background-color:rgb(<%= this.feature.color %>);">
190			Speed Here: <%= this.feature.report %>
191		</td>
192	</tr>
193	<tr>
194		<td class="subtitle label">
195			Location
196		</td>
197		<td class="subtitle bold data">
198			<%= this.feature.location_description %>
199		</td>
200	</tr>
201  <% if(this.derived.count > 1) { %>
202	<tr>
203		<td class="other_row label">
204			Others
205		</td>
206		<td class="other_row data">
207			This icon also represents <b><%= (this.derived.count - 1) %></b> other nearby signs. Click to see all.
208		</td>
209	</tr>
210  <% } %>
211</table>
212<% } else if(this.derived.layer_name.match(/dmsg/g)) { %>
213<table class="popup_table" cellpadding="0" cellspacing="0">
214	<tr>
215		<td class="header menu_hdr_gradient">
216			<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
217			Message Sign
218		</td>
219	</tr>
220</table>
221<table class="popup_table" cellpadding="0" cellspacing="0">
222	<tr>
223		<td colspan="2" class="title label">
224			Route <%= this.feature.route %>
225		</td>
226	</tr>
227	<tr>
228		<td colspan="2" class="subtitle label">
229			Direction <%= iteris_icon_hover.abbr_to_full_dir(this.feature.dir) %>
230		</td>
231	</tr>
232	<tr>
233		<td colspan="2" class="subtitle label">
234			Cross Street <%= this.feature.cross_street %>
235		</td>
236	</tr>
237	<tr>
238		<td colspan="2" class="subtitle label">
239			Click Icon to View Sign Information
240		</td>
241	</tr>
242</table>
243<% } else if(this.derived.layer_name.match(/incd$/g) || this.derived.layer_name.match(/hinc$/g)) { %>
244<table class="popup_table" cellpadding="0" cellspacing="0">
245	<tr>
246		<td class="header menu_hdr_gradient">
247			<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
248			<%= this.feature.headline %>
249		</td>
250	</tr>
251</table>
252<table class="popup_table" cellpadding="0" cellspacing="0">
253	<tr>
254		<td colspan="2" class="title label">
255			Location: <%= this.feature.location_description %>
256		</td>
257	</tr>
258	<tr>
259		<td colspan="2" class="subtitle label">
260			Affected: <%= this.feature.lanes %>
261		</td>
262	</tr>
263	<tr>
264		<td colspan="2" class="subtitle label">
265			Expected Clear Time: <%= iteris_icon_hover.convert_timestamp(this.feature.expected_end) %>
266		</td>
267	</tr>
268</table>
269<% } else if(this.derived.layer_name == 'acon') { %>
270<table class="popup_table" cellpadding="0" cellspacing="0">
271	<tr>
272		<td class="header menu_hdr_gradient">
273			<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
274			<%= this.feature.headline %>
275		</td>
276	</tr>
277</table>
278<table class="popup_table" cellpadding="0" cellspacing="0">
279	<tr>
280		<td colspan="2" class="title label">
281			Location: <%= this.feature.location_description %>
282		</td>
283	</tr>
284	<tr>
285		<td colspan="2" class="subtitle label">
286			Affected: <%= this.feature.lanes %>
287		</td>
288	</tr>
289	<tr>
290		<td colspan="2" class="subtitle label">
291			Expected Completion Time: <%= iteris_icon_hover.convert_timestamp(this.feature.expected_end) %>
292		</td>
293	</tr>
294</table>
295<% } else if(this.derived.layer_name == 'fcon') { %>
296<table class="popup_table" cellpadding="0" cellspacing="0">
297	<tr>
298		<td class="header menu_hdr_gradient">
299			<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
300			<%= this.feature.headline %>
301		</td>
302	</tr>
303</table>
304<table class="popup_table" cellpadding="0" cellspacing="0">
305	<tr>
306		<td colspan="2" class="title label">
307			Location: <%= this.feature.location_description %>
308		</td>
309	</tr>
310	<tr>
311		<td colspan="2" class="subtitle label">
312			Affected: <%= this.feature.lanes %>
313		</td>
314	</tr>
315	<tr>
316		<td colspan="2" class="subtitle label">
317			Scheduled Start: <%= iteris_icon_hover.convert_timestamp(this.feature.start) %>
318		</td>
319	</tr>
320	<tr>
321		<td colspan="2" class="subtitle label">
322			Expected End: <%= iteris_icon_hover.convert_timestamp(this.feature.expected_end) %>
323		</td>
324	</tr>
325</table>
326<% } else if(this.derived.layer_name == 'info') { %>
327<table class="popup_table" cellpadding="0" cellspacing="0">
328	<tr>
329		<td class="header menu_hdr_gradient">
330				<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
331				General Info
332		</td>
333	</tr>
334</table>
335<table class="popup_table" cellpadding="0" cellspacing="0">
336	<tr>
337		<td colspan="2" class="title label">
338			Title <%= this.feature.title %>
339		</td>
340	</tr>
341	<tr>
342		<td colspan="2" class="subtitle label">
343			Message <%= cleanMessage(this.feature.message) %>
344		</td>
345	</tr>
346</table>
347<% } else if(this.derived.layer_name == 'wacc') { %>
348<table class="popup_table" cellpadding="0" cellspacing="0">
349	<tr>
350		<td class="header menu_hdr_gradient">
351				<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
352				Waze Report
353		</td>
354	</tr>
355</table>
356<table class="popup_table" cellpadding="0" cellspacing="0">
357	<tr>
358		<td colspan="2" class="title label centered_row">
359			<%= iteris_icon_hover.waze_subtype(this.feature.subtype) %>
360		</td>
361	</tr>
362	<tr>
363		<td colspan="2" class="subtitle label centered_row">
364			<%= this.feature.street %>
365		</td>
366	</tr>
367	<tr>
368		<td colspan="2" class="subtitle label centered_row">
369			<%= iteris_icon_hover.convert_timestamp(this.feature.unixtime) %>
370		</td>
371	</tr>
372</table>
373<% } else if(this.derived.layer_name == 'whaz') { %>
374<table class="popup_table" cellpadding="0" cellspacing="0">
375	<tr>
376		<td class="header menu_hdr_gradient">
377				<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
378				Waze Report
379		</td>
380	</tr>
381</table>
382<table class="popup_table" cellpadding="0" cellspacing="0">
383	<tr>
384		<td colspan="2" class="title label centered_row">
385			<%= iteris_icon_hover.waze_subtype(this.feature.subtype) %>
386		</td>
387	</tr>
388	<tr>
389		<td colspan="2" class="subtitle label centered_row">
390			<%= this.feature.street %>
391		</td>
392	</tr>
393	<tr>
394		<td colspan="2" class="subtitle label centered_row">
395			<%= iteris_icon_hover.convert_timestamp(this.feature.unixtime) %>
396		</td>
397	</tr>
398</table>
399<% } else if(this.derived.layer_name == 'wtrf') { %>
400<table class="popup_table" cellpadding="0" cellspacing="0">
401	<tr>
402		<td class="header menu_hdr_gradient">
403				<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
404				Waze Report
405		</td>
406	</tr>
407</table>
408<table class="popup_table" cellpadding="0" cellspacing="0">
409	<tr>
410		<td colspan="2" class="title label centered_row">
411			<%= iteris_icon_hover.waze_subtype(this.feature.subtype) %>
412		</td>
413	</tr>
414	<tr>
415		<td colspan="2" class="subtitle label centered_row">
416			<%= this.feature.street %>
417		</td>
418	</tr>
419	<tr>
420		<td colspan="2" class="subtitle label centered_row">
421			<%= iteris_icon_hover.convert_timestamp(this.feature.unixtime) %>
422		</td>
423	</tr>
424</table>
425<% } else if(this.derived.layer_name == 'wshd') { %>
426<table class="popup_table" cellpadding="0" cellspacing="0">
427	<tr>
428		<td class="header menu_hdr_gradient">
429				<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
430				Waze Report
431		</td>
432	</tr>
433</table>
434<table class="popup_table" cellpadding="0" cellspacing="0">
435	<tr>
436		<td colspan="2" class="title label centered_row">
437			<%= iteris_icon_hover.waze_subtype(this.feature.subtype) %>
438		</td>
439	</tr>
440	<tr>
441		<td colspan="2" class="subtitle label centered_row">
442			<%= this.feature.street %>
443		</td>
444	</tr>
445	<tr>
446		<td colspan="2" class="subtitle label centered_row">
447			<%= iteris_icon_hover.convert_timestamp(this.feature.unixtime) %>
448		</td>
449	</tr>
450</table>
451<% } else if(this.derived.layer_name == 'spec') { %>
452<table class="popup_table" cellpadding="0" cellspacing="0">
453	<tr>
454		<td class="header menu_hdr_gradient">
455				<img src="<%= this.derived.legend_icon %>" class="icon" /><br/>
456				Special Event
457		</td>
458	</tr>
459</table>
460<table class="popup_table" cellpadding="0" cellspacing="0">
461	<tr>
462		<td colspan="2" class="title label">
463			Title <%= this.feature.title %>
464		</td>
465	</tr>
466	<tr>
467		<td colspan="2" class="subtitle label">
468			Message <%= cleanMessage(this.feature.message) %>
469		</td>
470	</tr>
471</table>
472<% } %>
473</script>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.