120 $("#ok_supplies").html("<img src='images/dialog-ok-apply.png'>"); |
120 $("#ok_supplies").html("<img src='images/dialog-ok-apply.png'>"); |
121 else |
121 else |
122 $("#ok_supplies").html("<img src='images/dialog-error.png'>"); |
122 $("#ok_supplies").html("<img src='images/dialog-error.png'>"); |
123 } |
123 } |
124 |
124 |
|
125 |
125 /* |
126 /* |
126 * All calculations that depend on changes in the fermentables, |
127 * All calculations that depend on changes in the fermentables, |
127 * volumes and equipments. |
128 * volumes and equipments. |
128 */ |
129 */ |
129 function calcFermentables() { |
130 function calcFermentables() { |
138 var vol = 0; // Volume sugars after boil |
139 var vol = 0; // Volume sugars after boil |
139 var addedS = 0; // Added sugars after boil |
140 var addedS = 0; // Added sugars after boil |
140 var addedmass = 0; // Added mass after boil |
141 var addedmass = 0; // Added mass after boil |
141 var mvol = 0; // mash volume |
142 var mvol = 0; // mash volume |
142 var colort = 0; // Colors srm * vol totals |
143 var colort = 0; // Colors srm * vol totals |
|
144 var colorh = 0; // Colors ebc * vol * kt |
143 var my_100 = false; |
145 var my_100 = false; |
144 var mashtime = 0; // Total mash time |
146 var mashtime = 0; // Total mash time |
145 var mashtemp = 0; // Average mash temperature |
147 var mashtemp = 0; // Average mash temperature |
|
148 var bv = 0.925; // Bierverlies rendement |
|
149 var sr = 0.95; // Mash en spoel rendement |
146 |
150 |
147 if ((rows = $('#mashGrid').jqxGrid('getrows'))) { |
151 if ((rows = $('#mashGrid').jqxGrid('getrows'))) { |
148 for (var i = 0; i < rows.length; i++) { |
152 for (var i = 0; i < rows.length; i++) { |
149 var row = rows[i]; |
153 var row = rows[i]; |
150 if (row.step_type == 0) // Infusion |
154 if (row.step_type == 0) // Infusion |
187 addedS += row.f_amount * x; |
191 addedS += row.f_amount * x; |
188 addedmass += row.f_amount; |
192 addedmass += row.f_amount; |
189 vol += (x * sugardensity + (1 - x) * 1) * row.f_amount; |
193 vol += (x * sugardensity + (1 - x) * 1) * row.f_amount; |
190 } |
194 } |
191 colort += row.f_amount * ebc_to_srm(row.f_color); |
195 colort += row.f_amount * ebc_to_srm(row.f_color); |
|
196 colorh += row.f_amount * row.f_color * get_kt(row.f_color); |
192 // Check supplies. |
197 // Check supplies. |
193 if ((((dataRecord.inventory_reduced <= 2) && (row.f_added <= 1)) || // Mash or boil |
198 if ((((dataRecord.inventory_reduced <= 2) && (row.f_added <= 1)) || // Mash or boil |
194 ((dataRecord.inventory_reduced <= 3) && (row.f_added == 2)) || // Primary |
199 ((dataRecord.inventory_reduced <= 3) && (row.f_added == 2)) || // Primary |
195 ((dataRecord.inventory_reduced <= 5) && (row.f_added == 3)) || // Secondary or Tertiary |
200 ((dataRecord.inventory_reduced <= 5) && (row.f_added == 3)) || // Secondary or Tertiary |
196 ((dataRecord.inventory_reduced <= 6) && (row.f_added == 4))) && row.f_inventory < row.f_amount) { |
201 ((dataRecord.inventory_reduced <= 6) && (row.f_added == 4))) && row.f_inventory < row.f_amount) { |
253 if ((dataRecord.brew_fermenter_volume * ogx + addedmass) > 0) { |
258 if ((dataRecord.brew_fermenter_volume * ogx + addedmass) > 0) { |
254 var pt = 100 * sug / (dataRecord.brew_fermenter_volume * ogx + addedmass + top); |
259 var pt = 100 * sug / (dataRecord.brew_fermenter_volume * ogx + addedmass + top); |
255 dataRecord.brew_fermenter_sg = Math.round(plato_to_sg(pt) * 10000) / 10000; |
260 dataRecord.brew_fermenter_sg = Math.round(plato_to_sg(pt) * 10000) / 10000; |
256 $("#brew_fermenter_sg").val(dataRecord.brew_fermenter_sg); |
261 $("#brew_fermenter_sg").val(dataRecord.brew_fermenter_sg); |
257 // color |
262 // color |
258 var cw = colort / (aboil_volume + top) * 8.34436; |
263 if (dataRecord.color_method == 3) { |
259 dataRecord.brew_fermenter_color = kw_to_ebc(dataRecord.color_method, cw); |
264 dataRecord.brew_fermenter_color = Math.round((4.46 * bv * sr) / (aboil_volume + top) * colorh); |
|
265 } else { |
|
266 var cw = colort / (aboil_volume + top) * 8.34436; |
|
267 dataRecord.brew_fermenter_color = kw_to_ebc(dataRecord.color_method, cw); |
|
268 } |
260 $("#brew_fermenter_color").val(dataRecord.brew_fermenter_color); |
269 $("#brew_fermenter_color").val(dataRecord.brew_fermenter_color); |
261 var scolor = ebc_to_color(dataRecord.brew_fermenter_color); |
270 var scolor = ebc_to_color(dataRecord.brew_fermenter_color); |
262 $("#bcolorf").show(); |
271 $("#bcolorf").show(); |
263 document.getElementById("bcolorf").style.background= scolor; |
272 document.getElementById("bcolorf").style.background= scolor; |
264 } |
273 } |
269 $("#brew_fermenter_color").val(0); |
278 $("#brew_fermenter_color").val(0); |
270 $("#bcolorf").hide(); |
279 $("#bcolorf").hide(); |
271 } |
280 } |
272 |
281 |
273 // Color of the wort |
282 // Color of the wort |
274 var cw = colort / parseFloat(dataRecord.batch_size) * 8.34436; |
283 if (dataRecord.color_method == 3) { // Hans Halberstadt |
275 var color = kw_to_ebc(dataRecord.color_method, cw); |
284 var color = Math.round((4.46 * bv * sr) / parseFloat(dataRecord.batch_size) * colorh); |
|
285 } else { |
|
286 var cw = colort / parseFloat(dataRecord.batch_size) * 8.34436; |
|
287 var color = kw_to_ebc(dataRecord.color_method, cw); |
|
288 } |
276 dataRecord.est_color = color; |
289 dataRecord.est_color = color; |
277 $('#est_color').val(color); |
290 $('#est_color').val(color); |
278 $('#est_color2').val(color); |
291 $('#est_color2').val(color); |
279 var scolor = ebc_to_color(color); |
292 var scolor = ebc_to_color(color); |
280 document.getElementById("bcolor").style.background= scolor; |
293 document.getElementById("bcolor").style.background= scolor; |