129 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' }); |
129 $('#chloride').jqxTooltip({ content: 'Chloride (Cl).' }); |
130 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); |
130 $('#sodium').jqxTooltip({ content: 'Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium.' }); |
131 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' }); |
131 $('#magnesium').jqxTooltip({ content: 'Magnesium (Mg).' }); |
132 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' }); |
132 $('#ph').jqxTooltip({ content: 'De zuurgraad (pH).' }); |
133 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); |
133 $('#total_alkalinity').jqxTooltip({ content: 'Totale alkaliniteit. Berekend meteen de Bicarbonaat.' }); |
|
134 $('#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.' }); |
134 |
135 |
135 // initialize the input fields. |
136 // initialize the input fields. |
136 $('#name').jqxInput({ theme: theme, width: 640, height: 23 }); |
137 $('#name').jqxInput({ theme: theme, width: 640, height: 23 }); |
137 $('#notes').jqxInput({ theme: theme, width: 800, height: 100 }); |
138 $('#notes').jqxInput({ theme: theme, width: 800, height: 100 }); |
138 $('#calcium').jqxNumberInput(Spin1dec); |
139 $('#calcium').jqxNumberInput(Spin1dec); |
141 $('#chloride').jqxNumberInput(Spin1dec); |
142 $('#chloride').jqxNumberInput(Spin1dec); |
142 $('#sodium').jqxNumberInput(Spin1dec); |
143 $('#sodium').jqxNumberInput(Spin1dec); |
143 $('#magnesium').jqxNumberInput(Spin1dec); |
144 $('#magnesium').jqxNumberInput(Spin1dec); |
144 $('#ph').jqxNumberInput(Spin2pH); |
145 $('#ph').jqxNumberInput(Spin2pH); |
145 $('#total_alkalinity').jqxNumberInput(Spin1dec); |
146 $('#total_alkalinity').jqxNumberInput(Spin1dec); |
|
147 $('#balance').jqxNumberInput(Show2dec); |
146 |
148 |
147 // initialize jqxGrid |
149 // initialize jqxGrid |
148 $('#jqxgrid').jqxGrid({ |
150 $('#jqxgrid').jqxGrid({ |
149 width: 1280, |
151 width: 1280, |
150 height: 630, |
152 height: 630, |
204 $('#sodium').val(dataRecord.sodium); |
206 $('#sodium').val(dataRecord.sodium); |
205 $('#magnesium').val(dataRecord.magnesium); |
207 $('#magnesium').val(dataRecord.magnesium); |
206 $('#ph').val(dataRecord.ph); |
208 $('#ph').val(dataRecord.ph); |
207 $('#notes').val(dataRecord.notes); |
209 $('#notes').val(dataRecord.notes); |
208 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
210 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
|
211 calcBalance(); |
209 // show the popup window. |
212 // show the popup window. |
210 $('#popupWindow').jqxWindow('open'); |
213 $('#popupWindow').jqxWindow('open'); |
211 } |
214 } |
212 } |
215 } |
213 ] |
216 ] |
214 }); |
217 }); |
215 |
218 |
|
219 function calcBalance() { |
|
220 var cations = (dataRecord.calcium / 20.039) + (dataRecord.magnesium / 12.1525) + (dataRecord.sodium / 22.989); |
|
221 var anions = (dataRecord.bicarbonate / 61.016) + (dataRecord.sulfate / 48.031) + (dataRecord.chloride / 35.4527); |
|
222 var balance = Round(cations - anions, 2); |
|
223 $('#balance').val(balance); |
|
224 if (balance <= 0.1 && balance >= -0.1) |
|
225 $('#wr_balance').html("<img src='images/dialog-ok-apply.png'>"); |
|
226 else if (balance <= 0.5 && balance >= -0.5) |
|
227 $('#wr_balance').html("<img src='images/dialog-ok.png'>"); |
|
228 else |
|
229 $('#wr_balance').html("<img src='images/dialog-error.png'>"); |
|
230 } |
|
231 |
|
232 $('#calcium').on('change', function(event) { |
|
233 dataRecord.calcium = parseFloat(event.args.value); |
|
234 calcBalance(); |
|
235 }); |
|
236 $('#magnesium').on('change', function(event) { |
|
237 dataRecord.magnesium = parseFloat(event.args.value); |
|
238 calcBalance(); |
|
239 }); |
|
240 $('#sodium').on('change', function(event) { |
|
241 dataRecord.sodium = parseFloat(event.args.value); |
|
242 calcBalance(); |
|
243 }); |
216 $('#total_alkalinity').on('change', function(event) { |
244 $('#total_alkalinity').on('change', function(event) { |
|
245 dataRecord.total_alkalinity = parseFloat(event.args.value); |
217 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; |
246 dataRecord.bicarbonate = parseFloat(event.args.value) * 1.22; |
218 $('#bicarbonate').val(dataRecord.bicarbonate); |
247 $('#bicarbonate').val(dataRecord.bicarbonate); |
|
248 calcBalance(); |
219 }); |
249 }); |
220 $('#bicarbonate').on('change', function(event) { |
250 $('#bicarbonate').on('change', function(event) { |
|
251 dataRecord.bicarbonate = parseFloat(event.args.value); |
221 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; |
252 dataRecord.total_alkalinity = parseFloat(event.args.value) * 50 / 61; |
222 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
253 $('#total_alkalinity').val(dataRecord.total_alkalinity); |
|
254 calcBalance(); |
|
255 }); |
|
256 $('#sulfate').on('change', function(event) { |
|
257 dataRecord.sulfate = parseFloat(event.args.value); |
|
258 calcBalance(); |
|
259 }); |
|
260 $('#chloride').on('change', function(event) { |
|
261 dataRecord.chloride = parseFloat(event.args.value); |
|
262 calcBalance(); |
223 }); |
263 }); |
224 |
264 |
225 // initialize the popup window and buttons. |
265 // initialize the popup window and buttons. |
226 $('#popupWindow').jqxWindow({ |
266 $('#popupWindow').jqxWindow({ |
227 width: 1050, |
267 width: 1050, |