www/js/prod_edit.js

changeset 723
3a837905bbce
parent 721
4d7394ced1c3
child 726
872a3635e4ef
equal deleted inserted replaced
722:c4457e10d968 723:3a837905bbce
2972 return ((v1 * c1) + (v2 * c2)) / (v1 + v2); 2972 return ((v1 * c1) + (v2 * c2)) / (v1 + v2);
2973 } 2973 }
2974 return 0; 2974 return 0;
2975 } 2975 }
2976 2976
2977 // mg/l as CaCO3
2978 // function ResidualAlkalinity(total_alkalinity, calcium, magnesium) {
2979 // return total_alkalinity - (calcium / 1.4 + magnesium / 1.7);
2980 // }
2981
2982 function PartCO3(pH) { 2977 function PartCO3(pH) {
2983 var H = Math.pow(10, -pH); 2978 var H = Math.pow(10, -pH);
2984 return 100 * Ka1 * Ka2 / (H * H + H * Ka1 + Ka1 * Ka2); 2979 return 100 * Ka1 * Ka2 / (H * H + H * Ka1 + Ka1 * Ka2);
2985 } 2980 }
2986 2981
3227 sodium = wg_sodium + RA; 3222 sodium = wg_sodium + RA;
3228 // HCO3 3223 // HCO3
3229 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; 3224 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
3230 bicarbonate = wg_bicarbonate + RA; 3225 bicarbonate = wg_bicarbonate + RA;
3231 total_alkalinity = bicarbonate * 50 / 61; 3226 total_alkalinity = bicarbonate * 50 / 61;
3232 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
3233 } 3227 }
3234 break; 3228 break;
3235 case 1: 3229 case 1:
3236 RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal 3230 RA = -protonDeficit / (2 * f1d + f2d); // Sodiumcarbonate, mmol totaal
3237 RA = RA * MMNa2CO3 / 1000; //gram 3231 RA = RA * MMNa2CO3 / 1000; //gram
3243 sodium = wg_sodium + RA; 3237 sodium = wg_sodium + RA;
3244 // HCO3 3238 // HCO3
3245 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters; 3239 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
3246 bicarbonate = wg_bicarbonate + RA; 3240 bicarbonate = wg_bicarbonate + RA;
3247 total_alkalinity = bicarbonate * 50 / 61; 3241 total_alkalinity = bicarbonate * 50 / 61;
3248 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
3249 } 3242 }
3250 break; 3243 break;
3251 case 2: 3244 case 2:
3252 RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal 3245 RA = -protonDeficit * (f1d - f3d); // Calciumcarbonate, mmol totaal
3253 RA = RA * MMCaCO3 / 1000; //gram 3246 RA = RA * MMCaCO3 / 1000; //gram
3263 //Ca precipitates out as Ca10(PO4)6(OH)2 3256 //Ca precipitates out as Ca10(PO4)6(OH)2
3264 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + 3257 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
3265 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + 3258 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
3266 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters; 3259 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaCO3 * 1000) / liters;
3267 calcium = wg_calcium + RA; 3260 calcium = wg_calcium + RA;
3268 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
3269 } 3261 }
3270 break; 3262 break;
3271 case 3: 3263 case 3:
3272 RA = -protonDeficit / 19.3; // Calciumhydroxide 3264 RA = -protonDeficit / 19.3; // Calciumhydroxide
3273 $('#wa_base').val(Round(RA, 2)); 3265 $('#wa_base').val(Round(RA, 2));
3280 // Calcium 3272 // Calcium
3281 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 + 3273 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa / MMCaCl2 * 1000 +
3282 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 + 3274 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa / MMCaSO4 * 1000 +
3283 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2 * 1000) / liters; 3275 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa / MMCaOH2 * 1000) / liters;
3284 calcium = wg_calcium + RA; 3276 calcium = wg_calcium + RA;
3285 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
3286 } 3277 }
3287 break; 3278 break;
3288 } 3279 }
3289 } 3280 }
3290 ph = TpH; 3281 ph = TpH;
3303 sodium = wg_sodium + RA; 3294 sodium = wg_sodium + RA;
3304 // HCO3 3295 // HCO3
3305 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters; 3296 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNaHCO3 * 1000) / liters;
3306 bicarbonate = wg_bicarbonate + RA; 3297 bicarbonate = wg_bicarbonate + RA;
3307 total_alkalinity = bicarbonate * 50 / 61; 3298 total_alkalinity = bicarbonate * 50 / 61;
3308 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
3309 break; 3299 break;
3310 case 1: // Sodiumcarbonate 3300 case 1: // Sodiumcarbonate
3311 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 + 3301 RA = (parseFloat($('#wa_nacl').jqxNumberInput('decimal')) * MMNa / MMNaCl * 1000 +
3312 parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters; 3302 parseFloat($('#wa_base').jqxNumberInput('decimal')) * 2 * MMNa / MMNa2CO3 * 1000) / liters;
3313 sodium = wg_sodium + RA; 3303 sodium = wg_sodium + RA;
3314 // HCO3 3304 // HCO3
3315 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters; 3305 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMHCO3 / MMNa2CO3 * 1000) / liters;
3316 bicarbonate = wg_bicarbonate + RA; 3306 bicarbonate = wg_bicarbonate + RA;
3317 total_alkalinity = bicarbonate * 50 / 61; 3307 total_alkalinity = bicarbonate * 50 / 61;
3318 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
3319 break; 3308 break;
3320 case 2: // Calciumcarbonate: Bicarbonate 3309 case 2: // Calciumcarbonate: Bicarbonate
3321 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters; 3310 RA = (parseFloat($('#wa_base').jqxNumberInput('decimal')) / 3 * MMHCO3 * 1000 / MMCaCO3) / liters;
3322 bicarbonate = wg_bicarbonate + RA; 3311 bicarbonate = wg_bicarbonate + RA;
3323 total_alkalinity = bicarbonate * 50 / 61; 3312 total_alkalinity = bicarbonate * 50 / 61;
3324 // RA = ResidualAlkalinity(wb_total_alkalinity, wb_calcium, wb_magnesium);
3325 // Ca 3313 // Ca
3326 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 + 3314 RA = (parseFloat($('#wa_cacl2').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaCl2 +
3327 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 + 3315 parseFloat($('#wa_caso4').jqxNumberInput('decimal')) * MMCa * 1000 / MMCaSO4 +
3328 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters; 3316 parseFloat($('#wa_base').jqxNumberInput('decimal')) * MMCa * 1000/ MMCaCO3) / liters;
3329 calcium = wg_calcium + RA; 3317 calcium = wg_calcium + RA;
3696 } else { 3684 } else {
3697 $('#keg_priming_amount').val(0); 3685 $('#keg_priming_amount').val(0);
3698 $('#keg_priming_total').val(0); 3686 $('#keg_priming_total').val(0);
3699 $('#keg_abv').val(ABV); 3687 $('#keg_abv').val(ABV);
3700 } 3688 }
3689 }
3690
3691 function en_stage_equipment(state) {
3692 $('#equipmentSelect').jqxDropDownList({ disabled: (state) ? true:false });
3693 $('#Delete').jqxButton({ disabled: (state) ? true:false });
3694 }
3695
3696 function en_stage_brewday(state) {
3697 $('#jqxTabs').jqxTabs((state) ? 'disableAt':'enableAt', 8); // Brewday tab
3698 }
3699
3700 function en_stage_afterbrew(state) {
3701
3702 var onval = { disabled: (state) ? true:false };
3703 var spinstate = { spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 90:110 };
3704 var spinsmall = { spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 70:90 };
3705
3706 $('#jqxTabs').jqxTabs((state) ? 'enableAt':'disableAt', 9); // Fermentation tab
3707 $('#name').jqxInput(onval);
3708 $('#code').jqxInput(onval);
3709 $('#batch_size').jqxNumberInput(spinstate);
3710 $('#boil_size').jqxNumberInput(spinstate);
3711 $('#boil_time').jqxNumberInput(spinstate);
3712 $('#efficiency').jqxNumberInput(spinstate);
3713 $('#est_og').jqxNumberInput(spinstate);
3714 $('#type').jqxDropDownList(onval);
3715 $('#styleSelect').jqxDropDownList(onval);
3716 $('#color_method').jqxDropDownList(onval);
3717 $('#ibu_method').jqxDropDownList(onval);
3718 $('#mash_select').jqxDropDownList(onval);
3719 $('#w1_name').jqxDropDownList(onval);
3720 $('#w2_name').jqxDropDownList(onval);
3721 $('#w2_amount').jqxNumberInput(onval);
3722 $('#pr_name').jqxDropDownList(onval);
3723 $('#wa_cacl2').jqxNumberInput(spinstate);
3724 $('#wa_caso4').jqxNumberInput(spinstate);
3725 $('#wa_mgso4').jqxNumberInput(spinstate);
3726 $('#wa_nacl').jqxNumberInput(spinstate);
3727 $('#mash_ph').jqxNumberInput(spinstate);
3728 $('#calc_acid').jqxCheckBox(onval);
3729 $('#wa_base_name').jqxDropDownList(onval);
3730 $('#wa_base').jqxNumberInput(spinstate);
3731 $('#wa_acid_name').jqxDropDownList(onval);
3732 $('#wa_acid').jqxNumberInput(spinstate);
3733 $('#wa_acid_perc').jqxNumberInput(spinsmall);
3734 $('#sparge_temp').jqxNumberInput(spinstate);
3735 $('#sparge_volume').jqxNumberInput(spinstate);
3736 $('#sparge_ph').jqxNumberInput(spinstate);
3737 $('#sparge_source').jqxDropDownList(onval);
3738 $('#sparge_acid_type').jqxDropDownList(onval);
3739 $('#sparge_acid_perc').jqxNumberInput(spinstate);
3740 $('#starter_type').jqxDropDownList(onval);
3741 $('#starter_try').jqxButton(onval);
3742 $('#starter_sg').jqxNumberInput(spinstate);
3743 $('#yeast_prod_date').jqxDateTimeInput(onval);
3744 $('#yeast_pitchrate').jqxNumberInput(spinstate);
3745 $('#but_pickpitchrate').jqxButton(onval);
3746 }
3747
3748 function en_stage_afterprimary(istate) {
3749
3750 var state = istate;
3751 var onval = { disabled: (state) ? true:false };
3752 var spinstate = { spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 90:110 };
3753
3754 $('#brew_date_start').jqxDateTimeInput(onval);
3755 $('#brew_date_end').jqxDateTimeInput(onval);
3756 $('#brew_mash_ph').jqxNumberInput(spinstate);
3757 $('#brew_mash_sg').jqxNumberInput(spinstate);
3758 $('#brew_whirlpool9').jqxNumberInput(spinstate);
3759 $('#brew_cooling_to').jqxNumberInput(spinstate);
3760 $('#brew_whirlpool7').jqxNumberInput(spinstate);
3761 $('#brew_cooling_method').jqxDropDownList(onval);
3762 $('#brew_whirlpool6').jqxNumberInput(spinstate);
3763 $('#brew_cooling_time').jqxNumberInput(spinstate);
3764 $('#brew_sparge_ph').jqxNumberInput(spinstate);
3765 $('#brew_whirlpool2').jqxNumberInput(spinstate);
3766 $('#brew_aeration_type').jqxDropDownList(onval);
3767 $('#brew_fermenter_tcloss').jqxNumberInput(spinstate);
3768 $('#brew_aeration_time').jqxNumberInput(spinstate);
3769 $('#brew_fermenter_extrawater').jqxNumberInput(spinstate);
3770 $('#brew_aeration_speed').jqxNumberInput(spinstate);
3771
3772 if (! state) {
3773 state = (dataRecord.boil_time == 0);
3774 }
3775 onval = { disabled: (state) ? true:false };
3776 spinstate = { spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 90:110 };
3777 $('#brew_preboil_ph').jqxNumberInput(spinstate);
3778 $('#brew_aboil_ph').jqxNumberInput(spinstate);
3779 $('#brew_preboil_sg').jqxNumberInput(spinstate);
3780 $('#brew_aboil_sg').jqxNumberInput(spinstate);
3781 $('#brew_preboil_volume').jqxNumberInput(spinstate);
3782 $('#brew_aboil_volume').jqxNumberInput(spinstate);
3783 $('#but_pre_boil').jqxButton(onval);
3784 $('#but_after_boil').jqxButton(onval);
3785 }
3786
3787 function en_stage_tertiary(state) {
3788 $('#package_date').jqxDateTimeInput({ disabled: (state) ? false:true });
3789 }
3790
3791 function en_stage_aftertertiary(state) {
3792
3793 var spinstate = { spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 90:110 };
3794
3795 $('#primary_start_temp').jqxNumberInput(spinstate);
3796 $('#primary_max_temp').jqxNumberInput(spinstate);
3797 $('#primary_end_temp').jqxNumberInput(spinstate);
3798 $('#primary_end_sg').jqxNumberInput(spinstate);
3799 $('#primary_end_brix').jqxNumberInput(spinstate);
3800 $('#primary_end_date').jqxDateTimeInput({ disabled: (state) ? true:false });
3801 }
3802
3803 function en_stage_afterpackaging(state) {
3804
3805 var onval = { disabled: (state) ? true:false };
3806 var spinstate = { spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 90:110 };
3807
3808 $('#secondary_temp').jqxNumberInput(spinstate);
3809 $('#secondary_end_sg').jqxNumberInput(spinstate);
3810 $('#secondary_end_date').jqxDateTimeInput(onval);
3811 $('#secondary_end_brix').jqxNumberInput(spinstate);
3812 $('#tertiary_temp').jqxNumberInput(spinstate);
3813 $('#fg').jqxNumberInput(spinstate);
3814 $('#final_brix').jqxNumberInput(spinstate);
3815 $('#package_date').jqxDateTimeInput(onval);
3816 $('#package_volume').jqxNumberInput(spinstate);
3817 $('#package_infuse_amount').jqxNumberInput(spinstate);
3818 $('#package_infuse_abv').jqxNumberInput(spinstate);
3819 $('#package_infuse_notes').jqxInput(onval);
3820 $('#package_ph').jqxNumberInput(spinstate);
3821 $('#bottle_amount').jqxNumberInput(spinstate);
3822 $('#bottle_priming_water').jqxNumberInput(spinstate);
3823 $('#keg_priming_water').jqxNumberInput(spinstate);
3824 $('#keg_amount').jqxNumberInput(spinstate);
3825 $('#bottle_carbonation').jqxNumberInput(spinstate);
3826 $('#keg_carbonation').jqxNumberInput(spinstate);
3827 $('#bottle_priming_sugar').jqxDropDownList(onval);
3828 $('#keg_priming_sugar').jqxDropDownList(onval);
3829 $('#keg_forced_carb').jqxCheckBox(onval);
3830 $('#bottle_carbonation_temp').jqxNumberInput(spinstate);
3831 $('#keg_carbonation_temp').jqxNumberInput(spinstate);
3832 }
3833
3834 function en_stage_b4taste(state) {
3835 $('#jqxTabs').jqxTabs((state) ? 'disableAt':'enableAt', 11); // Tasting tab
3836 }
3837
3838 function en_stage_locked(state) {
3839
3840 var onval = { disabled: (state) ? true:false };
3841
3842 $('#taste_date').jqxDateTimeInput(onval);
3843 $('#taste_rate').jqxNumberInput({ spinButtons: (state) ? false:true, readOnly: (state) ? true:false, width: (state) ? 90:110 });
3844 $('#taste_color').jqxInput(onval);
3845 $('#taste_transparency').jqxInput(onval);
3846 $('#taste_head').jqxInput(onval);
3847 $('#taste_aroma').jqxInput(onval);
3848 $('#taste_taste').jqxInput(onval);
3849 $('#taste_aftertaste').jqxInput(onval);
3850 $('#taste_mouthfeel').jqxInput(onval);
3851 $('#taste_notes').jqxInput(onval);
3852 $('#notes').jqxInput(onval);
3701 } 3853 }
3702 3854
3703 function calcStage() { 3855 function calcStage() {
3704 3856
3705 var newstage = dataRecord.stage, d, date1, date2, date1_unixtime, date2_unixtime, timeDifference, timeDifferenceInDays; 3857 var newstage = dataRecord.stage, d, date1, date2, date1_unixtime, date2_unixtime, timeDifference, timeDifferenceInDays;
3755 if (dataRecord.stage >= 10) { 3907 if (dataRecord.stage >= 10) {
3756 $('#locked').jqxCheckBox({ disabled: false }); 3908 $('#locked').jqxCheckBox({ disabled: false });
3757 } 3909 }
3758 3910
3759 /* 3911 /*
3760 * When the brew is in progress or done, block equipment select and delete. 3912 * Enable or disable parts of the screens.
3761 */ 3913 */
3762 if (dataRecord.stage > 1) { 3914 en_stage_equipment(dataRecord.stage > 1); // When the brew is in progress or done
3763 $('#equipmentSelect').jqxDropDownList({ disabled: true }); 3915 en_stage_brewday(dataRecord.stage < 1); // Planning, no ingredients
3764 $('#Delete').jqxButton({ disabled: true }); 3916 en_stage_afterbrew(dataRecord.stage > 2); // After the brew
3765 } 3917 en_stage_afterprimary(dataRecord.stage > 3); // Primary fermentation done
3766 3918 en_stage_tertiary(dataRecord.stage == 5); // Tertiary, allow packaging
3767 if (dataRecord.stage < 1) // Planning, no ingredients 3919 en_stage_aftertertiary(dataRecord.stage >= 5); // After all fermentation steps
3768 $('#jqxTabs').jqxTabs('disableAt', 8); // Brewday tab 3920 en_stage_afterpackaging(dataRecord.stage >= 6); // After packaging
3769 else 3921 en_stage_b4taste(dataRecord.stage < 9); // Taste when at least Mature.
3770 $('#jqxTabs').jqxTabs('enableAt', 8); 3922 en_stage_locked(dataRecord.stage == 11); // Locked.
3771
3772 if (dataRecord.stage < 3) { // Primary
3773 $('#jqxTabs').jqxTabs('disableAt', 9); // Fermentation tab
3774 } else {
3775 $('#jqxTabs').jqxTabs('enableAt', 9);
3776 $('#name').jqxInput({ disabled: true });
3777 $('#code').jqxInput({ disabled: true });
3778 $('#batch_size').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3779 $('#boil_size').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3780 $('#boil_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3781 $('#efficiency').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3782 $('#est_og').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3783 $('#type').jqxDropDownList({ disabled: true });
3784 $('#styleSelect').jqxDropDownList({ disabled: true });
3785 $('#color_method').jqxDropDownList({ disabled: true });
3786 $('#ibu_method').jqxDropDownList({ disabled: true });
3787 $('#mash_select').jqxDropDownList({ disabled: true });
3788 $('#w1_name').jqxDropDownList({ disabled: true });
3789 $('#w2_name').jqxDropDownList({ disabled: true });
3790 $('#w2_amount').jqxNumberInput({ readOnly: true });
3791 $('#pr_name').jqxDropDownList({ disabled: true });
3792 $('#wa_cacl2').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3793 $('#wa_caso4').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3794 $('#wa_mgso4').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3795 $('#wa_nacl').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3796 $('#mash_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3797 $('#calc_acid').jqxCheckBox({ disabled: true });
3798 $('#wa_base_name').jqxDropDownList({ disabled: true });
3799 $('#wa_base').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3800 $('#wa_acid_name').jqxDropDownList({ disabled: true });
3801 $('#wa_acid').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3802 $('#wa_acid_perc').jqxNumberInput({ spinButtons: false, readOnly: true, width: 70 });
3803 $('#sparge_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3804 $('#sparge_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3805 $('#sparge_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3806 $('#sparge_source').jqxDropDownList({ disabled: true });
3807 $('#sparge_acid_type').jqxDropDownList({ disabled: true });
3808 $('#sparge_acid_perc').jqxNumberInput({ spinButtons: false, readOnly: true, width: false });
3809 $('#starter_type').jqxDropDownList({ disabled: true });
3810 $('#starter_try').jqxButton({ disabled: true });
3811 $('#starter_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3812 $('#yeast_prod_date').jqxDateTimeInput({ disabled: true });
3813 $('#yeast_pitchrate').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3814 $('#but_pickpitchrate').jqxButton({ disabled: true });
3815 }
3816 if (dataRecord.stage > 3) { // Primary fermentation done
3817 $('#brew_date_start').jqxDateTimeInput({ disabled: true });
3818 $('#brew_date_end').jqxDateTimeInput({ disabled: true });
3819 $('#brew_mash_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3820 $('#brew_preboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3821 $('#brew_aboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3822 $('#brew_mash_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3823 $('#brew_preboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3824 $('#brew_aboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3825 $('#brew_preboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3826 $('#brew_aboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3827 $('#brew_whirlpool9').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3828 $('#brew_cooling_to').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3829 $('#brew_whirlpool7').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3830 $('#brew_cooling_method').jqxDropDownList({ disabled: true });
3831 $('#brew_whirlpool6').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3832 $('#brew_cooling_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3833 $('#brew_sparge_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3834 $('#brew_whirlpool2').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3835 $('#brew_aeration_type').jqxDropDownList({ disabled: true });
3836 $('#brew_fermenter_tcloss').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3837 $('#brew_aeration_time').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3838 $('#brew_fermenter_extrawater').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3839 $('#brew_aeration_speed').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3840 $('#but_pre_boil').jqxButton({ disabled: true });
3841 $('#but_after_boil').jqxButton({ disabled: true });
3842 } else {
3843 if (dataRecord.boil_time == 0) {
3844 $('#brew_preboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3845 $('#brew_aboil_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3846 $('#brew_preboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3847 $('#brew_aboil_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3848 $('#brew_preboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3849 $('#brew_aboil_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3850 $('#but_pre_boil').jqxButton({ disabled: true });
3851 $('#but_after_boil').jqxButton({ disabled: true });
3852 } else {
3853 $('#brew_preboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
3854 $('#brew_aboil_ph').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
3855 $('#brew_preboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
3856 $('#brew_aboil_sg').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
3857 $('#brew_preboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
3858 $('#brew_aboil_volume').jqxNumberInput({ spinButtons: true, readOnly: false, width: 110 });
3859 $('#but_pre_boil').jqxButton({ disabled: false });
3860 $('#but_after_boil').jqxButton({ disabled: false });
3861 }
3862 }
3863 if (dataRecord.stage == 5) // Lagering, allow packaging
3864 $('#package_date').jqxDateTimeInput({ disabled: false });
3865 else
3866 $('#package_date').jqxDateTimeInput({ disabled: true });
3867 if (dataRecord.stage >= 5) { // At least secondary
3868 $('#primary_start_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3869 $('#primary_max_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3870 $('#primary_end_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3871 $('#primary_end_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3872 $('#primary_end_brix').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3873 $('#primary_end_date').jqxDateTimeInput({ disabled: true });
3874 }
3875 if (dataRecord.stage >= 6) { // Packaged
3876 $('#secondary_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3877 $('#secondary_end_sg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3878 $('#secondary_end_date').jqxDateTimeInput({ disabled: true });
3879 $('#tertiary_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3880 $('#fg').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3881 $('#final_brix').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3882 $('#package_date').jqxDateTimeInput({ disabled: true });
3883 $('#package_volume').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3884 $('#package_infuse_amount').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3885 $('#package_infuse_abv').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3886 $('#package_infuse_notes').jqxInput({ disabled: true });
3887 $('#package_ph').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3888 $('#bottle_amount').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3889 $('#bottle_priming_water').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3890 $('#keg_priming_water').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3891 $('#keg_amount').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3892 $('#bottle_carbonation').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3893 $('#keg_carbonation').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3894 $('#bottle_priming_sugar').jqxDropDownList({ disabled: true });
3895 $('#keg_priming_sugar').jqxDropDownList({ disabled: true });
3896 $('#keg_forced_carb').jqxCheckBox({ disabled: true });
3897 $('#bottle_carbonation_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3898 $('#keg_carbonation_temp').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3899 }
3900 if (dataRecord.stage < 8) { // Taste when at least Mature.
3901 $('#jqxTabs').jqxTabs('disableAt', 11); // Tasting tab
3902 } else {
3903 $('#jqxTabs').jqxTabs('enableAt', 11);
3904 }
3905
3906 if (dataRecord.stage == 11) { // Locked
3907 $('#taste_date').jqxDateTimeInput({ disabled: true });
3908 $('#taste_rate').jqxNumberInput({ spinButtons: false, readOnly: true, width: 90 });
3909 $('#taste_color').jqxInput({ disabled: true });
3910 $('#taste_transparency').jqxInput({ disabled: true });
3911 $('#taste_head').jqxInput({ disabled: true });
3912 $('#taste_aroma').jqxInput({ disabled: true });
3913 $('#taste_taste').jqxInput({ disabled: true });
3914 $('#taste_aftertaste').jqxInput({ disabled: true });
3915 $('#taste_mouthfeel').jqxInput({ disabled: true });
3916 $('#taste_notes').jqxInput({ disabled: true });
3917 $('#notes').jqxInput({ disabled: true });
3918 } else {
3919 $('#notes').jqxInput({ disabled: false });
3920 }
3921 } 3923 }
3922 3924
3923 function showStarter() { 3925 function showStarter() {
3924 3926
3925 if (dataRecord.starter_enable) { 3927 if (dataRecord.starter_enable) {

mercurial