PageSourceSearch

https://treinbestuurder.be/treininfo/uurregeling.js?v=004

js treinbestuurder.be collected 2026-10-03 01:31:18 UTC 10,684 bytes, 248 lines download raw bytes

1var get_uurregeling = function(datum, nummer){
2    $('#uurregeling_table > tbody').empty();
3    $('#uurregeling_nummer').text(nummer);
4    
5    if(datum === ''){
6        var today = new Date();
7        var maand = today.getMonth()+1;
8        var dag   = today.getDate();
9        if(maand < 10){
10            maand = "0" + maand;
11        }
12        if(dag < 10){
13            dag = "0" + dag;
14        }
15        datum = today.getFullYear() + '-' + maand + '-' + dag;
16    }
17    var datum_spit = datum.split("-");
18    if(datum_spit[0]*1 < datum_spit[2]*1){
19        datum = datum_spit[2] + '-' + datum_spit[1] + '-' + datum_spit[0];
20    }
21    
22    window.uurregeling = {'datum':datum, 'nr':nummer};
23    
24    var formData = {
25        'datum'        : datum,
26        'nr'           : nummer,
27        'lang'         : window.lang,
28        'tracknumbers' : true
29    };
30    
31    $.ajax({
32        type       : "POST",
33        url        : "https://treinbestuurder.be/php/him/json_trein_v2.php",
34        beforeSend : function() {$("#uurregeling_table").isLoading({text: " Loading", position: "inner"});},
35        complete   : function() {$("#uurregeling_table").isLoading("hide");},
36        data       : formData,
37        tryCount   : 0,
38        retryLimit : 3,
39        success    : function(data) {
40            var uurregeling = $.parseJSON(data);
41            $('#uurregeling_table > tbody').empty();
42            
43            if(!$.isEmptyObject(uurregeling.treingegevens)){
44                $.each(uurregeling.treingegevens.uurregeling, function(i, halte) {
45                    if(halte.type !== "D" || halte.status !== "SKIPPED"){
46                        var aankomstuur    = halte.au.split(":");
47                        aankomstuur        = aankomstuur[0] + ":" + aankomstuur[1];
48                        var delay_aankomst = Math.round(halte.da/60);
49                        var vertrekuur     = halte.vu.split(":");
50                        vertrekuur         = vertrekuur[0] + ":" + vertrekuur[1];
51                        var delay_vertrek  = Math.round(halte.dv/60);
52
53                        //vars bijwerken waar nodig
54                        if(halte.type === "O"){
55                            aankomstuur    = "";
56                            delay_aankomst = "";
57                        }else if(halte.type === "E"){
58                            vertrekuur    = "";
59                            delay_vertrek = "";
60                        }
61
62                        if(delay_vertrek >= 5){
63                            vertrekuur = vertrekuur + " <span class='label label-danger'>+" + delay_vertrek + "</span>";
64                        }else if(delay_vertrek >= 1){
65                            vertrekuur = vertrekuur + " <span class='label label-warning'>+" + delay_vertrek + "</span>";
66                        }
67
68                        if(delay_aankomst >= 5){
69                            aankomstuur = aankomstuur + " <span class='label label-danger'>+" + delay_aankomst + "</span>";
70                        }else if(delay_aankomst >= 1){
71                            aankomstuur = aankomstuur + " <span class='label label-warning'>+" + delay_aankomst + "</span>";
72                        }
73
74
75                        var row;
76                        if(halte.type === "D"){
77                            row  = '<tr class="text-muted">';
78                        }else{
79                            row  = '<tr>';
80                        }
81                        
82                        
83                        if(halte.status === "SKIPPED"){
84                            row += '<td style="text-decoration: line-through;">' + halte["naam_" + window.lang.toLowerCase()] + '</td>';
85                        }else{
86                            row += '<td>' + halte["naam_" + window.lang.toLowerCase()] + '</td>';
87                        }
88                        
89                        if(halte.type === "D"){
90                            row += '<td style="text-align: center;" colspan="2">' +vertrekuur + '</td>';
91                        }else{
92                            row += '<td style="text-align: center;">' + aankomstuur + '</td>';
93                            row += '<td style="text-align: center;">' + vertrekuur + '</td>';
94                        }
95                        
96                        if(halte.sp === null || halte.sp === false){
97                            row += '<td style="text-align: center;">-</td>';
98                        }else if(halte.spw !== null && halte.spw !== false && halte.sp !== halte.spw){
99                            row += '<td style="text-align: center; color: red;">' + halte.spw + '</td>';
100                        }else{
101                            row += '<td style="text-align: center;">' + halte.sp + '</td>';
102                        }
103                        row += '</tr>';
104                        
105                        $('#uurregeling_table > tbody').append(row);
106                    }
107                });
108            }else{
109                if(window.lang === "FR"){
110                    $('#uurregeling_table > tbody').append("<tr><td colspan='6'>l' Horaire n'a pas été trouvé.</td></tr>");
111                }else{
112                    $('#uurregeling_table > tbody').append('<tr><td colspan="6">Trein niet gevonden.</td></tr>');
113                }
114            }
115        },
116        error      :  function(xhr, textStatus, errorThrown){
117            if (textStatus === 'timeout') {
118                this.tryCount++;
119                if (this.tryCount <= this.retryLimit) {
120                    //try again
121                    $.ajax(this);
122                    return;
123                }            
124                return;
125            }               
126        }
127    });
128};
129
130
131
132
133
134var get_station_modal = function(station, datum, uur, vofa){
135    $('#station_modal_table > tbody').empty();
136    if(window.lang === "FR"){
137        if(vofa === 'A'){
138            $('#station_modal_title').text('Arrivées à ' + station);
139            $('#station_dest_txt').text('Origine');
140            $('#station_vu_txt').text('H.A.');
141        }else{
142            $('#station_modal_title').text('Départs à ' + station);
143            $('#station_dest_txt').text('Destination');
144            $('#station_vu_txt').text('H.D.');
145        }
146    }else{
147        if(vofa === 'A'){
148            $('#station_modal_title').text('Aankomsten in ' + station);
149            $('#station_dest_txt').text('Oorsprong');
150            $('#station_vu_txt').text('A.U.');
151        }else{
152            $('#station_modal_title').text('Vertrekken in ' + station);
153            $('#station_dest_txt').text('Bestemming');
154            $('#station_vu_txt').text('V.U.');
155        }
156        
157    }
158    
159    var today = new Date();
160    if(datum === ''){
161        datum     = today.getFullYear() + '-' + (today.getMonth()+1) + '-' + today.getDate();
162    }
163    if(uur === ''){
164        uur = today.getHours() + ':' + today.getMinutes();
165    }
166    var datum_spit = datum.split("-");
167    if(datum_spit[0]*1 < datum_spit[2]*1){
168        datum = datum_spit[2] + '-' + datum_spit[1] + '-' + datum_spit[0];
169    }
170    
171    window.station_request = {
172        'station'   : station,
173        'uur'       : uur,
174        'datum'     : datum,
175        'vofa'      : vofa,
176        'lang'      : window.lang
177    };
178    
179    $.ajax({
180        type       : "POST",
181        url        : "/php/him/json_station_v2.php",
182        beforeSend : function() {$("#station_modal_table").isLoading({text: " Loading", position: "inner"});},
183        complete   : function() {$("#station_modal_table").isLoading("hide");},
184        data       : window.station_request,
185        tryCount   : 0,
186        retryLimit : 3,
187        success    : function(data) {
188            var result = $.parseJSON(data);
189
190            if(result.error === 'nostation'){
191                if(window.lang === 'FR'){
192                    $('#station_modal_table > tbody').append('<tr><td colspan="6">La gare <i>' + station + '</i>  n\'a pas été trouvé.</td></tr>');
193                }else{
194                    $('#station_modal_table > tbody').append('<tr><td colspan="6">Het station <i>' + station + '</i> kon niet worden gevonden.</td></tr>');
195                }
196            }else{
197                if (!$.isEmptyObject(result.treinen)) {
198                    var list          = '';
199                    var today         = new Date(), h = today.getHours(), m = today.getMinutes();
200                    var now           = (h*60)+m;
201                    var uurverstreken = false;
202                    
203                    $.each(result.treinen, function(i, trein) {
204                        var datum_split = trein.uur.split(" ");
205                        var uur_split   = datum_split[1].split(":");
206                        var style    = '';
207                        var cssclass = '';
208                        
209                        if(trein.delay >= 5){
210                            cssclass = 'danger';
211                        }else if(trein.delay > 0){
212                            cssclass = 'warning';
213                        }
214                        if(trein.status === 'CANCELLED'){
215                            style += 'text-decoration: line-through; ';
216                        }
217                        
218                        list += '<tr style="' + style + '" class="' + cssclass + '">';
219                        list += '<td>' + trein.destination + '</td>';
220                        list += '<td style="text-align: center;">' + uur_split[0] + ':' + uur_split[1] + '</td>';
221                        if(trein.delay >= 5){
222                            list += '<td style="text-align: center; color: red;">' + trein.delay + '</td>';
223                        }else if(trein.delay > 0){
224                            list += '<td style="text-align: center; color: orange;">' + trein.delay + '</td>';
225                        }else{
226                            list += '<td></td>';
227                        }
228                        list += '<td style="text-align: center;">' + trein.type + ' ' + trein.nr + '</td>';
229                        list += '<td style="text-align: center;">' + trein.platform + '</td>';
230                        list += '</tr>';
231                    });
232                    $('#station_modal_table > tbody').append(list);
233                }
234            }
235        },
236        error      :  function(xhr, textStatus, errorThrown){
237            if (textStatus === 'timeout') {
238                this.tryCount++;
239                if (this.tryCount <= this.retryLimit) {
240                    //try again
241                    $.ajax(this);
242                    return;
243                }            
244                return;
245            }               
246        }
247    });
248};

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.