54 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' }); |
54 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' }); |
55 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); |
55 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); |
56 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' }); |
56 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' }); |
57 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' }); |
57 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' }); |
58 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); |
58 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); |
|
59 $('#balance').jqxTooltip({ content: 'De ionen balans van het water. Ideaal minder dan 0.1 verschil tussen kationen en anionen. Meer dan 0.5 is een fout in het waterraport.' }); |
59 $('#inventory').jqxTooltip({ content: 'Voorraad in liters.' }); |
60 $('#inventory').jqxTooltip({ content: 'Voorraad in liters.' }); |
60 $('#cost').jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' }); |
61 $('#cost').jqxTooltip({ content: 'Kostprijs per liter. 5 cijfers achter de comma zodat het kraanwater er ook in kan.' }); |
61 |
62 |
62 var dataRecord = {}, |
63 var dataRecord = {}, |
63 url = 'includes/db_inventory_water.php', |
64 url = 'includes/db_inventory_water.php', |
149 $('#chloride').jqxNumberInput(Spin1dec); |
150 $('#chloride').jqxNumberInput(Spin1dec); |
150 $('#sodium').jqxNumberInput(Spin1dec); |
151 $('#sodium').jqxNumberInput(Spin1dec); |
151 $('#magnesium').jqxNumberInput(Spin1dec); |
152 $('#magnesium').jqxNumberInput(Spin1dec); |
152 $('#ph').jqxNumberInput(Spin2pH); |
153 $('#ph').jqxNumberInput(Spin2pH); |
153 $('#total_alkalinity').jqxNumberInput(Spin1dec); |
154 $('#total_alkalinity').jqxNumberInput(Spin1dec); |
|
155 $('#balance').jqxNumberInput(Show2dec); |
154 $('#inventory').jqxNumberInput(Spin1dec); |
156 $('#inventory').jqxNumberInput(Spin1dec); |
155 $('#cost').jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true }); |
157 $('#cost').jqxNumberInput({inputMode: 'simple', theme: theme, width: 110, height: 23, min: 0, decimalDigits: 5, spinButtons: true }); |
156 |
158 |
157 // initialize jqxGrid |
159 // initialize jqxGrid |
158 $('#jqxgrid').jqxGrid({ |
160 $('#jqxgrid').jqxGrid({ |
229 $('#notes').val(dataRecord.notes); |
231 $('#notes').val(dataRecord.notes); |
230 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
232 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
231 $('#inventory').val(dataRecord.inventory); |
233 $('#inventory').val(dataRecord.inventory); |
232 $('#cost').val(dataRecord.cost); |
234 $('#cost').val(dataRecord.cost); |
233 // show the popup window. |
235 // show the popup window. |
|
236 calcBalance(); |
234 $('#popupWindow').jqxWindow('open'); |
237 $('#popupWindow').jqxWindow('open'); |
235 } |
238 } |
236 } |
239 } |
237 ] |
240 ] |
238 }); |
241 }); |
239 |
242 |
|
243 function calcBalance() { |
|
244 var cations = (dataRecord.calcium / 20.039) + (dataRecord.magnesium / 12.1525) + (dataRecord.sodium / 22.989); |
|
245 var anions = (dataRecord.bicarbonate / 61.016) + (dataRecord.sulfate / 48.031) + (dataRecord.chloride / 35.4527); |
|
246 var balance = Round(cations - anions, 2); |
|
247 $('#balance').val(balance); |
|
248 if (balance <= 0.1 && balance >= -0.1) |
|
249 $('#wr_balance').html("<img src='images/dialog-ok-apply.png'>"); |
|
250 else if (balance <= 0.5 && balance >= -0.5) |
|
251 $('#wr_balance').html("<img src='images/dialog-ok.png'>"); |
|
252 else |
|
253 $('#wr_balance').html("<img src='images/dialog-error.png'>"); |
|
254 } |
|
255 |
|
256 $('#calcium').on('change', function(event) { |
|
257 dataRecord.calcium = parseFloat(event.args.value); |
|
258 calcBalance(); |
|
259 }); |
|
260 $('#magnesium').on('change', function(event) { |
|
261 dataRecord.magnesium = parseFloat(event.args.value); |
|
262 calcBalance(); |
|
263 }); |
|
264 $('#sodium').on('change', function(event) { |
|
265 dataRecord.sodium = parseFloat(event.args.value); |
|
266 calcBalance(); |
|
267 }); |
240 $('#total_alkalinity').on('change', function(event) { |
268 $('#total_alkalinity').on('change', function(event) { |
|
269 dataRecord.total_alkalinity = parseFloat(event.args.value); |
241 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; |
270 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; |
242 $('#bicarbonate').val(dataRecord.bicarbonate); |
271 $('#bicarbonate').val(dataRecord.bicarbonate); |
|
272 calcBalance(); |
243 }); |
273 }); |
244 $('#bicarbonate').on('change', function(event) { |
274 $('#bicarbonate').on('change', function(event) { |
|
275 dataRecord.bicarbonate = parseFloat(event.args.value); |
245 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; |
276 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; |
246 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
277 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
|
278 calcBalance(); |
|
279 }); |
|
280 $('#sulfate').on('change', function(event) { |
|
281 dataRecord.sulfate = parseFloat(event.args.value); |
|
282 calcBalance(); |
|
283 }); |
|
284 $('#chloride').on('change', function(event) { |
|
285 dataRecord.chloride = parseFloat(event.args.value); |
|
286 calcBalance(); |
247 }); |
287 }); |
248 |
288 |
249 // initialize the popup window and buttons. |
289 // initialize the popup window and buttons. |
250 $('#popupWindow').jqxWindow({ |
290 $('#popupWindow').jqxWindow({ |
251 width: 1050, |
291 width: 1050, |