PageSourceSearch

https://www.i-traffic.co.za/list/events/traffic

html i-traffic.co.za collected 2026-10-02 19:20:43 UTC 42,628 bytes, 871 lines download raw bytes

1
2<!DOCTYPE html>
3<html lang="en">
4<head>
5    <link rel="shortcut icon" href="/Content/SA/images/favicon/favicon.ico">
6    <link rel="icon" sizes="16x16 32x32 64x64" href="/Content/SA/images/favicon/favicon.ico">
7    <link rel="icon" type="image/png" sizes="196x196" href="/Content/SA/images/favicon/favicon-192.png">
8    <link rel="icon" type="image/png" sizes="160x160" href="/Content/SA/images/favicon/favicon-160.png">
9    <link rel="icon" type="image/png" sizes="96x96" href="/Content/SA/images/favicon/favicon-96.png">
10    <link rel="icon" type="image/png" sizes="64x64" href="/Content/SA/images/favicon/favicon-64.png">
11    <link rel="icon" type="image/png" sizes="32x32" href="/Content/SA/images/favicon/favicon-32.png">
12    <link rel="icon" type="image/png" sizes="16x16" href="/Content/SA/images/favicon/favicon-16.png">
13    <link rel="apple-touch-icon" href="/Content/SA/images/favicon/favicon-57.png">
14    <link rel="apple-touch-icon" sizes="114x114" href="/Content/SA/images/favicon/favicon-114.png">
15    <link rel="apple-touch-icon" sizes="72x72" href="/Content/SA/images/favicon/favicon-72.png">
16    <link rel="apple-touch-icon" sizes="144x144" href="/Content/SA/images/favicon/favicon-144.png">
17    <link rel="apple-touch-icon" sizes="60x60" href="/Content/SA/images/favicon/favicon-60.png">
18    <link rel="apple-touch-icon" sizes="120x120" href="/Content/SA/images/favicon/favicon-120.png">
19    <link rel="apple-touch-icon" sizes="76x76" href="/Content/SA/images/favicon/favicon-76.png">
20    <link rel="apple-touch-icon" sizes="152x152" href="/Content/SA/images/favicon/favicon-152.png">
21    <link rel="apple-touch-icon" sizes="180x180" href="/Content/SA/images/favicon/favicon-180.png">
22    <meta name="msapplication-TileColor" content="#FFFFFF">
23    <meta name="msapplication-TileImage" content="/Content/SA/images/favicon/favicon-144.png">
24    <meta name="msapplication-config" content="/Content/SA/images/favicon/browserconfig.xml">
25    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
26    <meta name="viewport" content="width=device-width, initial-scale=1.0">
27
28    <link rel="canonical" href="http://www.i-traffic.co.za/list/events/traffic" />
29
30<meta name='Descption' content='Provides up to the minute traffic and transit information for All Regions region in South Africa. View real time Traffic Events details on a list page.'/>
31  
32        <title>
33            South Africa Traffic Events | View Live SA Traffic Events | i-TRAFFIC
34        </title>
35    <link href="https://fonts.googleapis.com/css?family=Fira+Sans" rel="stylesheet">
36    
37    <link href='/bundles/maincss?v=R7fJpBiBGujYxofBJ0-20VtjV55sPGwKJTElgSXQong1' type='text/css' rel='stylesheet'/>
38
39    
40    <link href='/Content/dataTables/css/dataTablesJs?v=2PKH_EPJOLX9QPyU4arB1t-kBK_D9jfuVGjt6i7CdYY1' type='text/css' rel='stylesheet'/>
41
42
43
44    <!-- Google Analytics -->
45    
45<script>
46        (function (i, s, o, g, r, a, m) {
47            i['GoogleAnalyticsObject'] = r;
48            i[r] = i[r] || function () {
49                (i[r].q = i[r].q || []).push(arguments);
50            }, i[r].l = 1 * new Date();
51            a = s.createElement(o),
52                m = s.getElementsByTagName(o)[0];
53            a.async = 1;
54            a.src = g;
55            m.parentNode.insertBefore(a, m);
56        })(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
57
58        ga('create', 'UA-7345015-14', 'auto');
59        ga('send', 'pageview');
60
61    </script>
61
62    <!-- End Google Analytics -->
63
64<!-- Facebook Pixel Code -->
65<script>
vendor: 533 bytes, lines 65-75
65
66    !function (f, b, e, v, n, t, s) {
67        if (f.fbq) return; n = f.fbq = function () {
68            n.callMethod ?
69            n.callMethod.apply(n, arguments) : n.queue.push(arguments)
70        }; if (!f._fbq) f._fbq = n;
71        n.push = n; n.loaded = !0; n.version = '2.0'; n.queue = []; t = b.createElement(e); t.async = !0;
72        t.src = v; s = b.getElementsByTagName(e)[0]; s.parentNode.insertBefore(t, s)
73    }(window,
74    document, 'script', 'https://connect.facebook.net/en_US/fbevents.js');
75    fbq('init', '
751327247443973087
vendor: 4 bytes, line 75
75'); 
75// Insert your pixel ID here.
76    fbq('track', 'PageView');
77</script>
77
78<!-- DO NOT MODIFY -->
79<!-- End Facebook Pixel Code -->
80
81
82</head>
83<body>
84    <div role="banner" class="topBanner">
85        <noscript>
86            <span class="label label-warning">Javascript is disabled on your browser and this site won&#39;t work properly without Javascript enabled!</span>
87        </noscript>
88        <a href="#content" class="sr-only sr-only-focusable" title="Content">Skip to main content</a>
89        <div class="printSiteHeader">i-TRAFFIC</div>
90
91        <noscript>
92    <img height="1" width="1" style="display:none" src="https://www.facebook.com/tr?id=1327247443973087&ev=PageView&noscript=1" alt="" />
93</noscript>
94<nav class="navbar navbar-inverse">
95    <div class="container-fluid">
96        <div class="row navBar">
97            
98            <div class="navbar-header">
99                <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar-collapse">
100                    <span class="sr-only">Toggle navigation</span>
101                    <span class="icon-bar"></span>
102                    <span class="icon-bar"></span>
103                    <span class="icon-bar"></span>
104                </button>
105                <a class="navbar-brand" href="/" target="_self">
106                    <span class="navbar-logo"><span class='hideForAccessibility'>Open website in new tab</span></span>
107                </a>
108                
109            </div>
110            <div class="collapse navbar-collapse" id="navbar-collapse">
111                
112                
113
114    <ul class="nav navbar-nav">
115                        <li class="">
116                            <a href="/" target="_self" title="Home Menu">Home</a>
117                        </li>
118                            <li class="dropdown ">
119                                <a href="/" class="dropdown-toggle" target="_self" title="Traffic Menu" data-toggle="dropdown" data-hover="dropdown" role="button" aria-expanded="false">
120                                    Traffic <span class="caret"></span>
121                                </a>
122                                <ul class="dropdown-menu" role="menu">
123                                                    <li>
124                    <a href="/map" target="_self" title="Traffic - Traffic Map"> Traffic Map </a>
125                </li>
126                <li>
127                    <a href="/list/events/traffic" target="_self" title="Traffic - Traffic List"> Traffic List </a>
128                </li>
129                <li>
130                    <a href="/cctv" target="_self" title="Traffic - Cameras List"> Cameras List </a>
131                </li>
132                <li>
133                    <a href="/messagesigns" target="_self" title="Traffic - Message Signs List"> Message Signs List </a>
134                </li>
135                <li>
136                    <a href="/traveltimes" target="_self" title="Traffic - Travel Times List"> Travel Times List </a>
137                </li>
138                <li>
139                    <a href="/TrafficRoads" target="_self" title="Traffic - Toll Roads"> Toll Roads </a>
140                </li>
141                <li>
142                    <a href="/TrafficRoads#onroadservices" target="_self" title="Traffic - On Road Services"> On Road Services </a>
143                </li>
144                <li>
145                    <a href="/TrafficRoads#trafficvolumes" target="_self" title="Traffic - Traffic Volumes"> Traffic Volumes </a>
146                </li>
147
148                                </ul>
149                            </li>
150                            <li class="dropdown ">
151                                <a href="/" class="dropdown-toggle" target="_self" title="My i-TRAFFIC Menu" data-toggle="dropdown" data-hover="dropdown" role="button" aria-expanded="false">
152                                    My i-TRAFFIC <span class="caret"></span>
153                                </a>
154                                <ul class="dropdown-menu" role="menu">
155                                                    <li>
156                    <a href="/my511" target="_self" title="My i-TRAFFIC - Manage Routes &amp; Alerts"> Manage Routes &amp; Alerts </a>
157                </li>
158                <li>
159                    <a href="/My511Help" target="_self" title="My i-TRAFFIC - My i-TRAFFIC Help"> My i-TRAFFIC Help </a>
160                </li>
161
162                                </ul>
163                            </li>
164                            <li class="dropdown ">
165                                <a href="/" class="dropdown-toggle" target="_self" title="Public Transport Menu" data-toggle="dropdown" data-hover="dropdown" role="button" aria-expanded="false">
166                                    Public Transport <span class="caret"></span>
167                                </a>
168                                <ul class="dropdown-menu" role="menu">
169                                                    <li>
170                    <a href="/publicTransport/airport" target="_self" title="Public Transport - Airports"> Airports </a>
171                </li>
172                <li>
173                    <a href="/publicTransport/transit" target="_self" title="Public Transport - Transit"> Transit </a>
174                </li>
175                <li>
176                    <a href="/publicTransport/rail" target="_self" title="Public Transport - Rail"> Rail </a>
177                </li>
178
179                                </ul>
180                            </li>
181                            <li class="dropdown ">
182                                <a href="/" class="dropdown-toggle" target="_self" title="Extras Menu" data-toggle="dropdown" data-hover="dropdown" role="button" aria-expanded="false">
183                                    Extras <span class="caret"></span>
184                                </a>
185                                <ul class="dropdown-menu" role="menu">
186                                                    <li>
187                    <a href="/developers/help" target="_self" title="Extras - API Documentation"> API Documentation </a>
188                </li>
189                <li>
190                    <a href="/map/embeddedmapsetup" target="_self" title="Extras - Embedded Map"> Embedded Map </a>
191                </li>
192                <li>
193                    <a href="/extras/renewableenergy" target="_self" title="Extras - Renewable Energy"> Renewable Energy </a>
194                </li>
195                <li>
196                    <a href="/extras/annualreport" target="_self" title="Extras - Annual Report"> Annual Report </a>
197                </li>
198
199                                </ul>
200                            </li>
201    </ul>
202
203                
204                <ul class="nav navbar-nav navbar-right">
205                    <li class="loginSection">    <ul class="nav navbar-nav">
206        <li><a href="/my511/register" id="registerLink" title="">Register<span class='hideForAccessibility'> for an account.</span></a></li>
207        <li><a href="#" id="login-button" role="button" data-toggle="modal" data-target="#loginModalDialog" title="">Login</a></li>
208    </ul>
209</li>
210                    <li class="dropdown">
211    <div id="region-list-label" class="hidden">Open list of regions</div>
212    <button id="currentRegionDropdownText"  class="dropdown-toggle toggleButtonMenu" data-toggle="dropdown" data-hover="dropdown"  aria-expanded="false" aria-controls="regionList" aria-labelledby="region-list-label">
213        All Regions<span class="caret"></span>
214    </button>
215    <ul class="dropdown-menu" role="menu" id="regionList" title="Location List" aria-labelledby="region-list-label">
216                <li>
217                    <a href="/region/AllRegions" onclick="event.preventDefault(); submitRegionInfo('All Regions', 'ALL', ['-30.3918303280881', '23.367919921875', '7']);">All Regions</a>
218                </li>
219                <li>
220                    <a href="/region/EasternCape" onclick="event.preventDefault(); submitRegionInfo('Eastern Cape', 'EC', ['-33.126753', '27.468715', '10']);">Eastern Cape</a>
221                </li>
222                <li>
223                    <a href="/region/Gauteng" onclick="event.preventDefault(); submitRegionInfo('Gauteng', 'GP', ['-26.345814', '27.8031633', '10']);">Gauteng</a>
224                </li>
225                <li>
226                    <a href="/region/KwaZulu-Natal" onclick="event.preventDefault(); submitRegionInfo('KwaZulu-Natal', 'KZN', ['-30.0361322', '30.6771394', '10']);">KwaZulu-Natal</a>
227                </li>
228                <li>
229                    <a href="/region/WesternCape" onclick="event.preventDefault(); submitRegionInfo('Western Cape', 'WC', ['-34.1255914', '18.5668216', '10']);">Western Cape</a>
230                </li>
231    </ul>
232</li>
233                </ul>
234            </div>
235        </div>
236    </div>
237</nav>
238<div class="row scrollRow">
239    <div class="divider"></div>
240    <a class="alertHeader" href="/List/Alerts"> <i style="padding-right: 5px;" class="fa fa-star"></i>Alerts</a>
241    <div id="alertWrapper">
242        <div class="socialSection">
243            <span class='hideForAccessibility'>Connect with us on social media.</span>
244                    <a href="/Twitter" target="_self">
245                        
246
247                        <svg class="xLogoResize" viewBox="0 0 1200 1227" fill="none">
248                            <desc>Link to Twitter page</desc>
249                            <path class="xLogoFill" d="M714.163 519.284L1160.89 0H1055.03L667.137 450.887L357.328 0H0L468.492 681.821L0 1226.37H105.866L515.491 750.218L842.672 1226.37H1200L714.137 519.284H714.163ZM569.165 687.828L521.697 619.934L144.011 79.6944H306.615L611.412 515.685L658.88 583.579L1055.08 1150.3H892.476L569.165 687.854V687.828Z" />
250                        </svg>
251
252
253                    </a>
254                                                                                </div>
255        <div id="alertsBox" class="scroller siteWideAlerts">
256            <ul><li id="emptyAlertLi">&nbsp;</li></ul>
257            <span class="tempAlert" hidden></span>
258        </div>
259    </div>
260</div>
261
262
263    </div>
264    <div class="container-fluid mainContainer" role="main">
265        
266        <div id="content">
267
268<div id="loginModalDialog" class="modal fade" role="dialog">
269    <div class="modal-dialog modal-md">
270        <div class="modal-content">
271            <div class="modal-header">
272                <button type="button" class="close" data-dismiss="modal">&times;</button>
273                <span class="modal-title" style="font-size: 1.2em; color: #fff;">Login</span>
274            </div>
275            <div class="modal-body">
276                <form id="loginFormmodal" class="form-horizontal">
277                    <input name="__RequestVerificationToken" type="hidden" value="JWQhv6TqDzBWN60LWjmP_8Luk0hPA9fkSeaXPm4l7_gC_0OizttyzJjr6oaXZQ-VYhXHc431yo94tI3JKDb9sSNn4kI1" />
278                    <div id="validationSummarymodal" hidden="hidden" class="alert alert-danger">
279                        <ul><li></li></ul>
280                    </div>
281                    
282    <div class="form-group">
283        <label class="col-md-12&#32;control-label" for="Emailmodal">Email</label>
284        <div class="col-md-12">
285            <input autocomplete="off" autofocus="autofocus" class="form-control" data-val="true" data-val-email="Please&#32;enter&#32;a&#32;valid&#32;email&#32;address." data-val-required="Email&#32;is&#32;required" id="Emailmodal" name="Email" title="Email" type="email" value="" />
286            <span class="field-validation-valid&#32;text-danger" data-valmsg-for="Email" data-valmsg-replace="true"></span>
287        </div>
288    </div>
289<div class="form-group">
290    <label class="col-md-12&#32;control-label" for="Passwordmodal">Password</label>
291    <div class="col-md-12">
292        <input autocomplete="off" class="form-control" data-val="true" data-val-required="Password&#32;is&#32;required" id="Passwordmodal" name="Password" title="Password" type="password" />
293        <span class="field-validation-valid&#32;text-danger" data-valmsg-for="Password" data-valmsg-replace="true"></span>
294    </div>
295</div>
296    <div class="form-group">
297        <div class="col-md-12">
298            <div class="checkbox">
299                <input aria-label="Remember&#32;Me" data-val="true" data-val-required="The&#32;Remember&#32;me?&#32;field&#32;is&#32;required." id="RememberMemodal" name="RememberMe" title="RememberMe" type="checkbox" value="true" /><input name="RememberMe" type="hidden" value="false" />
300                <label for="RememberMemodal">Remember me?</label>
301            </div>
302        </div>
303    </div>
304    <div class="form-group">
305        <div class="col-md-12">
306            <input type="submit" id="logInButtonmodal" value="Log in" class="btn btn-info btn-default"/>
307            <input type="button" id="resendConfirmationEmailmodal" style="display: none;"  class="btn btn-info btn-default" value="Resend Confirmation Email" />
308        </div>
309    </div>
310    <div class="form-group">
311        <div class="col-md-12">
312                <a href="/my511/register">Register as a new user</a>
313            </div>
314            <div class="col-md-12">
315                    <a href="/my511/forgotpassword">Forgot your password?</a>
316            </div>
317    </div>
318
319    <input id="returnUrlmodal" name="returnUrl" type="hidden" value="" />
320
321
322                </form>
323            </div>
324        </div>
325    </div>
326</div>
327
328
329<div class="row eventList">
330    <div class="col-md-12">
331        <h1>Traffic Events</h1>
332        <div class="list-group listFilter"></div>
333        <div class="panel panel-default">
334            <table id="eventTable" data-typeidfriendlyurl="traffic" class="display compact" cellspacing="0" width="100%" title="traffic">
335                <caption>"traffic"</caption>
336                <thead>
337                    <tr>
338                        <th class="select-filter" scope="col">Type</th>
339                        <th class="select-filter" scope="col">Region</th>
340                        <th class="select-filter" scope="col">Roadway</th>
341                        <th class="select-filter" scope="col">Direction</th>
342                        <th scope="col">Location</th>
343                        <th scope="col">Description</th>
344                        <th scope="col">Start Time</th>
345                        <th scope="col">Anticipated End Time</th>
346                        <th scope="col">Last Updated</th>
347                        <th scope="col">View on map</th>
348                    </tr>
349                </thead>
350                <tfoot>
351                    <tr>
352                        <th scope="col">Type</th>
353                        <th scope="col">Region</th>
354                        <th scope="col">Roadway</th>
355                        <th scope="col">Direction</th>
356                        <th scope="col">Location</th>
357                        <th scope="col">Description</th>
358                        <th scope="col">
358Start Time</th>
359                        <th scope="col">Anticipated End Time</th>
360                        <th scope="col">Last Updated</th>
361                        <th scope="col">View on map</th>
362                    </tr>
363                </tfoot>
364            </table>
365        </div>
366    </div>
367</div>
368
369
370        </div>
371        <div class="row regionLogoContainer">
372    <div class="col-md-12 center-block">
373      
374
375<div id="Region_Logos" data-atisParent="true">
376        <div id="virtual-88" data-atis="true" class=""><p align="center"><img height="766" src="/cms/getfile?id=c82ebab1-4f27-f011-ac10-0a8355656c6e" width="550" /></p>
377</div>
378        <div id="virtual-187" data-atis="true" class=""><p align="center"><img height="521" src="/cms/getfile?id=101b4ef3-d2be-f011-ac10-0a8355656c6e" width="979" /></p>
379</div>
380        <div id="virtual-222" data-atis="true" class="KZNSection"><img height="1240" src="/cms/getfile?id=181aebb1-9743-f111-ac10-0a8355656c6e" width="872" /><img height="1356" src="/cms/getfile?id=84c44feb-9743-f111-ac10-0a8355656c6e" width="880" /></div>
381        <div id="virtual-233" data-atis="true" class="KZNSection"><img height="796" src="/cms/getfile?id=2a8c32bc-9070-f111-ac10-0a8355656c6e" width="550" /><img height="797" src="/cms/getfile?id=c5bc69cd-9070-f111-ac10-0a8355656c6e" width="553" /><img height="806" src="/cms/getfile?id=dd41dfdc-9070-f111-ac10-0a8355656c6e" width="566" /><img height="793" src="/cms/getfile?id=216555eb-9070-f111-ac10-0a8355656c6e" width="558" /></div>
382        <div id="virtual-235" data-atis="true" class="KZNSection"><img height="864" src="/cms/getfile?id=11fc2569-7074-f111-ac10-0a8355656c6e" width="598" /><img height="864" src="/cms/getfile?id=e40a7279-7074-f111-ac10-0a8355656c6e" width="605" /></div>
383        <div id="virtual-237" data-atis="true" class="KZNSection"><img height="864" src="/cms/getfile?id=be7a408c-2184-f111-ad1f-0a49702262ad" width="605" /><img height="861" src="/cms/getfile?id=15844aab-2184-f111-ad1f-0a49702262ad" width="597" /></div>
384        <div id="virtual-239" data-atis="true" class=""></div>
385        <div id="virtual-244" data-atis="true" class="KZNSection"><img height="792" src="/cms/getfile?id=db0f936a-69ab-f111-ad1f-0a49702262ad" width="556" /><img height="788" src="/cms/getfile?id=8f349787-69ab-f111-ad1f-0a49702262ad" width="546" /><img height="791" src="/cms/getfile?id=4e56317a-69ab-f111-ad1f-0a49702262ad" width="553" /></div>
386        <div id="virtual-246" data-atis="true" class="KZNSection"><img height="788" src="/cms/getfile?id=bedb097b-b5b1-f111-ad1f-0a49702262ad" width="560" /></div>
387        <div id="virtual-247" data-atis="true" class=""></div>
388        <div id="virtual-248" data-atis="true" class=""></div>
389        <div id="virtual-249" data-atis="true" class=""></div>
390        <div id="virtual-250" data-atis="true" class=""></div>
391        <div id="virtual-251" data-atis="true" class=""></div>
392        <div id="virtual-252" data-atis="true" class=""></div>
393</div>
394
395
396    </div>
397</div>
398<div class="row footer">
399    <div class="col-md-11">
400        
401        
402
403    <ul class="nav navbar-nav">
404                    <li>
405                        <a href="/" target="_self" title="Home Menu">Home</a>
406                    </li>
407                <li class="">
408                        <a href="/" class="disabled" title="Traffic Menu">
409                            Traffic
410                        </a>
411                        <ul class="subMenu">
412                <li>
413                    <a href="/map" target="_self" title="Traffic - Traffic Map">Traffic Map</a>
414                </li>
415                <li>
416                    <a href="/list/events/traffic" target="_self" title="Traffic - Traffic List">Traffic List</a>
417                </li>
418                <li>
419                    <a href="/cctv" target="_self" title="Traffic - Cameras List">Cameras List</a>
420                </li>
421                <li>
422                    <a href="/messagesigns" target="_self" title="Traffic - Message Signs List">Message Signs List</a>
423                </li>
424                <li>
425                    <a href="/traveltimes" target="_self" title="Traffic - Travel Times List">Travel Times List</a>
426                </li>
427                <li>
428                    <a href="/TrafficRoads" target="_self" title="Traffic - Toll Roads">Toll Roads</a>
429                </li>
430                <li>
431                    <a href="/TrafficRoads#onroadservices" target="_self" title="Traffic - On Road Services">On Road Services</a>
432                </li>
433                <li>
434                    <a href="/TrafficRoads#trafficvolumes" target="_self" title="Traffic - Traffic Volumes">Traffic Volumes</a>
435                </li>
436    </ul>
437
438                </li>
439                <li class="">
440                        <a href="/" class="disabled" title="My i-TRAFFIC Menu">
441                            My i-TRAFFIC
442                        </a>
443                        <ul class="subMenu">
444                <li>
445                    <a href="/my511" target="_self" title="My i-TRAFFIC - Manage Routes &amp; Alerts">Manage Routes &amp; Alerts</a>
446                </li>
447                <li>
448                    <a href="/My511Help" target="_self" title="My i-TRAFFIC - My i-TRAFFIC Help">My i-TRAFFIC Help</a>
449                </li>
450    </ul>
451
452                </li>
453                <li class="">
454                        <a href="/" class="disabled" title="Public Transport Menu">
455                            Public Transport
456                        </a>
457                        <ul class="subMenu">
458                <li>
459                    <a href="/publicTransport/airport" target="_self" title="Public Transport - Airports">Airports</a>
460                </li>
461                <li>
462                    <a href="/publicTransport/transit" target="_self" title="Public Transport - Transit">Transit</a>
463                </li>
464                <li>
465                    <a href="/publicTransport/rail" target="_self" title="Public Transport - Rail">Rail</a>
466                </li>
467    </ul>
468
469                </li>
470                <li class="">
471                        <a href="/" class="disabled" title="Extras Menu">
472                            Extras
473                        </a>
474                        <ul class="subMenu">
475                <li>
476                    <a href="/developers/help" target="_self" title="Extras - API Documentation">API Documentation</a>
477                </li>
478                <li>
479                    <a href="/map/embeddedmapsetup" target="_self" title="Extras - Embedded Map">Embedded Map</a>
480                </li>
481                <li>
482                    <a href="/extras/renewableenergy" target="_self" title="Extras - Renewable Energy">Renewable Energy</a>
483                </li>
484                <li>
485                    <a href="/extras/annualreport" target="_self" title="Extras - Annual Report">Annual Report</a>
486                </li>
487    </ul>
488
489                </li>
490                <li class="">
491                        <a href="/" class="disabled" title="About Menu">
492                            About
493                        </a>
494                        <ul class="subMenu">
495                <li>
496                    <a href="/faq" target="_self" title="About - FAQ">FAQ</a>
497                </li>
498                <li>
499                    <a href="/privacy" target="_self" title="About - Privacy Policy">Privacy Policy</a>
500                </li>
501                <li>
502                    <a href="/termsandconditions" target="_self" title="About - Terms and Conditions">Terms and Conditions</a>
503                </li>
504                <li>
505                    <a href="/contact" target="_self" title="About - Contact Us">Contact Us</a>
506                </li>
507    </ul>
508
509                </li>
510    </ul>
511
512
513    <div class="btn emergencyPopupNotification" data-alert="">
514        <i style="padding-right: 5px;" class="fa fa-exclamation-triangle"></i> EMERGENCY ALERT
515    </div>
516
517    </div>
518    <div class="col-md-1">
519        <ul class="footerLogo">
520            <li>
521                <a href="http://www.nra.co.za" target="_blank"><span class='hideForAccessibility'></span></a>
522            </li>
523            <li>
524                <div class="footerLogo1"></div>
525            </li>
526        </ul>
527    </div>
528</div>
529
530    </div>
531    
531<script src="//d2wy8f7a9ursnm.cloudfront.net/bugsnag-2.min.js" data-apikey="00000000000000000000000000000000" data-appversion="1.0.0.0"></script>
531
532
533    
533<script src="/bundles/jquery?v=DGWj1SJX61WvbyyMTCfeycvCDN7KCoSmuGStpPEtHc81"></script>
533
534
535    
535<script src="/bundles/common?v=IHcERHADtrwesUkCsvoIo2lAjxuBbkbRZviM6h0dTRw1"></script>
535
536
537    
537<script src="/bundles/bootstrap?v=pArNLBwWlKXg-V4WY_ubViZYv3x7J63RFuqBLzuAK4A1"></script>
537
538
539    
539<script src="/signalr/hubs"></script>
539
540
541    
541<script src="/bundles/jqueryval?v=zch5K1zREXU1mT8_2y2t-mr_qIWZu4dP9hRULINFo0c1"></script>
vendor: 2 bytes, line 541
541
542<script src="/scripts/jsresources/loadBlocker"></script>
vendor: 2 bytes, line 542
542
543<script src="/Scripts/loadBlocker.js"></script>
vendor: 2 bytes, line 543
543
544<script src="/Scripts/isUserLoggedIn.js"></script>
vendor: 2 bytes, line 544
544
545<script>
546        $(function () {
547            var loginType = 'modal';
548
549            $("#loginForm" + loginType).submit(function (e) {
550                e.preventDefault();
551                loadBlockerApi.showSpinner('loginForm');
552
553                $.ajax('/My511/Login', {
554                    data: $("#loginForm" + loginType).serialize(),
555                    type: 'POST',
556                    //we are doing this so that if we are already logged in and get redirected to My511/Index, instead of thinking we received json, the ajax call fails and reloads the page 
557                    dataType: 'json',
558                    beforeSend: function (event, xhr, settings, thrownError) {
559                        if (window.isUserLoggedIn(event.responseText)) {
560                            xhr.abort();
561                        }
562                    }
563                }).done(function (data) {
564                    if (!data.success) {
565                        loadBlockerApi.hideSpinner('loginForm');
566                        $("#validationSummary" + loginType + " > ul > li").text(data.errors);
567                        $("#validationSummary" + loginType).show();
568                        if(data.unconfirmed){
569                            $("#resendConfirmationEmail" + loginType).show();
570                        }
571                    } else {
572                        $("#validationSummary" + loginType).hide();
573                        if (data.returnUrl) {
574                            $(location).attr('href', data.returnUrl);
575                        } else {
576                            location.reload();
577                        }
578                    }
579                }).fail(function (event, xhr, settings, thrownError) {
580                    location.reload();
581                });
582            });
583
584            // if already on login page, don't display login modal when clicking on login link
585            $('#loginModalDialog').on('show.bs.modal', function () {
586                var url = document.location.pathname;
587                var name = url.substring(url.lastIndexOf('/') + 1);
588                if (name.toLowerCase() === 'login') {
589                    return false;
590                }
591                return true;
592            });
593
594            $('#loginModalDialog').on('shown.bs.modal', function () {
595                $('#Email').focus();
596            });
597
598            $('#resendConfirmationEmail' + loginType).on('click', function (e) {
599                //prevent default action.
600                e.preventDefault();
601                //our custom ajax error handler for confirmation emails.
602                var ajaxFailConfirmation = new AjaxFail(window.resources['SorryUnkownErrorConfirmationCouldNotBeResent'], bootbox.alert);
603
604                var username = $('#Email'+loginType).val();
605
606                //this should never happen but just in case.
607                if (username) {
608                    $.ajax('/My511/ResendUserConfirmationEmail/', { data: { username: username }, type: 'POST' }).done(function(data) {
609                        if (data.errors) bootbox.alert('<i class="fa fa-check-circle" aria-hidden="true"></i> ' + data.errors);
610                        else bootbox.alert('<i class="fa fa-check-circle" aria-hidden="true"></i> The confirmation email has been re-sent to {0}.'.replace('{0}', username));
611                    }).fail(ajaxFailConfirmation.ajaxFailPossibleErrorMessageFromServer);
612                }
613
614                
615            });
616
617            function iOSversion() {
618                if (/iP(hone|od|ad)/.test(navigator.platform)) {
619                    // supports iOS 2.0 and later: <http://bit.ly/TJjs1V>
620                    var v = (navigator.appVersion).match(/OS (\d+)_(\d+)_?(\d+)?/);
621                    return [parseInt(v[1], 10), parseInt(v[2], 10), parseInt(v[3] || 0, 10)];
622                }
623            }
624
625            if (Modernizr.mq('(max-width: 768px)')) {
626                var ver = iOSversion();
627                if (ver != undefined && ver[0] >= 11) {
628                    $("#loginModalDialog.modal").css("position", "absolute");
629                }
630            }
631            
632        });
633    </script>
633
634
635    
635<script src="/scripts/jsresources/alerts"></script>
vendor: 2 bytes, line 635
635
636<script>
637    $(function () {
638        var isNavFixedTop = $("nav").hasClass("navbar-fixed-top");
639        if (isNavFixedTop) {
640            fixNav();
641        }
642        reSizeLogo();
643
644        $(window).resize(function () {
645            clearTimeout(window.resizedFinished);
646            window.resizedFinished = setTimeout(function () {
647                reSizeLogo();
648                if (isNavFixedTop) {
649                    if (Modernizr && Modernizr.mq('(min-width: 767px)')) {
650                        fixNav();
651                    }
652                }
653            }, 250);
654        });
655    });
656
657    $(document).on("click", '#addCameraButton', function () {
658        window.AddMyCameraEvent();
659    });
660
661    function reSizeLogo() {
662        if (Modernizr) {
663            if (Modernizr.mq('(max-width: 992px)')) {
664                $(".navBar").addClass("mobile");
665            } else {
666                if ($(".navBar").hasClass("mobile")) {
667                    $(".navBar").removeClass("mobile");
668                }
669            }
670        }
671    }
672
673    function fixNav() {
674        var isNavIn2Row = $("nav").height() > 60;
675        if (isNavIn2Row) {
676            $(".navbar-fixed-top").addClass("forceMobileMode");
677        } else {
678            $(".navbar-fixed-top").removeClass("forceMobileMode");
679            if ($("nav").height() > 60) {
680                $(".navbar-fixed-top").addClass("forceMobileMode");
681            }
682        }
683    }
684
685    //display the popup on click. Get the content from the div
686    $(".emergencyPopupNotification").on("click", function (event) {
687        var content = $(".emergencyPopupNotification").attr("data-alert");
688        if (content) {
689            bootbox.dialog({
690                title: '<i style="padding-right: 5px;" class="fa fa-exclamation-triangle"></i> ' + 'Emergency Alert'.toUpperCase(),
691                onEscape: true,
692                className: 'emergencyAlertModal',
693                message: content
694            });
695        }
696    });
697
698    // collapse footer menu in mobile mode
699    if (Modernizr.mq('(max-width: 992px)')) {
700        $(".footer .subMenu").hide();
701        // remove disabled class from footer menu
702        $(".footer .navbar-nav > li a.disabled").removeClass("disabled");
703        var hasSubMenu = $(".footer .navbar-nav > li:has('ul')");
704        if (hasSubMenu) {
705            hasSubMenu.on("click", function (evt) {
706                var subMenuItems = $(".footer ul.subMenu > li");
707                subMenuItems.click(function () {
708                    $(subMenuItems, this).data("clicked", true);
709                });
710                // toggle footer menu, if submenu clicked then behave normal
711                if (subMenuItems.data('clicked') == undefined) {
712                    evt.preventDefault();
713                    var subMenuClicked = $("ul.subMenu", this);
714                    if (subMenuClicked.is(":hidden")) {
715                        subMenuClicked.slideDown();
716                    } else {
717                        subMenuClicked.slideUp();
718                    }
719                }
720            });
721        }
722        $(window).on("orientationchange", function () {
723            var isHidden = $(".footer .subMenu").is(":hidden");
724            if (!isHidden) {
725                $(".footer .subMenu").hide();
726            }
727            window.forceAlertRefresh();
728        });
729    }
730</script>
730
731
732<!-- Google Code for Remarketing Tag -->
733<!--------------------------------------------------
734Remarketing tags may not be associated with personally identifiable information or placed on pages related to sensitive categories.
735See more information and instructions on how to setup the tag on: http://google.com/ads/remarketingsetup
736--------------------------------------------------->
737<script>
738    /* <![CDATA[ */
739    var google_conversion_id = 869983835;
740    var google_custom_params = window.google_tag_params;
741    var google_remarketing_only = true;
742    /* ]]> */
743</script>
vendor: 2 bytes, line 743
743
744<script src="//www.googleadservices.com/pagead/conversion.js">
745</script>
745
746<noscript>
747    <div style="display:inline;">
748        <img height="1" width="1" style="border-style:none;" alt="" src="//googleads.g.doubleclick.net/pagead/viewthroughconversion/869983835/?guid=ON&amp;script=0" />
749    </div>
750</noscript>
751    
752    
752<script src="/scripts/jsresources/List/listResources"></script>
752
753    
753<script src="/bundles/datatables?v=fy7Hm7VrlhRdzIsl1KQnzlLoTORTmh-BkOU_24bteqk1"></script>
753
754
755
756    
756<script>
757        //jquery selector and datatable optional configuration.
758        window.listPageV2('#eventTable', '/List/UniqueColumnValuesForEvents/{typeId}',
759        {
760            columns: [
761                { data: "type", name: "type", searchable: true, orderable: true },
762                { data: "region", name: "region", searchable: true, orderable: true },
763                { data: "roadwayName", name: "roadwayName", searchable: true, orderable: true },
764                { data: "direction", name: "direction", searchable: true, orderable: true },
765                { data: "location", name: "location", searchable: true, orderable: false },
766                { data: "description", name: "description", searchable: true, orderable: false },
767                { data: "startTime", name: "startTime", searchable: true, orderable: true },
768                { data: "endTime", name: "endTime", searchable: true, orderable: true },
769                { data: "lastUpdated", name: "lastUpdated", searchable: true, orderable: true },
770                {
771                    searchable: false,
772                    orderable: false,
773                    render: function (data, type, row, meta) {
774                        return '<a href="/map#' + row.layerName + '-' + row.DT_RowId + '">View on map</a>';
775                    }
776                }
777            ],
778            order: [[1, 'asc']]
779        }, null, true);
780
781        //once data table loaded.
782        $(document).one('dataTableLoaded', function () {
783            window.rowDetailsV2('#eventTable', function (rowData) {
784                //load content.
785                return $.ajax({
786                    url: rowData.tooltipUrl
787                });
788            });
789        });
790
791        $(document).one('columnFiltersInitComplete', function () {
792            //Filter dropdown could be populated on load if user navigates to a link with the filter specified; do not change filter in this case
793            if ('ALL' != 'ALL' && $('#listFilter-region').val() == "") {
794                $('#listFilter-region').val(
795                    ''
796                ).change();
797            }
798        });
799
800        $(document).on('regionChanged', function(e, region, name, oldregion) {
801            $('#listFilter-region').val(
802                    name
803                ).change();
804        });
805    </script>
805
806
807
808    
808<script src="/bundles/ajaxCms?v=S2AIW3vfvvB9W0nL_o14j1pr_6qaiq-8uFy53T0KkvU1"></script>
vendor: 2 bytes, line 808
808
809<script src="/bundles/regionContentFilter?v=J433vMkjBHtbpdU_A0RUdWjRikzjWXQ5RRDO9BKZjW01"></script>
vendor: 2 bytes, line 809
809
810<script src="/bundles/helpPopup?v=9jd_MWorLWn1LirK6DZyZ22unJlvkZ8wTDDrnbH4tTw1"></script>
810
811
812    
812<script>
813    //Creating a global variable which will indicate whether the page is being unloaded or not.
814    var globalVars = { isBeingUnloaded: false, tickerInterval: 4000, dateFormat: 'D/M/YYYY H:mm', timeFormat: 'h:mm A', canCreateEvents: '' };
815    //Attach the 'beforeunload' event handler on the window object.
816    $(window).bind('beforeunload', function() {
817        //Set the global variable to indicate that the page is being unloaded.
818        globalVars.isBeingUnloaded = true;
819    });
820
821    //For some reason we occasionally fail at parsing : decodeURIComponent(settings.data), return a blob if it doesn't work
822    function tryJsonParse(text) {
823        var result;
824        try {
825            result = JSON.parse('{"' +
826                text
827                .replace(/\+/g, ' ')
828                .replace(/"/g, '\\"')
829                .replace(/&/g, '","')
830                .replace(/=/g, '":"') +
831                '"}');
832        } catch (e) {
833            result = encodeURI(text);
834        }
835        return result;
836    }
837
838    //global ajax error handler.
839    $(document).ajaxError(function(event, xhr, settings, thrownError) {
840        //don't log an error if the page is being unloaded because a user closed the window or click another link.
841        if (globalVars.isBeingUnloaded || thrownError == 'timeout' || xhr.statusText === 'abort' || xhr.status === 0) {
842            return;
843        }
844        if (console) {
845            //sometimes these errors are swallowed and not seen on dev, make sure we show it
846            console.log(settings, thrownError);
847        }
848        var responseText = "html page not included";
849        if (!xhr.responseText) {
850            responseText = "no response";
851        }
852        if (xhr.responseText && xhr.responseText.substring(0, 15) != "<!DOCTYPE html>") responseText = xhr.responseText;
853        if (typeof Bugsnag !== "undefined") {
854            var dataPackage = settings.data ? tryJsonParse(decodeURIComponent(settings.data)) : {};
855            delete dataPackage["password"];
856            delete dataPackage["Password"];
857            Bugsnag.notify("AjaxError", thrownError + " " + settings.url.split("?")[0], { ajaxData: { status: xhr.status, responseText: responseText, url: settings.url, type: settings.type, data: dataPackage } });
858        }
859    });
860
861    $(document).ready(function() {
862        if (typeof Bugsnag !== "undefined") {
863            Bugsnag.apiKey = 'd6dc66566a16949b16c9b3b9ca984b5d';
864            Bugsnag.releaseStage = 'Prod';
865            Bugsnag.notifyReleaseStages = ["Staging", "Prod"];
866        }
867    });
868
869    </script>
869
870</body>
871</html>

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.