www/js/prod_edit.js

changeset 633
ec4601ab3ed2
parent 623
4aee10bcb94e
child 634
903f4247f62b
equal deleted inserted replaced
632:8a2f2e76c727 633:ec4601ab3ed2
722 } 722 }
723 calcFermentables(); 723 calcFermentables();
724 calcIBUs(); 724 calcIBUs();
725 }); 725 });
726 }, 726 },
727 ready: function() { 727 ready: function() { $('#jqxTabs').jqxTabs('next'); },
728 calcFermentables();
729 $('#jqxTabs').jqxTabs('next');
730 },
731 columns: [ 728 columns: [
732 { text: 'Vergistbaar ingrediënt', datafield: 'f_name', 729 { text: 'Vergistbaar ingrediënt', datafield: 'f_name',
733 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { 730 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
734 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + rowdata.f_supplier + ' / ' + 731 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + rowdata.f_supplier + ' / ' +
735 rowdata.f_name + ' (' + rowdata.f_color + ' EBC)</span>'; 732 rowdata.f_name + ' (' + rowdata.f_color + ' EBC)</span>';
920 $('#hopGrid').jqxGrid('deleterow', id); 917 $('#hopGrid').jqxGrid('deleterow', id);
921 } 918 }
922 calcIBUs(); 919 calcIBUs();
923 }); 920 });
924 }, 921 },
925 ready: function() { 922 ready: function() { $('#jqxTabs').jqxTabs('next'); },
926 whirlpoolHops();
927 calcIBUs();
928 $('#jqxTabs').jqxTabs('next');
929 },
930 columns: [ 923 columns: [
931 { text: 'Hop', datafield: 'h_name', 924 { text: 'Hop', datafield: 'h_name',
932 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { 925 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
933 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + rowdata.h_origin + ' / ' + rowdata.h_name + '</span>'; 926 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + rowdata.h_origin + ' / ' + rowdata.h_name + '</span>';
934 }, 927 },
1178 id = $('#miscGrid').jqxGrid('getrowid', selectedrowindex); 1171 id = $('#miscGrid').jqxGrid('getrowid', selectedrowindex);
1179 $('#miscGrid').jqxGrid('deleterow', id); 1172 $('#miscGrid').jqxGrid('deleterow', id);
1180 } 1173 }
1181 }); 1174 });
1182 }, 1175 },
1183 ready: function() { 1176 ready: function() { $('#jqxTabs').jqxTabs('next'); },
1184 calcMiscs();
1185 $('#jqxTabs').jqxTabs('next');
1186 },
1187 columns: [ 1177 columns: [
1188 { text: 'Ingredient', datafield: 'm_name' }, 1178 { text: 'Ingredient', datafield: 'm_name' },
1189 { text: 'Type', width: 140, datafield: 'm_type', 1179 { text: 'Type', width: 140, datafield: 'm_type',
1190 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) { 1180 cellsrenderer: function(index, datafield, value, defaultvalue, column, rowdata) {
1191 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + MiscTypeData[value].nl + '</span>'; 1181 return '<span style="margin: 3px; margin-top: 6px; float: left;">' + MiscTypeData[value].nl + '</span>';
1388 calcViability(); 1378 calcViability();
1389 calcYeast(); 1379 calcYeast();
1390 } 1380 }
1391 }); 1381 });
1392 }, 1382 },
1393 ready: function() { 1383 ready: function() { $('#jqxTabs').jqxTabs('next'); },
1394 calcFermentables();
1395 showStarter();
1396 calcYeast();
1397 $('#jqxTabs').jqxTabs('next');
1398 },
1399 columns: [ 1384 columns: [
1400 { text: 'Gist', datafield: 'y_name' }, 1385 { text: 'Gist', datafield: 'y_name' },
1401 { text: 'Laboratorium', width: 150, datafield: 'y_laboratory' }, 1386 { text: 'Laboratorium', width: 150, datafield: 'y_laboratory' },
1402 { text: 'Code', width: 90, datafield: 'y_product_id' }, 1387 { text: 'Code', width: 90, datafield: 'y_product_id' },
1403 { text: 'Soort', width: 100, datafield: 'y_form', 1388 { text: 'Soort', width: 100, datafield: 'y_form',
1568 $('#mashGrid').jqxGrid('deleterow', id); 1553 $('#mashGrid').jqxGrid('deleterow', id);
1569 } 1554 }
1570 }); 1555 });
1571 }, 1556 },
1572 ready: function() { 1557 ready: function() {
1558 /* Calculate the whole recipe */
1559 calcFermentables();
1560 whirlpoolHops();
1561 calcIBUs();
1562 calcMiscs();
1563 showStarter();
1564 calcYeast();
1573 calcInit(); 1565 calcInit();
1574 calcMash(); 1566 calcMash();
1575 $('#jqxLoader').jqxLoader('close'); 1567 $('#jqxLoader').jqxLoader('close');
1576 $('#jqxTabs').jqxTabs('first'); 1568 $('#jqxTabs').jqxTabs('first');
1577 }, 1569 },
1769 } 1761 }
1770 } 1762 }
1771 if (mashtime > 5) 1763 if (mashtime > 5)
1772 mashtime -= 5; //Correct last ramp > 75 1764 mashtime -= 5; //Correct last ramp > 75
1773 mashtemp = Round(mashtemp / mashtime, 2); 1765 mashtemp = Round(mashtemp / mashtime, 2);
1766 } else {
1767 console.log("calcFermentables() mashGrid not loaded");
1774 } 1768 }
1775 1769
1776 if (!(rows = $('#fermentableGrid').jqxGrid('getrows'))) { 1770 if (!(rows = $('#fermentableGrid').jqxGrid('getrows'))) {
1771 console.log("calcFermentables() fermentableGrid not loaded");
1777 return; // grid not yet loaded. 1772 return; // grid not yet loaded.
1778 } 1773 }
1779 1774
1780 for (i = 0; i < rows.length; i++) { 1775 for (i = 0; i < rows.length; i++) {
1781 row = rows[i]; 1776 row = rows[i];
1831 } 1826 }
1832 } 1827 }
1833 fermentableInit = 0; 1828 fermentableInit = 0;
1834 $('#ferm_lintner').val(Math.round(parseFloat(lintner / mashkg))); 1829 $('#ferm_lintner').val(Math.round(parseFloat(lintner / mashkg)));
1835 $('#mash_kg').val(mashkg); 1830 $('#mash_kg').val(mashkg);
1836 console.log('calcFermentables() supplies:' + ok_fermentables + ' moutsuiker:' + sugarsm + '/' + sugarsf); 1831 console.log('calcFermentables() supplies:' + ok_fermentables + ' moutsuiker:' + Round(sugarsm, 3) + '/' + Round(sugarsf, 3));
1837 to_100 = my_100; 1832 to_100 = my_100;
1838 if (to_100) { 1833 if (to_100) {
1839 $('#wf_amount').jqxNumberInput({ width: 90, readOnly: true, spinButtons: false }); 1834 $('#wf_amount').jqxNumberInput({ width: 90, readOnly: true, spinButtons: false });
1840 } else { 1835 } else {
1841 $('#wf_amount').jqxNumberInput({ width: 110, readOnly: false, spinButtons: true }); 1836 $('#wf_amount').jqxNumberInput({ width: 110, readOnly: false, spinButtons: true });
2176 egrams = (dataRecord.starter_sg - 1) * svol * gperpoint, 2171 egrams = (dataRecord.starter_sg - 1) * svol * gperpoint,
2177 grate = getGrowthRate(stype, start, egrams), 2172 grate = getGrowthRate(stype, start, egrams),
2178 ncells = Round(egrams * grate, 1), 2173 ncells = Round(egrams * grate, 1),
2179 totcells = parseFloat(ncells) + start; 2174 totcells = parseFloat(ncells) + start;
2180 2175
2181 //console.log('svol:' + svol + ' start:' + start + ' irate:' + irate + ' egrams:' + egrams + ' grate:' + grate + ' ncells:' + ncells);
2182 return { 2176 return {
2183 svol: svol, 2177 svol: svol,
2184 irate: irate, 2178 irate: irate,
2185 prate: Round(prate, 1), 2179 prate: Round(prate, 1),
2186 ncells: ncells, 2180 ncells: ncells,
2207 */ 2201 */
2208 if ((parseFloat($('#prop1_volume').jqxNumberInput('decimal')) + parseFloat($('#prop2_volume').jqxNumberInput('decimal')) + 2202 if ((parseFloat($('#prop1_volume').jqxNumberInput('decimal')) + parseFloat($('#prop2_volume').jqxNumberInput('decimal')) +
2209 parseFloat($('#prop3_volume').jqxNumberInput('decimal')) + parseFloat($('#prop4_volume').jqxNumberInput('decimal'))) == 0) { 2203 parseFloat($('#prop3_volume').jqxNumberInput('decimal')) + parseFloat($('#prop4_volume').jqxNumberInput('decimal'))) == 0) {
2210 // clear by default 2204 // clear by default
2211 for (i = 1; i < 5; i++) { 2205 for (i = 1; i < 5; i++) {
2212 $('#prop' + i + '_type').hide(); 2206 $('#prop' + i + '_type,#prop' + i + '_volume,#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells,#prop' + i + '_growf').hide();
2213 $('#r' + i + '_pmpt').show(); 2207 $('#r' + i + '_pmpt').show();
2214 $('#prop' + i + '_type').val(stype); 2208 $('#prop' + i + '_type').val(stype);
2215 $('#prop' + i + '_volume').hide();
2216 $('#prop' + i + '_volume').val(0); 2209 $('#prop' + i + '_volume').val(0);
2217 $('#prop' + i + '_irate').hide();
2218 $('#prop' + i + '_ncells').hide();
2219 $('#prop' + i + '_tcells').hide();
2220 $('#prop' + i + '_growf').hide();
2221 } 2210 }
2222 if (start > needed) { 2211 if (start > needed) {
2223 return; // no starter needed 2212 return; // no starter needed
2224 } 2213 }
2225 $('#prop1_type').show(); 2214 $('#prop1_type,#prop1_volume,#prop1_irate,#prop1_ncells,#prop1_tcells,#prop1_growf').show();
2226 $('#r1_pmpt').hide(); 2215 $('#r1_pmpt').hide();
2227 $('#prop1_volume').show();
2228 $('#prop1_irate').show();
2229 $('#prop1_ncells').show();
2230 $('#prop1_tcells').show();
2231 $('#prop1_growf').show();
2232 for (i = lasti; i <= mvols; i++) { 2216 for (i = lasti; i <= mvols; i++) {
2233 lasti = i; 2217 lasti = i;
2234 svol = uvols[lasti]; 2218 svol = uvols[lasti];
2235 result = calcStep(svol, stype, start); 2219 result = calcStep(svol, stype, start);
2236 if (result.irate < 25) { 2220 if (result.irate < 25) {
2253 return; // hit the target 2237 return; // hit the target
2254 2238
2255 // second stage 2239 // second stage
2256 $('#r2_pmpt').hide(); 2240 $('#r2_pmpt').hide();
2257 $('#prop2_type').val(stype); 2241 $('#prop2_type').val(stype);
2258 $('#prop2_type').show(); 2242 $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').show();
2259 $('#prop2_volume').show();
2260 $('#prop2_irate').show();
2261 $('#prop2_ncells').show();
2262 $('#prop2_tcells').show();
2263 $('#prop2_growf').show();
2264 for (i = lasti; i <= mvols; i++) { 2243 for (i = lasti; i <= mvols; i++) {
2265 lasti = i; 2244 lasti = i;
2266 svol = uvols[lasti]; 2245 svol = uvols[lasti];
2267 result = calcStep(svol, stype, $('#prop1_tcells').val()); 2246 result = calcStep(svol, stype, $('#prop1_tcells').val());
2268 if (result.irate < 25) { 2247 if (result.irate < 25) {
2284 return; // hit the target 2263 return; // hit the target
2285 2264
2286 // third stage 2265 // third stage
2287 $('#r3_pmpt').hide(); 2266 $('#r3_pmpt').hide();
2288 $('#prop3_type').val(stype); 2267 $('#prop3_type').val(stype);
2289 $('#prop3_type').show(); 2268 $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').show();
2290 $('#prop3_volume').show();
2291 $('#prop3_irate').show();
2292 $('#prop3_ncells').show();
2293 $('#prop3_tcells').show();
2294 $('#prop3_growf').show();
2295 for (i = lasti; i <= mvols; i++) { 2269 for (i = lasti; i <= mvols; i++) {
2296 lasti = i; 2270 lasti = i;
2297 svol = uvols[lasti]; 2271 svol = uvols[lasti];
2298 result = calcStep(svol, stype, $('#prop2_tcells').val()); 2272 result = calcStep(svol, stype, $('#prop2_tcells').val());
2299 if (result.irate < 25) { 2273 if (result.irate < 25) {
2315 return; // hit the target 2289 return; // hit the target
2316 2290
2317 // fourth stage 2291 // fourth stage
2318 $('#r4_pmpt').hide(); 2292 $('#r4_pmpt').hide();
2319 $('#prop4_type').val(stype); 2293 $('#prop4_type').val(stype);
2320 $('#prop4_type').show(); 2294 $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').show();
2321 $('#prop4_volume').show();
2322 $('#prop4_irate').show();
2323 $('#prop4_ncells').show();
2324 $('#prop4_tcells').show();
2325 $('#prop4_growf').show();
2326 for (i = lasti; i <= mvols; i++) { 2295 for (i = lasti; i <= mvols; i++) {
2327 lasti = i; 2296 lasti = i;
2328 svol = uvols[lasti]; 2297 svol = uvols[lasti];
2329 result = calcStep(svol, stype, $('#prop3_tcells').val()); 2298 result = calcStep(svol, stype, $('#prop3_tcells').val());
2330 if (result.totcells > needed || i == mvols) { // hit the target or loops done 2299 if (result.totcells > needed || i == mvols) { // hit the target or loops done
2338 } 2307 }
2339 } else { 2308 } else {
2340 // recalculate 2309 // recalculate
2341 if (dataRecord.prop1_volume > 0) { 2310 if (dataRecord.prop1_volume > 0) {
2342 $('#r1_pmpt').hide(); 2311 $('#r1_pmpt').hide();
2343 $('#prop1_type').show(); 2312 $('#prop1_type,#prop1_volume,#prop1_irate,#prop1_ncells,#prop1_tcells,#prop1_growf').show();
2344 $('#prop1_volume').show();
2345 $('#prop1_irate').show();
2346 $('#prop1_ncells').show();
2347 $('#prop1_tcells').show();
2348 $('#prop1_growf').show();
2349 result = calcStep($('#prop1_volume').val() * 1000, dataRecord.prop1_type, start); 2313 result = calcStep($('#prop1_volume').val() * 1000, dataRecord.prop1_type, start);
2350 $('#prop1_irate').val(result.prate); 2314 $('#prop1_irate').val(result.prate);
2351 $('#prop1_ncells').val(result.ncells); 2315 $('#prop1_ncells').val(result.ncells);
2352 $('#prop1_tcells').val(result.totcells); 2316 $('#prop1_tcells').val(result.totcells);
2353 $('#prop1_growf').val(result.growf); 2317 $('#prop1_growf').val(result.growf);
2354 } 2318 }
2355 if (dataRecord.prop2_volume > 0) { 2319 if (dataRecord.prop2_volume > 0) {
2356 $('#r2_pmpt').hide(); 2320 $('#r2_pmpt').hide();
2357 $('#prop2_type').show(); 2321 $('#prop2_type,#prop2_volume,#prop2_irate,#prop2_ncells,#prop2_tcells,#prop2_growf').show();
2358 $('#prop2_volume').show();
2359 $('#prop2_irate').show();
2360 $('#prop2_ncells').show();
2361 $('#prop2_tcells').show();
2362 $('#prop2_growf').show();
2363 result = calcStep($('#prop2_volume').val() * 1000, dataRecord.prop2_type, $('#prop1_tcells').val()); 2322 result = calcStep($('#prop2_volume').val() * 1000, dataRecord.prop2_type, $('#prop1_tcells').val());
2364 $('#prop2_irate').val(result.prate); 2323 $('#prop2_irate').val(result.prate);
2365 $('#prop2_ncells').val(result.ncells); 2324 $('#prop2_ncells').val(result.ncells);
2366 $('#prop2_tcells').val(result.totcells); 2325 $('#prop2_tcells').val(result.totcells);
2367 $('#prop2_growf').val(result.growf); 2326 $('#prop2_growf').val(result.growf);
2368 } 2327 }
2369 if (dataRecord.prop3_volume > 0) { 2328 if (dataRecord.prop3_volume > 0) {
2370 $('#r3_pmpt').hide(); 2329 $('#r3_pmpt').hide();
2371 $('#prop3_type').show(); 2330 $('#prop3_type,#prop3_volume,#prop3_irate,#prop3_ncells,#prop3_tcells,#prop3_growf').show();
2372 $('#prop3_volume').show();
2373 $('#prop3_irate').show();
2374 $('#prop3_ncells').show();
2375 $('#prop3_tcells').show();
2376 $('#prop3_growf').show();
2377 result = calcStep($('#prop3_volume').val() * 1000, dataRecord.prop3_type, $('#prop2_tcells').val()); 2331 result = calcStep($('#prop3_volume').val() * 1000, dataRecord.prop3_type, $('#prop2_tcells').val());
2378 $('#prop3_irate').val(result.prate); 2332 $('#prop3_irate').val(result.prate);
2379 $('#prop3_ncells').val(result.ncells); 2333 $('#prop3_ncells').val(result.ncells);
2380 $('#prop3_tcells').val(result.totcells); 2334 $('#prop3_tcells').val(result.totcells);
2381 $('#prop3_growf').val(result.growf); 2335 $('#prop3_growf').val(result.growf);
2382 } 2336 }
2383 if (dataRecord.prop4_volume > 0) { 2337 if (dataRecord.prop4_volume > 0) {
2384 $('#r4_pmpt').hide(); 2338 $('#r4_pmpt').hide();
2385 $('#prop4_type').show(); 2339 $('#prop4_type,#prop4_volume,#prop4_irate,#prop4_ncells,#prop4_tcells,#prop4_growf').show();
2386 $('#prop4_volume').show();
2387 $('#prop4_irate').show();
2388 $('#prop4_ncells').show();
2389 $('#prop4_tcells').show();
2390 $('#prop4_growf').show();
2391 result = calcStep($('#prop4_volume').val() * 1000, dataRecord.prop4_type, $('#prop3_tcells').val()); 2340 result = calcStep($('#prop4_volume').val() * 1000, dataRecord.prop4_type, $('#prop3_tcells').val());
2392 $('#prop4_irate').val(result.prate); 2341 $('#prop4_irate').val(result.prate);
2393 $('#prop4_ncells').val(result.ncells); 2342 $('#prop4_ncells').val(result.ncells);
2394 $('#prop4_tcells').val(result.totcells); 2343 $('#prop4_tcells').val(result.totcells);
2395 $('#prop4_growf').val(result.growf); 2344 $('#prop4_growf').val(result.growf);
2503 } 2452 }
2504 }; 2453 };
2505 2454
2506 function whirlpoolHops() { 2455 function whirlpoolHops() {
2507 var row, i, time, rowscount; 2456 var row, i, time, rowscount;
2457 console.log('whirlpoolHops()');
2508 if (!(rowscount = $('#hopGrid').jqxGrid('getdatainformation').rowscount)) 2458 if (!(rowscount = $('#hopGrid').jqxGrid('getdatainformation').rowscount))
2509 return; 2459 return;
2510 if (rowscount == 0) 2460 if (rowscount == 0)
2511 return; 2461 return;
2512 for (i = 0; i < rowscount; i++) { 2462 for (i = 0; i < rowscount; i++) {
3423 P = -1.09145427669121 + 0.00800006989646477 * T2 + 0.000260276315484684 * T2 * T2 + 0.0215142075945119 * T2 * V + 3373 P = -1.09145427669121 + 0.00800006989646477 * T2 + 0.000260276315484684 * T2 * T2 + 0.0215142075945119 * T2 * V +
3424 0.674996600795854 * V + -0.00471757220150754 * V * V; 3374 0.674996600795854 * V + -0.00471757220150754 * V * V;
3425 if (P < 0) 3375 if (P < 0)
3426 P = 0; 3376 P = 0;
3427 P = Round(P * 1.01325, 2); // atm to bar 3377 P = Round(P * 1.01325, 2); // atm to bar
3428 console.log("GetPressure(" + CO2 + ", " + T1 + ", " + T2 + ") V:" + V + " Bar: " + P); 3378 console.log("GetPressure(" + CO2 + ", " + T1 + ", " + T2 + ") V:" + V + " Bar: " + P + " ignored ResCO2: " + Round(ResCO2(CO2, T1), 2));
3429 return P; 3379 return P;
3430 } 3380 }
3431 3381
3432 function CarbCO2ToPressure(CO2, T) { 3382 function CarbCO2ToPressure(CO2, T) {
3433 return (CO2 - (-0.000005594056 * Math.pow(T, 4) + 0.000144357886 * Math.pow(T, 3) + 3383 return (CO2 - (-0.000005594056 * Math.pow(T, 4) + 0.000144357886 * Math.pow(T, 3) +
3734 $('#starter_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 }); 3684 $('#starter_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3735 } 3685 }
3736 } 3686 }
3737 3687
3738 function calcInit() { 3688 function calcInit() {
3739 console.log('calcInit()');
3740 3689
3741 calcMashEfficiency(); 3690 calcMashEfficiency();
3742 calcEfficiencyBeforeBoil(); 3691 calcEfficiencyBeforeBoil();
3743 calcEfficiencyAfterBoil(); 3692 calcEfficiencyAfterBoil();
3744 3693
3745 $('#starter_try').click(function() { 3694 $('#starter_try').click(function() {
3746 $('#prop1_volume').val(0); 3695 $('#prop1_volume,#prop2_volume,#prop3_volume,#prop4_volume').val(0);
3747 $('#prop2_volume').val(0);
3748 $('#prop3_volume').val(0);
3749 $('#prop4_volume').val(0);
3750 calcYeast(); 3696 calcYeast();
3751 }); 3697 });
3752 $('#starter_type').on('change', function(event) { 3698 $('#starter_type').on('change', function(event) {
3753 if (event.args) { 3699 if (event.args) {
3754 dataRecord.starter_type = event.args.index; 3700 dataRecord.starter_type = event.args.index;
3842 console.log('new: ' + event.args.value + ' w1: ' + dataRecord.w1_amount + ' w2: ' + dataRecord.w2_amount); 3788 console.log('new: ' + event.args.value + ' w1: ' + dataRecord.w1_amount + ' w2: ' + dataRecord.w2_amount);
3843 calcWater(); 3789 calcWater();
3844 }); 3790 });
3845 $('#wa_cacl2').on('change', function(event) { 3791 $('#wa_cacl2').on('change', function(event) {
3846 if (event.args) { 3792 if (event.args) {
3847 setWaterAgent('CaCl2', 0); // This can prevent double entries. 3793 setWaterAgent('CaCl2', 0); // This prevents double entries.
3848 setWaterAgent('CaCl2', event.args.value); 3794 setWaterAgent('CaCl2', event.args.value);
3849 calcWater(); 3795 calcWater();
3850 } 3796 }
3851 }); 3797 });
3852 $('#wa_caso4').on('change', function(event) { 3798 $('#wa_caso4').on('change', function(event) {
4538 dataAdapter.dataBind(); 4484 dataAdapter.dataBind();
4539 4485
4540 // initialize the input fields. 4486 // initialize the input fields.
4541 // Tab 1, Algemeen 4487 // Tab 1, Algemeen
4542 $('#name').jqxTooltip({ content: 'De naam voor dit product.' }); 4488 $('#name').jqxTooltip({ content: 'De naam voor dit product.' });
4489 $('#code').jqxTooltip({ content: 'Product code nummer.' });
4490 $('#birth').jqxTooltip({ content: 'De ontwerp datum van dit product.' });
4491 $('#stage').jqxTooltip({ content: 'De productie fase van dit product.' });
4492 $('#divide_batch').jqxTooltip({ content: 'Het aantal extra gesplitste batches.' });
4493 $('#divide_type').jqxTooltip({ content: 'Het splitsing moment in het productie proces.' });
4494 $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit product.' });
4495 $('#type').jqxTooltip({ content: 'Het brouw type van dit recept.' });
4496 $('#efficiency').jqxTooltip({ content: 'Het rendement van maischen en koken.' });
4497 $('#batch_size').jqxTooltip({ content: 'Het volume van het gekoelde wort na het koken.' });
4498 $('#boil_time').jqxTooltip({ content: 'De kooktijd in minuten.' });
4499 $('#boil_size').jqxTooltip({ content: 'Het volume van het wort voor het koken.' });
4500 $('#st_guide').jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
4501 $('#st_name').jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
4502 $('#st_letter').jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
4503 $('#st_letter').jqxInput({ theme: theme, width: 90, height: 23 });
4504 $('#st_type').jqxTooltip({ content: 'Het bierstijl type.'});
4505 $('#st_category').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
4506 $('#st_category_number').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
4507 $('#est_og').jqxTooltip({ content: 'Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend.' });
4508 $('#st_og_min').jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
4509 $('#st_og_max').jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
4510 $('#est_fg').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
4511 $('#st_fg_min').jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
4512 $('#st_fg_max').jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
4513 $('#est_abv').jqxTooltip({ content: 'Alcohol volume %. Dit wordt automatisch berekend.' });
4514 $('#st_abv_min').jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
4515 $('#st_abv_max').jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
4516 $('#est_color').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
4517 $('#st_color_min').jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
4518 $('#st_color_max').jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
4519 $('#est_ibu').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
4520 $('#st_ibu_min').jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
4521 $('#st_ibu_max').jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
4522 $('#kcal').jqxTooltip({ content: 'Energie-inhoud in kcal/liter.' });
4523 $('#est_carb').jqxTooltip({ content: 'Koolzuur volume. Dit wordt automatisch berekend.' });
4524 $('#st_carb_min').jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
4525 $('#st_carb_max').jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
4526
4543 $('#name').jqxInput({ theme: theme, width: 640, height: 23 }); 4527 $('#name').jqxInput({ theme: theme, width: 640, height: 23 });
4544 $('#code').jqxTooltip({ content: 'Product code nummer.' }); 4528 $('#code, #stage').jqxInput({ theme: theme, width: 100, height: 23 });
4545 $('#code').jqxInput({ theme: theme, width: 100, height: 23 });
4546 $('#birth').jqxTooltip({ content: 'De ontwerp datum van dit product.' });
4547 $('#birth').jqxInput({ theme: theme, width: 120, height: 23 });
4548 $('#stage').jqxTooltip({ content: 'De productie fase van dit product.' });
4549 $('#stage').jqxInput({ theme: theme, width: 100, height: 23 });
4550 $('#locked').jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true }); 4529 $('#locked').jqxCheckBox({ theme: theme, width: 120, height: 23, disabled: true });
4551 $('#locked').on('checked', function(event) { 4530 $('#locked').on('checked', function(event) {
4552 if (dataRecord.stage >= 10) { 4531 if (dataRecord.stage >= 10) {
4553 dataRecord.locked = 1; 4532 dataRecord.locked = 1;
4554 dataRecord.stage = 11; 4533 dataRecord.stage = 11;
4560 dataRecord.locked = 0; 4539 dataRecord.locked = 0;
4561 dataRecord.stage = 10; 4540 dataRecord.stage = 10;
4562 calcStage(); 4541 calcStage();
4563 } 4542 }
4564 }); 4543 });
4565 $('#divide_batch').jqxTooltip({ content: 'Het aantal extra gesplitste batches.' }); 4544 $('#birth,#divide_batch,#divide_type').jqxInput({ theme: theme, width: 120, height: 23 });
4566 $('#divide_type').jqxTooltip({ content: 'Het splitsing moment in het productie proces.' });
4567 $('#divide_batch,#divide_type').jqxInput({ theme: theme, width: 120, height: 23 });
4568
4569 $('#notes').jqxTooltip({ content: 'De uitgebreide opmerkingen over dit product.' });
4570 $('#notes').jqxInput({ theme: theme, width: 960, height: 100 }); 4545 $('#notes').jqxInput({ theme: theme, width: 960, height: 100 });
4571 $('#type').jqxTooltip({ content: 'Het brouw type van dit recept.' });
4572 $('#type').jqxDropDownList({ 4546 $('#type').jqxDropDownList({
4573 theme: theme, 4547 theme: theme,
4574 source: RecipeTypeAdapter, 4548 source: RecipeTypeAdapter,
4575 valueMember: 'id', 4549 valueMember: 'id',
4576 displayMember: 'nl', 4550 displayMember: 'nl',
4577 width: 180, 4551 width: 180,
4578 height: 23, 4552 height: 23,
4579 autoDropDownHeight: true 4553 autoDropDownHeight: true
4580 }); 4554 });
4581 $('#efficiency').jqxTooltip({ content: 'Het rendement van maischen en koken.' });
4582 $('#efficiency').jqxNumberInput(Perc1dec); 4555 $('#efficiency').jqxNumberInput(Perc1dec);
4583 $('#batch_size').jqxTooltip({ content: 'Het volume van het gekoelde wort na het koken.' });
4584 $('#batch_size').jqxNumberInput(Spin1dec); 4556 $('#batch_size').jqxNumberInput(Spin1dec);
4585 $('#batch_size').jqxNumberInput({ min: 4 }); 4557 $('#batch_size').jqxNumberInput({ min: 4 });
4586 $('#boil_time').jqxTooltip({ content: 'De kooktijd in minuten.' });
4587 $('#boil_time').jqxNumberInput(PosInt); 4558 $('#boil_time').jqxNumberInput(PosInt);
4588 $('#boil_time').jqxNumberInput({ min: 4, max: 360 }); 4559 $('#boil_time').jqxNumberInput({ min: 4, max: 360 });
4589 $('#boil_size').jqxTooltip({ content: 'Het volume van het wort voor het koken.' });
4590 $('#boil_size').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 2, readOnly: true }); 4560 $('#boil_size').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 90, height: 23, decimalDigits: 2, readOnly: true });
4591
4592 $('#st_guide').jqxTooltip({ content: 'De bierstijl gids voor dit recept.'});
4593 $('#st_name').jqxTooltip({ content: 'De bierstijl naam voor dit recept.'});
4594 $('#st_letter').jqxTooltip({ content: 'De bierstijl letter voor dit recept.'});
4595 $('#st_letter').jqxInput({ theme: theme, width: 90, height: 23 });
4596 $('#st_type').jqxTooltip({ content: 'Het bierstijl type.'});
4597 $('#st_category').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie.'});
4598 $('#st_category_number').jqxTooltip({ content: 'De Amerikaanse bierstijl categorie sub nummer.'});
4599 $('#st_guide,#st_name,#st_type,#st_category').jqxInput({ theme: theme, width: 250, height: 23 }); 4561 $('#st_guide,#st_name,#st_type,#st_category').jqxInput({ theme: theme, width: 250, height: 23 });
4600 $('#st_category_number').jqxNumberInput(Smal0dec);
4601
4602 $('#est_og').jqxTooltip({ content: 'Het begin SG wat je wilt bereiken. De moutstort wordt automatisch herberekend.' });
4603 $('#est_og').jqxNumberInput(SGopts); 4562 $('#est_og').jqxNumberInput(SGopts);
4604 $('#st_og_min').jqxTooltip({ content: 'Het minimum begin SG voor deze bierstijl.'});
4605 $('#st_og_max').jqxTooltip({ content: 'Het maximum begin SG voor deze bierstijl.'});
4606
4607 $('#est_fg').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
4608 $('#est_fg').jqxNumberInput(Show3dec); 4563 $('#est_fg').jqxNumberInput(Show3dec);
4609 $('#st_fg_min').jqxTooltip({ content: 'Het minimum eind SG voor deze bierstijl.'});
4610 $('#st_fg_max').jqxTooltip({ content: 'Het maximum eind SG voor deze bierstijl.'});
4611 $('#st_og_min,#st_og_max,#st_fg_min,#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true }); 4564 $('#st_og_min,#st_og_max,#st_fg_min,#st_fg_max').jqxNumberInput({ inputMode: 'simple', theme: theme, width: 50, height: 23, decimalDigits: 3, readOnly: true });
4612 4565 $('#est_ibu,#est_color').jqxNumberInput(Show0dec);
4613 $('#est_abv').jqxTooltip({ content: 'Alcohol volume %. Dit wordt automatisch berekend.' });
4614 $('#st_abv_min').jqxTooltip({ content: 'Het minimum alcohol volume % voor deze bierstijl.'});
4615 $('#st_abv_max').jqxTooltip({ content: 'Het maximum alcohol volume % voor deze bierstijl.'});
4616 $('#est_abv,#st_abv_min,#st_abv_max').jqxNumberInput(Smal1dec);
4617
4618 $('#est_color').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
4619 $('#est_color').jqxNumberInput(Show0dec);
4620 $('#st_color_min').jqxTooltip({ content: 'De minimum kleur voor deze bierstijl.'});
4621 $('#st_color_max').jqxTooltip({ content: 'De maximum kleur voor deze bierstijl.'});
4622 $('#st_color_min,#st_color_max').jqxNumberInput(Smal0dec);
4623 $('#color_method').jqxDropDownList({ 4566 $('#color_method').jqxDropDownList({
4624 theme: theme, 4567 theme: theme,
4625 source: ColorMethodAdapter, 4568 source: ColorMethodAdapter,
4626 valueMember: 'id', 4569 valueMember: 'id',
4627 displayMember: 'nl', 4570 displayMember: 'nl',
4628 width: 180, 4571 width: 180,
4629 height: 23, 4572 height: 23,
4630 autoDropDownHeight: true 4573 autoDropDownHeight: true
4631 }); 4574 });
4632 $('#est_ibu').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' }); 4575 $('#st_color_min,#st_color_max,#st_category_number,#st_ibu_min,#st_ibu_max,#kcal').jqxNumberInput(Smal0dec);
4633 $('#est_ibu').jqxNumberInput(Show0dec);
4634 $('#st_ibu_min').jqxTooltip({ content: 'De minimum bitterheid voor deze bierstijl.'});
4635 $('#st_ibu_max').jqxTooltip({ content: 'De maximum bitterheid voor deze bierstijl.'});
4636 $('#st_ibu_min,#st_ibu_max').jqxNumberInput(Smal0dec);
4637 $('#ibu_method').jqxDropDownList({ 4576 $('#ibu_method').jqxDropDownList({
4638 theme: theme, 4577 theme: theme,
4639 source: IBUmethodAdapter, 4578 source: IBUmethodAdapter,
4640 valueMember: 'id', 4579 valueMember: 'id',
4641 displayMember: 'nl', 4580 displayMember: 'nl',
4642 width: 180, 4581 width: 180,
4643 height: 23, 4582 height: 23,
4644 autoDropDownHeight: true, 4583 autoDropDownHeight: true,
4645 dropDownVerticalAlignment: 'top' 4584 dropDownVerticalAlignment: 'top'
4646 }); 4585 });
4647 $('#kcal').jqxTooltip({ content: 'Energie-inhoud in kcal/liter.' }); 4586 $('#est_abv,#st_abv_min,#st_abv_max,#est_carb,#st_carb_min,#st_carb_max').jqxNumberInput(Smal1dec);
4648 $('#kcal').jqxNumberInput(Smal0dec);
4649 $('#est_carb').jqxTooltip({ content: 'Koolzuur volume. Dit wordt automatisch berekend.' });
4650 $('#st_carb_min').jqxTooltip({ content: 'Het minimum koolzuur volume voor deze bierstijl.'});
4651 $('#st_carb_max').jqxTooltip({ content: 'Het maximum koolzuur volume voor deze bierstijl.'});
4652 $('#est_carb,#st_carb_min,#st_carb_max').jqxNumberInput(Smal1dec);
4653 4587
4654 // Tab 2, Equipment 4588 // Tab 2, Equipment
4655 $('#eq_name').jqxTooltip({ content: 'De naam van deze brouw apparatuur.' }); 4589 $('#eq_name').jqxTooltip({ content: 'De naam van deze brouw apparatuur.' });
4656 $('#eq_name').jqxInput({ theme: theme, width: 250, height: 23 });
4657 $('#eq_boil_size').jqxTooltip({ content: 'Normaal kook volume in liters' }); 4590 $('#eq_boil_size').jqxTooltip({ content: 'Normaal kook volume in liters' });
4658 $('#eq_batch_size').jqxTooltip({ content: 'Berekende batch grootte in liters aan het eind van de kook.' }); 4591 $('#eq_batch_size').jqxTooltip({ content: 'Berekende batch grootte in liters aan het eind van de kook.' });
4659 $('#eq_tun_volume').jqxTooltip({ content: 'Maisch ketel volume.' }); 4592 $('#eq_tun_volume').jqxTooltip({ content: 'Maisch ketel volume.' });
4660 $('#eq_top_up_water').jqxTooltip({ content: 'Extra water in het gistvat.' }); 4593 $('#eq_top_up_water').jqxTooltip({ content: 'Extra water in het gistvat.' });
4661 $('#eq_trub_chiller_loss').jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' }); 4594 $('#eq_trub_chiller_loss').jqxTooltip({ content: 'Standaard verlies bij het overbrengen naar het gistvat.' });
4662 $('#eq_evap_rate').jqxTooltip({ content: 'Verdamping in liters per uur.' }); 4595 $('#eq_evap_rate').jqxTooltip({ content: 'Verdamping in liters per uur.' });
4663 $('#eq_evap_rate').jqxNumberInput(Show2dec);
4664 $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten.' }); 4596 $('#eq_boil_time').jqxTooltip({ content: 'Normale kooktijd in minuten.' });
4665 $('#eq_top_up_kettle').jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' }); 4597 $('#eq_top_up_kettle').jqxTooltip({ content: 'Extra water toevoegen tijdens de kook.' });
4666 $('#eq_hop_utilization').jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' }); 4598 $('#eq_hop_utilization').jqxTooltip({ content: '100% voor kleine installaties, hoger voor grote brouwerijen.' });
4667 $('#eq_boil_time,#eq_hop_utilization').jqxNumberInput(Show0dec);
4668 $('#eq_notes').jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' }); 4599 $('#eq_notes').jqxTooltip({ content: 'Opmerkingen over deze apparatuur.' });
4669 $('#eq_notes').jqxInput({ theme: theme, width: 960, height: 200 });
4670 $('#eq_lauter_volume').jqxTooltip({ content: 'Filterkuip volume.' }); 4600 $('#eq_lauter_volume').jqxTooltip({ content: 'Filterkuip volume.' });
4671 $('#eq_lauter_deadspace').jqxTooltip({ content: 'Filterkuip verlies in liters.' }); 4601 $('#eq_lauter_deadspace').jqxTooltip({ content: 'Filterkuip verlies in liters.' });
4672 $('#eq_kettle_volume').jqxTooltip({ content: 'Kook ketel volume in liters.' }); 4602 $('#eq_kettle_volume').jqxTooltip({ content: 'Kook ketel volume in liters.' });
4673 $('#eq_mash_volume').jqxTooltip({ content: 'Maisch water voor de eerste stap.' }); 4603 $('#eq_mash_volume').jqxTooltip({ content: 'Maisch water voor de eerste stap.' });
4674 $('#eq_mash_max').jqxTooltip({ content: 'De maximale moutstort in Kg.' }); 4604 $('#eq_mash_max').jqxTooltip({ content: 'De maximale moutstort in Kg.' });
4675 $('#eq_efficiency').jqxTooltip({ content: 'Gemiddeld brouwzaal rendement.' }); 4605 $('#eq_efficiency').jqxTooltip({ content: 'Gemiddeld brouwzaal rendement.' });
4606
4607 $('#eq_name').jqxInput({ theme: theme, width: 250, height: 23 });
4608 $('#eq_evap_rate').jqxNumberInput(Show2dec);
4609 $('#eq_boil_time,#eq_hop_utilization').jqxNumberInput(Show0dec);
4610 $('#eq_notes').jqxInput({ theme: theme, width: 960, height: 200 });
4676 $('#eq_boil_size,#eq_batch_size,#eq_tun_volume,#eq_top_up_water,#eq_trub_chiller_loss,#eq_top_up_kettle').jqxNumberInput(Show1dec); 4611 $('#eq_boil_size,#eq_batch_size,#eq_tun_volume,#eq_top_up_water,#eq_trub_chiller_loss,#eq_top_up_kettle').jqxNumberInput(Show1dec);
4677 $('#eq_lauter_volume,#eq_lauter_deadspace,#eq_kettle_volume,#eq_mash_volume,#eq_mash_max,#eq_efficiency').jqxNumberInput(Show1dec); 4612 $('#eq_lauter_volume,#eq_lauter_deadspace,#eq_kettle_volume,#eq_mash_volume,#eq_mash_max,#eq_efficiency').jqxNumberInput(Show1dec);
4678 4613
4679 // Tab 3, Fermentables 4614 // Tab 3, Fermentables
4680 $('#est_color2').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' }); 4615 $('#est_color2').jqxTooltip({ content: 'De kleur in EBC. Dit wordt automatisch berekend.' });
4681 $('#est_color2').jqxNumberInput(Show0dec);
4682 $('#est_og2').jqxTooltip({ content: 'Het geschatte begin SG van dit product.' }); 4616 $('#est_og2').jqxTooltip({ content: 'Het geschatte begin SG van dit product.' });
4683 $('#mash_kg').jqxTooltip({ content: 'Het gewicht van alle mouten in de maisch.' }); 4617 $('#mash_kg').jqxTooltip({ content: 'Het gewicht van alle mouten in de maisch.' });
4618
4619 $('#est_color2').jqxNumberInput(Show0dec);
4684 $('#est_og2,#mash_kg').jqxNumberInput(Show3dec); 4620 $('#est_og2,#mash_kg').jqxNumberInput(Show3dec);
4621
4685 $('#perc_malts').jqxProgressBar({ 4622 $('#perc_malts').jqxProgressBar({
4686 width: 300, 4623 width: 300, height: 23, theme: theme, showText: true, max: 120, animationDuration: 0,
4687 height: 23, 4624 colorRanges: [{ stop: 90, color: '#008C00' },{ stop: 100, color: '#EB7331' },{ stop: 120, color: '#FF0000' }],
4688 theme: theme, 4625 renderText: function(text) { return (Math.round(parseInt(text) * 1.2)) + '%'; }
4689 showText: true,
4690 max: 120,
4691 animationDuration: 0,
4692 colorRanges: [
4693 { stop: 90, color: '#008C00' },
4694 { stop: 100, color: '#EB7331' },
4695 { stop: 120, color: '#FF0000' }
4696 ],
4697 renderText: function(text) {
4698 return (Math.round(parseInt(text) * 1.2)) + '%';
4699 }
4700 }); 4626 });
4701 $('#perc_sugars').jqxProgressBar({ 4627 $('#perc_sugars').jqxProgressBar({
4702 width: 300, 4628 width: 300, height: 23, theme: theme, showText: true, max: 50, animationDuration: 0,
4703 height: 23, 4629 colorRanges: [{ stop: 20, color: '#008C00' },{ stop: 50, color: '#FF0000' }],
4704 theme: theme, 4630 renderText: function(text) { return (Math.round(parseInt(text) * 5) / 10) + '%'; }
4705 showText: true,
4706 max: 50,
4707 animationDuration: 0,
4708 colorRanges: [
4709 { stop: 20, color: '#008C00' },
4710 { stop: 50, color: '#FF0000' }
4711 ],
4712 renderText: function(text) {
4713 return (Math.round(parseInt(text) * 5) / 10) + '%';
4714 }
4715 }); 4631 });
4716 $('#perc_cara').jqxProgressBar({ 4632 $('#perc_cara').jqxProgressBar({
4717 width: 300, 4633 width: 300, height: 23, theme: theme, showText: true, max: 50, animationDuration: 0,
4718 height: 23, 4634 colorRanges: [{ stop: 25, color: '#008C00' },{ stop: 50, color: '#FF0000' }],
4719 theme: theme, 4635 renderText: function(text) { return (Math.round(parseInt(text) * 5) / 10) + '%'; }
4720 showText: true,
4721 max: 50,
4722 animationDuration: 0,
4723 colorRanges: [
4724 { stop: 25, color: '#008C00' },
4725 { stop: 50, color: '#FF0000' }
4726 ],
4727 renderText: function(text) {
4728 return (Math.round(parseInt(text) * 5) / 10) + '%';
4729 }
4730 }); 4636 });
4731 $('#ferm_lintner').jqxProgressBar({ 4637 $('#ferm_lintner').jqxProgressBar({
4732 width: 300, 4638 width: 300, height: 23, theme: theme, showText: true, max: 200, animationDuration: 0,
4733 height: 23, 4639 colorRanges: [{ stop: 30, color: '#FF0000' },{ stop: 40, color: '#EB7331' },{ stop: 200, color: '#008C00' }],
4734 theme: theme, 4640 renderText: function(text) { return (parseInt(text) * 2) + ' lintner'; }
4735 showText: true,
4736 max: 200,
4737 animationDuration: 0,
4738 colorRanges: [
4739 { stop: 30, color: '#FF0000' },
4740 { stop: 40, color: '#EB7331' },
4741 { stop: 200, color: '#008C00' }
4742 ],
4743 renderText: function(text) {
4744 return (parseInt(text) * 2) + ' lintner';
4745 }
4746 }); 4641 });
4747 $('#popupFermentable').jqxWindow({ 4642 $('#popupFermentable').jqxWindow({
4748 width: 800, 4643 width: 800,
4749 height: 300, 4644 height: 300,
4750 position: { x: 230, y: 100 }, 4645 position: { x: 230, y: 100 },
4963 4858
4964 // Tab 4, Hops 4859 // Tab 4, Hops
4965 $('#est_ibu2').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' }); 4860 $('#est_ibu2').jqxTooltip({ content: 'De bitterheid in IBU. Dit wordt automatisch berekend.' });
4966 $('#est_ibu2').jqxNumberInput(Smal0dec); 4861 $('#est_ibu2').jqxNumberInput(Smal0dec);
4967 $('#hop_flavour').jqxProgressBar({ 4862 $('#hop_flavour').jqxProgressBar({
4968 width: 300, 4863 width: 300, height: 23, theme: theme, showText: true, animationDuration: 0,
4969 height: 23,
4970 theme: theme,
4971 showText: true,
4972 animationDuration: 0,
4973 colorRanges: [ 4864 colorRanges: [
4974 { stop: 20, color: '#004D00' }, 4865 { stop: 20, color: '#004D00' },
4975 { stop: 40, color: '#008C00' }, 4866 { stop: 40, color: '#008C00' },
4976 { stop: 60, color: '#00BF00' }, 4867 { stop: 60, color: '#00BF00' },
4977 { stop: 80, color: '#00FF00' }, 4868 { stop: 80, color: '#00FF00' },
4990 else 4881 else
4991 return 'Zeer veel'; 4882 return 'Zeer veel';
4992 } 4883 }
4993 }); 4884 });
4994 $('#hop_aroma').jqxProgressBar({ 4885 $('#hop_aroma').jqxProgressBar({
4995 width: 300, height: 23, theme: theme, showText: true, 4886 width: 300, height: 23, theme: theme, showText: true, animationDuration: 0,
4996 animationDuration: 0,
4997 colorRanges: [ 4887 colorRanges: [
4998 { stop: 20, color: '#004D00' }, 4888 { stop: 20, color: '#004D00' },
4999 { stop: 40, color: '#008C00' }, 4889 { stop: 40, color: '#008C00' },
5000 { stop: 60, color: '#00BF00' }, 4890 { stop: 60, color: '#00BF00' },
5001 { stop: 80, color: '#00FF00' }, 4891 { stop: 80, color: '#00FF00' },
5270 } 5160 }
5271 }); 5161 });
5272 5162
5273 // Tab 6, Yeasts 5163 // Tab 6, Yeasts
5274 $('#est_fg2').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' }); 5164 $('#est_fg2').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
5275 $('#est_fg2').jqxNumberInput(Show3dec);
5276 $('#est_abv2').jqxTooltip({ content: 'Verwacht alcohol volume %. Dit wordt automatisch berekend.' }); 5165 $('#est_abv2').jqxTooltip({ content: 'Verwacht alcohol volume %. Dit wordt automatisch berekend.' });
5166 $('#yeast_cells').jqxTooltip({ content: 'Het aantal miljard beschikbare gistcellen zonder eventuele starter.' });
5167 $('#need_cells').jqxTooltip({ content: 'Het aantal miljard nodige cellen is afhankelijk van het begin SG, biertype en volume.' });
5168 $('#plato_cells').jqxTooltip({ content: 'De berekende pitchrate in miljard cellen per ml per graad Plato.' });
5169 $('#yeast_prod_date').jqxTooltip({ content: 'Bij korrelgisten is meestal "best voor" datum op het zakje gedrukt.<br>Gebruik die datum maar dan twee jaar eerder als productie datum.<br>Bij White Labs is de productie datum vier maanden voor de "Best by" datum die geprint op het buisje.<br>Bij Wyeast is dit de "manufacture date" die op het pak geprint is.<br>Voor schuine buis, slurry, opkweek en gedroogd is dit de datum dat je de gist geoogst hebt.' });
5170
5171 $('#est_fg2,#plato_cells').jqxNumberInput(Show3dec);
5277 $('#est_abv2').jqxNumberInput(Show2dec); 5172 $('#est_abv2').jqxNumberInput(Show2dec);
5278 $('#yeast_cells').jqxTooltip({ content: 'Het aantal miljard beschikbare gistcellen zonder eventuele starter.' }); 5173 $('#yeast_cells,#need_cells').jqxNumberInput(Show1dec);
5279 $('#yeast_cells').jqxNumberInput(Show1dec);
5280 $('#need_cells').jqxTooltip({ content: 'Het aantal miljard nodige cellen is afhankelijk van het begin SG, biertype en volume.' });
5281 $('#need_cells').jqxNumberInput(Show1dec);
5282 $('#plato_cells').jqxTooltip({ content: 'De berekende pitchrate in miljard cellen per ml per graad Plato.' });
5283 $('#plato_cells').jqxNumberInput(Show2dec);
5284 $('#yeast_prod_date').jqxTooltip({ content: 'Bij korrelgisten is meestal "best voor" datum op het zakje gedrukt.<br>Gebruik die datum maar dan twee jaar eerder als productie datum.<br>Bij White Labs is de productie datum vier maanden voor de "Best by" datum die geprint op het buisje.<br>Bij Wyeast is dit de "manufacture date" die op het pak geprint is.<br>Voor schuine buis, slurry, opkweek en gedroogd is dit de datum dat je de gist geoogst hebt.' });
5285 $('#yeast_prod_date').jqxDateTimeInput(Dateopts); 5174 $('#yeast_prod_date').jqxDateTimeInput(Dateopts);
5286 $('#yeast_prod_date').on('close', function(event) { 5175 $('#yeast_prod_date').on('close', function(event) {
5287 calcViability(); 5176 calcViability();
5288 calcFermentables(); 5177 calcFermentables();
5289 calcYeast(); 5178 calcYeast();
5418 calcFermentables(); 5307 calcFermentables();
5419 calcYeast(); 5308 calcYeast();
5420 } 5309 }
5421 }); 5310 });
5422 for (i = 1; i < 5; i++) { 5311 for (i = 1; i < 5; i++) {
5312 $('#prop' + i + '_volume').jqxTooltip({ content: 'Het volume van deze starter stap.' });
5313 $('#prop' + i + '_irate').jqxTooltip({ content: 'Voor de beste gistgroei, houd de injectie factor tussen de 25 en 100 miljoen cellen per ml.' });
5314 $('#prop' + i + '_ncells').jqxTooltip({ content: 'Het aantal miljard nieuwe gistcellen in deze stap.' });
5315 $('#prop' + i + '_tcells').jqxTooltip({ content: 'Het totaal aantal miljard gistcellen na deze stap.' });
5316 $('#prop' + i + '_growf').jqxTooltip({ content: 'De groeifactor, minstens 1. Ongeroerde starters komen meestal niet boven de 3.' });
5317
5423 $('#prop' + i + '_type').jqxDropDownList({ 5318 $('#prop' + i + '_type').jqxDropDownList({
5424 theme: theme, 5319 theme: theme,
5425 source: StarterTypeAdapter, 5320 source: StarterTypeAdapter,
5426 valueMember: 'id', 5321 valueMember: 'id',
5427 displayMember: 'nl', 5322 displayMember: 'nl',
5428 width: 120, 5323 width: 120,
5429 height: 23, 5324 height: 23,
5430 autoDropDownHeight: true 5325 autoDropDownHeight: true
5431 }); 5326 });
5432 $('#prop' + i + '_type').hide();
5433 $('#prop' + i + '_volume').jqxTooltip({ content: 'Het volume van deze starter stap.' });
5434 $('#prop' + i + '_volume').jqxNumberInput(Spin3dec); 5327 $('#prop' + i + '_volume').jqxNumberInput(Spin3dec);
5435 $('#prop' + i + '_volume').hide();
5436 $('#prop' + i + '_irate').jqxTooltip({ content: 'Voor de beste gistgroei, houd de injectie factor tussen de 25 en 100 miljoen cellen per ml.' });
5437 $('#prop' + i + '_irate').hide();
5438 $('#prop' + i + '_ncells').jqxTooltip({ content: 'Het aantal miljard nieuwe gistcellen in deze stap.' });
5439 $('#prop' + i + '_ncells').hide();
5440 $('#prop' + i + '_tcells').jqxTooltip({ content: 'Het totaal aantal miljard gistcellen na deze stap.' });
5441 $('#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells').jqxNumberInput(Show1dec); 5328 $('#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells').jqxNumberInput(Show1dec);
5442 $('#prop' + i + '_tcells').hide();
5443 $('#prop' + i + '_growf').jqxTooltip({ content: 'De groeifactor, minstens 1. Ongeroerde starters komen meestal niet boven de 3.' });
5444 $('#prop' + i + '_growf').jqxNumberInput(Show2dec); 5329 $('#prop' + i + '_growf').jqxNumberInput(Show2dec);
5445 $('#prop' + i + '_growf').hide(); 5330 $('#prop' + i + '_type,#prop' + i + '_volume,#prop' + i + '_irate,#prop' + i + '_ncells,#prop' + i + '_tcells,#prop' + i + '_growf').hide();
5446 } 5331 }
5447 $('#starter_type').jqxTooltip({ content: 'starter_type' }); 5332 $('#starter_type').jqxTooltip({ content: 'starter_type' });
5448 $('#starter_type').jqxDropDownList({ 5333 $('#starter_type').jqxDropDownList({
5449 theme: theme, 5334 theme: theme,
5450 source: StarterTypeAdapter, 5335 source: StarterTypeAdapter,
5452 displayMember: 'nl', 5337 displayMember: 'nl',
5453 width: 120, 5338 width: 120,
5454 height: 23, 5339 height: 23,
5455 autoDropDownHeight: true 5340 autoDropDownHeight: true
5456 }); 5341 });
5457 // $('#starter_type').jqxTooltip({ content: 'starter_type' });
5458 $('#starter_sg').jqxTooltip({ content: 'Het ideale starter SG moet tussen de 1.030 en 1.040 zijn. Optimaal is 1.037.' }); 5342 $('#starter_sg').jqxTooltip({ content: 'Het ideale starter SG moet tussen de 1.030 en 1.040 zijn. Optimaal is 1.037.' });
5459 $('#starter_sg').jqxNumberInput(SGopts); 5343 $('#starter_sg').jqxNumberInput(SGopts);
5460 $('#starter_viability').jqxTooltip({ content: 'De gist conditie.' }); 5344 $('#starter_viability').jqxTooltip({ content: 'De gist conditie.' });
5461 $('#starter_viability').jqxNumberInput(Show0dec); 5345 $('#starter_viability').jqxNumberInput(Show0dec);
5462 $('#starter_try').jqxButton({ template: 'primary', width: '100px', height: 23, theme: theme }); 5346 $('#starter_try').jqxButton({ template: 'primary', width: '100px', height: 23, theme: theme });
5756 displayMember: 'nl', 5640 displayMember: 'nl',
5757 width: 170, 5641 width: 170,
5758 height: 23, 5642 height: 23,
5759 autoDropDownHeight: true 5643 autoDropDownHeight: true
5760 }); 5644 });
5761 $('#wa_base').jqxNumberInput(Spin2dec); 5645 $('#wa_base,#wa_acid').jqxNumberInput(Spin2dec);
5762 $('#wa_base').jqxNumberInput({ symbol: ' gr', symbolPosition: 'right' }); 5646 $('#wa_base').jqxNumberInput({ symbol: ' gr', symbolPosition: 'right' });
5763 $('#wa_acid_name').jqxDropDownList({ 5647 $('#wa_acid_name').jqxDropDownList({
5764 theme: theme, 5648 theme: theme,
5765 source: AcidTypeAdapter, 5649 source: AcidTypeAdapter,
5766 valueMember: 'id', 5650 valueMember: 'id',
5767 displayMember: 'nl', 5651 displayMember: 'nl',
5768 width: 170, 5652 width: 170,
5769 height: 23, 5653 height: 23,
5770 autoDropDownHeight: true 5654 autoDropDownHeight: true
5771 }); 5655 });
5772 $('#wa_acid').jqxNumberInput(Spin2dec);
5773 $('#wa_acid').jqxNumberInput({ symbol: ' ml', symbolPosition: 'right' }); 5656 $('#wa_acid').jqxNumberInput({ symbol: ' ml', symbolPosition: 'right' });
5774 $('#wa_acid_perc').jqxNumberInput(Perc0); 5657 $('#wa_acid_perc,#sparge_acid_perc').jqxNumberInput(Perc0);
5775 $('#wa_acid_perc').jqxNumberInput({ width: 70, symbol: '%', symbolPosition: 'right' }); 5658 $('#wa_acid_perc').jqxNumberInput({ width: 70, symbol: '%', symbolPosition: 'right' });
5776 // Sparge water 5659 // Sparge water
5777 $('#sparge_temp,#sparge_volume').jqxNumberInput(Spin1dec); 5660 $('#sparge_temp,#sparge_volume').jqxNumberInput(Spin1dec);
5778 $('#sparge_ph').jqxNumberInput(SpinpH); 5661 $('#sparge_ph').jqxNumberInput(SpinpH);
5779 $('#sparge_source').jqxDropDownList({ 5662 $('#sparge_source').jqxDropDownList({
5794 displayMember: 'nl', 5677 displayMember: 'nl',
5795 width: 110, 5678 width: 110,
5796 height: 23, 5679 height: 23,
5797 autoDropDownHeight: true 5680 autoDropDownHeight: true
5798 }); 5681 });
5799 $('#sparge_acid_perc').jqxNumberInput(Perc0);
5800 $('#sparge_acid_perc').jqxNumberInput({ symbol: '%', symbolPosition: 'right' }); 5682 $('#sparge_acid_perc').jqxNumberInput({ symbol: '%', symbolPosition: 'right' });
5801 5683
5802 // Tab 9, Brewday 5684 // Tab 9, Brewday
5803 $('#brew_date_start').jqxTooltip({ content: 'Brouw datum en tijd. Voor planning laat de tijd op 00:00:00 staan.' }); 5685 $('#brew_date_start').jqxTooltip({ content: 'Brouw datum en tijd. Voor planning laat de tijd op 00:00:00 staan.' });
5804 $('#brew_date_start').on('close', function(event) { calcStage(); });
5805 $('#brew_date_end').jqxTooltip({ content: 'End datum en tijd van de brouw. Leeg laten als er nog niet gebrouwen is.' }); 5686 $('#brew_date_end').jqxTooltip({ content: 'End datum en tijd van de brouw. Leeg laten als er nog niet gebrouwen is.' });
5806 $('#brew_date_start,#brew_date_end').jqxDateTimeInput(DateTimeopts);
5807 $('#brew_date_end').on('close', function(event) { calcStage(); });
5808 $('#brew_mash_ph').jqxTooltip({ content: 'De gemeten pH tijdens het maischen eventueel na correctie.' }); 5687 $('#brew_mash_ph').jqxTooltip({ content: 'De gemeten pH tijdens het maischen eventueel na correctie.' });
5809 $('#est_mash_ph').jqxTooltip({ content: 'De gewenste pH tijdens het maischen.' }); 5688 $('#est_mash_ph').jqxTooltip({ content: 'De gewenste pH tijdens het maischen.' });
5810 $('#est_mash_ph').jqxNumberInput(Show1wat);
5811 $('#brew_preboil_ph').jqxTooltip({ content: 'De gemeten pH in de kookketel na het spoelen en voor de kook.' }); 5689 $('#brew_preboil_ph').jqxTooltip({ content: 'De gemeten pH in de kookketel na het spoelen en voor de kook.' });
5812 // est_preboil_ph
5813 $('#brew_aboil_ph').jqxTooltip({ content: 'De gemeten pH na het koken.' }); 5690 $('#brew_aboil_ph').jqxTooltip({ content: 'De gemeten pH na het koken.' });
5814 $('#brew_mash_ph,#brew_preboil_ph,#brew_aboil_ph').jqxNumberInput(SpinpH);
5815 // est_aboil_ph
5816 $('#brew_mash_sg').jqxTooltip({ content: 'Het bereikte SG na het maischen.' }); 5691 $('#brew_mash_sg').jqxTooltip({ content: 'Het bereikte SG na het maischen.' });
5817 $('#brew_mash_sg').on('valueChanged', function() { calcMashEfficiency(); });
5818 $('#est_mash_sg').jqxTooltip({ content: 'Het berekende verwachte SG na het maischen.' }); 5692 $('#est_mash_sg').jqxTooltip({ content: 'Het berekende verwachte SG na het maischen.' });
5819 $('#brew_preboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het spoelen en voor het koken.' }); 5693 $('#brew_preboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het spoelen en voor het koken.' });
5694 $('#est_pre_sg').jqxTooltip({ content: 'Het berekende SG in de kookketel na het spoelen en voor het koken.' });
5695 $('#brew_aboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het koken.' });
5696 $('#est_og3').jqxTooltip({ content: 'Het gewenste SG in de kookketel na het koken zonder eventuele suikers die tijdens de vergisting toegevoegd worden.' });
5697 $('#brew_mash_efficiency').jqxTooltip({ content: 'Het behaalde maisch rendement.' });
5698 $('#brew_preboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort voor het koken.' });
5699 $('#est_pre_vol').jqxTooltip({ content: 'Het berekende volume van het wort voor het koken.' });
5700 $('#brew_aboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort na het koken.' });
5701 $('#est_a_vol').jqxTooltip({ content: 'Het gewenste volume na het koken.' });
5702 $('#brew_preboil_efficiency').jqxTooltip({ content: 'Het berekende rendement voor het koken.' });
5703 $('#brew_aboil_efficiency').jqxTooltip({ content: 'Het bereikte rendement na het koken.' });
5704 $('#brew_sparge_temperature').jqxTooltip({ content: 'De spoelwater temperatuur, in te stellen in de Water tab.' });
5705 $('#brew_sparge_volume').jqxTooltip({ content: 'Het spoelwater voorraad volume, in te stellen in de Water tab.' });
5706 $('#brew_date_start,#brew_date_end').jqxDateTimeInput(DateTimeopts);
5707 $('#brew_date_start,#brew_date_end').on('close', function(event) { calcStage(); });
5708 $('#est_mash_ph').jqxNumberInput(Show1wat);
5709 $('#brew_mash_ph,#brew_preboil_ph,#brew_aboil_ph').jqxNumberInput(SpinpH);
5710 $('#brew_mash_sg').on('valueChanged', function() { calcMashEfficiency(); });
5820 $('#brew_preboil_sg').on('valueChanged', function(event) { 5711 $('#brew_preboil_sg').on('valueChanged', function(event) {
5821 dataRecord.brew_preboil_sg = event.args.value; 5712 dataRecord.brew_preboil_sg = event.args.value;
5822 calcEfficiencyBeforeBoil(); 5713 calcEfficiencyBeforeBoil();
5823 }); 5714 });
5824 $('#est_pre_sg').jqxTooltip({ content: 'Het berekende SG in de kookketel na het spoelen en voor het koken.' });
5825 $('#brew_aboil_sg').jqxTooltip({ content: 'Het gemeten SG in de kookketel na het koken.' });
5826 $('#brew_mash_sg,#brew_preboil_sg,#brew_aboil_sg').jqxNumberInput(SGopts); 5715 $('#brew_mash_sg,#brew_preboil_sg,#brew_aboil_sg').jqxNumberInput(SGopts);
5827 $('#brew_aboil_sg').on('valueChanged', function(event) { 5716 $('#brew_aboil_sg').on('valueChanged', function(event) {
5828 dataRecord.brew_aboil_sg = event.args.value; 5717 dataRecord.brew_aboil_sg = event.args.value;
5829 calcEfficiencyAfterBoil(); 5718 calcEfficiencyAfterBoil();
5830 calcFermentables(); 5719 calcFermentables();
5831 calcIBUs(); 5720 calcIBUs();
5832 }); 5721 });
5833 $('#est_og3').jqxTooltip({ content: 'Het gewenste SG in de kookketel na het koken zonder eventuele suikers die tijdens de vergisting toegevoegd worden.' });
5834 $('#est_mash_sg,#est_pre_sg,#est_og3').jqxNumberInput(Show3wat); 5722 $('#est_mash_sg,#est_pre_sg,#est_og3').jqxNumberInput(Show3wat);
5835 $('#brew_mash_efficiency').jqxTooltip({ content: 'Het behaalde maisch rendement.' });
5836 $('#brew_mash_efficiency').jqxNumberInput(Show1dec); 5723 $('#brew_mash_efficiency').jqxNumberInput(Show1dec);
5837 $('#brew_preboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort voor het koken.' });
5838 $('#brew_preboil_volume').on('valueChanged', function(event) { 5724 $('#brew_preboil_volume').on('valueChanged', function(event) {
5839 dataRecord.brew_preboil_volume = event.args.value; 5725 dataRecord.brew_preboil_volume = event.args.value;
5840 calcEfficiencyBeforeBoil(); 5726 calcEfficiencyBeforeBoil();
5841 }); 5727 });
5842 $('#est_pre_vol').jqxTooltip({ content: 'Het berekende volume van het wort voor het koken.' });
5843 $('#brew_aboil_volume').jqxTooltip({ content: 'Het gemeten volume van het wort na het koken.' });
5844 $('#brew_preboil_volume,#brew_aboil_volume').jqxNumberInput(Spin1dec); 5728 $('#brew_preboil_volume,#brew_aboil_volume').jqxNumberInput(Spin1dec);
5845 $('#brew_aboil_volume').on('valueChanged', function(event) { 5729 $('#brew_aboil_volume').on('valueChanged', function(event) {
5846 dataRecord.brew_aboil_volume = event.args.value; 5730 dataRecord.brew_aboil_volume = event.args.value;
5847 calcEfficiencyAfterBoil(); 5731 calcEfficiencyAfterBoil();
5848 calcFermentables(); 5732 calcFermentables();
5849 calcIBUs(); 5733 calcIBUs();
5850 }); 5734 });
5851 $('#est_a_vol').jqxTooltip({ content: 'Het gewenste volume na het koken.' });
5852 $('#est_pre_vol,#est_a_vol').jqxNumberInput(Show1wat); 5735 $('#est_pre_vol,#est_a_vol').jqxNumberInput(Show1wat);
5853 $('#brew_preboil_efficiency').jqxTooltip({ content: 'Het berekende rendement voor het koken.' });
5854 $('#brew_aboil_efficiency').jqxTooltip({ content: 'Het bereikte rendement na het koken.' });
5855 $('#brew_sparge_temperature').jqxTooltip({ content: 'De spoelwater temperatuur, in te stellen in de Water tab.' });
5856 $('#brew_sparge_volume').jqxTooltip({ content: 'Het spoelwater voorraad volume, in te stellen in de Water tab.' });
5857 $('#brew_preboil_efficiency,#brew_aboil_efficiency,#brew_sparge_temperature,#brew_sparge_volume,#brew_sparge_est').jqxNumberInput(Show1dec); 5736 $('#brew_preboil_efficiency,#brew_aboil_efficiency,#brew_sparge_temperature,#brew_sparge_volume,#brew_sparge_est').jqxNumberInput(Show1dec);
5858 $('#brew_cooling_to').jqxNumberInput(Spin1dec); 5737 $('#brew_cooling_to').jqxNumberInput(Spin1dec);
5859 $('#brew_sparge_ph').jqxNumberInput(SpinpH); 5738 $('#brew_sparge_ph').jqxNumberInput(SpinpH);
5860 $('#brew_cooling_method').jqxDropDownList({ 5739 $('#brew_cooling_method').jqxDropDownList({
5861 theme: theme, 5740 theme: theme,
5864 displayMember: 'nl', 5743 displayMember: 'nl',
5865 width: 180, 5744 width: 180,
5866 height: 23, 5745 height: 23,
5867 autoDropDownHeight: true 5746 autoDropDownHeight: true
5868 }); 5747 });
5869 $('#brew_cooling_time').jqxNumberInput(PosInt); 5748 $('#brew_cooling_time,#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2,#brew_aeration_time,#brew_aeration_speed').jqxNumberInput(PosInt);
5870 $('#brew_cooling_time').jqxNumberInput({ max: 1440 }); 5749 $('#brew_cooling_time,#brew_aeration_time,#brew_aeration_speed').jqxNumberInput({ max: 1440 });
5871 $('#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2').jqxNumberInput(PosInt);
5872 $('#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2').jqxNumberInput({ max: 120 }); 5750 $('#brew_whirlpool9,#brew_whirlpool7,#brew_whirlpool6,#brew_whirlpool2').jqxNumberInput({ max: 120 });
5873 $('#brew_aeration_type').jqxDropDownList({ 5751 $('#brew_aeration_type').jqxDropDownList({
5874 theme: theme, 5752 theme: theme,
5875 source: AerationTypeAdapter, 5753 source: AerationTypeAdapter,
5876 valueMember: 'id', 5754 valueMember: 'id',
5877 displayMember: 'nl', 5755 displayMember: 'nl',
5878 width: 180, 5756 width: 180,
5879 height: 23, 5757 height: 23,
5880 autoDropDownHeight: true 5758 autoDropDownHeight: true
5881 }); 5759 });
5882 $('#brew_aeration_time,#brew_aeration_speed').jqxNumberInput(PosInt);
5883 $('#brew_aeration_time,#brew_aeration_speed').jqxNumberInput({ max: 1440 });
5884 $('#brew_fermenter_volume').jqxNumberInput(Show1dec); 5760 $('#brew_fermenter_volume').jqxNumberInput(Show1dec);
5885 $('#brew_fermenter_sg').jqxNumberInput(Show3dec); 5761 $('#brew_fermenter_sg').jqxNumberInput(Show3dec);
5886 $('#brew_fermenter_extrawater,#brew_fermenter_tcloss').jqxNumberInput(Spin1dec); 5762 $('#brew_fermenter_extrawater,#brew_fermenter_tcloss').jqxNumberInput(Spin1dec);
5887 $('#brew_fermenter_ibu,#brew_fermenter_color').jqxNumberInput(Show0dec); 5763 $('#brew_fermenter_ibu,#brew_fermenter_color').jqxNumberInput(Show0dec);
5888 $('#BLog').jqxButton({ template: 'info', width: '150px', theme: theme }); 5764 $('#BLog').jqxButton({ template: 'info', width: '150px', theme: theme });
5896 $('#brew_fermenter_sg2').jqxTooltip({ content: 'Het behaalde SG in het gistvat, overgenomen van de brouwdag.' }); 5772 $('#brew_fermenter_sg2').jqxTooltip({ content: 'Het behaalde SG in het gistvat, overgenomen van de brouwdag.' });
5897 $('#primary_start_temp').jqxTooltip({ content: 'De begintemperatuur van de hoofdvergisting.' }); 5773 $('#primary_start_temp').jqxTooltip({ content: 'De begintemperatuur van de hoofdvergisting.' });
5898 $('#primary_max_temp').jqxTooltip({ content: 'De hoogst bereikte piek temperatuur tijdens de hoofgvergisting.' }); 5774 $('#primary_max_temp').jqxTooltip({ content: 'De hoogst bereikte piek temperatuur tijdens de hoofgvergisting.' });
5899 $('#primary_end_temp').jqxTooltip({ content: 'De eind temperatuur van de hoofdvergisting.' }); 5775 $('#primary_end_temp').jqxTooltip({ content: 'De eind temperatuur van de hoofdvergisting.' });
5900 $('#primary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de hoofdvergisting.' }); 5776 $('#primary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de hoofdvergisting.' });
5901 $('#primary_end_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' }); 5777 $('#primary_end_brix,#secondary_end_brix,#final_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
5902 $('#primary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de hoofdgisting.' }); 5778 $('#primary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de hoofdgisting.' });
5903 $('#primary_end_date').jqxTooltip({ content: 'De eind datum van de hoofdvergisting en eventueel overhevelen.' }); 5779 $('#primary_end_date').jqxTooltip({ content: 'De eind datum van de hoofdvergisting en eventueel overhevelen.' });
5904 $('#secondary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de navergisting.' }); 5780 $('#secondary_end_sg').jqxTooltip({ content: 'Het gemeten SG aan het eind van de navergisting.' });
5905 $('#primary_end_sg,#secondary_end_sg').jqxNumberInput(SGopts);
5906 $('#secondary_end_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
5907 $('#secondary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de nagisting.' }); 5781 $('#secondary_svg').jqxTooltip({ content: 'De schijnbare vergisting graad behaald na de nagisting.' });
5908 $('#secondary_end_date').jqxTooltip({ content: 'De eind datum van de navergisting en het begin van het lageren.' }); 5782 $('#secondary_end_date').jqxTooltip({ content: 'De eind datum van de navergisting en het begin van het lageren.' });
5783 $('#est_fg3').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
5784
5785 $('#primary_end_sg,#secondary_end_sg').jqxNumberInput(SGopts);
5909 $('#primary_end_date,#secondary_end_date').jqxDateTimeInput(Dateopts); 5786 $('#primary_end_date,#secondary_end_date').jqxDateTimeInput(Dateopts);
5910 $('#primary_end_date,#secondary_end_date').on('close', function(event) { calcStage(); }); 5787 $('#primary_end_date,#secondary_end_date').on('close', function(event) { calcStage(); });
5911 $('#primary_start_temp,#primary_max_temp,#primary_end_temp,#secondary_temp,#tertiary_temp').jqxNumberInput(YeastT); 5788 $('#primary_start_temp,#primary_max_temp,#primary_end_temp,#secondary_temp,#tertiary_temp').jqxNumberInput(YeastT);
5912 $('#fg').jqxNumberInput(Spin3dec); 5789 $('#fg').jqxNumberInput(Spin3dec);
5913 $('#est_fg3').jqxTooltip({ content: 'Het verwachte eind SG. Dit wordt automatisch berekend.' });
5914 $('#brew_fermenter_sg2,#est_fg3').jqxNumberInput(Show3dec); 5790 $('#brew_fermenter_sg2,#est_fg3').jqxNumberInput(Show3dec);
5915 $('#final_brix').jqxTooltip({ content: 'Hulpfinctie: de afgelezen &deg;Brix RI waarde met een refractometer.' });
5916 $('#primary_end_brix,#secondary_end_brix,#final_brix').jqxNumberInput(Spin1dec); 5791 $('#primary_end_brix,#secondary_end_brix,#final_brix').jqxNumberInput(Spin1dec);
5917 $('#final_abv').jqxNumberInput(Show2dec); 5792 $('#final_abv').jqxNumberInput(Show2dec);
5918 $('#primary_svg,#secondary_svg,#final_svg').jqxNumberInput(Show1dec); 5793 $('#primary_svg,#secondary_svg,#final_svg').jqxNumberInput(Show1dec);
5919 $('#FLog').jqxButton({ template: 'info', width: '150px', theme: theme }); 5794 $('#FLog').jqxButton({ template: 'info', width: '150px', theme: theme });
5920 $('#FLog').click(function() { 5795 $('#FLog').click(function() {
5928 }); 5803 });
5929 5804
5930 // Tab 11, Packaging 5805 // Tab 11, Packaging
5931 // TODO: high gravity packaging, extra water and recalc abv, color and ibu. 5806 // TODO: high gravity packaging, extra water and recalc abv, color and ibu.
5932 $('#package_date').jqxTooltip({ content: 'De verpakkings datum van dit bier.' }); 5807 $('#package_date').jqxTooltip({ content: 'De verpakkings datum van dit bier.' });
5808 $('#package_volume').jqxTooltip({ content: 'Het beschikbare volume om te bottelen of op fust te zetten.' });
5809 $('#package_infuse_amount').jqxTooltip({ content: 'De hoeveelheid water of drank extra toe te voegen.' });
5810 $('#package_infuse_abv').jqxTooltip({ content: 'De hoeveelheid alcohol in de drank, of 0.0 als het water is.' });
5811 $('#package_infuse_notes').jqxTooltip({ content: 'Omschrijving van de extra toevoeging.' });
5812 $('#package_abv').jqxTooltip({ content: 'De uiteindelijke hoeveelheid alcohol volume %.' });
5813 $('#package_ph').jqxTooltip({ content: 'De gemeten pH vlak voor het verpakken.' });
5814 $('#st_carb_min2').jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'});
5815 $('#st_carb_max2').jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'});
5816 $('#bottle_amount').jqxTooltip({ content: 'De totale hoeveelheid te bottelen bier.' });
5817 $('#keg_amount').jqxTooltip({ content: 'De totale hoeveelheid op fust te zetten bier.' });
5818 $('#bottle_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume in de flessen.' });
5819 $('#keg_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume door de suiker in de fusten.' });
5820 $('#bottle_priming_water,#keg_priming_water').jqxTooltip({ content: 'De hoeveelheid water om de suiker op te lossen.' });
5821 $('#bottle_pressure').jqxTooltip({ content: 'De maximaal te verwachten druk tijdens het hergisten.' });
5933 $('#package_date').jqxDateTimeInput(Dateopts); 5822 $('#package_date').jqxDateTimeInput(Dateopts);
5934 $('#package_date').on('close', function(event) { calcStage(); }); 5823 $('#package_date').on('close', function(event) { calcStage(); });
5935 $('#package_volume').jqxTooltip({ content: 'Het beschikbare volume om te bottelen of op fust te zetten.' });
5936 $('#package_infuse_amount').jqxTooltip({ content: 'De hoeveelheid water of drank extra toe te voegen.' });
5937 $('#package_infuse_amount').jqxNumberInput(Spin3dec); 5824 $('#package_infuse_amount').jqxNumberInput(Spin3dec);
5938 $('#package_infuse_abv').jqxTooltip({ content: 'De hoeveelheid alcohol in de drank, of 0.0 als het water is.' });
5939 $('#package_infuse_notes').jqxTooltip({ content: 'Omschrijving van de extra toevoeging.' });
5940 $('#package_infuse_notes').jqxInput({ theme: theme, width: 640, height: 23 }); 5825 $('#package_infuse_notes').jqxInput({ theme: theme, width: 640, height: 23 });
5941 $('#package_abv').jqxTooltip({ content: 'De uiteindelijke hoeveelheid alcohol volume %.' });
5942 $('#package_abv').jqxNumberInput(Show2dec); 5826 $('#package_abv').jqxNumberInput(Show2dec);
5943 $('#package_ph').jqxTooltip({ content: 'De gemeten pH vlak voor het verpakken.' });
5944 $('#package_ph').jqxNumberInput(SpinpH); 5827 $('#package_ph').jqxNumberInput(SpinpH);
5945 $('#st_carb_min2').jqxTooltip({ content: 'Het minimum aanbevolen koolzuur volume voor deze bierstijl.'});
5946 $('#st_carb_max2').jqxTooltip({ content: 'Het maximum aamnevolen koolzuur volume voor deze bierstijl.'});
5947 $('#st_carb_min2,#st_carb_max2').jqxNumberInput(Smal1dec); 5828 $('#st_carb_min2,#st_carb_max2').jqxNumberInput(Smal1dec);
5948 $('#bottle_amount').jqxTooltip({ content: 'De totale hoeveelheid te bottelen bier.' });
5949 $('#keg_amount').jqxTooltip({ content: 'De totale hoeveelheid op fust te zetten bier.' });
5950 $('#package_volume,#package_infuse_abv,#bottle_amount,#keg_amount').jqxNumberInput(Spin1dec); 5829 $('#package_volume,#package_infuse_abv,#bottle_amount,#keg_amount').jqxNumberInput(Spin1dec);
5951 $('#bottle_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume in de flessen.' });
5952 $('#keg_carbonation').jqxTooltip({ content: 'Het gewenste CO2 volume door de suiker in de fusten.' });
5953 $('#bottle_carbonation,#keg_carbonation').jqxNumberInput(Spin2dec); 5830 $('#bottle_carbonation,#keg_carbonation').jqxNumberInput(Spin2dec);
5954 $('#bottle_carbonation,#keg_carbonation').jqxNumberInput({ max: 5 }); 5831 $('#bottle_carbonation,#keg_carbonation').jqxNumberInput({ max: 5 });
5955 $('#bottle_priming_sugar').jqxDropDownList({ 5832 $('#bottle_priming_sugar').jqxDropDownList({
5956 placeHolder: 'Kies suiker:', 5833 placeHolder: 'Kies suiker:',
5957 theme: theme, 5834 theme: theme,
6056 $('#fermentableGrid').jqxGrid('addrow', null, row); 5933 $('#fermentableGrid').jqxGrid('addrow', null, row);
6057 } 5934 }
6058 calcCarbonation(); 5935 calcCarbonation();
6059 } 5936 }
6060 }); 5937 });
6061 $('#bottle_priming_water,#keg_priming_water').jqxTooltip({ content: 'De hoeveelheid water om de suiker op te lossen.' });
6062 $('#bottle_priming_water,#keg_priming_water').jqxNumberInput(Spin3dec); 5938 $('#bottle_priming_water,#keg_priming_water').jqxNumberInput(Spin3dec);
6063 $('#bottle_pressure').jqxTooltip({ content: 'De maximaal te verwachten druk tijdens het hergisten.' });
6064 $('#keg_forced_carb').jqxCheckBox({ theme: theme, width: 120, height: 23 }); 5939 $('#keg_forced_carb').jqxCheckBox({ theme: theme, width: 120, height: 23 });
6065 $('#bottle_priming_amount,#keg_priming_amount,#bottle_priming_total,#bottle_pressure,#keg_priming_total,#keg_pressure').jqxNumberInput(Show1dec); 5940 $('#bottle_priming_amount,#keg_priming_amount,#bottle_priming_total,#bottle_pressure,#keg_priming_total,#keg_pressure').jqxNumberInput(Show1dec);
6066 $('#bottle_abv,#keg_abv').jqxNumberInput(Show2dec); 5941 $('#bottle_abv,#keg_abv').jqxNumberInput(Show2dec);
6067 $('#bottle_carbonation_temp,#keg_carbonation_temp').jqxNumberInput(YeastT); 5942 $('#bottle_carbonation_temp,#keg_carbonation_temp').jqxNumberInput(YeastT);
6068 $('#CLog').jqxButton({ template: 'info', width: '150px', theme: theme }); 5943 $('#CLog').jqxButton({ template: 'info', width: '150px', theme: theme });

mercurial