Improved www.ttss.krakow.pl
Jacek Kowalski
2017-04-18 9fb99ddcefc91d3645ec03209ee14364e414811b
commit | author | age
68aeb4 1 // Special directions
JK 2 var special_directions = {
3     'Zajezdnia Nowa Huta' : 'NH',
4     'Zajezdnia Podgórze' : 'P',
5 };
6
572390 7 var script_version;
JK 8 var script_version_xhr;
9
10 // Check for website updates
11 function checkVersion() {
12     if(script_version_xhr) script_version_xhr.abort();
13     
14     script_version_xhr = $.get(
15         'version.php'
16     ).done(function(data) {
17         if(!script_version) {
18             script_version = data;
19             return;
20         }
21         
22         if(script_version != data) {
23             fail(lang.error_new_version);
24             location.reload(true);
25         }
26     });
27 }
28
29 function checkVersionInit() {
30     checkVersion();
31     setInterval(checkVersion, 3600000);
32 }
33
68aeb4 34 // Webservice-related functions
JK 35 function parseVehicle(vehicleId) {
765604 36     if(!vehicleId) return false;
68aeb4 37     if(vehicleId.substr(0, 15) != '635218529567218') {
JK 38         console.log('Unknown vehicle, vehicleId=' + vehicleId);
765604 39         return false;
68aeb4 40     }
JK 41     
42     var id = parseInt(vehicleId.substr(15)) - 736;
43     var prefix;
44     var type;
45     var low; // low floor: 0 = no, 1 - semi, 2 - full
46     
47     // Single exception - old id used in one case
48     if(id == 831) {
49         id = 216;
50     }
51     
ca0664 52     if(101 <= id && id <= 174) {
68aeb4 53         prefix = 'HW';
JK 54         type = 'E1';
55         low = 0;
56         
ca0664 57         if((108 <= id && id <= 113) || id == 127 || id == 131 || id == 132 || id == 134 || (137 <= id && id <= 139) || (148 <= id && id <= 150) || (153 <= id && id <= 155)) {
68aeb4 58             prefix = 'RW';
JK 59         }
60     } else if(201 <= id && id <= 293) {
61         prefix = 'RZ';
62         type = '105Na';
63         low = 0;
64         
65         if(246 <= id) {
66             prefix = 'HZ';
67         }
68         if(id == 290) {
69             type = '105Nb';
70         }
71     } else if(301 <= id && id <= 328) {
72         prefix = 'RF';
73         type = 'GT8S';
74         low = 0;
75         
6227ed 76         if(id == 313 || id == 323) {
68aeb4 77             type = 'GT8C'
JK 78             low = 1;
79         }
80     } else if(401 <= id && id <= 440) {
81         prefix = 'HL';
82         type = 'EU8N';
83         low = 1;
84     } else if(451 <= id && id <= 462) {
85         prefix = 'HK';
86         type = 'N8S-NF';
9fb99d 87         low = 1;
68aeb4 88         
9fb99d 89         if((451 <= id && id <= 456) || id == 462) {
68aeb4 90             type = 'N8C-NF';
JK 91         }
92     } else if(601 <= id && id <= 650) {
93         prefix = 'RP';
94         type = 'NGT6 (3)';
95         low = 2;
96         
97         if(id <= 613) {
98             type = 'NGT6 (1)';
99         } else if (id <= 626) {
100             type = 'NGT6 (2)';
101         }
102     } else if(801 <= id && id <= 824) {
103         prefix = 'RY';
104         type = 'NGT8';
105         low = 2;
106     } else if(id == 899) {
107         prefix = 'RY';
108         type = '126N';
109         low = 2;
110     } else if(901 <= id && id <= 936) {
111         prefix = 'RG';
112         type = '2014N';
113         low = 2;
114         
115         if(915 <= id) {
116             prefix = 'HG';
117         }
118     } else if(id === 999) {
ca0664 119         prefix = 'HG';
68aeb4 120         type = '405N-Kr';
JK 121         low = 1;
122     } else {
123         console.log('Unknown vehicle, vehicleId=' + vehicleId + ', id=' + id);
765604 124         return false;
68aeb4 125     }
JK 126     
127     return {
128         vehicleId: vehicleId,
129         prefix: prefix,
130         id: id,
131         num: prefix + id,
132         type: type,
133         low: low
134     };
135 }
136
7ca6a1 137 function tramIdToVehicleId(tramId) {
JK 138     if(0 <= tramId && tramId <= 999) {
139         var vehicleId = '0000' + (tramId + 736);
140         vehicleId = vehicleId.substr(vehicleId.length - 4)
141         return '635218529567218' + vehicleId;
142     }
143 }
144
68aeb4 145 // Element mangling
JK 146 function deleteChildren(element) {
147     while(element.lastChild) element.removeChild(element.lastChild);
148 }
149
150 function addElementWithText(parent, element, text) {
151     var elem = document.createElement(element);
152     elem.appendChild(document.createTextNode(text));
153     parent.appendChild(elem);
154     return elem;
155 }
156
157 function addCellWithText(parent, text) {
158     return addElementWithText(parent, 'td', text);
159 }
160
161 function addParaWithText(parent, text) {
162     return addElementWithText(parent, 'p', text);
163 }
164
165 function setText(element, text) {
166     deleteChildren(element);
167     element.appendChild(document.createTextNode(text));
168 }