Fixed as much as possible warnings from the yui-compressor.

Sat, 14 Sep 2019 19:04:29 +0200

author
Michiel Broek <mbroek@mbse.eu>
date
Sat, 14 Sep 2019 19:04:29 +0200
changeset 494
af28ebe4a779
parent 491
8c4f08445624
child 495
fdbb6bfae569

Fixed as much as possible warnings from the yui-compressor.

www/js/import_ingredients-min.js file | annotate | diff | comparison | revisions
www/js/import_ingredients.js file | annotate | diff | comparison | revisions
www/js/inv_equipments-min.js file | annotate | diff | comparison | revisions
www/js/inv_equipments.js file | annotate | diff | comparison | revisions
www/js/log_brew-min.js file | annotate | diff | comparison | revisions
www/js/log_brew.js file | annotate | diff | comparison | revisions
www/js/log_fermentation-min.js file | annotate | diff | comparison | revisions
www/js/log_fermentation.js file | annotate | diff | comparison | revisions
www/js/mon_fermenter-min.js file | annotate | diff | comparison | revisions
www/js/mon_fermenter.js file | annotate | diff | comparison | revisions
www/js/mon_node-min.js file | annotate | diff | comparison | revisions
www/js/mon_node.js file | annotate | diff | comparison | revisions
www/js/prod_export-min.js file | annotate | diff | comparison | revisions
www/js/prod_export.js file | annotate | diff | comparison | revisions
www/js/prod_new-min.js file | annotate | diff | comparison | revisions
www/js/prod_new.js file | annotate | diff | comparison | revisions
www/js/profile_fermentation-min.js file | annotate | diff | comparison | revisions
www/js/profile_fermentation.js file | annotate | diff | comparison | revisions
www/js/profile_mash-min.js file | annotate | diff | comparison | revisions
www/js/profile_mash.js file | annotate | diff | comparison | revisions
www/js/profile_setup-min.js file | annotate | diff | comparison | revisions
www/js/profile_setup.js file | annotate | diff | comparison | revisions
www/js/profile_styles-min.js file | annotate | diff | comparison | revisions
www/js/profile_styles.js file | annotate | diff | comparison | revisions
www/js/profile_water-min.js file | annotate | diff | comparison | revisions
www/js/profile_water.js file | annotate | diff | comparison | revisions
www/js/rec_export-min.js file | annotate | diff | comparison | revisions
www/js/rec_export.js file | annotate | diff | comparison | revisions
www/js/rec_import-min.js file | annotate | diff | comparison | revisions
www/js/rec_import.js file | annotate | diff | comparison | revisions
--- a/www/js/import_ingredients-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/import_ingredients-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){var a="";if(my_select=="fermentables"){a="upl_fermentables.php"}else{if(my_select=="hops"){a="upl_hops.php"}else{if(my_select=="miscs"){a="upl_miscs.php"}else{if(my_select=="yeasts"){a="upl_yeasts.php"}else{if(my_select=="styles"){a="upl_styles.php"}}}}}$("#jqxFileUpload").jqxFileUpload({width:300,browseTemplate:"success",cancelTemplate:"inverse",uploadTemplate:"primary",theme:theme,multipleFilesUpload:false,accept:"application/xml",uploadUrl:a,fileInputName:"fileToUpload"});$("#eventsPanel").jqxPanel({width:800,height:200,theme:theme});$("#jqxFileUpload").on("select",function(d){var c=d.args;var e=c.file;var b=c.size;$("#eventsPanel").jqxPanel("clearcontent");$("#eventsPanel").jqxPanel("append","<strong>"+d.type+":</strong> "+e+"  size: "+b+"<br />")});$("#jqxFileUpload").on("uploadEnd",function(d){var c=d.args;var e=c.file;var b=c.response;$("#eventsPanel").jqxPanel("append","<strong>"+d.type+":</strong> ontvangen "+e+"<br />"+b+"<br />")})});
\ No newline at end of file
+$(document).ready(function(){var a="";if(my_select=="fermentables"){a="upl_fermentables.php"}else{if(my_select=="hops"){a="upl_hops.php"}else{if(my_select=="miscs"){a="upl_miscs.php"}else{if(my_select=="yeasts"){a="upl_yeasts.php"}else{if(my_select=="styles"){a="upl_styles.php"}}}}}$("#jqxFileUpload").jqxFileUpload({width:300,browseTemplate:"success",cancelTemplate:"inverse",uploadTemplate:"primary",theme:theme,multipleFilesUpload:false,accept:"application/xml",uploadUrl:a,fileInputName:"fileToUpload"});$("#eventsPanel").jqxPanel({width:800,height:200,theme:theme});$("#jqxFileUpload").on("select",function(d){var c=d.args,e=c.file,b=c.size;$("#eventsPanel").jqxPanel("clearcontent");$("#eventsPanel").jqxPanel("append","<strong>"+d.type+":</strong> "+e+"  size: "+b+"<br />")});$("#jqxFileUpload").on("uploadEnd",function(d){var c=d.args,e=c.file,b=c.response;$("#eventsPanel").jqxPanel("append","<strong>"+d.type+":</strong> ontvangen "+e+"<br />"+b+"<br />")})});
\ No newline at end of file
--- a/www/js/import_ingredients.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/import_ingredients.js	Sat Sep 14 19:04:29 2019 +0200
@@ -53,16 +53,16 @@
 		theme: theme
 	});
 	$('#jqxFileUpload').on('select', function (event) {
-		var args = event.args;
-		var fileName = args.file;
-		var fileSize = args.size;
+		var args = event.args,
+		fileName = args.file,
+		fileSize = args.size;
 		$('#eventsPanel').jqxPanel('clearcontent');
 		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
 	});
 	$('#jqxFileUpload').on('uploadEnd', function (event) {
-		var args = event.args;
-		var fileName = args.file;
-		var serverResponce = args.response;
+		var args = event.args,
+		fileName = args.file,
+		serverResponce = args.response;
 		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
 	});
 
--- a/www/js/inv_equipments-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/inv_equipments-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){function c(){var j=$("#calc_boil_volume").val(),k=parseFloat($("#boil_size").jqxNumberInput("decimal")),l=parseFloat($("#evap_rate").jqxNumberInput("decimal")),g=parseFloat($("#boil_time").jqxNumberInput("decimal")),h=parseFloat($("#top_up_kettle").jqxNumberInput("decimal")),i;if(j){i=k-(l*g/60)+h;$("#batch_size").val(i)}}$("#name").jqxTooltip({content:"The unique name of this brew equipment."});$("#notes").jqxTooltip({content:"Some notes about the equipment."});$("#tun_volume").jqxTooltip({content:"Mash TUN volume."});$("#tun_height").jqxTooltip({content:"Mash TUN height in cm."});$("#tun_weight").jqxTooltip({content:"Mash TUN weight in Kg."});$("#tun_material").jqxTooltip({content:"Mash TUN material. Needed to calculate the right strike temperature."});$("#mash_volume").jqxTooltip({content:"Liters maisch water voor de eerste maisch stap."});$("#mash_max").jqxTooltip({content:"Maximale moutstort voor deze installatie in Kg."});$("#lauter_volume").jqxTooltip({content:"Total lauter volume."});$("#lauter_height").jqxTooltip({content:"Height of the lauter TUN in cm."});$("#lauter_deadspace").jqxTooltip({content:"Volume loss in the lauter TUN."});$("#efficiency").jqxTooltip({content:"Average efficiency."});$("#kettle_volume").jqxTooltip({content:"Boil kettle volume in liters."});$("#kettle_height").jqxTooltip({content:"Boil kettle height in cm."});$("#boil_size").jqxTooltip({content:"Normal boil volume in liters"});$("#evap_rate").jqxTooltip({content:"Evaporation in liters per hour."});$("#boil_time").jqxTooltip({content:"Normal boil time in minutes."});$("#top_up_kettle").jqxTooltip({content:"Extra water added to the boil."});$("#hop_utilization").jqxTooltip({content:"100% for smaller installations, higher for large breweries."});$("#batch_size").jqxTooltip({content:"Calculated batch size, liters at end of the boil."});$("#trub_chiller_loss").jqxTooltip({content:"Standard loss in liters during transfer to the fermenter."});var b={},a="includes/db_inventory_equipments.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"boil_size",type:"float"},{name:"batch_size",type:"float"},{name:"tun_volume",type:"float"},{name:"tun_weight",type:"float"},{name:"tun_specific_heat",type:"float"},{name:"tun_material",type:"int"},{name:"tun_height",type:"float"},{name:"top_up_water",type:"float"},{name:"trub_chiller_loss",type:"float"},{name:"evap_rate",type:"float"},{name:"boil_time",type:"float"},{name:"calc_boil_volume",type:"int"},{name:"top_up_kettle",type:"float"},{name:"hop_utilization",type:"float"},{name:"notes",type:"string"},{name:"lauter_volume",type:"float"},{name:"lauter_height",type:"float"},{name:"lauter_deadspace",type:"float"},{name:"kettle_volume",type:"float"},{name:"kettle_height",type:"float"},{name:"mash_volume",type:"float"},{name:"mash_max",type:"float"},{name:"efficiency",type:"float"}],id:"record",url:a,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:a,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}};$("#name").jqxInput({theme:theme,width:250,height:23});$("#notes").jqxInput({theme:theme,width:640,height:100});$("#boil_size").jqxNumberInput(Spin1dec);$("#batch_size").jqxNumberInput(Spin2dec);$("#batch_size").jqxNumberInput({spinButtonsStep:0.5});$("#tun_volume").jqxNumberInput(Spin1dec);$("#tun_weight").jqxNumberInput(Spin2dec);$("#tun_specific_heat").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:70,height:23,decimalDigits:3});$("#tun_material").jqxDropDownList({theme:theme,source:MaterialAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#tun_height").jqxNumberInput(Spin1dec);$("#top_up_water").jqxNumberInput(Spin1dec);$("#trub_chiller_loss").jqxNumberInput(Spin1dec);$("#evap_rate").jqxNumberInput(Spin2dec);$("#boil_time").jqxNumberInput(PosInt);$("#boil_time").jqxNumberInput({max:1440});$("#calc_boil_volume").jqxCheckBox({theme:theme,width:120,height:23});$("#calc_boil_volume").on("checked",function(g){$("#batch_size").jqxNumberInput({readOnly:true,width:90,spinButtons:false})});$("#calc_boil_volume").on("unchecked",function(g){$("#batch_size").jqxNumberInput({readOnly:false,width:110,spinButtons:true})});$("#top_up_kettle").jqxNumberInput(Spin1dec);$("#hop_utilization").jqxNumberInput(Perc0);$("#hop_utilization").jqxNumberInput({Max:200});$("#lauter_volume").jqxNumberInput(Spin1dec);$("#lauter_height").jqxNumberInput(Spin1dec);$("#lauter_deadspace").jqxNumberInput(Spin1dec);$("#kettle_volume").jqxNumberInput(Spin1dec);$("#kettle_height").jqxNumberInput(Spin1dec);$("#mash_volume").jqxNumberInput(Spin1dec);$("#mash_max").jqxNumberInput(Spin1dec);$("#efficiency").jqxNumberInput(Perc1dec);var f=new $.jqx.dataAdapter(e);var d=-1;$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var h,g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");g.append(h);i.append(g);h.jqxButton({theme:theme,width:90,height:20});h.click(function(j){d=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("Nieuwe brouwset");$("#boil_size").val(18);$("#batch_size").val(15.3);$("#tun_volume").val(20);$("#tun_weight").val(2);$("#tun_specific_heat").val(0.11);$("#tun_material").val(0);$("#tun_height").val(20);$("#top_up_water").val(0);$("#trub_chiller_loss").val(0.5);$("#evap_rate").val(1.8);$("#boil_time").val(90);$("#calc_boil_volume").val(1);$("#top_up_kettle").val(0);$("#hop_utilization").val(100);$("#notes").val("");$("#lauter_volume").val(20);$("#lauter_height").val(20);$("#lauter_deadspace").val(0.5);$("#kettle_volume").val(20);$("#kettle_height").val(20);$("#mash_volume").val(18);$("#mash_max").val(6);$("#efficiency").val(75);$("#popupWindow").jqxWindow("open")})},filterable:false,ready:function(){$("#boil_size").on("change",function(g){c()});$("#evap_rate").on("change",function(g){c()});$("#boil_time").on("change",function(g){c()});$("#top_up_kettle").on("change",function(g){c()});$("#calc_boil_volume").on("change",function(g){c()});$("#tun_material").on("change",function(g){b.tun_specific_heat=MaterialData[g.args.index].sh;$("#tun_specific_heat").val(b.tun_specific_heat)})},columns:[{text:"Installatie naam",datafield:"name",width:200},{text:"Kook volume",datafield:"boil_size",width:110,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Batch volume",datafield:"batch_size",width:110,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Opmerkingen",datafield:"notes"},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){d=g;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",d);$("#name").val(b.name);$("#boil_size").val(b.boil_size);$("#batch_size").val(b.batch_size);$("#tun_volume").val(b.tun_volume);$("#tun_weight").val(b.tun_weight);$("#tun_specific_heat").val(b.tun_specific_heat);$("#tun_material").val(b.tun_material);$("#tun_height").val(b.tun_height);$("#top_up_water").val(b.top_up_water);$("#trub_chiller_loss").val(b.trub_chiller_loss);$("#evap_rate").val(b.evap_rate);$("#boil_time").val(b.boil_time);$("#calc_boil_volume").val(b.calc_boil_volume);$("#top_up_kettle").val(b.top_up_kettle);$("#hop_utilization").val(b.hop_utilization);$("#notes").val(b.notes);$("#lauter_volume").val(b.lauter_volume);$("#lauter_height").val(b.lauter_height);$("#lauter_deadspace").val(b.lauter_deadspace);$("#kettle_volume").val(b.kettle_volume);$("#kettle_height").val(b.kettle_height);$("#mash_volume").val(b.mash_volume);$("#mash_max").val(b.mash_max);$("#efficiency").val(b.efficiency);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:600,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(d>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",d);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var h,g=-1;if(d>=0){g=$("#jqxgrid").jqxGrid("getrowid",d)}h={record:g,name:$("#name").val(),boil_size:parseFloat($("#boil_size").jqxNumberInput("decimal")),batch_size:parseFloat($("#batch_size").jqxNumberInput("decimal")),tun_volume:parseFloat($("#tun_volume").jqxNumberInput("decimal")),tun_weight:parseFloat($("#tun_weight").jqxNumberInput("decimal")),tun_specific_heat:parseFloat($("#tun_specific_heat").jqxNumberInput("decimal")),tun_material:$("#tun_material").val(),tun_height:parseFloat($("#tun_height").jqxNumberInput("decimal")),top_up_water:parseFloat($("#top_up_water").jqxNumberInput("decimal")),trub_chiller_loss:parseFloat($("#trub_chiller_loss").jqxNumberInput("decimal")),evap_rate:parseFloat($("#evap_rate").jqxNumberInput("decimal")),boil_time:parseFloat($("#boil_time").jqxNumberInput("decimal")),calc_boil_volume:$("#calc_boil_volume").val(),top_up_kettle:parseFloat($("#top_up_kettle").jqxNumberInput("decimal")),hop_utilization:parseFloat($("#hop_utilization").jqxNumberInput("decimal")),notes:$("#notes").val(),lauter_volume:parseFloat($("#lauter_volume").jqxNumberInput("decimal")),lauter_height:parseFloat($("#lauter_height").jqxNumberInput("decimal")),lauter_deadspace:parseFloat($("#lauter_deadspace").jqxNumberInput("decimal")),kettle_volume:parseFloat($("#kettle_volume").jqxNumberInput("decimal")),kettle_height:parseFloat($("#kettle_height").jqxNumberInput("decimal")),mash_volume:parseFloat($("#mash_volume").jqxNumberInput("decimal")),mash_max:parseFloat($("#mash_max").jqxNumberInput("decimal")),efficiency:parseFloat($("#efficiency").jqxNumberInput("decimal"))};if(d>=0){$("#jqxgrid").jqxGrid("updaterow",g,h)}else{$("#jqxgrid").jqxGrid("addrow",null,h)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
+function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){function c(){var j=$("#calc_boil_volume").val(),k=parseFloat($("#boil_size").jqxNumberInput("decimal")),l=parseFloat($("#evap_rate").jqxNumberInput("decimal")),g=parseFloat($("#boil_time").jqxNumberInput("decimal")),h=parseFloat($("#top_up_kettle").jqxNumberInput("decimal")),i;if(j){i=k-(l*g/60)+h;$("#batch_size").val(i)}}$("#name").jqxTooltip({content:"The unique name of this brew equipment."});$("#notes").jqxTooltip({content:"Some notes about the equipment."});$("#tun_volume").jqxTooltip({content:"Mash TUN volume."});$("#tun_height").jqxTooltip({content:"Mash TUN height in cm."});$("#tun_weight").jqxTooltip({content:"Mash TUN weight in Kg."});$("#tun_material").jqxTooltip({content:"Mash TUN material. Needed to calculate the right strike temperature."});$("#mash_volume").jqxTooltip({content:"Liters maisch water voor de eerste maisch stap."});$("#mash_max").jqxTooltip({content:"Maximale moutstort voor deze installatie in Kg."});$("#lauter_volume").jqxTooltip({content:"Total lauter volume."});$("#lauter_height").jqxTooltip({content:"Height of the lauter TUN in cm."});$("#lauter_deadspace").jqxTooltip({content:"Volume loss in the lauter TUN."});$("#efficiency").jqxTooltip({content:"Average efficiency."});$("#kettle_volume").jqxTooltip({content:"Boil kettle volume in liters."});$("#kettle_height").jqxTooltip({content:"Boil kettle height in cm."});$("#boil_size").jqxTooltip({content:"Normal boil volume in liters"});$("#evap_rate").jqxTooltip({content:"Evaporation in liters per hour."});$("#boil_time").jqxTooltip({content:"Normal boil time in minutes."});$("#top_up_kettle").jqxTooltip({content:"Extra water added to the boil."});$("#hop_utilization").jqxTooltip({content:"100% for smaller installations, higher for large breweries."});$("#batch_size").jqxTooltip({content:"Calculated batch size, liters at end of the boil."});$("#trub_chiller_loss").jqxTooltip({content:"Standard loss in liters during transfer to the fermenter."});var b={},a="includes/db_inventory_equipments.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"boil_size",type:"float"},{name:"batch_size",type:"float"},{name:"tun_volume",type:"float"},{name:"tun_weight",type:"float"},{name:"tun_specific_heat",type:"float"},{name:"tun_material",type:"int"},{name:"tun_height",type:"float"},{name:"top_up_water",type:"float"},{name:"trub_chiller_loss",type:"float"},{name:"evap_rate",type:"float"},{name:"boil_time",type:"float"},{name:"calc_boil_volume",type:"int"},{name:"top_up_kettle",type:"float"},{name:"hop_utilization",type:"float"},{name:"notes",type:"string"},{name:"lauter_volume",type:"float"},{name:"lauter_height",type:"float"},{name:"lauter_deadspace",type:"float"},{name:"kettle_volume",type:"float"},{name:"kettle_height",type:"float"},{name:"mash_volume",type:"float"},{name:"mash_max",type:"float"},{name:"efficiency",type:"float"}],id:"record",url:a,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:a,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e),d=-1;$("#name").jqxInput({theme:theme,width:250,height:23});$("#notes").jqxInput({theme:theme,width:640,height:100});$("#boil_size").jqxNumberInput(Spin1dec);$("#batch_size").jqxNumberInput(Spin2dec);$("#batch_size").jqxNumberInput({spinButtonsStep:0.5});$("#tun_volume").jqxNumberInput(Spin1dec);$("#tun_weight").jqxNumberInput(Spin2dec);$("#tun_specific_heat").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:70,height:23,decimalDigits:3});$("#tun_material").jqxDropDownList({theme:theme,source:MaterialAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#tun_height").jqxNumberInput(Spin1dec);$("#top_up_water").jqxNumberInput(Spin1dec);$("#trub_chiller_loss").jqxNumberInput(Spin1dec);$("#evap_rate").jqxNumberInput(Spin2dec);$("#boil_time").jqxNumberInput(PosInt);$("#boil_time").jqxNumberInput({max:1440});$("#calc_boil_volume").jqxCheckBox({theme:theme,width:120,height:23});$("#calc_boil_volume").on("checked",function(g){$("#batch_size").jqxNumberInput({readOnly:true,width:90,spinButtons:false})});$("#calc_boil_volume").on("unchecked",function(g){$("#batch_size").jqxNumberInput({readOnly:false,width:110,spinButtons:true})});$("#top_up_kettle").jqxNumberInput(Spin1dec);$("#hop_utilization").jqxNumberInput(Perc0);$("#hop_utilization").jqxNumberInput({Max:200});$("#lauter_volume").jqxNumberInput(Spin1dec);$("#lauter_height").jqxNumberInput(Spin1dec);$("#lauter_deadspace").jqxNumberInput(Spin1dec);$("#kettle_volume").jqxNumberInput(Spin1dec);$("#kettle_height").jqxNumberInput(Spin1dec);$("#mash_volume").jqxNumberInput(Spin1dec);$("#mash_max").jqxNumberInput(Spin1dec);$("#efficiency").jqxNumberInput(Perc1dec);$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var h,g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");g.append(h);i.append(g);h.jqxButton({theme:theme,width:90,height:20});h.click(function(j){d=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("Nieuwe brouwset");$("#boil_size").val(18);$("#batch_size").val(15.3);$("#tun_volume").val(20);$("#tun_weight").val(2);$("#tun_specific_heat").val(0.11);$("#tun_material").val(0);$("#tun_height").val(20);$("#top_up_water").val(0);$("#trub_chiller_loss").val(0.5);$("#evap_rate").val(1.8);$("#boil_time").val(90);$("#calc_boil_volume").val(1);$("#top_up_kettle").val(0);$("#hop_utilization").val(100);$("#notes").val("");$("#lauter_volume").val(20);$("#lauter_height").val(20);$("#lauter_deadspace").val(0.5);$("#kettle_volume").val(20);$("#kettle_height").val(20);$("#mash_volume").val(18);$("#mash_max").val(6);$("#efficiency").val(75);$("#popupWindow").jqxWindow("open")})},filterable:false,ready:function(){$("#boil_size").on("change",function(g){c()});$("#evap_rate").on("change",function(g){c()});$("#boil_time").on("change",function(g){c()});$("#top_up_kettle").on("change",function(g){c()});$("#calc_boil_volume").on("change",function(g){c()});$("#tun_material").on("change",function(g){b.tun_specific_heat=MaterialData[g.args.index].sh;$("#tun_specific_heat").val(b.tun_specific_heat)})},columns:[{text:"Installatie naam",datafield:"name",width:200},{text:"Kook volume",datafield:"boil_size",width:110,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Batch volume",datafield:"batch_size",width:110,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Opmerkingen",datafield:"notes"},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){d=g;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",d);$("#name").val(b.name);$("#boil_size").val(b.boil_size);$("#batch_size").val(b.batch_size);$("#tun_volume").val(b.tun_volume);$("#tun_weight").val(b.tun_weight);$("#tun_specific_heat").val(b.tun_specific_heat);$("#tun_material").val(b.tun_material);$("#tun_height").val(b.tun_height);$("#top_up_water").val(b.top_up_water);$("#trub_chiller_loss").val(b.trub_chiller_loss);$("#evap_rate").val(b.evap_rate);$("#boil_time").val(b.boil_time);$("#calc_boil_volume").val(b.calc_boil_volume);$("#top_up_kettle").val(b.top_up_kettle);$("#hop_utilization").val(b.hop_utilization);$("#notes").val(b.notes);$("#lauter_volume").val(b.lauter_volume);$("#lauter_height").val(b.lauter_height);$("#lauter_deadspace").val(b.lauter_deadspace);$("#kettle_volume").val(b.kettle_volume);$("#kettle_height").val(b.kettle_height);$("#mash_volume").val(b.mash_volume);$("#mash_max").val(b.mash_max);$("#efficiency").val(b.efficiency);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:600,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(d>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",d);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var h,g=-1;if(d>=0){g=$("#jqxgrid").jqxGrid("getrowid",d)}h={record:g,name:$("#name").val(),boil_size:parseFloat($("#boil_size").jqxNumberInput("decimal")),batch_size:parseFloat($("#batch_size").jqxNumberInput("decimal")),tun_volume:parseFloat($("#tun_volume").jqxNumberInput("decimal")),tun_weight:parseFloat($("#tun_weight").jqxNumberInput("decimal")),tun_specific_heat:parseFloat($("#tun_specific_heat").jqxNumberInput("decimal")),tun_material:$("#tun_material").val(),tun_height:parseFloat($("#tun_height").jqxNumberInput("decimal")),top_up_water:parseFloat($("#top_up_water").jqxNumberInput("decimal")),trub_chiller_loss:parseFloat($("#trub_chiller_loss").jqxNumberInput("decimal")),evap_rate:parseFloat($("#evap_rate").jqxNumberInput("decimal")),boil_time:parseFloat($("#boil_time").jqxNumberInput("decimal")),calc_boil_volume:$("#calc_boil_volume").val(),top_up_kettle:parseFloat($("#top_up_kettle").jqxNumberInput("decimal")),hop_utilization:parseFloat($("#hop_utilization").jqxNumberInput("decimal")),notes:$("#notes").val(),lauter_volume:parseFloat($("#lauter_volume").jqxNumberInput("decimal")),lauter_height:parseFloat($("#lauter_height").jqxNumberInput("decimal")),lauter_deadspace:parseFloat($("#lauter_deadspace").jqxNumberInput("decimal")),kettle_volume:parseFloat($("#kettle_volume").jqxNumberInput("decimal")),kettle_height:parseFloat($("#kettle_height").jqxNumberInput("decimal")),mash_volume:parseFloat($("#mash_volume").jqxNumberInput("decimal")),mash_max:parseFloat($("#mash_max").jqxNumberInput("decimal")),efficiency:parseFloat($("#efficiency").jqxNumberInput("decimal"))};if(d>=0){$("#jqxgrid").jqxGrid("updaterow",g,h)}else{$("#jqxgrid").jqxGrid("addrow",null,h)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/inv_equipments.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/inv_equipments.js	Sat Sep 14 19:04:29 2019 +0200
@@ -168,7 +168,9 @@
 				}
 			});
 		}
-	};
+	},
+	dataAdapter = new $.jqx.dataAdapter(source),
+        editrow = -1;
 
 	// initialize the input fields.
 	$("#name").jqxInput({ theme: theme, width: 250, height: 23 });
@@ -213,8 +215,6 @@
 	$("#mash_max").jqxNumberInput( Spin1dec );
 	$("#efficiency").jqxNumberInput( Perc1dec );
 
-	var dataAdapter = new $.jqx.dataAdapter(source);
-	var editrow = -1;
 	// initialize jqxGrid
 	$("#jqxgrid").jqxGrid({
 		width: 1280,
--- a/www/js/log_brew-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/log_brew-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){$("#jqxMenu").jqxMenu("destroy");$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Opmaken grafiek ...",theme:theme});$("#jqxLoader").jqxLoader("open");function a(){return"https://www.jqwidgets.com/export_server/export.php"}var d={datatype:"json",datafields:[{name:"date",type:"date",format:"yyyy-MM-dd HH:mm"},{name:"version",type:"int"},{name:"code",type:"string"},{name:"name",type:"string"},{name:"pv_mlt",type:"float"},{name:"pv_hlt",type:"float"},{name:"pv_room",type:"float"},{name:"sp_mlt",type:"float"},{name:"sp_hlt",type:"float"},{name:"pwm_mlt",type:"int"},{name:"pwm_hlt",type:"int"},{name:"event",type:"string"}],url:"getbrewlog.php?code="+my_code};var c=new $.jqx.dataAdapter(d,{autoBind:true,async:false,loadComplete:function(){$("#jqxLoader").jqxLoader("close")},loadError:function(g,e,f){}});var b={title:my_code+' "'+my_name+'"',description:"",source:c,xAxis:{dataField:"date",type:"date",formatFunction:function(e){return e.getHours()+":"+e.getMinutes()},toolTipFormatFunction:function(g){var f=g.getHours();var e=g.getMinutes();return g.getDate()+"-"+(g.getMonth()+1)+"-"+g.getFullYear()+" "+(f<10?"0"+f:f)+":"+(e<10?"0"+e:e)},textRotationAngle:300,},colorScheme:"scheme01",seriesGroups:[{type:"spline",valueAxis:{minValue:0,description:"Graden C"},series:[{dataField:"pv_mlt",lineWidth:2,displayText:"MLT"},{dataField:"sp_mlt",lineWidth:1,displayText:"mlt",opacity:0.7},{dataField:"pv_hlt",lineWidth:1,displayText:"HLT"},{dataField:"sp_hlt",lineWidth:1,displayText:"hlt",opacity:0.7},{dataField:"pv_room",lineWidth:1,displayText:"Room",opacity:0.5}]}]};$("#brew_chart").jqxChart(b);$("#print").click(function(){var g=$("#brew_chart")[0].outerHTML;var h=window.open("","","width=865, height=425"),e=h.document.open(),f='<!DOCTYPE html><html><head><link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" /><meta charset="utf-8" /><title>'+my_code+" "+my_name+" brouwdag</title></head><body>"+g+"</body></html>";e.write(f);e.close();h.print()});$("#print").jqxButton({template:"primary",width:125,theme:theme});$("#pdfButton").click(function(){$("#brew_chart").jqxChart("saveAsPDF","brouw_"+my_code+".pdf",a())});$("#pdfButton").jqxButton({template:"primary",width:125,theme:theme});$("#pngButton").click(function(){$("#brew_chart").jqxChart("saveAsPNG","brouw_"+my_code+".png",a())});$("#pngButton").jqxButton({template:"primary",width:125,theme:theme});$("#Close").jqxButton({template:"success",width:125,theme:theme});$("#Close").click(function(){window.close()})});
\ No newline at end of file
+$(document).ready(function(){$("#jqxMenu").jqxMenu("destroy");$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Opmaken grafiek ...",theme:theme});$("#jqxLoader").jqxLoader("open");function a(){return"https://www.jqwidgets.com/export_server/export.php"}var d={datatype:"json",datafields:[{name:"date",type:"date",format:"yyyy-MM-dd HH:mm"},{name:"version",type:"int"},{name:"code",type:"string"},{name:"name",type:"string"},{name:"pv_mlt",type:"float"},{name:"pv_hlt",type:"float"},{name:"pv_room",type:"float"},{name:"sp_mlt",type:"float"},{name:"sp_hlt",type:"float"},{name:"pwm_mlt",type:"int"},{name:"pwm_hlt",type:"int"},{name:"event",type:"string"}],url:"getbrewlog.php?code="+my_code},c=new $.jqx.dataAdapter(d,{autoBind:true,async:false,loadComplete:function(){$("#jqxLoader").jqxLoader("close")},loadError:function(g,e,f){}}),b={title:my_code+' "'+my_name+'"',description:"",source:c,xAxis:{dataField:"date",type:"date",formatFunction:function(e){return e.getHours()+":"+e.getMinutes()},toolTipFormatFunction:function(g){var f=g.getHours(),e=g.getMinutes();return g.getDate()+"-"+(g.getMonth()+1)+"-"+g.getFullYear()+" "+(f<10?"0"+f:f)+":"+(e<10?"0"+e:e)},textRotationAngle:300,},colorScheme:"scheme01",seriesGroups:[{type:"spline",valueAxis:{minValue:0,description:"Graden C"},series:[{dataField:"pv_mlt",lineWidth:2,displayText:"MLT"},{dataField:"sp_mlt",lineWidth:1,displayText:"mlt",opacity:0.7},{dataField:"pv_hlt",lineWidth:1,displayText:"HLT"},{dataField:"sp_hlt",lineWidth:1,displayText:"hlt",opacity:0.7},{dataField:"pv_room",lineWidth:1,displayText:"Room",opacity:0.5}]}]};$("#brew_chart").jqxChart(b);$("#print").click(function(){var g=$("#brew_chart")[0].outerHTML,h=window.open("","","width=865, height=425"),e=h.document.open(),f='<!DOCTYPE html><html><head><link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" /><meta charset="utf-8" /><title>'+my_code+" "+my_name+" brouwdag</title></head><body>"+g+"</body></html>";e.write(f);e.close();h.print()});$("#print").jqxButton({template:"primary",width:125,theme:theme});$("#pdfButton").click(function(){$("#brew_chart").jqxChart("saveAsPDF","brouw_"+my_code+".pdf",a())});$("#pdfButton").jqxButton({template:"primary",width:125,theme:theme});$("#pngButton").click(function(){$("#brew_chart").jqxChart("saveAsPNG","brouw_"+my_code+".png",a())});$("#pngButton").jqxButton({template:"primary",width:125,theme:theme});$("#Close").jqxButton({template:"success",width:125,theme:theme});$("#Close").click(function(){window.close()})});
\ No newline at end of file
--- a/www/js/log_brew.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/log_brew.js	Sat Sep 14 19:04:29 2019 +0200
@@ -55,8 +55,8 @@
 			{ name: "event", type: "string" }
 		],
 		url: 'getbrewlog.php?code=' + my_code
-	};
-	var dataAdapter = new $.jqx.dataAdapter(sourceA, {
+	},
+	dataAdapter = new $.jqx.dataAdapter(sourceA, {
 		autoBind: true,
 		async: false,
 		loadComplete: function () {
@@ -64,9 +64,8 @@
 		},
 		loadError: function (jqXHR, status, error) {
 		}
-	});
-
-	var settings = {
+	}),
+	settings = {
 		 title: my_code + ' "' + my_name + '"',
 		 description: "",
 		 source: dataAdapter,
@@ -77,8 +76,8 @@
 				return value.getHours() + ':' + value.getMinutes();
 			},
 			toolTipFormatFunction: function (value) {
-				var h = value.getHours();
-				var m = value.getMinutes();
+				var h = value.getHours(),
+				m = value.getMinutes();
 				return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear()
 					 + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
 			},
@@ -105,8 +104,8 @@
 	$("#brew_chart").jqxChart(settings);
 
 	$("#print").click(function () {
-		var content = $("#brew_chart")[0].outerHTML;
-		var newWindow = window.open("", "", "width=865, height=425"),
+		var content = $("#brew_chart")[0].outerHTML,
+		newWindow = window.open("", "", "width=865, height=425"),
 		document = newWindow.document.open(),
 		pageContent =
 			'<!DOCTYPE html>' +
--- a/www/js/log_fermentation-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/log_fermentation-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){$("#jqxMenu").jqxMenu("destroy");$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Opmaken grafiek ...",theme:theme});$("#jqxLoader").jqxLoader("open");function a(){return"https://www.jqwidgets.com/export_server/export.php"}var d={datatype:"json",datafields:[{name:"date",type:"date",format:"yyyy-MM-dd HH:mm"},{name:"air",type:"float"},{name:"beer",type:"float"},{name:"chiller",type:"float"},{name:"room",type:"float"},{name:"tlo",type:"float"},{name:"thi",type:"float"},{name:"heater",type:"int"},{name:"cooler",type:"int"},{name:"event",type:"string"}],url:"getfermentlog.php?code="+my_code+"&name="+my_name};var c=new $.jqx.dataAdapter(d,{autoBind:true,async:false,loadComplete:function(){$("#jqxLoader").jqxLoader("close")},loadError:function(g,e,f){}});var b={title:my_code+' "'+my_name+'"',description:"",source:c,xAxis:{dataField:"date",type:"date",formatFunction:function(e){return e.getDate()+"-"+(e.getMonth()+1)+"-"+e.getFullYear()},toolTipFormatFunction:function(g){var f=g.getHours();var e=g.getMinutes();return g.getDate()+"-"+(g.getMonth()+1)+"-"+g.getFullYear()+" "+(f<10?"0"+f:f)+":"+(e<10?"0"+e:e)},textRotationAngle:45,howGridLines:false,rangeSelector:{size:90,dataField:"beer",serieType:"line",gridLines:{visible:false},}},colorScheme:"scheme01",seriesGroups:[{type:"area",valueAxis:{minValue:0,maxValue:100,displayValueAxis:false,description:"Heat/Cool %"},series:[{dataField:"cooler",lineWidth:1,displayText:"Cool %",opacity:0.4},{dataField:"heater",lineWidth:1,displayText:"Heat %",opacity:0.3}]},{type:"spline",valueAxis:{minValue:0,description:"Graden C"},series:[{dataField:"air",lineWidth:1,displayText:"Air"},{dataField:"beer",lineWidth:2,displayText:"Beer"},{dataField:"tlo",lineWidth:1,displayText:"Target Lo",opacity:0.7},{dataField:"thi",lineWidth:1,displayText:"Target Hi",opacity:0.7},{dataField:"room",lineWidth:1,displayText:"Room",opacity:0.5},{dataField:"chiller",lineWidth:1,displayText:"Chiller",color:"#0000bb"}]}]};$("#fermenter_chart").jqxChart(b);$("#print").click(function(){var g=$("#fermenter_chart")[0].outerHTML;var h=window.open("","","width=865, height=425"),e=h.document.open(),f='<!DOCTYPE html><html><head><link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" /><meta charset="utf-8" /><title>'+my_code+" "+my_name+" vergisting</title></head><body>"+g+"</body></html>";e.write(f);e.close();h.print()});$("#print").jqxButton({template:"primary",width:125,theme:theme});$("#pdfButton").click(function(){$("#fermenter_chart").jqxChart("saveAsPDF","vergisting_"+my_code+".pdf",a())});$("#pdfButton").jqxButton({template:"primary",width:125,theme:theme});$("#pngButton").click(function(){$("#fermenter_chart").jqxChart("saveAsPNG","vergisting_"+my_code+".png",a())});$("#pngButton").jqxButton({template:"primary",width:125,theme:theme});$("#Close").jqxButton({template:"success",width:125,theme:theme});$("#Close").click(function(){window.close()})});
\ No newline at end of file
+$(document).ready(function(){$("#jqxMenu").jqxMenu("destroy");$("#jqxLoader").jqxLoader({width:250,height:150,isModal:true,text:"Opmaken grafiek ...",theme:theme});$("#jqxLoader").jqxLoader("open");function a(){return"https://www.jqwidgets.com/export_server/export.php"}var d={datatype:"json",datafields:[{name:"date",type:"date",format:"yyyy-MM-dd HH:mm"},{name:"air",type:"float"},{name:"beer",type:"float"},{name:"chiller",type:"float"},{name:"room",type:"float"},{name:"tlo",type:"float"},{name:"thi",type:"float"},{name:"heater",type:"int"},{name:"cooler",type:"int"},{name:"event",type:"string"}],url:"getfermentlog.php?code="+my_code+"&name="+my_name},c=new $.jqx.dataAdapter(d,{autoBind:true,async:false,loadComplete:function(){$("#jqxLoader").jqxLoader("close")},loadError:function(g,e,f){}}),b={title:my_code+' "'+my_name+'"',description:"",source:c,xAxis:{dataField:"date",type:"date",formatFunction:function(e){return e.getDate()+"-"+(e.getMonth()+1)+"-"+e.getFullYear()},toolTipFormatFunction:function(g){var f=g.getHours(),e=g.getMinutes();return g.getDate()+"-"+(g.getMonth()+1)+"-"+g.getFullYear()+" "+(f<10?"0"+f:f)+":"+(e<10?"0"+e:e)},textRotationAngle:45,howGridLines:false,rangeSelector:{size:90,dataField:"beer",serieType:"line",gridLines:{visible:false},}},colorScheme:"scheme01",seriesGroups:[{type:"area",valueAxis:{minValue:0,maxValue:100,displayValueAxis:false,description:"Heat/Cool %"},series:[{dataField:"cooler",lineWidth:1,displayText:"Cool %",opacity:0.4},{dataField:"heater",lineWidth:1,displayText:"Heat %",opacity:0.3}]},{type:"spline",valueAxis:{minValue:0,description:"Graden C"},series:[{dataField:"air",lineWidth:1,displayText:"Air"},{dataField:"beer",lineWidth:2,displayText:"Beer"},{dataField:"tlo",lineWidth:1,displayText:"Target Lo",opacity:0.7},{dataField:"thi",lineWidth:1,displayText:"Target Hi",opacity:0.7},{dataField:"room",lineWidth:1,displayText:"Room",opacity:0.5},{dataField:"chiller",lineWidth:1,displayText:"Chiller",color:"#0000bb"}]}]};$("#fermenter_chart").jqxChart(b);$("#print").click(function(){var g=$("#fermenter_chart")[0].outerHTML,h=window.open("","","width=865, height=425"),e=h.document.open(),f='<!DOCTYPE html><html><head><link rel="stylesheet" href="jqwidgets/styles/jqx.base.css" type="text/css" /><meta charset="utf-8" /><title>'+my_code+" "+my_name+" vergisting</title></head><body>"+g+"</body></html>";e.write(f);e.close();h.print()});$("#print").jqxButton({template:"primary",width:125,theme:theme});$("#pdfButton").click(function(){$("#fermenter_chart").jqxChart("saveAsPDF","vergisting_"+my_code+".pdf",a())});$("#pdfButton").jqxButton({template:"primary",width:125,theme:theme});$("#pngButton").click(function(){$("#fermenter_chart").jqxChart("saveAsPNG","vergisting_"+my_code+".png",a())});$("#pngButton").jqxButton({template:"primary",width:125,theme:theme});$("#Close").jqxButton({template:"success",width:125,theme:theme});$("#Close").click(function(){window.close()})});
\ No newline at end of file
--- a/www/js/log_fermentation.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/log_fermentation.js	Sat Sep 14 19:04:29 2019 +0200
@@ -53,8 +53,8 @@
 			{ name: "event", type: "string" }
 		],
 		url: 'getfermentlog.php?code=' + my_code + '&name=' + my_name
-	};
-	var dataAdapter = new $.jqx.dataAdapter(sourceA, {
+	},
+	dataAdapter = new $.jqx.dataAdapter(sourceA, {
 		autoBind: true,
 		async: false,
 		loadComplete: function () {
@@ -62,9 +62,8 @@
 		},
 		loadError: function (jqXHR, status, error) {
 		}
-	});
-
-	var settings = {
+	}),
+	settings = {
 		 title: my_code + ' "' + my_name + '"',
 		 description: "",
 		 source: dataAdapter,
@@ -75,8 +74,8 @@
 				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear();
 			 },
 			 toolTipFormatFunction: function (value) {
-				 var h = value.getHours();
-				 var m = value.getMinutes();
+				 var h = value.getHours(),
+				 m = value.getMinutes();
 				 return value.getDate() + '-' + (value.getMonth() + 1) + '-' + value.getFullYear()
 					 + ' ' + (h < 10 ? '0' + h : h) + ':' + (m < 10 ? '0' + m : m);
 			 },
@@ -124,8 +123,8 @@
 	$("#fermenter_chart").jqxChart(settings);
 
 	$("#print").click(function () {
-		var content = $("#fermenter_chart")[0].outerHTML;
-		var newWindow = window.open("", "", "width=865, height=425"),
+		var content = $("#fermenter_chart")[0].outerHTML,
+		newWindow = window.open("", "", "width=865, height=425"),
 		document = newWindow.document.open(),
 		pageContent =
 			'<!DOCTYPE html>' +
--- a/www/js/mon_fermenter-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/mon_fermenter-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-function createAbortElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:440,y:210},width:400,height:200,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var c={};var e={};var b="";var l=false;var k=false;var w=false;var n=false;var o=0;var t=12;var y=24;var v={datatype:"json",cache:false,datafields:[{name:"code",type:"string"},{name:"name",type:"string"},{name:"uuid",type:"string"},{name:"stage",type:"int"},{name:"yeast_lo",type:"float"},{name:"yeast_hi",type:"float"}],id:"code",url:"includes/db_product.php?select=ferment"};var s=new $.jqx.dataAdapter(v,{beforeLoadComplete:function(z){var B=new Array();e.code="Free";e.name="Dummy";e.uuid="66ecccbf-e942-4a35-af49-8b02314561a5";e.stage=10;e.yeast_lo=12;e.yeast_hi=24;B.push(e);for(var A=0;A<z.length;A++){var C=z[A];B.push(C)}return B},loadError:function(B,z,A){$("#err").text(z+" "+A)},});$("#select_beer").jqxDropDownList({placeHolder:"Kies bier:",theme:theme,source:s,displayMember:"code",width:150,height:24,dropDownWidth:500,autoDropDownHeight:true,renderer:function(A,z,C){var B=s.records[A];return B.code+" - "+B.name}});var f={datatype:"json",cache:false,datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"inittemp_lo",type:"float"},{name:"inittemp_hi",type:"float"},{name:"fridgemode",type:"int"},{name:"totalsteps",type:"int"},{name:"duration",type:"int"},{name:"steps",type:"array"}],id:"record",url:"includes/db_profile_fermentation.php"};var a=new $.jqx.dataAdapter(f,{beforeLoadComplete:function(z){var C=new Array();var B={};B.record=-1;B.uuid="";B.name="Wis profiel";B.inittemp_lo=20;B.inittemp_hi=20;B.fridgemode=0;B.totalsteps=0;B.duration=0;B.steps="[]";C.push(B);for(var A=0;A<z.length;A++){var D=z[A];C.push(D)}return C},loadError:function(B,z,A){$("#err").text(z+" "+A)},});$("#select_profile").jqxDropDownList({placeHolder:"Kies profiel:",theme:theme,source:a,displayMember:"name",width:150,height:24,dropDownWidth:500,autoDropDownHeight:true,});var g={min:0,max:40,width:375,height:375,ranges:[{startValue:0,endValue:t,style:{fill:"#3399FF",stroke:"#3399FF"},endWidth:10,startWidth:10},{startValue:t,endValue:y,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:y,endValue:40,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}],ticksMinor:{interval:1,size:"5%"},ticksMajor:{interval:5,size:"9%"},labels:{interval:5},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05"};var h={min:-15,max:25,width:190,height:190,ranges:[{startValue:-15,endValue:0,startWidth:5,endWidth:5,style:{fill:"#3399FF",stroke:"#3399FF"}},{startValue:0,endValue:10,startWidth:5,endWidth:5,style:{fill:"#00CC33",stroke:"#00CC33"}},{startValue:10,endValue:25,startWidth:5,endWidth:5,style:{fill:"#FC6A6A",stroke:"#FC6A6A"}}],ticksMinor:{interval:1,size:"5%"},ticksMajor:{interval:5,size:"9%"},labels:{interval:5},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05",caption:{value:"Chiller",position:"bottom",offset:[0,10]}};$("#gaugeContainer_air").jqxGauge(g);$("#gaugeContainer_air").jqxGauge({caption:{value:"Air: 00.000"}});$("#gaugeContainer_beer").jqxGauge(g);$("#gaugeContainer_beer").jqxGauge({caption:{value:"Beer: 00.000"}});$("#gaugeContainer_chiller").jqxGauge(h);var m={height:68,width:35,onLabel:"AAN",offLabel:"UIT",theme:theme,thumbSize:"50%",orientation:"vertical"};$("#fermenter_toggle1").jqxSwitchButton(m);$("#fermenter_toggle2").jqxSwitchButton(m);$("#fermenter_toggle3").jqxSwitchButton(m);srcMode=["OFF","NONE","FRIDGE","BEER","PROFILE"];srcStage=["PRIMARY","SECONDARY","TERTIARY","CARBONATION"];$("#info_mode").jqxDropDownList({theme:theme,source:srcMode,width:100,height:24,dropDownHeight:156});$("#info_stage").jqxDropDownList({theme:theme,source:srcStage,width:150,height:24,dropDownHeight:125});var x={inputMode:"simple",theme:theme,width:70,min:0,max:40,decimalDigits:1,spinButtons:true};$("#target_lo").jqxNumberInput(x);$("#target_hi").jqxNumberInput(x);$("#Profile1").jqxButton({template:"info",width:"150px",height:24,theme:theme});$("#Profile2").jqxButton({template:"info",width:"150px",height:24,theme:theme});$("#Profile1").hide();$("#Profile2").hide();function i(B,D,A,z){console.log("sendBase("+B+", "+D+", "+A+", "+z+")");var C="node="+c.node+"&alias="+c.alias+'&payload={"stage":"'+B;C+='","mode":"'+D+'","setpoint":{"low":'+A+',"high":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:C,type:"POST",success:function(E){},error:function(E,G,F){console.log("sendBase() error")}})}function q(C,B,A,z){console.log("sendSwitch("+C+", "+B+", "+A+", "+z+")");var D="node="+c.node+"&alias="+c.alias+"&payload=";D+='{"heater":{"state":'+C+'},"cooler":{"state":'+B+'},"fan":{"state":'+A+'},"light":{"state":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:D,type:"POST",success:function(E){},error:function(E,G,F){console.log("sendSwitch() error")}})}function p(D,B,C,A,z){console.log("sendProduct("+D+", "+B+", "+C+", "+A+", "+z+")");var E="node="+c.node+"&alias="+c.alias+"&payload=";E+='{"product":{"code":"'+D+'","name":"'+B+'","uuid":"'+C+'","yeast_lo":'+A+',"yeast_hi":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:E,type:"POST",success:function(F){},error:function(F,H,G){console.log("sendProduct() error")}})}function u(A){console.log("sendProfile("+A+")");var z="node="+c.node+"&alias="+c.alias+"&payload="+A;$.ajax({url:"cmd_fermenter.php",data:z,type:"POST",success:function(B){},error:function(B,D,C){console.log("sendProfile() error")}})}var d="getfermenter.php?uuid='"+my_uuid+"'";var j={datatype:"json",datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"alias",type:"string"},{name:"node",type:"string"},{name:"online",type:"int"},{name:"beercode",type:"string"},{name:"beername",type:"string"},{name:"air_state",type:"string"},{name:"air_temperature",type:"float"},{name:"beer_state",type:"string"},{name:"beer_temperature",type:"float"},{name:"chiller_state",type:"string"},{name:"chiller_temperature",type:"float"},{name:"heater_state",type:"int"},{name:"heater_usage",type:"int"},{name:"cooler_state",type:"int"},{name:"cooler_usage",type:"int"},{name:"fan_state",type:"int"},{name:"fan_usage",type:"int"},{name:"light_address",type:"string"},{name:"light_state",type:"int"},{name:"light_usage",type:"int"},{name:"door_address",type:"string"},{name:"door_state",type:"int"},{name:"psu_address",type:"string"},{name:"psu_state",type:"int"},{name:"mode",type:"string"},{name:"alarm",type:"int"},{name:"setpoint_high",type:"float"},{name:"setpoint_low",type:"float"},{name:"profile_uuid",type:"string"},{name:"profile_name",type:"string"},{name:"profile_state",type:"string"},{name:"profile_percent",type:"int"},{name:"profile_inittemp_high",type:"float"},{name:"profile_inittemp_low",type:"float"},{name:"profile_steps",type:"string"},{name:"stage",type:"string"},{name:"beeruuid",type:"string"},{name:"yeast_lo",type:"float"},{name:"yeast_hi",type:"float"},{name:"webcam_url",type:"string"},{name:"webcam_light",type:"int"}],id:"record",url:d};var r=new $.jqx.dataAdapter(j,{loadComplete:function(A){c=r.records[0];var B=(c.online)?"On-line":"Off-line";$("#info_uuid").html(c.uuid);$("#info_system").html(c.node+"/"+c.alias);$("#info_online").html(B);$("#info_beer").html(c.beercode+" - "+c.beername);$("#info_mode").jqxDropDownList("selectItem",c.mode);$("#info_stage").jqxDropDownList("selectItem",c.stage);$("#info_profile").html(c.profile_name);e.name=c.alias;e.code=c.alias.toUpperCase();e.uuid=c.uuid;if(c.profile_name==""){$("#info_mode").jqxDropDownList("disableItem","PROFILE")}else{$("#info_mode").jqxDropDownList("enableItem","PROFILE")}$("#target_lo").val(c.setpoint_low);$("#target_hi").val(c.setpoint_high);if(c.online&&((c.mode=="FRIDGE")||(c.mode=="BEER"))){$("#target_lo").jqxNumberInput({readOnly:false,Width:70,spinButtons:true});$("#target_hi").jqxNumberInput({readOnly:false,Width:70,spinButtons:true})}else{$("#target_lo").jqxNumberInput({readOnly:true,Width:50,spinButtons:false});$("#target_hi").jqxNumberInput({readOnly:true,Width:50,spinButtons:false})}if(c.online&&c.door_address&&(c.door_state!="0")){$("#fermenter_doorled").html('<div class="LEDyellow_on"></div>Door')}else{$("#fermenter_doorled").html('<div class="LEDyellow_off"></div>Door')}if(c.online&&c.light_address&&(c.light_state!="0")){$("#fermenter_lightled").html('<div class="LEDyellow_on"></div>Light')}else{$("#fermenter_lightled").html('<div class="LEDyellow_off"></div>Light')}if(c.online&&(c.mode!="OFF")){$("#fermenter_powerled").html('<div class="LEDblue_on"></div>Power');$("#select_beer").jqxDropDownList({disabled:true});$("#select_beer").jqxDropDownList("clearSelection");$("#select_beer").hide()}else{$("#fermenter_powerled").html('<div class="LEDblue_off"></div>Power');$("#select_beer").show();$("#select_beer").jqxDropDownList({disabled:false})}if(c.online&&(c.alarm!="0")){$("#fermenter_alarmled").html('<div class="LEDred_on"></div>Alarm')}else{$("#fermenter_alarmled").html('<div class="LEDred_off"></div>Alarm')}if(c.online&&(c.heater_state!="0")){$("#fermenter_led1").html('<div class="LEDgreen_on"></div>Heat')}else{$("#fermenter_led1").html('<div class="LEDgreen_off"></div>Heat')}if(c.online&&(c.cooler_state!="0")){$("#fermenter_led2").html('<div class="LEDgreen_on"></div>Cool')}else{$("#fermenter_led2").html('<div class="LEDgreen_off"></div>Cool')}if(c.online&&(c.fan_state!="0")){$("#fermenter_led3").html('<div class="LEDgreen_on"></div>Fan')}else{$("#fermenter_led3").html('<div class="LEDgreen_off"></div>Fan')}if(c.online&&(c.mode=="NONE")){$("#fermenter_toggle1").jqxSwitchButton("enable");$("#fermenter_toggle2").jqxSwitchButton("enable");$("#fermenter_toggle3").jqxSwitchButton("enable")}else{$("#fermenter_toggle1").jqxSwitchButton("disable");$("#fermenter_toggle2").jqxSwitchButton("disable");$("#fermenter_toggle3").jqxSwitchButton("disable");$("#fermenter_toggle1").val((c.heater_state!="0"));$("#fermenter_toggle2").val((c.cooler_state!="0"));$("#fermenter_toggle3").val((c.fan_state!="0"))}if(c.online&&(c.mode=="PROFILE")){if(c.profile_state=="OFF"){$("#select_profile").show();$("#select_profile").jqxDropDownList({disabled:false});$("#info_mode").jqxDropDownList({disabled:false});$("#Profile1").jqxButton({template:"success",value:"Starten"});$("#Profile1").show();$("#Profile2").hide();$("#status_profile").html("")}else{if(c.profile_state=="RUN"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"danger",value:"Afbreken"});$("#Profile2").jqxButton({template:"primary",value:"Pauze"});$("#Profile1").show();$("#Profile2").show();$("#status_profile").html("Profiel actief, "+c.profile_percent+"% gereed")}else{if(c.profile_state=="PAUSE"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"danger",value:"Afbreken"});$("#Profile2").jqxButton({template:"success",value:"Doorgaan"});$("#Profile1").show();$("#Profile2").show();$("#status_profile").html("Profiel pauze, "+c.profile_percent+"% gereed")}else{if(c.profile_state=="DONE"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"primary",value:"Profiel Ok"});$("#Profile1").show();$("#Profile2").hide();$("#status_profile").html("Profiel is gereed")}}}}}else{$("#select_profile").show();$("#select_profile").jqxDropDownList({disabled:false});$("#info_mode").jqxDropDownList({disabled:false});$("#Profile1").hide();$("#Profile2").hide();$("#status_profile").html("")}if(c.online&&(c.webcam_url!="")){$("#Camera").show()}else{$("#Camera").hide()}t=c.yeast_lo;y=c.yeast_hi;var z={ranges:[{startValue:0,endValue:t,style:{fill:"#3399FF",stroke:"#3399FF"},endWidth:10,startWidth:10},{startValue:t,endValue:y,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:y,endValue:40,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}]};$("#gaugeContainer_air").jqxGauge(z);$("#gaugeContainer_beer").jqxGauge(z);$("#gaugeContainer_air").jqxGauge({caption:{value:"Air: "+c.air_temperature.toFixed(3)}});$("#gaugeContainer_air").jqxGauge({value:c.air_temperature});if(c.air_state=="OK"){$("#gaugeContainer_air").jqxGauge({disabled:false})}else{$("#gaugeContainer_air").jqxGauge({disabled:true})}$("#gaugeContainer_beer").jqxGauge({caption:{value:"Beer: "+c.beer_temperature.toFixed(3)}});$("#gaugeContainer_beer").jqxGauge({value:c.beer_temperature});if(c.beer_state=="OK"){$("#gaugeContainer_beer").jqxGauge({disabled:false})}else{$("#gaugeContainer_beer").jqxGauge({disabled:true})}$("#gaugeContainer_chiller").jqxGauge({value:c.chiller_temperature});if(c.chiller_state=="OK"){$("#gaugeContainer_chiller").jqxGauge({disabled:false})}else{$("#gaugeContainer_chiller").jqxGauge({disabled:true})}}});r.dataBind();setInterval(function(){var z=false;if(l){i(c.stage,c.mode,c.setpoint_low,c.setpoint_high);l=false;z=true}if(w){q(c.heater_state,c.cooler_state,c.fan_state,c.light_state);w=false;z=true}if(k){p(c.beercode,c.beername,c.beeruuid,c.yeast_lo,c.yeast_hi);k=false;z=true}if(n){u(b);n=false;z=true}if(z){o=4}else{if(o>0){o--}}if(o<=0){r.dataBind();o=20}},500);$("#info_mode").on("change",function(A){var z=A.args;if(z){c.mode=z.item.value;$("#fermenter_toggle1").val(0);$("#fermenter_toggle2").val(0);$("#fermenter_toggle3").val(0)}l=true});$("#info_stage").on("select",function(A){var z=A.args;if(z){c.stage=z.item.value}l=true});$("#select_beer").on("select",function(B){if(B.args){var z=B.args.index;var A=s.records[z];c.beercode=A.code;c.beername=A.name;c.beeruuid=A.uuid;c.yeast_lo=A.yeast_lo;c.yeast_hi=A.yeast_hi;k=true}});$("#select_profile").on("select",function(C){if(C.args){var z=C.args.index;var B=a.records[z];if(B.record==-1){b='{"profile":null}'}else{b='{"profile":{"uuid":"'+B.uuid+'","name":"'+B.name+'",';b+='"inittemp":{"low":'+B.inittemp_lo+',"high":'+B.inittemp_hi+"},";b+='"fridgemode":'+B.fridgemode+',"steps":[';for(var A=0;A<B.steps.length;A++){var D=B.steps[A];if(A>0){b+=","}b+='{"steptime":'+D.steptime+',"resttime":'+D.resttime;b+=',"target_lo":'+D.target_lo+',"target_hi":'+D.target_hi;b+=',"fridgemode":'+D.fridgemode+',"name":"'+D.name+'"}'}b+="]}}"}n=true}});$("#target_lo").on("change",function(z){c.setpoint_low=parseFloat(z.args.value);if(c.setpoint_low>c.setpoint_high){c.setpoint_high=c.setpoint_low;$("#target_hi").val(c.setpoint_high)}l=true});$("#target_hi").on("change",function(z){c.setpoint_high=parseFloat(z.args.value);if(c.setpoint_high<c.setpoint_low){c.setpoint_low=c.setpoint_high;$("#target_lo").val(c.setpoint_low)}l=true});$("#fermenter_toggle1").on("checked",function(z){if(c.mode=="NONE"){c.heater_state=0;w=true}});$("#fermenter_toggle1").on("unchecked",function(z){if(c.mode=="NONE"){c.heater_state=100;c.cooler_state=0;$("#fermenter_toggle2").val(0);w=true}});$("#fermenter_toggle2").on("checked",function(z){if(c.mode=="NONE"){c.cooler_state=0;w=true}});$("#fermenter_toggle2").on("unchecked",function(z){if(c.mode=="NONE"){c.cooler_state=100;c.heater_state=0;$("#fermenter_toggle1").val(0);w=true}});$("#fermenter_toggle3").on("checked",function(z){if(c.mode=="NONE"){c.fan_state=0;w=true}});$("#fermenter_toggle3").on("unchecked",function(z){if(c.mode=="NONE"){c.fan_state=100;w=true}});$("#Profile1").click(function(){if(c.mode=="PROFILE"){if(c.profile_state=="OFF"){b='{"profile":{"command":"start"}}';n=true}else{if((c.profile_state=="RUN")||(c.profile_state=="PAUSE")){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){b='{"profile":{"command":"abort"}}';n=true})}else{if(c.profile_state=="DONE"){b='{"profile":{"command":"done"}}';n=true}}}}});$("#Profile2").click(function(){if(c.mode=="PROFILE"){if((c.profile_state=="RUN")||(c.profile_state=="PAUSE")){b='{"profile":{"command":"pause"}}';n=true}}});$("#FLog").jqxButton({template:"primary",width:"150px",theme:theme});$("#FLog").click(function(){var z="log_fermentation.php?code="+c.beercode+"&name="+c.beername;window.open(z)});$("#Camera").jqxButton({template:"primary",width:"150px",theme:theme});$("#Camera").click(function(){c.light_state=100;w=true;var z=c.webcam_url;window.open(z)});createAbortElements()});
\ No newline at end of file
+function createAbortElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:440,y:210},width:400,height:200,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var c={},e={},b="",l=false,k=false,w=false,n=false,o=0,t=12,y=24,v={datatype:"json",cache:false,datafields:[{name:"code",type:"string"},{name:"name",type:"string"},{name:"uuid",type:"string"},{name:"stage",type:"int"},{name:"yeast_lo",type:"float"},{name:"yeast_hi",type:"float"}],id:"code",url:"includes/db_product.php?select=ferment"},s=new $.jqx.dataAdapter(v,{beforeLoadComplete:function(z){var C,A,B=new Array();e.code="Free";e.name="Dummy";e.uuid="66ecccbf-e942-4a35-af49-8b02314561a5";e.stage=10;e.yeast_lo=12;e.yeast_hi=24;B.push(e);for(A=0;A<z.length;A++){C=z[A];B.push(C)}return B},loadError:function(B,z,A){$("#err").text(z+" "+A)},}),f={datatype:"json",cache:false,datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"inittemp_lo",type:"float"},{name:"inittemp_hi",type:"float"},{name:"fridgemode",type:"int"},{name:"totalsteps",type:"int"},{name:"duration",type:"int"},{name:"steps",type:"array"}],id:"record",url:"includes/db_profile_fermentation.php"},a=new $.jqx.dataAdapter(f,{beforeLoadComplete:function(z){var C=new Array(),B={},A,D;B.record=-1;B.uuid="";B.name="Wis profiel";B.inittemp_lo=20;B.inittemp_hi=20;B.fridgemode=0;B.totalsteps=0;B.duration=0;B.steps="[]";C.push(B);for(A=0;A<z.length;A++){D=z[A];C.push(D)}return C},loadError:function(B,z,A){$("#err").text(z+" "+A)},}),g={min:0,max:40,width:375,height:375,ranges:[{startValue:0,endValue:t,style:{fill:"#3399FF",stroke:"#3399FF"},endWidth:10,startWidth:10},{startValue:t,endValue:y,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:y,endValue:40,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}],ticksMinor:{interval:1,size:"5%"},ticksMajor:{interval:5,size:"9%"},labels:{interval:5},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05"},h={min:-15,max:25,width:190,height:190,ranges:[{startValue:-15,endValue:0,startWidth:5,endWidth:5,style:{fill:"#3399FF",stroke:"#3399FF"}},{startValue:0,endValue:10,startWidth:5,endWidth:5,style:{fill:"#00CC33",stroke:"#00CC33"}},{startValue:10,endValue:25,startWidth:5,endWidth:5,style:{fill:"#FC6A6A",stroke:"#FC6A6A"}}],ticksMinor:{interval:1,size:"5%"},ticksMajor:{interval:5,size:"9%"},labels:{interval:5},style:{fill:"#eeeeee",stroke:"#666666"},value:0,colorScheme:"scheme05",caption:{value:"Chiller",position:"bottom",offset:[0,10]}},m={height:68,width:35,onLabel:"AAN",offLabel:"UIT",theme:theme,thumbSize:"50%",orientation:"vertical"},x={inputMode:"simple",theme:theme,width:70,min:0,max:40,decimalDigits:1,spinButtons:true},d="getfermenter.php?uuid='"+my_uuid+"'",j={datatype:"json",datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"alias",type:"string"},{name:"node",type:"string"},{name:"online",type:"int"},{name:"beercode",type:"string"},{name:"beername",type:"string"},{name:"air_state",type:"string"},{name:"air_temperature",type:"float"},{name:"beer_state",type:"string"},{name:"beer_temperature",type:"float"},{name:"chiller_state",type:"string"},{name:"chiller_temperature",type:"float"},{name:"heater_state",type:"int"},{name:"heater_usage",type:"int"},{name:"cooler_state",type:"int"},{name:"cooler_usage",type:"int"},{name:"fan_state",type:"int"},{name:"fan_usage",type:"int"},{name:"light_address",type:"string"},{name:"light_state",type:"int"},{name:"light_usage",type:"int"},{name:"door_address",type:"string"},{name:"door_state",type:"int"},{name:"psu_address",type:"string"},{name:"psu_state",type:"int"},{name:"mode",type:"string"},{name:"alarm",type:"int"},{name:"setpoint_high",type:"float"},{name:"setpoint_low",type:"float"},{name:"profile_uuid",type:"string"},{name:"profile_name",type:"string"},{name:"profile_state",type:"string"},{name:"profile_percent",type:"int"},{name:"profile_inittemp_high",type:"float"},{name:"profile_inittemp_low",type:"float"},{name:"profile_steps",type:"string"},{name:"stage",type:"string"},{name:"beeruuid",type:"string"},{name:"yeast_lo",type:"float"},{name:"yeast_hi",type:"float"},{name:"webcam_url",type:"string"},{name:"webcam_light",type:"int"}],id:"record",url:d},r=new $.jqx.dataAdapter(j,{loadComplete:function(A){c=r.records[0];var z,B=(c.online)?"On-line":"Off-line";$("#info_uuid").html(c.uuid);$("#info_system").html(c.node+"/"+c.alias);$("#info_online").html(B);$("#info_beer").html(c.beercode+" - "+c.beername);$("#info_mode").jqxDropDownList("selectItem",c.mode);$("#info_stage").jqxDropDownList("selectItem",c.stage);$("#info_profile").html(c.profile_name);e.name=c.alias;e.code=c.alias.toUpperCase();e.uuid=c.uuid;if(c.profile_name==""){$("#info_mode").jqxDropDownList("disableItem","PROFILE")}else{$("#info_mode").jqxDropDownList("enableItem","PROFILE")}$("#target_lo").val(c.setpoint_low);$("#target_hi").val(c.setpoint_high);if(c.online&&((c.mode=="FRIDGE")||(c.mode=="BEER"))){$("#target_lo").jqxNumberInput({readOnly:false,Width:70,spinButtons:true});$("#target_hi").jqxNumberInput({readOnly:false,Width:70,spinButtons:true})}else{$("#target_lo").jqxNumberInput({readOnly:true,Width:50,spinButtons:false});$("#target_hi").jqxNumberInput({readOnly:true,Width:50,spinButtons:false})}if(c.online&&c.door_address&&(c.door_state!="0")){$("#fermenter_doorled").html('<div class="LEDyellow_on"></div>Door')}else{$("#fermenter_doorled").html('<div class="LEDyellow_off"></div>Door')}if(c.online&&c.light_address&&(c.light_state!="0")){$("#fermenter_lightled").html('<div class="LEDyellow_on"></div>Light')}else{$("#fermenter_lightled").html('<div class="LEDyellow_off"></div>Light')}if(c.online&&(c.mode!="OFF")){$("#fermenter_powerled").html('<div class="LEDblue_on"></div>Power');$("#select_beer").jqxDropDownList({disabled:true});$("#select_beer").jqxDropDownList("clearSelection");$("#select_beer").hide()}else{$("#fermenter_powerled").html('<div class="LEDblue_off"></div>Power');$("#select_beer").show();$("#select_beer").jqxDropDownList({disabled:false})}if(c.online&&(c.alarm!="0")){$("#fermenter_alarmled").html('<div class="LEDred_on"></div>Alarm')}else{$("#fermenter_alarmled").html('<div class="LEDred_off"></div>Alarm')}if(c.online&&(c.heater_state!="0")){$("#fermenter_led1").html('<div class="LEDgreen_on"></div>Heat')}else{$("#fermenter_led1").html('<div class="LEDgreen_off"></div>Heat')}if(c.online&&(c.cooler_state!="0")){$("#fermenter_led2").html('<div class="LEDgreen_on"></div>Cool')}else{$("#fermenter_led2").html('<div class="LEDgreen_off"></div>Cool')}if(c.online&&(c.fan_state!="0")){$("#fermenter_led3").html('<div class="LEDgreen_on"></div>Fan')}else{$("#fermenter_led3").html('<div class="LEDgreen_off"></div>Fan')}if(c.online&&(c.mode=="NONE")){$("#fermenter_toggle1").jqxSwitchButton("enable");$("#fermenter_toggle2").jqxSwitchButton("enable");$("#fermenter_toggle3").jqxSwitchButton("enable")}else{$("#fermenter_toggle1").jqxSwitchButton("disable");$("#fermenter_toggle2").jqxSwitchButton("disable");$("#fermenter_toggle3").jqxSwitchButton("disable");$("#fermenter_toggle1").val((c.heater_state!="0"));$("#fermenter_toggle2").val((c.cooler_state!="0"));$("#fermenter_toggle3").val((c.fan_state!="0"))}if(c.online&&(c.mode=="PROFILE")){if(c.profile_state=="OFF"){$("#select_profile").show();$("#select_profile").jqxDropDownList({disabled:false});$("#info_mode").jqxDropDownList({disabled:false});$("#Profile1").jqxButton({template:"success",value:"Starten"});$("#Profile1").show();$("#Profile2").hide();$("#status_profile").html("")}else{if(c.profile_state=="RUN"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"danger",value:"Afbreken"});$("#Profile2").jqxButton({template:"primary",value:"Pauze"});$("#Profile1").show();$("#Profile2").show();$("#status_profile").html("Profiel actief, "+c.profile_percent+"% gereed")}else{if(c.profile_state=="PAUSE"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"danger",value:"Afbreken"});$("#Profile2").jqxButton({template:"success",value:"Doorgaan"});$("#Profile1").show();$("#Profile2").show();$("#status_profile").html("Profiel pauze, "+c.profile_percent+"% gereed")}else{if(c.profile_state=="DONE"){$("#select_profile").jqxDropDownList({disabled:true});$("#select_profile").hide();$("#info_mode").jqxDropDownList({disabled:true});$("#Profile1").jqxButton({template:"primary",value:"Profiel Ok"});$("#Profile1").show();$("#Profile2").hide();$("#status_profile").html("Profiel is gereed")}}}}}else{$("#select_profile").show();$("#select_profile").jqxDropDownList({disabled:false});$("#info_mode").jqxDropDownList({disabled:false});$("#Profile1").hide();$("#Profile2").hide();$("#status_profile").html("")}if(c.online&&(c.webcam_url!="")){$("#Camera").show()}else{$("#Camera").hide()}t=c.yeast_lo;y=c.yeast_hi;z={ranges:[{startValue:0,endValue:t,style:{fill:"#3399FF",stroke:"#3399FF"},endWidth:10,startWidth:10},{startValue:t,endValue:y,style:{fill:"#00CC33",stroke:"#00CC33"},endWidth:10,startWidth:10},{startValue:y,endValue:40,style:{fill:"#FC6A6A",stroke:"#FC6A6A"},endWidth:10,startWidth:10}]};$("#gaugeContainer_air").jqxGauge(z);$("#gaugeContainer_beer").jqxGauge(z);$("#gaugeContainer_air").jqxGauge({caption:{value:"Air: "+c.air_temperature.toFixed(3)}});$("#gaugeContainer_air").jqxGauge({value:c.air_temperature});if(c.air_state=="OK"){$("#gaugeContainer_air").jqxGauge({disabled:false})}else{$("#gaugeContainer_air").jqxGauge({disabled:true})}$("#gaugeContainer_beer").jqxGauge({caption:{value:"Beer: "+c.beer_temperature.toFixed(3)}});$("#gaugeContainer_beer").jqxGauge({value:c.beer_temperature});if(c.beer_state=="OK"){$("#gaugeContainer_beer").jqxGauge({disabled:false})}else{$("#gaugeContainer_beer").jqxGauge({disabled:true})}$("#gaugeContainer_chiller").jqxGauge({value:c.chiller_temperature});if(c.chiller_state=="OK"){$("#gaugeContainer_chiller").jqxGauge({disabled:false})}else{$("#gaugeContainer_chiller").jqxGauge({disabled:true})}}});$("#select_beer").jqxDropDownList({placeHolder:"Kies bier:",theme:theme,source:s,displayMember:"code",width:150,height:24,dropDownWidth:500,autoDropDownHeight:true,renderer:function(A,z,C){var B=s.records[A];return B.code+" - "+B.name}});$("#select_profile").jqxDropDownList({placeHolder:"Kies profiel:",theme:theme,source:a,displayMember:"name",width:150,height:24,dropDownWidth:500,autoDropDownHeight:true,});$("#gaugeContainer_air").jqxGauge(g);$("#gaugeContainer_air").jqxGauge({caption:{value:"Air: 00.000"}});$("#gaugeContainer_beer").jqxGauge(g);$("#gaugeContainer_beer").jqxGauge({caption:{value:"Beer: 00.000"}});$("#gaugeContainer_chiller").jqxGauge(h);$("#fermenter_toggle1").jqxSwitchButton(m);$("#fermenter_toggle2").jqxSwitchButton(m);$("#fermenter_toggle3").jqxSwitchButton(m);srcMode=["OFF","NONE","FRIDGE","BEER","PROFILE"];srcStage=["PRIMARY","SECONDARY","TERTIARY","CARBONATION"];$("#info_mode").jqxDropDownList({theme:theme,source:srcMode,width:100,height:24,dropDownHeight:156});$("#info_stage").jqxDropDownList({theme:theme,source:srcStage,width:150,height:24,dropDownHeight:125});$("#target_lo").jqxNumberInput(x);$("#target_hi").jqxNumberInput(x);$("#Profile1").jqxButton({template:"info",width:"150px",height:24,theme:theme});$("#Profile2").jqxButton({template:"info",width:"150px",height:24,theme:theme});$("#Profile1").hide();$("#Profile2").hide();function i(B,D,A,z){console.log("sendBase("+B+", "+D+", "+A+", "+z+")");var C="node="+c.node+"&alias="+c.alias+'&payload={"stage":"'+B;C+='","mode":"'+D+'","setpoint":{"low":'+A+',"high":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:C,type:"POST",success:function(E){},error:function(E,G,F){console.log("sendBase() error")}})}function q(C,B,A,z){console.log("sendSwitch("+C+", "+B+", "+A+", "+z+")");var D="node="+c.node+"&alias="+c.alias+"&payload=";D+='{"heater":{"state":'+C+'},"cooler":{"state":'+B+'},"fan":{"state":'+A+'},"light":{"state":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:D,type:"POST",success:function(E){},error:function(E,G,F){console.log("sendSwitch() error")}})}function p(D,B,C,A,z){console.log("sendProduct("+D+", "+B+", "+C+", "+A+", "+z+")");var E="node="+c.node+"&alias="+c.alias+"&payload=";E+='{"product":{"code":"'+D+'","name":"'+B+'","uuid":"'+C+'","yeast_lo":'+A+',"yeast_hi":'+z+"}}";$.ajax({url:"cmd_fermenter.php",data:E,type:"POST",success:function(F){},error:function(F,H,G){console.log("sendProduct() error")}})}function u(A){console.log("sendProfile("+A+")");var z="node="+c.node+"&alias="+c.alias+"&payload="+A;$.ajax({url:"cmd_fermenter.php",data:z,type:"POST",success:function(B){},error:function(B,D,C){console.log("sendProfile() error")}})}r.dataBind();setInterval(function(){var z=false;if(l){i(c.stage,c.mode,c.setpoint_low,c.setpoint_high);l=false;z=true}if(w){q(c.heater_state,c.cooler_state,c.fan_state,c.light_state);w=false;z=true}if(k){p(c.beercode,c.beername,c.beeruuid,c.yeast_lo,c.yeast_hi);k=false;z=true}if(n){u(b);n=false;z=true}if(z){o=4}else{if(o>0){o--}}if(o<=0){r.dataBind();o=20}},500);$("#info_mode").on("change",function(A){var z=A.args;if(z){c.mode=z.item.value;$("#fermenter_toggle1").val(0);$("#fermenter_toggle2").val(0);$("#fermenter_toggle3").val(0)}l=true});$("#info_stage").on("select",function(A){var z=A.args;if(z){c.stage=z.item.value}l=true});$("#select_beer").on("select",function(B){if(B.args){var z=B.args.index,A=s.records[z];c.beercode=A.code;c.beername=A.name;c.beeruuid=A.uuid;c.yeast_lo=A.yeast_lo;c.yeast_hi=A.yeast_hi;k=true}});$("#select_profile").on("select",function(C){if(C.args){var z=C.args.index,B=a.records[z],D,A;if(B.record==-1){b='{"profile":null}'}else{b='{"profile":{"uuid":"'+B.uuid+'","name":"'+B.name+'",';b+='"inittemp":{"low":'+B.inittemp_lo+',"high":'+B.inittemp_hi+"},";b+='"fridgemode":'+B.fridgemode+',"steps":[';for(A=0;A<B.steps.length;A++){D=B.steps[A];if(A>0){b+=","}b+='{"steptime":'+D.steptime+',"resttime":'+D.resttime;b+=',"target_lo":'+D.target_lo+',"target_hi":'+D.target_hi;b+=',"fridgemode":'+D.fridgemode+',"name":"'+D.name+'"}'}b+="]}}"}n=true}});$("#target_lo").on("change",function(z){c.setpoint_low=parseFloat(z.args.value);if(c.setpoint_low>c.setpoint_high){c.setpoint_high=c.setpoint_low;$("#target_hi").val(c.setpoint_high)}l=true});$("#target_hi").on("change",function(z){c.setpoint_high=parseFloat(z.args.value);if(c.setpoint_high<c.setpoint_low){c.setpoint_low=c.setpoint_high;$("#target_lo").val(c.setpoint_low)}l=true});$("#fermenter_toggle1").on("checked",function(z){if(c.mode=="NONE"){c.heater_state=0;w=true}});$("#fermenter_toggle1").on("unchecked",function(z){if(c.mode=="NONE"){c.heater_state=100;c.cooler_state=0;$("#fermenter_toggle2").val(0);w=true}});$("#fermenter_toggle2").on("checked",function(z){if(c.mode=="NONE"){c.cooler_state=0;w=true}});$("#fermenter_toggle2").on("unchecked",function(z){if(c.mode=="NONE"){c.cooler_state=100;c.heater_state=0;$("#fermenter_toggle1").val(0);w=true}});$("#fermenter_toggle3").on("checked",function(z){if(c.mode=="NONE"){c.fan_state=0;w=true}});$("#fermenter_toggle3").on("unchecked",function(z){if(c.mode=="NONE"){c.fan_state=100;w=true}});$("#Profile1").click(function(){if(c.mode=="PROFILE"){if(c.profile_state=="OFF"){b='{"profile":{"command":"start"}}';n=true}else{if((c.profile_state=="RUN")||(c.profile_state=="PAUSE")){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){b='{"profile":{"command":"abort"}}';n=true})}else{if(c.profile_state=="DONE"){b='{"profile":{"command":"done"}}';n=true}}}}});$("#Profile2").click(function(){if(c.mode=="PROFILE"){if((c.profile_state=="RUN")||(c.profile_state=="PAUSE")){b='{"profile":{"command":"pause"}}';n=true}}});$("#FLog").jqxButton({template:"primary",width:"150px",theme:theme});$("#FLog").click(function(){window.open("log_fermentation.php?code="+c.beercode+"&name="+c.beername)});$("#Camera").jqxButton({template:"primary",width:"150px",theme:theme});$("#Camera").click(function(){c.light_state=100;w=true;window.open(c.webcam_url)});createAbortElements()});
\ No newline at end of file
--- a/www/js/mon_fermenter.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/mon_fermenter.js	Sat Sep 14 19:04:29 2019 +0200
@@ -43,18 +43,18 @@
 
 $(document).ready(function () {
 
-	var	record = {};
-	var	blank = {};
-	var	ppayload = '';
-	var	newBase = false;
-	var	newProduct = false;
-	var	newSwitch = false;
-	var	newProfile = false;
-	var	schedule = 0;
-	var	yl = 12;	// Normal yeast temp range
-	var	yh = 24;
+	var record = {},
+	blank = {},
+	ppayload = '',
+	newBase = false,
+	newProduct = false,
+	newSwitch = false,
+	newProfile = false,
+	schedule = 0,
+	yl = 12, // Normal yeast temp range
+	yh = 24,
 
-	var productSource = {
+	productSource = {
 		datatype: "json",
 		cache: false,
 		datafields: [
@@ -67,10 +67,10 @@
 		],
 		id: 'code',
 		url: "includes/db_product.php?select=ferment"
-	};
-	var productlist = new $.jqx.dataAdapter(productSource, {
+	},
+	productlist = new $.jqx.dataAdapter(productSource, {
 		beforeLoadComplete: function (records) {
-			var data = new Array();
+			var row, i, data = new Array();
 			// Create a dummy beer on top to store in idle fermenters.
 			blank['code'] = "Free";	 // Will override this later.
 			blank['name'] = 'Dummy';
@@ -79,8 +79,8 @@
 			blank['yeast_lo'] = 12.0;
 			blank['yeast_hi'] = 24.0;
 			data.push(blank);
-			for (var i = 0; i < records.length; i++) {
-				var row = records[i];
+			for (i = 0; i < records.length; i++) {
+				row = records[i];
 				data.push(row);
 			}
 			return data;
@@ -88,7 +88,304 @@
         	loadError: function(jqXHR, status, error) {
                 	$('#err').text(status + ' ' + error);
 		},
-	});
+	}),
+        profileSource = {
+                datatype: "json",
+                cache: false,
+                datafields: [
+                        { name: 'record', type: 'int' },
+                        { name: 'uuid', type: 'string' },
+                        { name: 'name', type: 'string' },
+                        { name: 'inittemp_lo', type: 'float' },
+                        { name: 'inittemp_hi', type: 'float' },
+                        { name: 'fridgemode', type: 'int' },
+                        { name: 'totalsteps', type: 'int' },
+                        { name: 'duration', type: 'int' },
+                        { name: 'steps', type: 'array' }
+                ],
+                id: 'record',
+                url: "includes/db_profile_fermentation.php"
+        },
+        profilelist = new $.jqx.dataAdapter(profileSource, {
+                beforeLoadComplete: function (records) {
+                        var data = new Array(),
+                        empty = {}, i, row;
+                        // Create a dummy profile on top of the list.
+                        empty['record'] = -1;
+                        empty['uuid'] = '';
+                        empty['name'] = 'Wis profiel';
+                        empty['inittemp_lo'] = 20;
+                        empty['inittemp_hi'] = 20;
+                        empty['fridgemode'] = 0;
+                        empty['totalsteps'] = 0;
+                        empty['duration'] = 0;
+                        empty['steps'] = '[]';
+                        data.push(empty);
+                        for (i = 0; i < records.length; i++) {
+                                row = records[i];
+                                data.push(row);
+                        }
+                        return data;
+                },
+                loadError: function(jqXHR, status, error) {
+                        $('#err').text(status + ' ' + error);
+                },
+        }),
+        gaugeoptions = {
+                min: 0, max: 40, width: 375, height: 375,
+                ranges: [{ startValue:  0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
+                         { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+                         { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
+                ticksMinor: { interval: 1, size: '5%' },
+                ticksMajor: { interval: 5, size: '9%' },
+                labels: { interval: 5 },
+                style: { fill: '#eeeeee', stroke: '#666666' },
+                value: 0,
+                colorScheme: 'scheme05'
+        },
+        gaugeSmalloptions = {
+                min: -15, max: 25, width: 190, height: 190,
+                ranges: [{ startValue: -15, endValue:  0, startWidth: 5, endWidth: 5, style: { fill: '#3399FF', stroke: '#3399FF' }},
+                         { startValue:   0, endValue: 10, startWidth: 5, endWidth: 5, style: { fill: '#00CC33', stroke: '#00CC33' }},
+                         { startValue:  10, endValue: 25, startWidth: 5, endWidth: 5, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }}],
+                ticksMinor: { interval: 1, size: '5%' },
+                ticksMajor: { interval: 5, size: '9%' },
+                labels: { interval: 5 },
+                style: { fill: '#eeeeee', stroke: '#666666' },
+                value: 0,
+                colorScheme: 'scheme05',
+                caption: { value: 'Chiller', position: 'bottom', offset: [0, 10] }
+        },
+        switchoptions = {
+                height: 68,
+                width: 35,
+                onLabel:'AAN',
+                offLabel:'UIT',
+                theme: theme,
+                thumbSize:'50%',
+                orientation: 'vertical'
+        },
+	targetoptions = { inputMode: 'simple', theme: theme, width: 70, min: 0, max: 40, decimalDigits: 1, spinButtons: true },
+        url = "getfermenter.php?uuid='" + my_uuid + "'",
+        source = {
+                datatype: "json",
+                datafields: [
+                        { name: 'record', type: 'int' },
+                        { name: 'uuid', type: 'string' },
+                        { name: 'alias', type: 'string' },
+                        { name: 'node', type: 'string' },
+                        { name: 'online', type: 'int' },
+                        { name: 'beercode', type: 'string' },
+                        { name: 'beername', type: 'string' },
+                        { name: 'air_state', type: 'string' },
+                        { name: 'air_temperature', type: 'float' },
+                        { name: 'beer_state', type: 'string' },
+                        { name: 'beer_temperature', type: 'float' },
+                        { name: 'chiller_state', type: 'string' },
+                        { name: 'chiller_temperature', type: 'float' },
+                        { name: 'heater_state', type: 'int' },
+                        { name: 'heater_usage', type: 'int' },
+                        { name: 'cooler_state', type: 'int' },
+                        { name: 'cooler_usage', type: 'int' },
+                        { name: 'fan_state', type: 'int' },
+                        { name: 'fan_usage', type: 'int' },
+                        { name: 'light_address', type: 'string' },
+                        { name: 'light_state', type: 'int' },
+                        { name: 'light_usage', type: 'int' },
+                        { name: 'door_address', type: 'string' },
+                        { name: 'door_state', type: 'int' },
+                        { name: 'psu_address', type: 'string' },
+                        { name: 'psu_state', type: 'int' },
+                        { name: 'mode', type: 'string' },
+                        { name: 'alarm', type: 'int' },
+                        { name: 'setpoint_high', type: 'float' },
+                        { name: 'setpoint_low', type: 'float' },
+                        { name: 'profile_uuid', type: 'string' },
+                        { name: 'profile_name', type: 'string' },
+                        { name: 'profile_state', type: 'string' },
+                        { name: 'profile_percent', type: 'int' },
+                        { name: 'profile_inittemp_high', type: 'float' },
+                        { name: 'profile_inittemp_low', type: 'float' },
+                        { name: 'profile_steps', type: 'string' },
+                        { name: 'stage', type: 'string' },
+                        { name: 'beeruuid', type: 'string' },
+                        { name: 'yeast_lo', type: 'float' },
+                        { name: 'yeast_hi', type: 'float' },
+                        { name: 'webcam_url', type: 'string' },
+                        { name: 'webcam_light', type: 'int' }
+                ],
+                id: 'record',
+                url: url
+        },
+        dataAdapter = new $.jqx.dataAdapter(source, {
+                loadComplete: function (records) {
+                        record = dataAdapter.records[0];
+                        var range, oline = (record.online) ? "On-line" : "Off-line";
+                        $("#info_uuid").html(record.uuid);
+                        $("#info_system").html(record.node +  "/" + record.alias);
+                        $("#info_online").html(oline);
+                        $("#info_beer").html(record.beercode + " - " + record.beername);
+                        $("#info_mode").jqxDropDownList('selectItem', record.mode);
+                        $("#info_stage").jqxDropDownList('selectItem', record.stage);
+                        $("#info_profile").html(record.profile_name);
+                        blank['name'] = record.alias;
+                        blank['code'] = record.alias.toUpperCase();
+                        blank['uuid'] = record.uuid;
+                        if (record.profile_name == "")
+                                $("#info_mode").jqxDropDownList('disableItem', "PROFILE");
+                        else
+                                $("#info_mode").jqxDropDownList('enableItem', "PROFILE");
+                        $("#target_lo").val(record.setpoint_low);
+                        $("#target_hi").val(record.setpoint_high);
+                        if (record.online && ((record.mode == "FRIDGE") || (record.mode == "BEER"))) {
+                                $("#target_lo").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
+                                $("#target_hi").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
+                        } else {
+                                $("#target_lo").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
+                                $("#target_hi").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
+                        }
+
+                        if (record.online && record.door_address && (record.door_state != "0")) {
+                                $("#fermenter_doorled").html('<div class="LEDyellow_on"></div>Door');
+                        } else {
+                                $("#fermenter_doorled").html('<div class="LEDyellow_off"></div>Door');
+                        }
+                        if (record.online && record.light_address && (record.light_state != "0")) {
+                                $("#fermenter_lightled").html('<div class="LEDyellow_on"></div>Light');
+                        } else {
+                                $("#fermenter_lightled").html('<div class="LEDyellow_off"></div>Light');
+                        }
+
+                        if (record.online && (record.mode != "OFF")) {
+                                $("#fermenter_powerled").html('<div class="LEDblue_on"></div>Power');
+                                $("#select_beer").jqxDropDownList({ disabled: true });
+                                $("#select_beer").jqxDropDownList('clearSelection');
+                                $("#select_beer").hide();
+                        } else {
+                                $("#fermenter_powerled").html('<div class="LEDblue_off"></div>Power');
+                                $("#select_beer").show();
+                                $("#select_beer").jqxDropDownList({ disabled: false });
+                        }
+                        if (record.online && (record.alarm != "0")) {
+                                $("#fermenter_alarmled").html('<div class="LEDred_on"></div>Alarm');
+                        } else {
+                                $("#fermenter_alarmled").html('<div class="LEDred_off"></div>Alarm');
+                        }
+
+                        if (record.online && (record.heater_state != "0")) {
+                                $("#fermenter_led1").html('<div class="LEDgreen_on"></div>Heat');
+                        } else {
+                                $("#fermenter_led1").html('<div class="LEDgreen_off"></div>Heat');
+                        }
+                        if (record.online && (record.cooler_state != "0")) {
+                                $("#fermenter_led2").html('<div class="LEDgreen_on"></div>Cool');
+                        } else {
+                                $("#fermenter_led2").html('<div class="LEDgreen_off"></div>Cool');
+                        }
+                        if (record.online && (record.fan_state != "0")) {
+                                $("#fermenter_led3").html('<div class="LEDgreen_on"></div>Fan');
+                        } else {
+                                $("#fermenter_led3").html('<div class="LEDgreen_off"></div>Fan');
+                        }
+                        if (record.online && (record.mode == "NONE")) {
+                                $("#fermenter_toggle1").jqxSwitchButton( 'enable' );
+                                $("#fermenter_toggle2").jqxSwitchButton( 'enable' );
+                                $("#fermenter_toggle3").jqxSwitchButton( 'enable' );
+                        } else {
+                                $("#fermenter_toggle1").jqxSwitchButton( 'disable' );
+                                $("#fermenter_toggle2").jqxSwitchButton( 'disable' );
+                                $("#fermenter_toggle3").jqxSwitchButton( 'disable' );
+                                $("#fermenter_toggle1").val( (record.heater_state != "0") );
+                                $("#fermenter_toggle2").val( (record.cooler_state != "0") );
+                                $("#fermenter_toggle3").val( (record.fan_state != "0") );
+                        }
+
+                        if (record.online && (record.mode == "PROFILE")) {
+                                if (record.profile_state == "OFF") {
+                                        $("#select_profile").show();
+                                        $("#select_profile").jqxDropDownList({ disabled: false });
+                                        $("#info_mode").jqxDropDownList({ disabled: false });
+                                        $('#Profile1').jqxButton({ template: "success", value: "Starten" });
+                                        $("#Profile1").show();
+                                        $("#Profile2").hide();
+                                        $("#status_profile").html('');
+                                } else if (record.profile_state == "RUN") {
+                                        $("#select_profile").jqxDropDownList({ disabled: true });
+                                        $("#select_profile").hide();
+                                        $("#info_mode").jqxDropDownList({ disabled: true });
+                                        $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" });
+                                        $('#Profile2').jqxButton({ template: "primary", value: "Pauze" });
+                                        $("#Profile1").show();
+                                        $("#Profile2").show();
+                                        $("#status_profile").html('Profiel actief, '+record.profile_percent+'% gereed');
+                                } else if (record.profile_state == "PAUSE") {
+                                        $("#select_profile").jqxDropDownList({ disabled: true });
+                                        $("#select_profile").hide();
+                                        $("#info_mode").jqxDropDownList({ disabled: true });
+                                        $('#Profile1').jqxButton({ template: "danger", value: "Afbreken" });
+                                        $('#Profile2').jqxButton({ template: "success", value: "Doorgaan" });
+                                        $("#Profile1").show();
+                                        $("#Profile2").show();
+                                        $("#status_profile").html('Profiel pauze, '+record.profile_percent+'% gereed');
+                                } else if (record.profile_state == "DONE") {
+                                        $("#select_profile").jqxDropDownList({ disabled: true });
+                                        $("#select_profile").hide();
+                                        $("#info_mode").jqxDropDownList({ disabled: true });
+                                        $('#Profile1').jqxButton({ template: "primary", value: "Profiel Ok" });
+                                        $("#Profile1").show();
+                                        $("#Profile2").hide();
+                                        $("#status_profile").html('Profiel is gereed');
+                                }
+                        } else {
+                                $("#select_profile").show();
+                                $("#select_profile").jqxDropDownList({ disabled: false });
+                                $("#info_mode").jqxDropDownList({ disabled: false });
+                                $("#Profile1").hide();
+                                $("#Profile2").hide();
+                                $("#status_profile").html('');
+                        }
+                        if (record.online && (record.webcam_url != "")) {
+                                $("#Camera").show();
+                        } else {
+                                $("#Camera").hide();
+                        }
+
+                        yl = record.yeast_lo;
+                        yh = record.yeast_hi;
+                        range = { ranges: [{ startValue:  0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
+                                               { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
+                                               { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }] };
+                        $("#gaugeContainer_air").jqxGauge( range );
+                        $("#gaugeContainer_beer").jqxGauge( range );
+
+                        $("#gaugeContainer_air").jqxGauge({ caption: { value: 'Air: '+record.air_temperature.toFixed(3) }});
+                        $('#gaugeContainer_air').jqxGauge({ value: record.air_temperature });
+                        if (record.air_state == "OK") {
+                                $("#gaugeContainer_air").jqxGauge({ disabled: false });
+                        } else {
+                                $("#gaugeContainer_air").jqxGauge({ disabled: true });
+                        }
+                        $("#gaugeContainer_beer").jqxGauge({ caption: { value: 'Beer: '+record.beer_temperature.toFixed(3) }});
+                        $('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature });
+                        if (record.beer_state == "OK") {
+                                $("#gaugeContainer_beer").jqxGauge({ disabled: false });
+                        } else {
+                                $("#gaugeContainer_beer").jqxGauge({ disabled: true });
+                        }
+                        $("#gaugeContainer_chiller").jqxGauge({ value: record.chiller_temperature });
+                        if (record.chiller_state == "OK") {
+                                $("#gaugeContainer_chiller").jqxGauge({ disabled: false });
+                        } else {
+                                $("#gaugeContainer_chiller").jqxGauge({ disabled: true });
+                        }
+                }
+        });
+
+
+
+
+
+
 	$("#select_beer").jqxDropDownList({
 		placeHolder: "Kies bier:",
 		theme: theme,
@@ -103,49 +400,6 @@
 			return datarecord.code + " - " + datarecord.name;
 		}
 	});
-
-	var profileSource = {
-		datatype: "json",
-		cache: false,
-		datafields: [
-			{ name: 'record', type: 'int' },
-			{ name: 'uuid', type: 'string' },
-			{ name: 'name', type: 'string' },
-			{ name: 'inittemp_lo', type: 'float' },
-			{ name: 'inittemp_hi', type: 'float' },
-			{ name: 'fridgemode', type: 'int' },
-			{ name: 'totalsteps', type: 'int' },
-			{ name: 'duration', type: 'int' },
-			{ name: 'steps', type: 'array' }
-		],
-		id: 'record',
-		url: "includes/db_profile_fermentation.php"
-	};
-	var profilelist = new $.jqx.dataAdapter(profileSource, {
-		beforeLoadComplete: function (records) {
-			var data = new Array();
-			var empty = {};
-			// Create a dummy profile on top of the list.
-			empty['record'] = -1;
-			empty['uuid'] = '';
-			empty['name'] = 'Wis profiel';
-			empty['inittemp_lo'] = 20;
-			empty['inittemp_hi'] = 20;
-			empty['fridgemode'] = 0;
-			empty['totalsteps'] = 0;
-			empty['duration'] = 0;
-			empty['steps'] = '[]';
-			data.push(empty);
-			for (var i = 0; i < records.length; i++) {
-				var row = records[i];
-				data.push(row);
-			}
-			return data;
-		},
-		loadError: function(jqXHR, status, error) {
-			$('#err').text(status + ' ' + error);
-		},
-	});
 	$("#select_profile").jqxDropDownList({
 		placeHolder: "Kies profiel:",
 		theme: theme,
@@ -157,46 +411,12 @@
 		autoDropDownHeight: true,
 	});
 
-	var gaugeoptions = {
-		min: 0, max: 40, width: 375, height: 375,
-		ranges: [{ startValue:  0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
-			 { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-			 { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }],
-		ticksMinor: { interval: 1, size: '5%' },
-		ticksMajor: { interval: 5, size: '9%' },
-		labels: { interval: 5 },
-		style: { fill: '#eeeeee', stroke: '#666666' },
-		value: 0,
-		colorScheme: 'scheme05'
-	};
-	var gaugeSmalloptions = {
-		min: -15, max: 25, width: 190, height: 190,
-		ranges: [{ startValue: -15, endValue:  0, startWidth: 5, endWidth: 5, style: { fill: '#3399FF', stroke: '#3399FF' }},
-		         { startValue:   0, endValue: 10, startWidth: 5, endWidth: 5, style: { fill: '#00CC33', stroke: '#00CC33' }},
-			 { startValue:  10, endValue: 25, startWidth: 5, endWidth: 5, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }}],
-		ticksMinor: { interval: 1, size: '5%' },
-		ticksMajor: { interval: 5, size: '9%' },
-		labels: { interval: 5 },
-		style: { fill: '#eeeeee', stroke: '#666666' },
-		value: 0,
-		colorScheme: 'scheme05',
-		caption: { value: 'Chiller', position: 'bottom', offset: [0, 10] }
-	};
 	$("#gaugeContainer_air").jqxGauge( gaugeoptions );
 	$("#gaugeContainer_air").jqxGauge( { caption: { value: 'Air: 00.000' }} );
 	$("#gaugeContainer_beer").jqxGauge( gaugeoptions );
 	$("#gaugeContainer_beer").jqxGauge( { caption: { value: 'Beer: 00.000' }} );
 	$("#gaugeContainer_chiller").jqxGauge( gaugeSmalloptions );
 
-	var switchoptions = {
-		height: 68,
-		width: 35,
-		onLabel:'AAN',
-		offLabel:'UIT',
-		theme: theme,
-		thumbSize:'50%',
-		orientation: 'vertical'
-	};
 	$("#fermenter_toggle1").jqxSwitchButton( switchoptions );
 	$("#fermenter_toggle2").jqxSwitchButton( switchoptions );
 	$("#fermenter_toggle3").jqxSwitchButton( switchoptions );
@@ -206,7 +426,6 @@
 	$("#info_mode").jqxDropDownList({  theme: theme, source: srcMode, width: 100, height: 24, dropDownHeight: 156 });
 	$("#info_stage").jqxDropDownList({ theme: theme, source: srcStage, width: 150, height: 24, dropDownHeight: 125 });
 
-	var targetoptions = { inputMode: 'simple', theme: theme, width: 70, min: 0, max: 40, decimalDigits: 1, spinButtons: true };
 	$("#target_lo").jqxNumberInput( targetoptions );
 	$("#target_hi").jqxNumberInput( targetoptions );
 
@@ -218,8 +437,8 @@
 	function sendBase(stage, mode, tlo, thi) {
 
 		console.log("sendBase("+stage+", "+mode+", "+tlo+", "+thi+")");
-		var data  = 'node='+record.node+'&alias='+record.alias+'&payload={"stage":"'+stage;
-		    data += '","mode":"'+mode+'","setpoint":{"low":'+tlo+',"high":'+thi+'}}';
+		var data  = 'node=' + record.node + '&alias=' + record.alias + '&payload={"stage":"' + stage;
+		    data += '","mode":"' + mode + '","setpoint":{"low":' + tlo + ',"high":' + thi + '}}';
 		$.ajax({
 			url: "cmd_fermenter.php",
 			data: data,
@@ -270,221 +489,6 @@
 		});
 	}
 
-    	var url = "getfermenter.php?uuid='" + my_uuid + "'";
-    	var source = {
-		datatype: "json",
-		datafields: [
-			{ name: 'record', type: 'int' },
-			{ name: 'uuid', type: 'string' },
-			{ name: 'alias', type: 'string' },
-			{ name: 'node', type: 'string' },
-			{ name: 'online', type: 'int' },
-			{ name: 'beercode', type: 'string' },
-			{ name: 'beername', type: 'string' },
-			{ name: 'air_state', type: 'string' },
-			{ name: 'air_temperature', type: 'float' },
-			{ name: 'beer_state', type: 'string' },
-			{ name: 'beer_temperature', type: 'float' },
-			{ name: 'chiller_state', type: 'string' },
-			{ name: 'chiller_temperature', type: 'float' },
-			{ name: 'heater_state', type: 'int' },
-			{ name: 'heater_usage', type: 'int' },
-			{ name: 'cooler_state', type: 'int' },
-			{ name: 'cooler_usage', type: 'int' },
-			{ name: 'fan_state', type: 'int' },
-			{ name: 'fan_usage', type: 'int' },
-			{ name: 'light_address', type: 'string' },
-			{ name: 'light_state', type: 'int' },
-			{ name: 'light_usage', type: 'int' },
-			{ name: 'door_address', type: 'string' },
-			{ name: 'door_state', type: 'int' },
-			{ name: 'psu_address', type: 'string' },
-			{ name: 'psu_state', type: 'int' },
-			{ name: 'mode', type: 'string' },
-			{ name: 'alarm', type: 'int' },
-			{ name: 'setpoint_high', type: 'float' },
-			{ name: 'setpoint_low', type: 'float' },
-			{ name: 'profile_uuid', type: 'string' },
-			{ name: 'profile_name', type: 'string' },
-			{ name: 'profile_state', type: 'string' },
-			{ name: 'profile_percent', type: 'int' },
-			{ name: 'profile_inittemp_high', type: 'float' },
-			{ name: 'profile_inittemp_low', type: 'float' },
-			{ name: 'profile_steps', type: 'string' },
-			{ name: 'stage', type: 'string' },
-			{ name: 'beeruuid', type: 'string' },
-			{ name: 'yeast_lo', type: 'float' },
-			{ name: 'yeast_hi', type: 'float' },
-			{ name: 'webcam_url', type: 'string' },
-			{ name: 'webcam_light', type: 'int' }
-		],
-		id: 'record',
-		url: url
-	};
-
-	var dataAdapter = new $.jqx.dataAdapter(source, {
-		loadComplete: function (records) {
-			record = dataAdapter.records[0];
-			var oline = (record.online) ? "On-line" : "Off-line";
-			$("#info_uuid").html(record.uuid);
-			$("#info_system").html(record.node +  "/" + record.alias);
-			$("#info_online").html(oline);
-			$("#info_beer").html(record.beercode + " - " + record.beername);
-			$("#info_mode").jqxDropDownList('selectItem', record.mode);
-			$("#info_stage").jqxDropDownList('selectItem', record.stage);
-			$("#info_profile").html(record.profile_name);
-			blank['name'] = record.alias;
-			blank['code'] = record.alias.toUpperCase();
-			blank['uuid'] = record.uuid;
-			if (record.profile_name == "")
-				$("#info_mode").jqxDropDownList('disableItem', "PROFILE");
-			else
-				$("#info_mode").jqxDropDownList('enableItem', "PROFILE");
-			$("#target_lo").val(record.setpoint_low);
-			$("#target_hi").val(record.setpoint_high);
-			if (record.online && ((record.mode == "FRIDGE") || (record.mode == "BEER"))) {
-				$("#target_lo").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
-				$("#target_hi").jqxNumberInput({ readOnly: false, Width: 70, spinButtons: true });
-			} else {
-				$("#target_lo").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
-				$("#target_hi").jqxNumberInput({ readOnly: true, Width: 50, spinButtons: false });
-			}
-
-			if (record.online && record.door_address && (record.door_state != "0")) {
-				$("#fermenter_doorled").html('<div class="LEDyellow_on"></div>Door');
-			} else {
-				$("#fermenter_doorled").html('<div class="LEDyellow_off"></div>Door');
-			}
-			if (record.online && record.light_address && (record.light_state != "0")) {
-				$("#fermenter_lightled").html('<div class="LEDyellow_on"></div>Light');
-			} else {
-				$("#fermenter_lightled").html('<div class="LEDyellow_off"></div>Light');
-			}
-
-			if (record.online && (record.mode != "OFF")) {
-				$("#fermenter_powerled").html('<div class="LEDblue_on"></div>Power');
-				$("#select_beer").jqxDropDownList({ disabled: true });
-				$("#select_beer").jqxDropDownList('clearSelection');
-				$("#select_beer").hide();
-			} else {
-				$("#fermenter_powerled").html('<div class="LEDblue_off"></div>Power');
-				$("#select_beer").show();
-				$("#select_beer").jqxDropDownList({ disabled: false });
-			}
-			if (record.online && (record.alarm != "0")) {
-				$("#fermenter_alarmled").html('<div class="LEDred_on"></div>Alarm');
-			} else {
-				$("#fermenter_alarmled").html('<div class="LEDred_off"></div>Alarm');
-			}
-
-			if (record.online && (record.heater_state != "0")) {
-				$("#fermenter_led1").html('<div class="LEDgreen_on"></div>Heat');
-			} else {
-				$("#fermenter_led1").html('<div class="LEDgreen_off"></div>Heat');
-			}
-			if (record.online && (record.cooler_state != "0")) {
-				$("#fermenter_led2").html('<div class="LEDgreen_on"></div>Cool');
-			} else {
-				$("#fermenter_led2").html('<div class="LEDgreen_off"></div>Cool');
-			}
-			if (record.online && (record.fan_state != "0")) {
-				$("#fermenter_led3").html('<div class="LEDgreen_on"></div>Fan');
-			} else {
-				$("#fermenter_led3").html('<div class="LEDgreen_off"></div>Fan');
-			}
-			if (record.online && (record.mode == "NONE")) {
-				$("#fermenter_toggle1").jqxSwitchButton( 'enable' );
-				$("#fermenter_toggle2").jqxSwitchButton( 'enable' );
-				$("#fermenter_toggle3").jqxSwitchButton( 'enable' );
-			} else {
-				$("#fermenter_toggle1").jqxSwitchButton( 'disable' );
-				$("#fermenter_toggle2").jqxSwitchButton( 'disable' );
-				$("#fermenter_toggle3").jqxSwitchButton( 'disable' );
-				$("#fermenter_toggle1").val( (record.heater_state != "0") );
-				$("#fermenter_toggle2").val( (record.cooler_state != "0") );
-				$("#fermenter_toggle3").val( (record.fan_state != "0") );
-			}
-
-			if (record.online && (record.mode == "PROFILE")) {
-				if (record.profile_state == "OFF") {
-					$("#select_profile").show();
-					$("#select_profile").jqxDropDownList({ disabled: false });
-					$("#info_mode").jqxDropDownList({ disabled: false });
-					$('#Profile1').jqxButton({ template: "success", value: "Starten" });
-					$("#Profile1").show();
-					$("#Profile2").hide();
-					$("#status_profile").html('');
-				} else if (record.profile_state == "RUN") {
-					$("#select_profile").jqxDropDownList({ disabled: true });
-					$("#select_profile").hide();
-					$("#info_mode").jqxDropDownList({ disabled: true });
-					$('#Profile1').jqxButton({ template: "danger", value: "Afbreken" });
-					$('#Profile2').jqxButton({ template: "primary", value: "Pauze" });
-					$("#Profile1").show();
-					$("#Profile2").show();
-					$("#status_profile").html('Profiel actief, '+record.profile_percent+'% gereed');
-				} else if (record.profile_state == "PAUSE") {
-					$("#select_profile").jqxDropDownList({ disabled: true });
-					$("#select_profile").hide();
-					$("#info_mode").jqxDropDownList({ disabled: true });
-					$('#Profile1').jqxButton({ template: "danger", value: "Afbreken" });
-					$('#Profile2').jqxButton({ template: "success", value: "Doorgaan" });
-					$("#Profile1").show();
-					$("#Profile2").show();
-					$("#status_profile").html('Profiel pauze, '+record.profile_percent+'% gereed');
-				} else if (record.profile_state == "DONE") {
-					$("#select_profile").jqxDropDownList({ disabled: true });
-					$("#select_profile").hide();
-					$("#info_mode").jqxDropDownList({ disabled: true });
-					$('#Profile1').jqxButton({ template: "primary", value: "Profiel Ok" });
-					$("#Profile1").show();
-					$("#Profile2").hide();
-					$("#status_profile").html('Profiel is gereed');
-				}
-			} else {
-				$("#select_profile").show();
-				$("#select_profile").jqxDropDownList({ disabled: false });
-				$("#info_mode").jqxDropDownList({ disabled: false });
-				$("#Profile1").hide();
-				$("#Profile2").hide();
-				$("#status_profile").html('');
-			}
-			if (record.online && (record.webcam_url != "")) {
-				$("#Camera").show();
-			} else {
-				$("#Camera").hide();
-			}
-
-			yl = record.yeast_lo;
-			yh = record.yeast_hi;
-			var range = { ranges: [{ startValue:  0, endValue: yl, style: { fill: '#3399FF', stroke: '#3399FF' }, endWidth: 10, startWidth: 10 },
-			                       { startValue: yl, endValue: yh, style: { fill: '#00CC33', stroke: '#00CC33' }, endWidth: 10, startWidth: 10 },
-					       { startValue: yh, endValue: 40, style: { fill: '#FC6A6A', stroke: '#FC6A6A' }, endWidth: 10, startWidth: 10 }] };
-			$("#gaugeContainer_air").jqxGauge( range );
-			$("#gaugeContainer_beer").jqxGauge( range );
-
-			$("#gaugeContainer_air").jqxGauge({ caption: { value: 'Air: '+record.air_temperature.toFixed(3) }});
-			$('#gaugeContainer_air').jqxGauge({ value: record.air_temperature });
-			if (record.air_state == "OK") {
-				$("#gaugeContainer_air").jqxGauge({ disabled: false });
-			} else {
-				$("#gaugeContainer_air").jqxGauge({ disabled: true });
-			}
-			$("#gaugeContainer_beer").jqxGauge({ caption: { value: 'Beer: '+record.beer_temperature.toFixed(3) }});
-			$('#gaugeContainer_beer').jqxGauge({ value: record.beer_temperature });
-			if (record.beer_state == "OK") {
-				$("#gaugeContainer_beer").jqxGauge({ disabled: false });
-			} else {
-				$("#gaugeContainer_beer").jqxGauge({ disabled: true });
-			}
-			$("#gaugeContainer_chiller").jqxGauge({ value: record.chiller_temperature });
-			if (record.chiller_state == "OK") {
-				$("#gaugeContainer_chiller").jqxGauge({ disabled: false });
-			} else {
-				$("#gaugeContainer_chiller").jqxGauge({ disabled: true });
-			}
-		}
-	});
 
 	// Get the data immediatly and then at regular intervals to refresh.
 	dataAdapter.dataBind();
@@ -541,8 +545,8 @@
 	});
 	$("#select_beer").on('select', function (event) {
 		if (event.args) {
-			var index = event.args.index;
-			var datarecord = productlist.records[index];
+			var index = event.args.index,
+			datarecord = productlist.records[index];
 			record.beercode = datarecord.code;
 			record.beername = datarecord.name;
 			record.beeruuid = datarecord.uuid;
@@ -553,16 +557,17 @@
 	});
 	$("#select_profile").on('select', function (event) {
 		if (event.args) {
-			var index = event.args.index;
-			var datarecord = profilelist.records[index];
+			var index = event.args.index,
+			datarecord = profilelist.records[index],
+			row, i;
 			if (datarecord.record == -1) {
 				ppayload  = '{"profile":null}';
 			} else {
 				ppayload  = '{"profile":{"uuid":"'+datarecord.uuid+'","name":"'+datarecord.name+'",';
 				ppayload += '"inittemp":{"low":'+datarecord.inittemp_lo+',"high":'+datarecord.inittemp_hi+'},';
 				ppayload += '"fridgemode":'+datarecord.fridgemode+',"steps":[';
-				for (var i = 0; i < datarecord.steps.length; i++) {
-					var row = datarecord.steps[i];
+				for (i = 0; i < datarecord.steps.length; i++) {
+					row = datarecord.steps[i];
 					if (i > 0)
 						ppayload += ',';
 					ppayload += '{"steptime":'+row['steptime']+',"resttime":'+row['resttime'];
@@ -664,15 +669,13 @@
 	// The chart button.
    	$("#FLog").jqxButton({ template: "primary", width: '150px', theme: theme });
 	$("#FLog").click(function () {
-		var url="log_fermentation.php?code=" + record.beercode + "&name=" + record.beername;
-		window.open(url);
+		window.open('log_fermentation.php?code=' + record.beercode + '&name=' + record.beername);
 	});
 	$("#Camera").jqxButton({ template: "primary", width: '150px', theme: theme });
 	$("#Camera").click(function () {
 		record.light_state = 100;
 		newSwitch = true;
-		var url=record.webcam_url;
-		window.open(url);
+		window.open(record.webcam_url);
 	});
 	createAbortElements();
 });
--- a/www/js/mon_node-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/mon_node-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){var a="getnode.php?uuid='"+my_uuid+"'";var b={datatype:"json",datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"node",type:"string"},{name:"online",type:"bool"},{name:"group_id",type:"string"},{name:"hardwaremake",type:"string"},{name:"hardwaremodel",type:"string"},{name:"os",type:"string"},{name:"os_version",type:"string"},{name:"firmware",type:"string"},{name:"firstseen",type:"string"},{name:"lastseen",type:"string"},{name:"temperature",type:"float"},{name:"humidity",type:"float"},{name:"barometer",type:"float"},{name:"gps_latitude",type:"float"},{name:"gps_longitude",type:"float"},{name:"gps_altitude",type:"float"},{name:"net_address",type:"string"},{name:"net_ifname",type:"string"},{name:"net_rssi",type:"int"}],id:"record",url:a};var c=new $.jqx.dataAdapter(b,{loadComplete:function(e){var d=c.records[0];var f="<div id='node_table'>";f+="<table style='width: 100%; padding: 10px;'>";f+="<tr><th colspan=2>Systeem overzicht</th></tr>";f+="<tr><td>Uuid</td><td>"+d.uuid+"</td></tr>";f+="<tr><td>Systeem</td><td>"+d.node+"</td></tr>";f+="<tr><td>Online</td><td>"+d.online+"</td></tr>";f+="<tr><td>Type</td><td>"+d.group_id+"</td></tr>";f+="<tr><td>Eerst gezien</td><td>"+d.firstseen+"</td></tr>";f+="<tr><td>Laatst gezien</td><td>"+d.lastseen+"</td></tr>";f+="<tr><td>Hardware maker</td><td>"+d.hardwaremake+"</td></tr>";f+="<tr><td>Hardware model</td><td>"+d.hardwaremodel+"</td></tr>";f+="<tr><td>OS</td><td>"+d.os+" versie: "+d.os_version+"</td></tr>";f+="<tr><td>Firmware</td><td>"+d.firmware+"</td></tr>";if(d.online){f+="<tr><td>Temperatuur</td><td>"+d.temperature.toFixed(1)+"&deg;C</td></tr>";if(d.humidity>0){f+="<tr><td>Vochtigheid</td><td>"+d.humidity.toFixed(1)+"%</td></tr>"}if(d.barometer>0){f+="<tr><td>Luchtdruk</td><td>"+d.barometer.toFixed(0)+"</td></tr>"}if((d.gps_latitude!=0)&&(d.gps_longitude!=0)){f+="<tr><td>GPS</td><td>"+d.gps_latitude+" "+d.gps_longitude+" "+d.gps_altitude+"</td></tr>"}f+="<tr><td>Netwerk</td><td>"+d.net_ifname+" "+d.net_address+"</td></tr>"}f+="</<table>";f+="</div>";$("#ContentPanel").html(f)}});c.dataBind();setInterval(function(){c.dataBind()},30000)});
\ No newline at end of file
+$(document).ready(function(){var a="getnode.php?uuid='"+my_uuid+"'",b={datatype:"json",datafields:[{name:"record",type:"int"},{name:"uuid",type:"string"},{name:"node",type:"string"},{name:"online",type:"bool"},{name:"group_id",type:"string"},{name:"hardwaremake",type:"string"},{name:"hardwaremodel",type:"string"},{name:"os",type:"string"},{name:"os_version",type:"string"},{name:"firmware",type:"string"},{name:"firstseen",type:"string"},{name:"lastseen",type:"string"},{name:"temperature",type:"float"},{name:"humidity",type:"float"},{name:"barometer",type:"float"},{name:"gps_latitude",type:"float"},{name:"gps_longitude",type:"float"},{name:"gps_altitude",type:"float"},{name:"net_address",type:"string"},{name:"net_ifname",type:"string"},{name:"net_rssi",type:"int"}],id:"record",url:a},c=new $.jqx.dataAdapter(b,{loadComplete:function(e){var d=c.records[0],f="<div id='node_table'>";f+="<table style='width: 100%; padding: 10px;'>";f+="<tr><th colspan=2>Systeem overzicht</th></tr>";f+="<tr><td>Uuid</td><td>"+d.uuid+"</td></tr>";f+="<tr><td>Systeem</td><td>"+d.node+"</td></tr>";f+="<tr><td>Online</td><td>"+d.online+"</td></tr>";f+="<tr><td>Type</td><td>"+d.group_id+"</td></tr>";f+="<tr><td>Eerst gezien</td><td>"+d.firstseen+"</td></tr>";f+="<tr><td>Laatst gezien</td><td>"+d.lastseen+"</td></tr>";f+="<tr><td>Hardware maker</td><td>"+d.hardwaremake+"</td></tr>";f+="<tr><td>Hardware model</td><td>"+d.hardwaremodel+"</td></tr>";f+="<tr><td>OS</td><td>"+d.os+" versie: "+d.os_version+"</td></tr>";f+="<tr><td>Firmware</td><td>"+d.firmware+"</td></tr>";if(d.online){f+="<tr><td>Temperatuur</td><td>"+d.temperature.toFixed(1)+"&deg;C</td></tr>";if(d.humidity>0){f+="<tr><td>Vochtigheid</td><td>"+d.humidity.toFixed(1)+"%</td></tr>"}if(d.barometer>0){f+="<tr><td>Luchtdruk</td><td>"+d.barometer.toFixed(0)+"</td></tr>"}if((d.gps_latitude!=0)&&(d.gps_longitude!=0)){f+="<tr><td>GPS</td><td>"+d.gps_latitude+" "+d.gps_longitude+" "+d.gps_altitude+"</td></tr>"}f+="<tr><td>Netwerk</td><td>"+d.net_ifname+" "+d.net_address+"</td></tr>"}f+="</<table>";f+="</div>";$("#ContentPanel").html(f)}});c.dataBind();setInterval(function(){c.dataBind()},30000)});
\ No newline at end of file
--- a/www/js/mon_node.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/mon_node.js	Sat Sep 14 19:04:29 2019 +0200
@@ -23,8 +23,8 @@
 
 $(document).ready(function () {
 
-	var url = "getnode.php?uuid='" + my_uuid + "'";
-	var source = {
+	var url = "getnode.php?uuid='" + my_uuid + "'",
+	source = {
 		datatype: "json",
 		datafields: [
 			{ name: 'record', type: 'int' },
@@ -51,24 +51,23 @@
 		],
 		id: 'record',
 		url: url
-	};
-
-	var dataAdapter = new $.jqx.dataAdapter(source, {
+	},
+	dataAdapter = new $.jqx.dataAdapter(source, {
 		loadComplete: function (records) {
-			var record = dataAdapter.records[0];
-			var html  = "<div id='node_table'>";
-			    html += "<table style='width: 100%; padding: 10px;'>";
-			    html += "<tr><th colspan=2>Systeem overzicht</th></tr>";
-			    html += "<tr><td>Uuid</td><td>" + record.uuid + "</td></tr>";
-			    html += "<tr><td>Systeem</td><td>" + record.node + "</td></tr>";
-			    html += "<tr><td>Online</td><td>" + record.online + "</td></tr>";
-			    html += "<tr><td>Type</td><td>" + record.group_id + "</td></tr>";
-			    html += "<tr><td>Eerst gezien</td><td>" + record.firstseen + "</td></tr>";
-			    html += "<tr><td>Laatst gezien</td><td>" + record.lastseen + "</td></tr>";
-			    html += "<tr><td>Hardware maker</td><td>" + record.hardwaremake+ "</td></tr>";
-			    html += "<tr><td>Hardware model</td><td>" + record.hardwaremodel+ "</td></tr>";
-			    html += "<tr><td>OS</td><td>" + record.os + " versie: " + record.os_version + "</td></tr>";
-			    html += "<tr><td>Firmware</td><td>" + record.firmware + "</td></tr>";
+			var record = dataAdapter.records[0],
+			html  = "<div id='node_table'>";
+			html += "<table style='width: 100%; padding: 10px;'>";
+			html += "<tr><th colspan=2>Systeem overzicht</th></tr>";
+			html += "<tr><td>Uuid</td><td>" + record.uuid + "</td></tr>";
+			html += "<tr><td>Systeem</td><td>" + record.node + "</td></tr>";
+			html += "<tr><td>Online</td><td>" + record.online + "</td></tr>";
+			html += "<tr><td>Type</td><td>" + record.group_id + "</td></tr>";
+			html += "<tr><td>Eerst gezien</td><td>" + record.firstseen + "</td></tr>";
+			html += "<tr><td>Laatst gezien</td><td>" + record.lastseen + "</td></tr>";
+			html += "<tr><td>Hardware maker</td><td>" + record.hardwaremake+ "</td></tr>";
+			html += "<tr><td>Hardware model</td><td>" + record.hardwaremodel+ "</td></tr>";
+			html += "<tr><td>OS</td><td>" + record.os + " versie: " + record.os_version + "</td></tr>";
+			html += "<tr><td>Firmware</td><td>" + record.firmware + "</td></tr>";
 			if (record.online) {
 				html += "<tr><td>Temperatuur</td><td>" + record.temperature.toFixed(1) + "&deg;C</td></tr>";
 				if (record.humidity > 0) {
--- a/www/js/prod_export-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/prod_export-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){var a=0;$("#name").html(my_name);$("#code").html(my_code);$("#jqxRadioButton1").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton2").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton3").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton4").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton5").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton6").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton1").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=1});$("#jqxRadioButton2").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=2});$("#jqxRadioButton3").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=3});$("#jqxRadioButton4").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=4});$("#jqxRadioButton5").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=5});$("#jqxRadioButton6").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=6});$("#Start").jqxButton({template:"success",width:"100px",theme:theme,disabled:true});$("#Start").click(function(){if(a==1){var b="prod_beerxml.php?record="+my_record;window.open(b)}else{if(a==2){var b="prod_duplicate.php?record="+my_record;window.open(b)}else{if(a==3){var b="prod_torecipe.php?record="+my_record;window.open(b)}else{if(a==4){var b="prod_print.php?record="+my_record;window.open(b)}else{if(a==5){var b="prod_checklist.php?record="+my_record;window.open(b)}else{if(a==6){var b="prod_forum.php?record="+my_record;window.open(b)}}}}}}window.location.href="prod_edit.php?record="+my_record+"&return="+my_return})});
\ No newline at end of file
+$(document).ready(function(){var a=0;$("#name").html(my_name);$("#code").html(my_code);$("#jqxRadioButton1").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton2").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton3").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton4").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton5").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton6").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton1").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=1});$("#jqxRadioButton2").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=2});$("#jqxRadioButton3").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=3});$("#jqxRadioButton4").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=4});$("#jqxRadioButton5").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=5});$("#jqxRadioButton6").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=6});$("#Start").jqxButton({template:"success",width:"100px",theme:theme,disabled:true});$("#Start").click(function(){if(a==1){window.open("prod_beerxml.php?record="+my_record)}else{if(a==2){window.open("prod_duplicate.php?record="+my_record)}else{if(a==3){window.open("prod_torecipe.php?record="+my_record)}else{if(a==4){window.open("prod_print.php?record="+my_record)}else{if(a==5){window.open("prod_checklist.php?record="+my_record)}else{if(a==6){window.open("prod_forum.php?record="+my_record)}}}}}}window.location.href="prod_edit.php?record="+my_record+"&return="+my_return})});
\ No newline at end of file
--- a/www/js/prod_export.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/prod_export.js	Sat Sep 14 19:04:29 2019 +0200
@@ -61,23 +61,17 @@
 	$('#Start').jqxButton({ template: "success", width: '100px', theme: theme, disabled: true });
 	$('#Start').click(function () {
 		if (choice == 1) {
-			var url="prod_beerxml.php?record=" + my_record;
-			window.open(url);
+			window.open('prod_beerxml.php?record=' + my_record);
 		} else if (choice == 2) {
-			var url="prod_duplicate.php?record=" + my_record;
-			window.open(url);
+			window.open('prod_duplicate.php?record=' + my_record);
 		} else if (choice == 3) {
-			var url="prod_torecipe.php?record=" + my_record;
-			window.open(url);
+			window.open('prod_torecipe.php?record=' + my_record);
 		} else if (choice == 4) {
-			var url="prod_print.php?record=" + my_record;
-			window.open(url);
+			window.open('prod_print.php?record=' + my_record);
 		} else if (choice == 5) {
-			var url="prod_checklist.php?record=" + my_record;
-			window.open(url);
+			window.open('prod_checklist.php?record=' + my_record);
 		} else if (choice == 6) {
-                        var url="prod_forum.php?record=" + my_record;
-                        window.open(url);
+                        window.open('prod_forum.php?record=' + my_record);
                 }
 		// Return to the original product
 		window.location.href = "prod_edit.php?record=" + my_record + "&return=" + my_return;
--- a/www/js/prod_new-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/prod_new-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){var a=2;var b=0;var c=0;$("#name").jqxTooltip({content:"De naam voor dit brouw project."});$("#name").jqxInput({theme:theme,width:640,height:23});$("#code").jqxTooltip({content:"Het unieke code nummer van dit brouw project."});$("#code").jqxInput({theme:theme,width:100,height:23});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit project."});$("#notes").jqxInput({theme:theme,width:960,height:200});$("#type").jqxDropDownList({theme:theme,source:RecipeTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#type").jqxDropDownList("selectItem",2);$("#type").on("select",function(e){if(e.args){a=e.args.index}});$("#st_name").jqxTooltip({content:"De bierstijl naam voor dit recept."});$("#st_name").jqxInput({theme:theme,width:250,height:23});$("#st_category").jqxTooltip({content:"De Amerikaanse bierstijl categorie."});$("#st_category").jqxInput({theme:theme,width:250,height:23});$("#st_category_number").jqxTooltip({content:"De Amerikaanse bierstijl categorie sub nummer."});$("#st_category_number").jqxInput({theme:theme,width:70,height:23});$("#st_letter").jqxTooltip({content:"De bierstijl letter voor dit recept."});$("#st_letter").jqxInput({theme:theme,width:250,height:23});$("#st_guide").jqxTooltip({content:"De bierstijl gids voor dit recept."});$("#st_guide").jqxInput({theme:theme,width:250,height:23});$("#st_notes").jqxInput({theme:theme,width:800,height:100});$("#st_type").jqxTooltip({content:"Het bierstijl type."});$("#st_type").jqxInput({theme:theme,width:250,height:23});$("#st_og_min").jqxTooltip({content:"Het minimum begin SG voor deze bierstijl."});$("#st_og_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_og_max").jqxTooltip({content:"Het maximum begin SG voor deze bierstijl."});$("#st_og_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_fg_min").jqxTooltip({content:"Het minimum eind SG voor deze bierstijl."});$("#st_fg_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_fg_max").jqxTooltip({content:"Het maximum eind SG voor deze bierstijl."});$("#st_fg_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_ibu_min").jqxTooltip({content:"De minimum bitterheid voor deze bierstijl."});$("#st_ibu_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_ibu_max").jqxTooltip({content:"De maximum bitterheid voor deze bierstijl."});$("#st_ibu_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_color_min").jqxTooltip({content:"De minimum kleur voor deze bierstijl."});$("#st_color_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_color_max").jqxTooltip({content:"De maximum kleur voor deze bierstijl."});$("#st_color_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_carb_min").jqxTooltip({content:"Het minimum koolzuur volume voor deze bierstijl."});$("#st_carb_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_carb_max").jqxTooltip({content:"Het maximum koolzuur volume voor deze bierstijl."});$("#st_carb_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_abv_min").jqxTooltip({content:"Het minimum alcohol volume % voor deze bierstijl."});$("#st_abv_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_abv_max").jqxTooltip({content:"Het maximum alcohol volume % voor deze bierstijl."});$("#st_abv_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_profile").jqxInput({theme:theme,width:800,height:48});$("#st_ingredients").jqxInput({theme:theme,width:800,height:23});$("#st_examples").jqxInput({theme:theme,width:800,height:48});$("#styleSelect").jqxDropDownList({placeHolder:"Kies bierstijl:",theme:theme,source:styleslist,displayMember:"name",width:250,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(f,e,h){var g=styleslist.records[f];return g.style_guide+" "+g.style_letter+" "+g.name}});$("#styleSelect").on("select",function(g){if(g.args){var e=g.args.index;var f=styleslist.records[e];$("#st_name").val(f.name);$("#st_category").val(f.category);$("#st_category_number").val(f.category_number);$("#st_letter").val(f.style_letter);$("#st_guide").val(f.style_guide);b=f.type;$("#st_type").val(StyleTypeData[f.type].nl);$("#st_og_min").val(f.og_min);$("#st_og_max").val(f.og_max);$("#st_fg_min").val(f.fg_min);$("#st_fg_max").val(f.fg_max);$("#st_ibu_min").val(f.ibu_min);$("#st_ibu_max").val(f.ibu_max);$("#st_color_min").val(f.color_min);$("#st_color_max").val(f.color_max);$("#st_carb_min").val(f.carb_min);$("#st_carb_max").val(f.carb_max);$("#st_abv_min").val(f.abv_min);$("#st_abv_max").val(f.abv_max);$("#st_notes").val(f.notes);$("#st_profile").val(f.profile);$("#st_ingredients").val(f.ingredients);$("#st_examples").val(f.examples)}});$("#eq_name").jqxTooltip({content:"De naam van deze brouw apparatuur."});$("#eq_name").jqxInput({theme:theme,width:250,height:23});$("#eq_calc_boil_volume").jqxCheckBox({theme:theme,width:120,height:23,disabled:true});$("#eq_boil_size").jqxTooltip({content:"Normaal kook volume in liters"});$("#eq_boil_size").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_batch_size").jqxTooltip({content:"Berekende batch grootte in liters aan het eind van de kook."});$("#eq_batch_size").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_volume").jqxTooltip({content:"Maisch ketel volume."});$("#eq_tun_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_weight").jqxTooltip({content:"Maisch ketel gewicht."});$("#eq_tun_weight").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_height").jqxTooltip({content:"Maisch ketel hoogte."});$("#eq_tun_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_material").jqxTooltip({content:"Maisch ketel materiaal."});$("#eq_tun_material").jqxInput({theme:theme,width:180,height:23});$("#eq_tun_specific_heat").jqxTooltip({content:"Maisch ketel warmte geleiding."});$("#eq_tun_specific_heat").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:3});$("#eq_top_up_water").jqxTooltip({content:"Extra water in het gistvat."});$("#eq_top_up_water").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_trub_chiller_loss").jqxTooltip({content:"Standaard verlies bij het overbrengen naar het gistvat."});$("#eq_trub_chiller_loss").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_evap_rate").jqxTooltip({content:"Verdamping in liters per uur."});$("#eq_evap_rate").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:2,});$("#eq_boil_time").jqxTooltip({content:"Normale kooktijd in minuten."});$("#eq_boil_time").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:0});$("#eq_top_up_kettle").jqxTooltip({content:"Extra water toevoegen tijdens de kook."});$("#eq_top_up_kettle").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_hop_utilization").jqxTooltip({content:"100% voor kleine installaties, hoger voor grote brouwerijen."});$("#eq_hop_utilization").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:0});$("#eq_notes").jqxTooltip({content:"Opmerkingen over deze apparatuur."});$("#eq_notes").jqxInput({theme:theme,width:960,height:100});$("#eq_lauter_volume").jqxTooltip({content:"Filterkuip volume."});$("#eq_lauter_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_lauter_height").jqxTooltip({content:"Filterkuip hoogte."});$("#eq_lauter_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_lauter_deadspace").jqxTooltip({content:"Filterkuip verlies in liters."});$("#eq_lauter_deadspace").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_kettle_volume").jqxTooltip({content:"Kook ketel volume in liters."});$("#eq_kettle_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_kettle_height").jqxTooltip({content:"Kook ketel hoogte in cm."});$("#eq_kettle_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_mash_volume").jqxTooltip({content:"Maisch water voor de eerste stap."});$("#eq_mash_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_mash_max").jqxTooltip({content:"De maximale moutstort in Kg."});$("#eq_mash_max").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_efficiency").jqxTooltip({content:"Gemiddeld brouwzaal rendement."});$("#eq_efficiency").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#equipmentSelect").jqxDropDownList({placeHolder:"Kies apparatuur:",theme:theme,source:equipmentlist,displayMember:"name",width:250,height:27,dropDownWidth:300,renderer:function(f,e,h){var g=equipmentlist.records[f];return g.batch_size+" liter "+g.name}});$("#equipmentSelect").on("select",function(g){if(g.args){var e=g.args.index;var f=equipmentlist.records[e];$("#eq_name").val(f.name);$("#eq_boil_size").val(f.boil_size);$("#eq_batch_size").val(f.batch_size);$("#eq_tun_volume").val(f.tun_volume);$("#eq_tun_weight").val(f.tun_weight);$("#eq_tun_specific_heat").val(f.tun_specific_heat);c=f.tun_material;$("#eq_tun_material").val(MaterialData[f.tun_material].nl);$("#eq_tun_height").val(f.tun_height);$("#eq_top_up_water").val(f.top_up_water);$("#eq_trub_chiller_loss").val(f.trub_chiller_loss);$("#eq_evap_rate").val(f.evap_rate);$("#eq_boil_time").val(f.boil_time);$("#eq_calc_boil_volume").val(f.calc_boil_volume);$("#eq_top_up_kettle").val(f.top_up_kettle);$("#eq_hop_utilization").val(f.hop_utilization);$("#eq_notes").val(f.notes);$("#eq_lauter_volume").val(f.lauter_volume);$("#eq_lauter_height").val(f.lauter_height);$("#eq_lauter_deadspace").val(f.lauter_deadspace);$("#eq_kettle_volume").val(f.kettle_volume);$("#eq_kettle_height").val(f.kettle_height);$("#eq_mash_volume").val(f.mash_volume);$("#eq_mash_max").val(f.mash_max);$("#eq_efficiency").val(f.efficiency)}});var d=(function(){var e=function(){$("#name").on("change",function(f){d.validate(true)});$("#code").on("change",function(f){d.validate(true)});$("#type").on("change",function(f){d.validate(true)});$("#styleSelect").on("change",function(f){d.validate(true)});$("#equipmentSelect").on("change",function(f){d.validate(true)});$("#nextButtonCompleted").click(function(){var j=new Date();var g=j.getMonth()+1;var f=j.getFullYear()+"-";if(g<10){f=f+"0"}f=f+g+"-";if(j.getDate()<10){f=f+"0"}f=f+j.getDate();var i={record:-1,name:$("#name").val(),code:$("#code").val(),birth:f,stage:0,notes:$("#notes").val(),log_brew:0,log_fermentation:0,inventory_reduced:0,locked:0,eq_name:$("#eq_name").val(),eq_boil_size:parseFloat($("#eq_boil_size").jqxNumberInput("decimal")),eq_batch_size:parseFloat($("#eq_batch_size").jqxNumberInput("decimal")),eq_tun_volume:parseFloat($("#eq_tun_volume").jqxNumberInput("decimal")),eq_tun_weight:parseFloat($("#eq_tun_weight").jqxNumberInput("decimal")),eq_tun_specific_heat:parseFloat($("#eq_tun_specific_heat").jqxNumberInput("decimal")),eq_tun_material:c,eq_tun_height:parseFloat($("#eq_tun_height").jqxNumberInput("decimal"))/100,eq_top_up_water:parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),eq_trub_chiller_loss:parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal")),eq_evap_rate:parseFloat($("#eq_evap_rate").jqxNumberInput("decimal")),eq_boil_time:parseFloat($("#eq_boil_time").jqxNumberInput("decimal")),eq_calc_boil_volume:$("#eq_calc_boil_volume").val(),eq_top_up_kettle:parseFloat($("#eq_top_up_kettle").jqxNumberInput("decimal")),eq_hop_utilization:parseFloat($("#eq_hop_utilization").jqxNumberInput("decimal")),eq_notes:$("#eq_notes").val(),eq_lauter_volume:parseFloat($("#eq_lauter_volume").jqxNumberInput("decimal")),eq_lauter_height:parseFloat($("#eq_lauter_height").jqxNumberInput("decimal"))/100,eq_lauter_deadspace:parseFloat($("#eq_lauter_deadspace").jqxNumberInput("decimal")),eq_kettle_volume:parseFloat($("#eq_kettle_volume").jqxNumberInput("decimal")),eq_kettle_height:parseFloat($("#eq_kettle_height").jqxNumberInput("decimal"))/100,eq_mash_volume:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),eq_mash_max:parseFloat($("#eq_mash_max").jqxNumberInput("decimal")),eq_efficiency:parseFloat($("#eq_efficiency").jqxNumberInput("decimal")),brew_date_start:"",brew_mash_ph:0,brew_mash_sg:1,brew_mash_efficiency:0,brew_sparge_ph:0,brew_sparge_temperature:85,brew_sparge_est:0,brew_preboil_volume:0,brew_preboil_sg:0,brew_preboil_ph:0,brew_preboil_efficiency:0,brew_aboil_volume:0,brew_aboil_sg:0,brew_aboil_ph:0,brew_aboil_efficiency:0,brew_cooling_method:0,brew_cooling_time:0,brew_cooling_to:20,brew_whirlpool9:0,brew_whirlpool7:0,brew_whirlpool6:0,brew_whirlpool2:0,brew_fermenter_volume:parseFloat($("#eq_batch_size").jqxNumberInput("decimal"))-parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal"))+parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),brew_fermenter_extrawater:parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),brew_fermenter_tcloss:parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal")),brew_aeration_time:0,brew_aeration_speed:0,brew_aeration_type:0,brew_fermenter_sg:0,brew_fermenter_ibu:0,brew_fermenter_color:0,brew_date_end:"",og:0,fg:0,primary_start_temp:0,primary_max_temp:0,primary_end_temp:0,primary_end_sg:0,primary_end_date:"",secondary_temp:0,secondary_end_date:"",tertiary_temp:0,package_date:"",package_volume:0,package_infuse_amount:0,package_infuse_abv:0,package_infuse_notes:"",package_abv:0,package_ph:0,bottle_amount:0,bottle_carbonation:0,bottle_priming_water:0,bottle_priming_amount:0,bottle_carbonation_temp:23,keg_amount:0,keg_carbonation:0,keg_priming_water:0,keg_priming_amount:0,keg_carbonation_temp:23,keg_forced_carb:1,keg_pressure:0,taste_notes:"",taste_rate:0,taste_date:"",taste_color:"",taste_transparency:"",taste_head:"",taste_aroma:"",taste_taste:"",taste_mouthfeel:"",taste_aftertaste:"",st_name:$("#st_name").val(),st_letter:$("#st_letter").val(),st_guide:$("#st_guide").val(),st_type:b,st_category:$("#st_category").val(),st_category_number:parseFloat($("#st_category_number").jqxNumberInput("decimal")),st_og_min:parseFloat($("#st_og_min").jqxNumberInput("decimal")),st_og_max:parseFloat($("#st_og_max").jqxNumberInput("decimal")),st_fg_min:parseFloat($("#st_fg_min").jqxNumberInput("decimal")),st_fg_max:parseFloat($("#st_fg_max").jqxNumberInput("decimal")),st_ibu_min:parseFloat($("#st_ibu_min").jqxNumberInput("decimal")),st_ibu_max:parseFloat($("#st_ibu_max").jqxNumberInput("decimal")),st_color_min:parseFloat($("#st_color_min").jqxNumberInput("decimal")),st_color_max:parseFloat($("#st_color_max").jqxNumberInput("decimal")),st_carb_min:parseFloat($("#st_carb_min").jqxNumberInput("decimal")),st_carb_max:parseFloat($("#st_carb_max").jqxNumberInput("decimal")),st_abv_min:parseFloat($("#st_abv_min").jqxNumberInput("decimal")),st_abv_max:parseFloat($("#st_abv_max").jqxNumberInput("decimal")),type:a,batch_size:parseFloat($("#eq_batch_size").jqxNumberInput("decimal")),boil_size:parseFloat($("#eq_boil_size").jqxNumberInput("decimal")),boil_time:parseFloat($("#eq_boil_time").jqxNumberInput("decimal")),efficiency:parseFloat($("#eq_efficiency").jqxNumberInput("decimal")),est_og:0,est_fg:0,est_color:0,est_abv:0,est_carb:0,color_method:0,est_ibu:0,ibu_method:0,mash_name:"",mash_ph:5.4,sparge_temp:85,sparge_volume:parseFloat($("#eq_boil_size").jqxNumberInput("decimal"))/2,sparge_ph:5.8,sparge_source:0,sparge_acid_type:0,sparge_acid_perc:80,sparge_acid_amount:0,calc_acid:1,w1_name:"Tap water",w1_amount:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),w1_calcium:0,w1_sulfate:0,w1_chloride:0,w1_sodium:0,w1_magnesium:0,w1_total_alkalinity:0,w1_ph:7,w1_cost:0,wa_acid_name:0,wa_acid_perc:80,wa_base_name:0,wg_amount:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),wg_calcium:0,wg_sulfate:0,wg_chloride:0,wg_sodium:0,wg_magnesium:0,wg_total_alkalinity:0,wg_ph:7,wb_calcium:0,wb_sulfate:0,wb_sodium:0,wb_chloride:0,wb_magnesium:0,wb_total_alkalinity:0,wb_ph:0,starter_enable:0};var h="insert=true&return="+my_return+"&"+$.param(i);$.ajax({dataType:"json",url:"includes/db_product.php",cache:false,data:h,type:"POST",success:function(l,k,m){window.location.href=my_return},error:function(k,m,l){}})});$(".nextButton").click(function(){d.validate(true);$("#jqxTabs").jqxTabs("next")});$(".backButton").click(function(){d.validate(true);$("#jqxTabs").jqxTabs("previous")})};return{init:function(){$("#jqxTabs").jqxTabs({theme:theme,height:630,width:1280,autoHeight:false,position:"top",keyboardNavigation:false});$("#nextButtonBase").jqxButton({theme:theme,width:150});$("#nextButtonStyle").jqxButton({theme:theme,width:150});$("#backButtonStyle").jqxButton({theme:theme,width:150});$("#nextButtonEq").jqxButton({theme:theme,width:150});$("#backButtonEq").jqxButton({theme:theme,width:150});$("#nextButtonCompleted").jqxButton({theme:theme,width:150});$("#backButtonCompleted").jqxButton({theme:theme,width:150});e();this.validate();this.showHint("Validation hints.")},validate:function(f){if(!this.firstTab(f)){$("#jqxTabs").jqxTabs("disableAt",1);$("#jqxTabs").jqxTabs("disableAt",2);$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",1)}if(!this.secondTab(f)){$("#jqxTabs").jqxTabs("disableAt",2);$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",2)}if(!this.thirdTab(f)){$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",3)}},showHint:function(g,f){if(typeof f==="undefined"){f=".hint"}if(g===""){g="Ok, je mag doorgaan."}$(f).html("<strong>"+g+"</strong>")},firstTab:function(g){var f=$("#name").val(),i=$("#code").val(),h="";if(f.length<3){h+="Je moet een brouw project naam invullen. <br />"}if(i.length<3){h+="Je moet een brouw project code invullen. <br />"}if(h!==""){if(g){this.showHint(h,"#hintBase")}return false}this.showHint("Ok, je mag doorgaan.","#hintBase");return true},secondTab:function(g){var f=$("#styleSelect").val(),h="";if(f.length<3){h+="Je moet een bierstijl kiezen. <br />"}if(h!==""){if(g){this.showHint(h,"#hintStyle")}return false}this.showHint("Ok, je mag doorgaan.","#hintStyle");return true},thirdTab:function(f){var h=$("#equipmentSelect").val(),g="";if(h.length<3){g+="Je moet een brouw installatie kiezen. <br />"}if(g!==""){if(f){this.showHint(g,"#hintEq")}return false}this.showHint("Ok, je mag doorgaan.","#hintEq");return true}}}());d.init()});
\ No newline at end of file
+$(document).ready(function(){$("#name").jqxTooltip({content:"De naam voor dit brouw project."});$("#name").jqxInput({theme:theme,width:640,height:23});$("#code").jqxTooltip({content:"Het unieke code nummer van dit brouw project."});$("#code").jqxInput({theme:theme,width:100,height:23});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit project."});$("#notes").jqxInput({theme:theme,width:960,height:200});$("#type").jqxDropDownList({theme:theme,source:RecipeTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#type").jqxDropDownList("selectItem",2);$("#type").on("select",function(e){if(e.args){a=e.args.index}});$("#st_name").jqxTooltip({content:"De bierstijl naam voor dit recept."});$("#st_name").jqxInput({theme:theme,width:250,height:23});$("#st_category").jqxTooltip({content:"De Amerikaanse bierstijl categorie."});$("#st_category").jqxInput({theme:theme,width:250,height:23});$("#st_category_number").jqxTooltip({content:"De Amerikaanse bierstijl categorie sub nummer."});$("#st_category_number").jqxInput({theme:theme,width:70,height:23});$("#st_letter").jqxTooltip({content:"De bierstijl letter voor dit recept."});$("#st_letter").jqxInput({theme:theme,width:250,height:23});$("#st_guide").jqxTooltip({content:"De bierstijl gids voor dit recept."});$("#st_guide").jqxInput({theme:theme,width:250,height:23});$("#st_notes").jqxInput({theme:theme,width:800,height:100});$("#st_type").jqxTooltip({content:"Het bierstijl type."});$("#st_type").jqxInput({theme:theme,width:250,height:23});$("#st_og_min").jqxTooltip({content:"Het minimum begin SG voor deze bierstijl."});$("#st_og_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_og_max").jqxTooltip({content:"Het maximum begin SG voor deze bierstijl."});$("#st_og_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_fg_min").jqxTooltip({content:"Het minimum eind SG voor deze bierstijl."});$("#st_fg_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_fg_max").jqxTooltip({content:"Het maximum eind SG voor deze bierstijl."});$("#st_fg_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:3,readOnly:true});$("#st_ibu_min").jqxTooltip({content:"De minimum bitterheid voor deze bierstijl."});$("#st_ibu_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_ibu_max").jqxTooltip({content:"De maximum bitterheid voor deze bierstijl."});$("#st_ibu_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_color_min").jqxTooltip({content:"De minimum kleur voor deze bierstijl."});$("#st_color_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_color_max").jqxTooltip({content:"De maximum kleur voor deze bierstijl."});$("#st_color_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:0,readOnly:true});$("#st_carb_min").jqxTooltip({content:"Het minimum koolzuur volume voor deze bierstijl."});$("#st_carb_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_carb_max").jqxTooltip({content:"Het maximum koolzuur volume voor deze bierstijl."});$("#st_carb_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_abv_min").jqxTooltip({content:"Het minimum alcohol volume % voor deze bierstijl."});$("#st_abv_min").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_abv_max").jqxTooltip({content:"Het maximum alcohol volume % voor deze bierstijl."});$("#st_abv_max").jqxNumberInput({inputMode:"simple",theme:theme,width:90,height:23,decimalDigits:1,readOnly:true});$("#st_profile").jqxInput({theme:theme,width:800,height:48});$("#st_ingredients").jqxInput({theme:theme,width:800,height:23});$("#st_examples").jqxInput({theme:theme,width:800,height:48});$("#styleSelect").jqxDropDownList({placeHolder:"Kies bierstijl:",theme:theme,source:styleslist,displayMember:"name",width:250,height:27,dropDownWidth:500,dropDownHeight:500,renderer:function(f,e,h){var g=styleslist.records[f];return g.style_guide+" "+g.style_letter+" "+g.name}});$("#styleSelect").on("select",function(g){if(g.args){var e=g.args.index,f=styleslist.records[e];$("#st_name").val(f.name);$("#st_category").val(f.category);$("#st_category_number").val(f.category_number);$("#st_letter").val(f.style_letter);$("#st_guide").val(f.style_guide);b=f.type;$("#st_type").val(StyleTypeData[f.type].nl);$("#st_og_min").val(f.og_min);$("#st_og_max").val(f.og_max);$("#st_fg_min").val(f.fg_min);$("#st_fg_max").val(f.fg_max);$("#st_ibu_min").val(f.ibu_min);$("#st_ibu_max").val(f.ibu_max);$("#st_color_min").val(f.color_min);$("#st_color_max").val(f.color_max);$("#st_carb_min").val(f.carb_min);$("#st_carb_max").val(f.carb_max);$("#st_abv_min").val(f.abv_min);$("#st_abv_max").val(f.abv_max);$("#st_notes").val(f.notes);$("#st_profile").val(f.profile);$("#st_ingredients").val(f.ingredients);$("#st_examples").val(f.examples)}});$("#eq_name").jqxTooltip({content:"De naam van deze brouw apparatuur."});$("#eq_name").jqxInput({theme:theme,width:250,height:23});$("#eq_calc_boil_volume").jqxCheckBox({theme:theme,width:120,height:23,disabled:true});$("#eq_boil_size").jqxTooltip({content:"Normaal kook volume in liters"});$("#eq_boil_size").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_batch_size").jqxTooltip({content:"Berekende batch grootte in liters aan het eind van de kook."});$("#eq_batch_size").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_volume").jqxTooltip({content:"Maisch ketel volume."});$("#eq_tun_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_weight").jqxTooltip({content:"Maisch ketel gewicht."});$("#eq_tun_weight").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_height").jqxTooltip({content:"Maisch ketel hoogte."});$("#eq_tun_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_tun_material").jqxTooltip({content:"Maisch ketel materiaal."});$("#eq_tun_material").jqxInput({theme:theme,width:180,height:23});$("#eq_tun_specific_heat").jqxTooltip({content:"Maisch ketel warmte geleiding."});$("#eq_tun_specific_heat").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:3});$("#eq_top_up_water").jqxTooltip({content:"Extra water in het gistvat."});$("#eq_top_up_water").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_trub_chiller_loss").jqxTooltip({content:"Standaard verlies bij het overbrengen naar het gistvat."});$("#eq_trub_chiller_loss").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_evap_rate").jqxTooltip({content:"Verdamping in liters per uur."});$("#eq_evap_rate").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:2,});$("#eq_boil_time").jqxTooltip({content:"Normale kooktijd in minuten."});$("#eq_boil_time").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:0});$("#eq_top_up_kettle").jqxTooltip({content:"Extra water toevoegen tijdens de kook."});$("#eq_top_up_kettle").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_hop_utilization").jqxTooltip({content:"100% voor kleine installaties, hoger voor grote brouwerijen."});$("#eq_hop_utilization").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:0});$("#eq_notes").jqxTooltip({content:"Opmerkingen over deze apparatuur."});$("#eq_notes").jqxInput({theme:theme,width:960,height:100});$("#eq_lauter_volume").jqxTooltip({content:"Filterkuip volume."});$("#eq_lauter_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_lauter_height").jqxTooltip({content:"Filterkuip hoogte."});$("#eq_lauter_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_lauter_deadspace").jqxTooltip({content:"Filterkuip verlies in liters."});$("#eq_lauter_deadspace").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_kettle_volume").jqxTooltip({content:"Kook ketel volume in liters."});$("#eq_kettle_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_kettle_height").jqxTooltip({content:"Kook ketel hoogte in cm."});$("#eq_kettle_height").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_mash_volume").jqxTooltip({content:"Maisch water voor de eerste stap."});$("#eq_mash_volume").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_mash_max").jqxTooltip({content:"De maximale moutstort in Kg."});$("#eq_mash_max").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#eq_efficiency").jqxTooltip({content:"Gemiddeld brouwzaal rendement."});$("#eq_efficiency").jqxNumberInput({inputMode:"simple",readOnly:true,theme:theme,width:90,height:23,decimalDigits:1});$("#equipmentSelect").jqxDropDownList({placeHolder:"Kies apparatuur:",theme:theme,source:equipmentlist,displayMember:"name",width:250,height:27,dropDownWidth:300,renderer:function(f,e,h){var g=equipmentlist.records[f];return g.batch_size+" liter "+g.name}});$("#equipmentSelect").on("select",function(g){if(g.args){var e=g.args.index,f=equipmentlist.records[e];$("#eq_name").val(f.name);$("#eq_boil_size").val(f.boil_size);$("#eq_batch_size").val(f.batch_size);$("#eq_tun_volume").val(f.tun_volume);$("#eq_tun_weight").val(f.tun_weight);$("#eq_tun_specific_heat").val(f.tun_specific_heat);c=f.tun_material;$("#eq_tun_material").val(MaterialData[f.tun_material].nl);$("#eq_tun_height").val(f.tun_height);$("#eq_top_up_water").val(f.top_up_water);$("#eq_trub_chiller_loss").val(f.trub_chiller_loss);$("#eq_evap_rate").val(f.evap_rate);$("#eq_boil_time").val(f.boil_time);$("#eq_calc_boil_volume").val(f.calc_boil_volume);$("#eq_top_up_kettle").val(f.top_up_kettle);$("#eq_hop_utilization").val(f.hop_utilization);$("#eq_notes").val(f.notes);$("#eq_lauter_volume").val(f.lauter_volume);$("#eq_lauter_height").val(f.lauter_height);$("#eq_lauter_deadspace").val(f.lauter_deadspace);$("#eq_kettle_volume").val(f.kettle_volume);$("#eq_kettle_height").val(f.kettle_height);$("#eq_mash_volume").val(f.mash_volume);$("#eq_mash_max").val(f.mash_max);$("#eq_efficiency").val(f.efficiency)}});var a=2,b=0,c=0,d=(function(){var e=function(){$("#name").on("change",function(f){d.validate(true)});$("#code").on("change",function(f){d.validate(true)});$("#type").on("change",function(f){d.validate(true)});$("#styleSelect").on("change",function(f){d.validate(true)});$("#equipmentSelect").on("change",function(f){d.validate(true)});$("#nextButtonCompleted").click(function(){var j=new Date(),g=j.getMonth()+1,f=j.getFullYear()+"-",i,h;if(g<10){f=f+"0"}f=f+g+"-";if(j.getDate()<10){f=f+"0"}f=f+j.getDate();i={record:-1,name:$("#name").val(),code:$("#code").val(),birth:f,stage:0,notes:$("#notes").val(),log_brew:0,log_fermentation:0,inventory_reduced:0,locked:0,eq_name:$("#eq_name").val(),eq_boil_size:parseFloat($("#eq_boil_size").jqxNumberInput("decimal")),eq_batch_size:parseFloat($("#eq_batch_size").jqxNumberInput("decimal")),eq_tun_volume:parseFloat($("#eq_tun_volume").jqxNumberInput("decimal")),eq_tun_weight:parseFloat($("#eq_tun_weight").jqxNumberInput("decimal")),eq_tun_specific_heat:parseFloat($("#eq_tun_specific_heat").jqxNumberInput("decimal")),eq_tun_material:c,eq_tun_height:parseFloat($("#eq_tun_height").jqxNumberInput("decimal"))/100,eq_top_up_water:parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),eq_trub_chiller_loss:parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal")),eq_evap_rate:parseFloat($("#eq_evap_rate").jqxNumberInput("decimal")),eq_boil_time:parseFloat($("#eq_boil_time").jqxNumberInput("decimal")),eq_calc_boil_volume:$("#eq_calc_boil_volume").val(),eq_top_up_kettle:parseFloat($("#eq_top_up_kettle").jqxNumberInput("decimal")),eq_hop_utilization:parseFloat($("#eq_hop_utilization").jqxNumberInput("decimal")),eq_notes:$("#eq_notes").val(),eq_lauter_volume:parseFloat($("#eq_lauter_volume").jqxNumberInput("decimal")),eq_lauter_height:parseFloat($("#eq_lauter_height").jqxNumberInput("decimal"))/100,eq_lauter_deadspace:parseFloat($("#eq_lauter_deadspace").jqxNumberInput("decimal")),eq_kettle_volume:parseFloat($("#eq_kettle_volume").jqxNumberInput("decimal")),eq_kettle_height:parseFloat($("#eq_kettle_height").jqxNumberInput("decimal"))/100,eq_mash_volume:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),eq_mash_max:parseFloat($("#eq_mash_max").jqxNumberInput("decimal")),eq_efficiency:parseFloat($("#eq_efficiency").jqxNumberInput("decimal")),brew_date_start:"",brew_mash_ph:0,brew_mash_sg:1,brew_mash_efficiency:0,brew_sparge_ph:0,brew_sparge_temperature:85,brew_sparge_est:0,brew_preboil_volume:0,brew_preboil_sg:0,brew_preboil_ph:0,brew_preboil_efficiency:0,brew_aboil_volume:0,brew_aboil_sg:0,brew_aboil_ph:0,brew_aboil_efficiency:0,brew_cooling_method:0,brew_cooling_time:0,brew_cooling_to:20,brew_whirlpool9:0,brew_whirlpool7:0,brew_whirlpool6:0,brew_whirlpool2:0,brew_fermenter_volume:parseFloat($("#eq_batch_size").jqxNumberInput("decimal"))-parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal"))+parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),brew_fermenter_extrawater:parseFloat($("#eq_top_up_water").jqxNumberInput("decimal")),brew_fermenter_tcloss:parseFloat($("#eq_trub_chiller_loss").jqxNumberInput("decimal")),brew_aeration_time:0,brew_aeration_speed:0,brew_aeration_type:0,brew_fermenter_sg:0,brew_fermenter_ibu:0,brew_fermenter_color:0,brew_date_end:"",og:0,fg:0,primary_start_temp:0,primary_max_temp:0,primary_end_temp:0,primary_end_sg:0,primary_end_date:"",secondary_temp:0,secondary_end_date:"",tertiary_temp:0,package_date:"",package_volume:0,package_infuse_amount:0,package_infuse_abv:0,package_infuse_notes:"",package_abv:0,package_ph:0,bottle_amount:0,bottle_carbonation:0,bottle_priming_water:0,bottle_priming_amount:0,bottle_carbonation_temp:23,keg_amount:0,keg_carbonation:0,keg_priming_water:0,keg_priming_amount:0,keg_carbonation_temp:23,keg_forced_carb:1,keg_pressure:0,taste_notes:"",taste_rate:0,taste_date:"",taste_color:"",taste_transparency:"",taste_head:"",taste_aroma:"",taste_taste:"",taste_mouthfeel:"",taste_aftertaste:"",st_name:$("#st_name").val(),st_letter:$("#st_letter").val(),st_guide:$("#st_guide").val(),st_type:b,st_category:$("#st_category").val(),st_category_number:parseFloat($("#st_category_number").jqxNumberInput("decimal")),st_og_min:parseFloat($("#st_og_min").jqxNumberInput("decimal")),st_og_max:parseFloat($("#st_og_max").jqxNumberInput("decimal")),st_fg_min:parseFloat($("#st_fg_min").jqxNumberInput("decimal")),st_fg_max:parseFloat($("#st_fg_max").jqxNumberInput("decimal")),st_ibu_min:parseFloat($("#st_ibu_min").jqxNumberInput("decimal")),st_ibu_max:parseFloat($("#st_ibu_max").jqxNumberInput("decimal")),st_color_min:parseFloat($("#st_color_min").jqxNumberInput("decimal")),st_color_max:parseFloat($("#st_color_max").jqxNumberInput("decimal")),st_carb_min:parseFloat($("#st_carb_min").jqxNumberInput("decimal")),st_carb_max:parseFloat($("#st_carb_max").jqxNumberInput("decimal")),st_abv_min:parseFloat($("#st_abv_min").jqxNumberInput("decimal")),st_abv_max:parseFloat($("#st_abv_max").jqxNumberInput("decimal")),type:a,batch_size:parseFloat($("#eq_batch_size").jqxNumberInput("decimal")),boil_size:parseFloat($("#eq_boil_size").jqxNumberInput("decimal")),boil_time:parseFloat($("#eq_boil_time").jqxNumberInput("decimal")),efficiency:parseFloat($("#eq_efficiency").jqxNumberInput("decimal")),est_og:0,est_fg:0,est_color:0,est_abv:0,est_carb:0,color_method:0,est_ibu:0,ibu_method:0,mash_name:"",mash_ph:5.4,sparge_temp:85,sparge_volume:parseFloat($("#eq_boil_size").jqxNumberInput("decimal"))/2,sparge_ph:5.8,sparge_source:0,sparge_acid_type:0,sparge_acid_perc:80,sparge_acid_amount:0,calc_acid:1,w1_name:"Tap water",w1_amount:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),w1_calcium:0,w1_sulfate:0,w1_chloride:0,w1_sodium:0,w1_magnesium:0,w1_total_alkalinity:0,w1_ph:7,w1_cost:0,wa_acid_name:0,wa_acid_perc:80,wa_base_name:0,wg_amount:parseFloat($("#eq_mash_volume").jqxNumberInput("decimal")),wg_calcium:0,wg_sulfate:0,wg_chloride:0,wg_sodium:0,wg_magnesium:0,wg_total_alkalinity:0,wg_ph:7,wb_calcium:0,wb_sulfate:0,wb_sodium:0,wb_chloride:0,wb_magnesium:0,wb_total_alkalinity:0,wb_ph:0,starter_enable:0};h="insert=true&return="+my_return+"&"+$.param(i);$.ajax({dataType:"json",url:"includes/db_product.php",cache:false,data:h,type:"POST",success:function(l,k,m){window.location.href=my_return},error:function(k,m,l){}})});$(".nextButton").click(function(){d.validate(true);$("#jqxTabs").jqxTabs("next")});$(".backButton").click(function(){d.validate(true);$("#jqxTabs").jqxTabs("previous")})};return{init:function(){$("#jqxTabs").jqxTabs({theme:theme,height:630,width:1280,autoHeight:false,position:"top",keyboardNavigation:false});$("#nextButtonBase").jqxButton({theme:theme,width:150});$("#nextButtonStyle").jqxButton({theme:theme,width:150});$("#backButtonStyle").jqxButton({theme:theme,width:150});$("#nextButtonEq").jqxButton({theme:theme,width:150});$("#backButtonEq").jqxButton({theme:theme,width:150});$("#nextButtonCompleted").jqxButton({theme:theme,width:150});$("#backButtonCompleted").jqxButton({theme:theme,width:150});e();this.validate();this.showHint("Validation hints.")},validate:function(f){if(!this.firstTab(f)){$("#jqxTabs").jqxTabs("disableAt",1);$("#jqxTabs").jqxTabs("disableAt",2);$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",1)}if(!this.secondTab(f)){$("#jqxTabs").jqxTabs("disableAt",2);$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",2)}if(!this.thirdTab(f)){$("#jqxTabs").jqxTabs("disableAt",3);return}else{$("#jqxTabs").jqxTabs("enableAt",3)}},showHint:function(g,f){if(typeof f==="undefined"){f=".hint"}if(g===""){g="Ok, je mag doorgaan."}$(f).html("<strong>"+g+"</strong>")},firstTab:function(g){var f=$("#name").val(),i=$("#code").val(),h="";if(f.length<3){h+="Je moet een brouw project naam invullen. <br />"}if(i.length<3){h+="Je moet een brouw project code invullen. <br />"}if(h!==""){if(g){this.showHint(h,"#hintBase")}return false}this.showHint("Ok, je mag doorgaan.","#hintBase");return true},secondTab:function(g){var f=$("#styleSelect").val(),h="";if(f.length<3){h+="Je moet een bierstijl kiezen. <br />"}if(h!==""){if(g){this.showHint(h,"#hintStyle")}return false}this.showHint("Ok, je mag doorgaan.","#hintStyle");return true},thirdTab:function(f){var h=$("#equipmentSelect").val(),g="";if(h.length<3){g+="Je moet een brouw installatie kiezen. <br />"}if(g!==""){if(f){this.showHint(g,"#hintEq")}return false}this.showHint("Ok, je mag doorgaan.","#hintEq");return true}}}());d.init()});
\ No newline at end of file
--- a/www/js/prod_new.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/prod_new.js	Sat Sep 14 19:04:29 2019 +0200
@@ -23,10 +23,6 @@
 
 $(document).ready(function () {
 
-	var recipe_type = 2;
-	var style_type = 0;
-	var tun_material = 0;
-
 	// Tab 1, base
 	$("#name").jqxTooltip({ content: 'De naam voor dit brouw project.' });
 	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
@@ -107,8 +103,8 @@
 	});
 	$("#styleSelect").on('select', function (event) {
 		if (event.args) {
-			var index = event.args.index;
-			var datarecord = styleslist.records[index];
+			var index = event.args.index,
+			datarecord = styleslist.records[index];
 			$("#st_name").val(datarecord.name);
 			$("#st_category").val(datarecord.category);
 			$("#st_category_number").val(datarecord.category_number);
@@ -198,8 +194,8 @@
 	});
 	$("#equipmentSelect").on('select', function (event) {
 		if (event.args) {
-			var index = event.args.index;
-			var datarecord = equipmentlist.records[index];
+			var index = event.args.index,
+			datarecord = equipmentlist.records[index];
 			$("#eq_name").val(datarecord.name);
 			$("#eq_boil_size").val(datarecord.boil_size);
 			$("#eq_batch_size").val(datarecord.batch_size);
@@ -228,8 +224,10 @@
 		}
 	});
 
-	//Creating wizard module
-	var wizard = (function () {
+	var recipe_type = 2,
+        style_type = 0,
+        tun_material = 0,
+	wizard = (function() { // Creating wizard module
 
 		//Adding event listeners
 		var _addHandlers = function () {
@@ -239,16 +237,17 @@
 			$('#styleSelect').on('change', function (event) { wizard.validate(true); });
 			$('#equipmentSelect').on('change', function (event) { wizard.validate(true); });
 			$('#nextButtonCompleted').click(function () {
-				var d = new Date();
-				var m = d.getMonth() + 1;
-				var b = d.getFullYear() + '-';
+				var d = new Date(),
+				m = d.getMonth() + 1,
+				b = d.getFullYear() + '-',
+				newrow, data;
 				if (m < 10)
 					b = b + '0';
 				b = b + m + '-';
 				if (d.getDate() < 10)
 					b = b + '0';
 				b = b + d.getDate();
-				var newrow = {
+				newrow = {
 					record: -1,
 					name: $("#name").val(),
 					code: $("#code").val(),
@@ -427,7 +426,7 @@
 					wb_ph: 0,
 					starter_enable: 0
 				};
-				var data = "insert=true&return=" + my_return + "&" + $.param(newrow);
+				data = "insert=true&return=" + my_return + "&" + $.param(newrow);
 				$.ajax({
 					dataType: 'json',
 					url: "includes/db_product.php",
--- a/www/js/profile_fermentation-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_fermentation-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De naam voor dit vergisting profiel."});$("#inittemp_lo").jqxTooltip({content:"De minimale begin temperatuur van dit profiel."});$("#inittemp_hi").jqxTooltip({content:"De maximale begin temperatuur van dit profiel."});var c={},b="includes/db_profile_fermentation.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"inittemp_lo",type:"float"},{name:"inittemp_hi",type:"float"},{name:"fridgemode",type:"int"},{name:"totalsteps",type:"int"},{name:"duration",type:"int"},{name:"steps",type:"array"}],id:"record",url:b,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:b,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:b,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:b,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e);var a=function(j){var i=function(){var k={};k.name="Stap 1";k.steptime=12;k.resttime=24;k.target_lo=22;k.target_hi=23;k.fridgemode=0;return k};var h={localdata:j.steps,datatype:"local",datafields:[{name:"name",type:"string"},{name:"steptime",type:"float"},{name:"resttime",type:"float"},{name:"target_lo",type:"float"},{name:"target_hi",type:"float"},{name:"fridgemode",type:"int"}],addrow:function(l,n,k,m){m(true)},deleterow:function(k,l){l(true)}},g=new $.jqx.dataAdapter(h);$("#grid").jqxGrid({width:800,height:330,source:g,theme:theme,selectionmode:"singlerow",editmode:"selectedcell",editable:true,showtoolbar:true,rendertoolbar:function(l){var k=$("<div style='margin: 5px;'></div>");l.append(k);k.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');k.append('<input style="margin-left: 290px;" id="deleterowbutton" type="button" value="Verwijder stap" />');$("#addrowbutton").jqxButton({template:"primary",theme:theme,width:150});$("#deleterowbutton").jqxButton({template:"danger",theme:theme,width:150});$("#addrowbutton").on("click",function(){var m=i();$("#grid").jqxGrid("addrow",null,m)});$("#deleterowbutton").on("click",function(){var m=$("#grid").jqxGrid("getselectedrowindex");var o=$("#grid").jqxGrid("getdatainformation").rowscount;if(m>=0&&m<o){var n=$("#grid").jqxGrid("getrowid",m);$("#grid").jqxGrid("deleterow",n)}})},columns:[{text:"Stap naam",datafield:"name"},{text:"Min. &deg;C",datafield:"target_lo",width:100,align:"right",cellsalign:"right",cellsformat:"f1",validation:function(k,l){if(l<0||l>40){return{result:false,message:"De temperatuur moet tussen 0 en 40 zijn."}}return true}},{text:"Max. &deg;C",datafield:"target_hi",width:100,align:"right",cellsalign:"right",cellsformat:"f1",validation:function(k,l){if(l<0||l>40){return{result:false,message:"De temperatuur moet tussen 0 en 40 zijn."}}return true}},{text:"Koelkast",datafield:"fridgemode",columntype:"checkbox",width:80},{text:"Stap tijd",datafield:"steptime",width:80,align:"right",cellsalign:"right",validation:function(k,l){if(l<0||l>14400){return{result:false,message:"De tijd moet tussen 0 en 14400 zijn."}}return true}},{text:"Rust tijd",datafield:"resttime",width:80,align:"right",cellsalign:"right",validation:function(k,l){if(l<0||l>14400){return{result:false,message:"De tijd moet tussen 0 en 14400 zijn."}}return true}}]})};$("#name").jqxInput({theme:theme,width:640,height:23});$("#inittemp_lo").jqxNumberInput(Spin1dec);$("#inittemp_lo").jqxNumberInput({max:40});$("#inittemp_hi").jqxNumberInput(Spin1dec);$("#inittemp_hi").jqxNumberInput({max:40});$("#fridgemode").jqxCheckBox({theme:theme,height:23,enableContainerClick:false});var d=-1;$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var h,g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");g.append(h);i.append(g);h.jqxButton({theme:theme,width:90,height:20});h.click(function(j){d=-1;$("#name").val("Nieuw vergist profiel");c.uuid="";$("#inittemp_lo").val(20);$("#inittemp_hi").val(20);$("#fridgemode").val(0);c.totalsteps=0;c.duration=0;a("");$("#popupWindow").jqxWindow("open")})},filterable:false,columns:[{text:"Vergisting profiel",datafield:"name"},{text:"Min. start &deg;C",datafield:"inittemp_lo",width:150,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Max. start &deg;C",datafield:"inittemp_hi",width:150,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Stappen",datafield:"totalsteps",width:80,align:"right",cellsalign:"right"},{text:"Tijdsduur",datafield:"duration",width:150,align:"right",cellsrenderer:function(m,j,l,i,k){var h,n,g;if(l<24){h=l+" uur"}else{n=Math.floor(l/24);g=l%24;if(n==1){h=n+" dag, "+g+" uur"}else{h=n+" dagen, "+g+" uur"}}return"<span style='margin: 3px; margin-top: 6px; float: right;'>"+h+"</span>"}},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){d=g;c=$("#jqxgrid").jqxGrid("getrowdata",d);$("#name").val(c.name);$("#inittemp_lo").val(parseFloat(c.inittemp_lo));$("#inittemp_hi").val(parseFloat(c.inittemp_hi));$("#fridgemode").val(parseFloat(c.fridgemode));a(c);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:550,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(d>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",d);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i,h=-1,g=$("#grid").jqxGrid("getrows");if(d>=0){h=$("#jqxgrid").jqxGrid("getrowid",d)}i={record:h,uuid:c.uuid,name:$("#name").val(),inittemp_lo:parseFloat($("#inittemp_lo").jqxNumberInput("decimal")),inittemp_hi:parseFloat($("#inittemp_hi").jqxNumberInput("decimal")),fridgemode:$("#fridgemode").val(),steps:g};if(d>=0){$("#jqxgrid").jqxGrid("updaterow",h,i)}else{$("#jqxgrid").jqxGrid("addrow",null,i)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
+function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De naam voor dit vergisting profiel."});$("#inittemp_lo").jqxTooltip({content:"De minimale begin temperatuur van dit profiel."});$("#inittemp_hi").jqxTooltip({content:"De maximale begin temperatuur van dit profiel."});var c={},b="includes/db_profile_fermentation.php",e={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"uuid",type:"string"},{name:"name",type:"string"},{name:"inittemp_lo",type:"float"},{name:"inittemp_hi",type:"float"},{name:"fridgemode",type:"int"},{name:"totalsteps",type:"int"},{name:"duration",type:"int"},{name:"steps",type:"array"}],id:"record",url:b,deleterow:function(g,i){var h="delete=true&"+$.param({record:g});$.ajax({dataType:"json",url:b,cache:false,data:h,type:"POST",success:function(k,j,l){i(true);location.reload(true)},error:function(j,l,k){i(false)}})},addrow:function(h,k,g,j){var i="insert=true&"+$.param(k);$.ajax({dataType:"json",url:b,cache:false,data:i,type:"POST",success:function(m,l,n){j(true);location.reload(true)},error:function(l,n,m){j(false)}})},updaterow:function(g,j,i){var h="update=true&"+$.param(j);$.ajax({dataType:"json",url:b,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})}},f=new $.jqx.dataAdapter(e),d=-1,a=function(j){var i=function(){var k={};k.name="Stap 1";k.steptime=12;k.resttime=24;k.target_lo=22;k.target_hi=23;k.fridgemode=0;return k},h={localdata:j.steps,datatype:"local",datafields:[{name:"name",type:"string"},{name:"steptime",type:"float"},{name:"resttime",type:"float"},{name:"target_lo",type:"float"},{name:"target_hi",type:"float"},{name:"fridgemode",type:"int"}],addrow:function(l,n,k,m){m(true)},deleterow:function(k,l){l(true)}},g=new $.jqx.dataAdapter(h);$("#grid").jqxGrid({width:800,height:330,source:g,theme:theme,selectionmode:"singlerow",editmode:"selectedcell",editable:true,showtoolbar:true,rendertoolbar:function(l){var k=$("<div style='margin: 5px;'></div>");l.append(k);k.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');k.append('<input style="margin-left: 290px;" id="deleterowbutton" type="button" value="Verwijder stap" />');$("#addrowbutton").jqxButton({template:"primary",theme:theme,width:150});$("#deleterowbutton").jqxButton({template:"danger",theme:theme,width:150});$("#addrowbutton").on("click",function(){var m=i();$("#grid").jqxGrid("addrow",null,m)});$("#deleterowbutton").on("click",function(){var m=$("#grid").jqxGrid("getselectedrowindex"),o=$("#grid").jqxGrid("getdatainformation").rowscount,n;if(m>=0&&m<o){n=$("#grid").jqxGrid("getrowid",m);$("#grid").jqxGrid("deleterow",n)}})},columns:[{text:"Stap naam",datafield:"name"},{text:"Min. &deg;C",datafield:"target_lo",width:100,align:"right",cellsalign:"right",cellsformat:"f1",validation:function(k,l){if(l<0||l>40){return{result:false,message:"De temperatuur moet tussen 0 en 40 zijn."}}return true}},{text:"Max. &deg;C",datafield:"target_hi",width:100,align:"right",cellsalign:"right",cellsformat:"f1",validation:function(k,l){if(l<0||l>40){return{result:false,message:"De temperatuur moet tussen 0 en 40 zijn."}}return true}},{text:"Koelkast",datafield:"fridgemode",columntype:"checkbox",width:80},{text:"Stap tijd",datafield:"steptime",width:80,align:"right",cellsalign:"right",validation:function(k,l){if(l<0||l>14400){return{result:false,message:"De tijd moet tussen 0 en 14400 zijn."}}return true}},{text:"Rust tijd",datafield:"resttime",width:80,align:"right",cellsalign:"right",validation:function(k,l){if(l<0||l>14400){return{result:false,message:"De tijd moet tussen 0 en 14400 zijn."}}return true}}]})};$("#name").jqxInput({theme:theme,width:640,height:23});$("#inittemp_lo").jqxNumberInput(Spin1dec);$("#inittemp_lo").jqxNumberInput({max:40});$("#inittemp_hi").jqxNumberInput(Spin1dec);$("#inittemp_hi").jqxNumberInput({max:40});$("#fridgemode").jqxCheckBox({theme:theme,height:23,enableContainerClick:false});$("#jqxgrid").jqxGrid({width:1280,height:630,source:f,theme:theme,showstatusbar:true,renderstatusbar:function(i){var h,g=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");h=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");g.append(h);i.append(g);h.jqxButton({theme:theme,width:90,height:20});h.click(function(j){d=-1;$("#name").val("Nieuw vergist profiel");c.uuid="";$("#inittemp_lo").val(20);$("#inittemp_hi").val(20);$("#fridgemode").val(0);c.totalsteps=0;c.duration=0;a("");$("#popupWindow").jqxWindow("open")})},filterable:false,columns:[{text:"Vergisting profiel",datafield:"name"},{text:"Min. start &deg;C",datafield:"inittemp_lo",width:150,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Max. start &deg;C",datafield:"inittemp_hi",width:150,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Stappen",datafield:"totalsteps",width:80,align:"right",cellsalign:"right"},{text:"Tijdsduur",datafield:"duration",width:150,align:"right",cellsrenderer:function(m,j,l,i,k){var h,n,g;if(l<24){h=l+" uur"}else{n=Math.floor(l/24);g=l%24;if(n==1){h=n+" dag, "+g+" uur"}else{h=n+" dagen, "+g+" uur"}}return"<span style='margin: 3px; margin-top: 6px; float: right;'>"+h+"</span>"}},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(g){d=g;c=$("#jqxgrid").jqxGrid("getrowdata",d);$("#name").val(c.name);$("#inittemp_lo").val(parseFloat(c.inittemp_lo));$("#inittemp_hi").val(parseFloat(c.inittemp_hi));$("#fridgemode").val(parseFloat(c.fridgemode));a(c);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:550,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(d>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var g=$("#jqxgrid").jqxGrid("getrowid",d);$("#jqxgrid").jqxGrid("deleterow",g)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i,h=-1,g=$("#grid").jqxGrid("getrows");if(d>=0){h=$("#jqxgrid").jqxGrid("getrowid",d)}i={record:h,uuid:c.uuid,name:$("#name").val(),inittemp_lo:parseFloat($("#inittemp_lo").jqxNumberInput("decimal")),inittemp_hi:parseFloat($("#inittemp_hi").jqxNumberInput("decimal")),fridgemode:$("#fridgemode").val(),steps:g};if(d>=0){$("#jqxgrid").jqxGrid("updaterow",h,i)}else{$("#jqxgrid").jqxGrid("addrow",null,i)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_fermentation.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_fermentation.js	Sat Sep 14 19:04:29 2019 +0200
@@ -121,10 +121,11 @@
 			});
 		}
 	},
-	dataAdapter = new $.jqx.dataAdapter(source);
+	dataAdapter = new $.jqx.dataAdapter(source),
+	editrow = -1,
 
 	// Inline steps editor
-	var editsteps = function (data) {
+	editsteps = function (data) {
 		var generaterow = function () {
 			var row = {};
 			row["name"] = "Stap 1";
@@ -134,8 +135,8 @@
 			row['target_hi'] = 23.0;
 			row['fridgemode'] = 0;
 			return row;
-		}
-		var stepSource = {
+		},
+		stepSource = {
 			localdata: data.steps,
 			datatype: "local",
 			datafields: [
@@ -177,10 +178,11 @@
 				});
 				// delete row.
 				$("#deleterowbutton").on('click', function () {
-					var selectedrowindex = $("#grid").jqxGrid('getselectedrowindex');
-					var rowscount = $("#grid").jqxGrid('getdatainformation').rowscount;
+					var selectedrowindex = $("#grid").jqxGrid('getselectedrowindex'),
+					rowscount = $("#grid").jqxGrid('getdatainformation').rowscount,
+					id;
 					if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
-						var id = $("#grid").jqxGrid('getrowid', selectedrowindex);
+						id = $("#grid").jqxGrid('getrowid', selectedrowindex);
 						$("#grid").jqxGrid('deleterow', id);
 					}
 				});
@@ -232,7 +234,6 @@
 	$("#inittemp_hi").jqxNumberInput({ max: 40 });
 	$("#fridgemode").jqxCheckBox({ theme: theme, height: 23, enableContainerClick: false });
 
-	var editrow = -1;
 	// initialize jqxGrid
 	$("#jqxgrid").jqxGrid({
 		width: 1280,
--- a/www/js/profile_mash-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_mash-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var g=0;var d={};var c={};var b="includes/db_profile_mash.php";$("#name").jqxTooltip({content:"De naam voor dit maisch profiel."});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit maisch profiel."});var f={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"notes",type:"string"},{name:"steps",type:"array"}],id:"record",url:b,deleterow:function(i,k){var j="delete=true&"+$.param({record:i});$.ajax({dataType:"json",url:b,cache:false,data:j,type:"POST",success:function(m,l,n){k(true);console.log("mash deleterow "+i+" success");location.reload(true)},error:function(l,n,m){k(false);console.log("mash deleterow "+n)}})},addrow:function(j,m,i,l){var k="insert=true&"+$.param(m);$.ajax({dataType:"json",url:b,cache:false,data:k,type:"POST",success:function(o,n,p){l(true);console.log("mash addrow "+j+" success");location.reload(true)},error:function(n,p,o){l(false);console.log("mash addrow "+p)}})},updaterow:function(i,l,k){var j="update=true&"+$.param(l);$.ajax({dataType:"json",url:b,cache:false,data:j,type:"POST",success:function(n,m,o){k(true);console.log("mash updaterow "+i+" success");location.reload(true)},error:function(m,o,n){k(false);console.log("mash updaterow "+o)}})}};$("#m_step_name").jqxInput({theme:theme,width:320,height:23});$("#m_step_type").jqxDropDownList({theme:theme,source:MashStepTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#m_step_temp").jqxNumberInput(Spin1dec);$("#m_step_temp").jqxNumberInput({Min:30,Max:80});$("#m_end_temp").jqxNumberInput(Spin1dec);$("#m_end_temp").jqxNumberInput({Min:30,Max:80});$("#m_step_time").jqxNumberInput(PosInt);$("#m_step_time").jqxNumberInput({Min:1,Max:120});$("#m_ramp_time").jqxNumberInput(PosInt);$("#m_ramp_time").jqxNumberInput({Min:1,Max:30});var h=new $.jqx.dataAdapter(f),e=-1;var a=function(l){var k=function(){var m={};m.step_name="Stap 1";m.step_type=0;m.step_temp=62;m.step_time=20;m.ramp_time=1;m.end_temp=62;return m};var j={localdata:l.steps,datatype:"local",datafields:[{name:"step_name",type:"string"},{name:"step_type",type:"int"},{name:"step_temp",type:"float"},{name:"step_time",type:"float"},{name:"ramp_time",type:"float"},{name:"end_temp",type:"float"}],addrow:function(n,p,m,o){o(true)},deleterow:function(m,n){n(true)}};var i=new $.jqx.dataAdapter(j);$("#grid").jqxGrid({width:1020,height:330,source:i,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(n){var m=$("<div style='margin: 5px;'></div>");n.append(m);m.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');m.append('<input style="margin-left: 450px;" id="deleterowbutton" type="button" value="Verwijder stap" />');$("#addrowbutton").jqxButton({template:"primary",theme:theme,width:150});$("#deleterowbutton").jqxButton({template:"danger",theme:theme,width:150});$("#addrowbutton").on("click",function(){var o=k();$("#grid").jqxGrid("addrow",null,o)});$("#deleterowbutton").on("click",function(){var o=$("#grid").jqxGrid("getselectedrowindex");var q=$("#grid").jqxGrid("getdatainformation").rowscount;if(o>=0&&o<q){var p=$("#grid").jqxGrid("getrowid",o);$("#grid").jqxGrid("deleterow",p)}})},columns:[{text:"Stap naam",datafield:"step_name"},{text:"Stap type",datafield:"step_type",width:150,cellsrenderer:function(n,m,q,p,o,r){return"<div style='margin: 4px;'>"+MashStepTypeData[q].nl+"</div>"}},{text:"Begin &deg;C",datafield:"step_temp",width:100,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Eind &deg;C",datafield:"end_temp",width:100,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Rust min.",datafield:"step_time",width:90,align:"right",cellsalign:"right"},{text:"Stap min.",datafield:"ramp_time",width:90,align:"right",cellsalign:"right"},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(m){g=m;d=$("#grid").jqxGrid("getrowdata",g);$("#m_step_name").val(d.step_name);$("#m_step_type").val(d.step_type);$("#m_step_temp").val(d.step_temp);$("#m_end_temp").val(d.end_temp);$("#m_step_time").val(d.step_time);$("#m_ramp_time").val(d.ramp_time);$("#popupStep").jqxWindow("open")}}]})};$("#name").jqxInput({theme:theme,width:480,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#jqxgrid").jqxGrid({width:1280,height:630,source:h,theme:theme,showstatusbar:true,renderstatusbar:function(k){var i=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");var j=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");i.append(j);k.append(i);j.jqxButton({theme:theme,width:90,height:20});j.click(function(l){e=-1;$("#name").val("Nieuw maisch schema");$("#notes").val("");a("");$("#popupWindow").jqxWindow("open")})},filterable:true,filtermode:"excel",columns:[{text:"Maish schema",datafield:"name",width:250},{text:"Opmerkingen",datafield:"notes"},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(i){e=i;c=$("#jqxgrid").jqxGrid("getrowdata",e);$("#name").val(c.name);$("#notes").val(c.notes);a(c);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:580,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#popupStep").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Ready"),modalOpacity:0.4});$("#Ready").jqxButton({template:"success",width:"90px",theme:theme});$("#Ready").click(function(){$("#grid").jqxGrid("setcellvalue",g,"step_name",$("#m_step_name").val());$("#grid").jqxGrid("setcellvalue",g,"step_type",$("#m_step_type").val());$("#grid").jqxGrid("setcellvalue",g,"step_temp",$("#m_step_temp").val());$("#grid").jqxGrid("setcellvalue",g,"end_temp",$("#m_end_temp").val());$("#grid").jqxGrid("setcellvalue",g,"step_time",$("#m_step_time").val());$("#grid").jqxGrid("setcellvalue",g,"ramp_time",$("#m_ramp_time").val());$("#grid").jqxGrid("sortby","step_temp","asc")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(e>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var i=$("#jqxgrid").jqxGrid("getrowid",e);$("#jqxgrid").jqxGrid("deleterow",i)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i=$("#grid").jqxGrid("getrows");var j=-1;if(e>=0){j=$("#jqxgrid").jqxGrid("getrowid",e)}var k={record:j,name:$("#name").val(),notes:$("#notes").val(),steps:i};if(e>=0){$("#jqxgrid").jqxGrid("updaterow",j,k)}else{$("#jqxgrid").jqxGrid("addrow",null,k)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
+function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De naam voor dit maisch profiel."});$("#notes").jqxTooltip({content:"De uitgebreide opmerkingen over dit maisch profiel."});var g=0,d={},c={},b="includes/db_profile_mash.php",f={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"notes",type:"string"},{name:"steps",type:"array"}],id:"record",url:b,deleterow:function(i,k){var j="delete=true&"+$.param({record:i});$.ajax({dataType:"json",url:b,cache:false,data:j,type:"POST",success:function(m,l,n){k(true);console.log("mash deleterow "+i+" success");location.reload(true)},error:function(l,n,m){k(false);console.log("mash deleterow "+n)}})},addrow:function(j,m,i,l){var k="insert=true&"+$.param(m);$.ajax({dataType:"json",url:b,cache:false,data:k,type:"POST",success:function(o,n,p){l(true);console.log("mash addrow "+j+" success");location.reload(true)},error:function(n,p,o){l(false);console.log("mash addrow "+p)}})},updaterow:function(i,l,k){var j="update=true&"+$.param(l);$.ajax({dataType:"json",url:b,cache:false,data:j,type:"POST",success:function(n,m,o){k(true);console.log("mash updaterow "+i+" success");location.reload(true)},error:function(m,o,n){k(false);console.log("mash updaterow "+o)}})}},h=new $.jqx.dataAdapter(f),e=-1,a=function(l){var k=function(){var m={};m.step_name="Stap 1";m.step_type=0;m.step_temp=62;m.step_time=20;m.ramp_time=1;m.end_temp=62;return m},j={localdata:l.steps,datatype:"local",datafields:[{name:"step_name",type:"string"},{name:"step_type",type:"int"},{name:"step_temp",type:"float"},{name:"step_time",type:"float"},{name:"ramp_time",type:"float"},{name:"end_temp",type:"float"}],addrow:function(n,p,m,o){o(true)},deleterow:function(m,n){n(true)}},i=new $.jqx.dataAdapter(j);$("#grid").jqxGrid({width:1020,height:330,source:i,theme:theme,selectionmode:"singlerow",showtoolbar:true,rendertoolbar:function(n){var m=$("<div style='margin: 5px;'></div>");n.append(m);m.append('<input style="margin-left: 100px;" id="addrowbutton" type="button" value="Nieuwe stap" />');m.append('<input style="margin-left: 450px;" id="deleterowbutton" type="button" value="Verwijder stap" />');$("#addrowbutton").jqxButton({template:"primary",theme:theme,width:150});$("#deleterowbutton").jqxButton({template:"danger",theme:theme,width:150});$("#addrowbutton").on("click",function(){var o=k();$("#grid").jqxGrid("addrow",null,o)});$("#deleterowbutton").on("click",function(){var q,p,o=$("#grid").jqxGrid("getselectedrowindex");q=$("#grid").jqxGrid("getdatainformation").rowscount;if(o>=0&&o<q){p=$("#grid").jqxGrid("getrowid",o);$("#grid").jqxGrid("deleterow",p)}})},columns:[{text:"Stap naam",datafield:"step_name"},{text:"Stap type",datafield:"step_type",width:150,cellsrenderer:function(n,m,q,p,o,r){return"<div style='margin: 4px;'>"+MashStepTypeData[q].nl+"</div>"}},{text:"Begin &deg;C",datafield:"step_temp",width:100,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Eind &deg;C",datafield:"end_temp",width:100,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Rust min.",datafield:"step_time",width:90,align:"right",cellsalign:"right"},{text:"Stap min.",datafield:"ramp_time",width:90,align:"right",cellsalign:"right"},{text:"",datafield:"Edit",columntype:"button",width:100,align:"center",cellsrenderer:function(){return"Wijzig"},buttonclick:function(m){g=m;d=$("#grid").jqxGrid("getrowdata",g);$("#m_step_name").val(d.step_name);$("#m_step_type").val(d.step_type);$("#m_step_temp").val(d.step_temp);$("#m_end_temp").val(d.end_temp);$("#m_step_time").val(d.step_time);$("#m_ramp_time").val(d.ramp_time);$("#popupStep").jqxWindow("open")}}]})};$("#m_step_name").jqxInput({theme:theme,width:320,height:23});$("#m_step_type").jqxDropDownList({theme:theme,source:MashStepTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#m_step_temp").jqxNumberInput(Spin1dec);$("#m_step_temp").jqxNumberInput({Min:30,Max:80});$("#m_end_temp").jqxNumberInput(Spin1dec);$("#m_end_temp").jqxNumberInput({Min:30,Max:80});$("#m_step_time").jqxNumberInput(PosInt);$("#m_step_time").jqxNumberInput({Min:1,Max:120});$("#m_ramp_time").jqxNumberInput(PosInt);$("#m_ramp_time").jqxNumberInput({Min:1,Max:30});$("#name").jqxInput({theme:theme,width:480,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#jqxgrid").jqxGrid({width:1280,height:630,source:h,theme:theme,showstatusbar:true,renderstatusbar:function(k){var j,i=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");j=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");i.append(j);k.append(i);j.jqxButton({theme:theme,width:90,height:20});j.click(function(l){e=-1;$("#name").val("Nieuw maisch schema");$("#notes").val("");a("");$("#popupWindow").jqxWindow("open")})},filterable:true,filtermode:"excel",columns:[{text:"Maish schema",datafield:"name",width:250},{text:"Opmerkingen",datafield:"notes"},{text:"",datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(i){e=i;c=$("#jqxgrid").jqxGrid("getrowdata",e);$("#name").val(c.name);$("#notes").val(c.notes);a(c);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,height:580,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#popupStep").jqxWindow({width:800,height:300,position:{x:230,y:100},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Ready"),modalOpacity:0.4});$("#Ready").jqxButton({template:"success",width:"90px",theme:theme});$("#Ready").click(function(){$("#grid").jqxGrid("setcellvalue",g,"step_name",$("#m_step_name").val());$("#grid").jqxGrid("setcellvalue",g,"step_type",$("#m_step_type").val());$("#grid").jqxGrid("setcellvalue",g,"step_temp",$("#m_step_temp").val());$("#grid").jqxGrid("setcellvalue",g,"end_temp",$("#m_end_temp").val());$("#grid").jqxGrid("setcellvalue",g,"step_time",$("#m_step_time").val());$("#grid").jqxGrid("setcellvalue",g,"ramp_time",$("#m_ramp_time").val());$("#grid").jqxGrid("sortby","step_temp","asc")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(e>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var i=$("#jqxgrid").jqxGrid("getrowid",e);$("#jqxgrid").jqxGrid("deleterow",i)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i=$("#grid").jqxGrid("getrows"),j=-1,k;if(e>=0){j=$("#jqxgrid").jqxGrid("getrowid",e)}k={record:j,name:$("#name").val(),notes:$("#notes").val(),steps:i};if(e>=0){$("#jqxgrid").jqxGrid("updaterow",j,k)}else{$("#jqxgrid").jqxGrid("addrow",null,k)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_mash.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_mash.js	Sat Sep 14 19:04:29 2019 +0200
@@ -44,16 +44,15 @@
 
 $(document).ready(function () {
 
-	var steprow = 0;
-	var stepData = {};
-	var dataRecord = {};
-	var url = 'includes/db_profile_mash.php';
-
 	// tooltips
 	$("#name").jqxTooltip({ content: 'De naam voor dit maisch profiel.' });
 	$("#notes").jqxTooltip({ content: 'De uitgebreide opmerkingen over dit maisch profiel.' });
-	// prepare the data
-	var source = {
+
+	var steprow = 0,
+        stepData = {},
+        dataRecord = {},
+        url = 'includes/db_profile_mash.php',
+	source = {
 		datatype: 'json',
 		cache: false,
 		datafields: [
@@ -122,32 +121,12 @@
 				}
 			});
 		}
-	};
-	// Initialize the input fields.
-	$("#m_step_name").jqxInput({ theme: theme, width: 320, height: 23 });
-	$("#m_step_type").jqxDropDownList({
-		theme: theme,
-		source: MashStepTypeAdapter,
-		valueMember: 'id',
-		displayMember: 'nl',
-		width: 180,
-		height: 23,
-		autoDropDownHeight: true
-	});
-	$("#m_step_temp").jqxNumberInput( Spin1dec );
-	$("#m_step_temp").jqxNumberInput({ Min: 30, Max: 80 });
-	$("#m_end_temp").jqxNumberInput( Spin1dec );
-	$("#m_end_temp").jqxNumberInput({ Min: 30, Max: 80 });
-	$("#m_step_time").jqxNumberInput( PosInt );
-	$("#m_step_time").jqxNumberInput({ Min: 1, Max: 120 });
-	$("#m_ramp_time").jqxNumberInput( PosInt );
-	$("#m_ramp_time").jqxNumberInput({ Min: 1, Max: 30 });
-
-	var dataAdapter = new $.jqx.dataAdapter(source),
-	editrow = -1;
+	},
+	dataAdapter = new $.jqx.dataAdapter(source),
+        editrow = -1,
 
 	// Inline steps editor
-	var editsteps = function (data) {
+	editsteps = function (data) {
 		var generaterow = function () {
 			var row = {};
 			row['step_name'] = "Stap 1";
@@ -157,8 +136,8 @@
 			row['ramp_time'] = 1.0;
 			row['end_temp'] = 62.0;
 			return row;
-		}
-		var stepSource = {
+		},
+		stepSource = {
 			localdata: data.steps,
 			datatype: "local",
 			datafields: [
@@ -175,8 +154,9 @@
 			deleterow: function (rowid, commit) {
 				commit(true);
 			}
-		};
-		var stepAdapter = new $.jqx.dataAdapter(stepSource);
+		},
+		stepAdapter = new $.jqx.dataAdapter(stepSource);
+
 		$("#grid").jqxGrid({
 			width: 1020,
 			height: 330,
@@ -198,10 +178,10 @@
 				});
 				// delete row.
 				$("#deleterowbutton").on('click', function () {
-					var selectedrowindex = $("#grid").jqxGrid('getselectedrowindex');
-					var rowscount = $("#grid").jqxGrid('getdatainformation').rowscount;
+					var rowscount, id, selectedrowindex = $("#grid").jqxGrid('getselectedrowindex');
+					rowscount = $("#grid").jqxGrid('getdatainformation').rowscount;
 					if (selectedrowindex >= 0 && selectedrowindex < rowscount) {
-						var id = $("#grid").jqxGrid('getrowid', selectedrowindex);
+						id = $("#grid").jqxGrid('getrowid', selectedrowindex);
 						$("#grid").jqxGrid('deleterow', id);
 					}
 				});
@@ -217,8 +197,9 @@
 				{ text: 'Eind &deg;C', datafield: 'end_temp', width: 100, align: 'right', cellsalign: 'right', cellsformat: 'f1' },
 				{ text: 'Rust min.', datafield: 'step_time', width: 90, align: 'right', cellsalign: 'right' },
 				{ text: 'Stap min.', datafield: 'ramp_time', width: 90, align: 'right', cellsalign: 'right' },
-				{ text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center', cellsrenderer: function () {
-					return "Wijzig";
+				{ text: '', datafield: 'Edit', columntype: 'button', width: 100, align: 'center',
+					cellsrenderer: function () {
+						return "Wijzig";
 					}, buttonclick: function (row) {
 						steprow = row;
 						stepData = $("#grid").jqxGrid('getrowdata', steprow);
@@ -236,6 +217,26 @@
 		});
 	};
 
+        // Initialize the input fields.
+        $("#m_step_name").jqxInput({ theme: theme, width: 320, height: 23 });
+        $("#m_step_type").jqxDropDownList({
+                theme: theme,
+                source: MashStepTypeAdapter,
+                valueMember: 'id',
+                displayMember: 'nl',
+                width: 180,
+                height: 23,
+                autoDropDownHeight: true
+        });
+        $("#m_step_temp").jqxNumberInput( Spin1dec );
+        $("#m_step_temp").jqxNumberInput({ Min: 30, Max: 80 });
+        $("#m_end_temp").jqxNumberInput( Spin1dec );
+        $("#m_end_temp").jqxNumberInput({ Min: 30, Max: 80 });
+        $("#m_step_time").jqxNumberInput( PosInt );
+        $("#m_step_time").jqxNumberInput({ Min: 1, Max: 120 });
+        $("#m_ramp_time").jqxNumberInput( PosInt );
+        $("#m_ramp_time").jqxNumberInput({ Min: 1, Max: 30 });
+
 	// initialize the input fields.
 	$("#name").jqxInput({ theme: theme, width: 480, height: 23 });
 	$("#notes").jqxInput({ theme: theme, width: 800, height: 100 });
@@ -247,8 +248,8 @@
 		theme: theme,
 		showstatusbar: true,
 		renderstatusbar: function (statusbar) {
-			var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");
+			var addButton, container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
+			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Add</span></div>");
 			container.append(addButton);
 			statusbar.append(container);
 			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
@@ -266,8 +267,9 @@
 		columns: [
 			{ text: 'Maish schema', datafield: 'name', width: 250 },
 			{ text: 'Opmerkingen', datafield: 'notes' },
-			{ text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button', cellsrenderer: function () {
-				return "Wijzig";
+			{ text: '', datafield: 'Edit', width: 100, align: 'center', columntype: 'button',
+				cellsrenderer: function () {
+					return "Wijzig";
 				}, buttonclick: function (row) {
 					editrow = row;
 					// get the clicked row's data and initialize the input fields.
@@ -336,12 +338,13 @@
 	$("#Cancel").jqxButton({ template: "primary", width: '90px', theme: theme });
 	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
 	$("#Save").click(function () {
-		var steprows = $('#grid').jqxGrid('getrows');
-		var rowID = -1;
+		var steprows = $('#grid').jqxGrid('getrows'),
+		rowID = -1,
+		row;
 		if (editrow >= 0) {
 			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
 		}
-		var row = {
+		row = {
 			record: rowID,
 			name: $("#name").val(),
 			notes: $("#notes").val(),
--- a/www/js/profile_setup-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_setup-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){var c={};var d="getwatersources.php";var a={datatype:"json",datafields:[{name:"name",type:"string"},],url:d,async:false};var g=new $.jqx.dataAdapter(a);var b="includes/db_setup.php";$("#brewery_name").jqxTooltip({content:"De naam voor deze brouwerij."});$("#factor_mashhop").jqxTooltip({content:"Het efficientie percentage voor hop tijdens de maisch."});$("#factor_fwh").jqxTooltip({content:"Het efficientie percentage voor First Wort Hop."});$("#factor_pellet").jqxTooltip({content:"Het efficientie percentage bij gebruik van hop pellets."});$("#factor_plug").jqxTooltip({content:"Het efficientie percentage bij gebruik van hop plugs."});$("#factor_wethop").jqxTooltip({content:"Het efficientie percentage bij gebruik van nat geplukte hop."});$("#factor_cryohop").jqxTooltip({content:"Het efficientie percentage bij gebruik van Cryo Hop&reg;."});$("#brix_correction").jqxTooltip({content:"Omzettingsfactor voor Plato naar Brix"});$("#grain_absorbtion").jqxTooltip({content:"Absorbtie van water door graan (L/Kg)"});var e={datatype:"json",cache:false,datafields:[{name:"brewery_name",type:"string"},{name:"factor_mashhop",type:"number"},{name:"factor_fwh",type:"number"},{name:"factor_pellet",type:"number"},{name:"factor_plug",type:"number"},{name:"factor_wethop",type:"number"},{name:"factor_cryohop",type:"number"},{name:"ibu_method",type:"int"},{name:"color_method",type:"int"},{name:"brix_correction",type:"float"},{name:"grain_absorbtion",type:"float"},{name:"default_water",type:"string"}],url:b};var f=new $.jqx.dataAdapter(e,{loadComplete:function(){var h=f.records;c=h[0];$("#brewery_name").val(c.brewery_name);$("#factor_mashhop").val(c.factor_mashhop);$("#factor_fwh").val(c.factor_fwh);$("#factor_pellet").val(c.factor_pellet);$("#factor_plug").val(c.factor_plug);$("#factor_wethop").val(c.factor_wethop);$("#factor_cryohop").val(c.factor_cryohop);$("#color_method").val(c.color_method);$("#ibu_method").val(c.ibu_method);$("#brix_correction").val(c.brix_correction);$("#grain_absorbtion").val(c.grain_absorbtion)},loadError:function(j,h,i){},});f.dataBind();$("#brewery_name").jqxInput({theme:theme,width:640,height:23});$("#factor_fwh").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-50,max:50,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_mashhop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-50,max:50,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_pellet").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0,max:20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_plug").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0,max:20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_wethop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-98,max:-20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_cryohop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-20,max:150,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#brix_correction").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:1,max:1.05,decimalDigits:2,spinButtons:true});$("#grain_absorbtion").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0.5,max:1.1,decimalDigits:2,spinButtons:true});$("#color_method").jqxDropDownList({theme:theme,source:ColorMethodAdapter,valueMember:"id",displayMember:"nl",width:180,autoDropDownHeight:true});$("#ibu_method").jqxDropDownList({theme:theme,source:IBUmethodAdapter,valueMember:"id",displayMember:"nl",width:180,autoDropDownHeight:true});$("#default_water").jqxDropDownList({placeHolder:"Kies water:",theme:theme,source:g,valueMember:"name",displayMember:"name",width:250,dropDownHorizontalAlignment:"right",dropDownWidth:300,autoDropDownHeight:true});$("#default_water").jqxDropDownList("selectItem",c.default_water);$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var i={record:1,brewery_name:$("#brewery_name").val(),factor_mashhop:$("#factor_mashhop").val(),factor_fwh:$("#factor_fwh").val(),factor_pellet:$("#factor_pellet").val(),factor_plug:$("#factor_plug").val(),factor_wethop:$("#factor_wethop").val(),factor_cryohop:$("#factor_cryohop").val(),color_method:$("#color_method").val(),ibu_method:$("#ibu_method").val(),brix_correction:parseFloat($("#brix_correction").jqxNumberInput("decimal")),grain_absorbtion:parseFloat($("#grain_absorbtion").jqxNumberInput("decimal")),default_water:$("#default_water").val()};var h="update=true&"+$.param(i);$.ajax({dataType:"json",url:b,cache:false,data:h,type:"POST",success:function(k,j,l){},error:function(j,l,k){}})})});
\ No newline at end of file
+$(document).ready(function(){var b={},c="getwatersources.php",a={datatype:"json",datafields:[{name:"name",type:"string"},],url:c,async:false},d=new $.jqx.dataAdapter(a);url="includes/db_setup.php",source={datatype:"json",cache:false,datafields:[{name:"brewery_name",type:"string"},{name:"factor_mashhop",type:"number"},{name:"factor_fwh",type:"number"},{name:"factor_pellet",type:"number"},{name:"factor_plug",type:"number"},{name:"factor_wethop",type:"number"},{name:"factor_cryohop",type:"number"},{name:"ibu_method",type:"int"},{name:"color_method",type:"int"},{name:"brix_correction",type:"float"},{name:"grain_absorbtion",type:"float"},{name:"default_water",type:"string"}],url:url},dataAdapter=new $.jqx.dataAdapter(source,{loadComplete:function(){var e=dataAdapter.records;b=e[0];$("#brewery_name").val(b.brewery_name);$("#factor_mashhop").val(b.factor_mashhop);$("#factor_fwh").val(b.factor_fwh);$("#factor_pellet").val(b.factor_pellet);$("#factor_plug").val(b.factor_plug);$("#factor_wethop").val(b.factor_wethop);$("#factor_cryohop").val(b.factor_cryohop);$("#color_method").val(b.color_method);$("#ibu_method").val(b.ibu_method);$("#brix_correction").val(b.brix_correction);$("#grain_absorbtion").val(b.grain_absorbtion)},loadError:function(g,e,f){},});dataAdapter.dataBind();$("#brewery_name").jqxTooltip({content:"De naam voor deze brouwerij."});$("#factor_mashhop").jqxTooltip({content:"Het efficientie percentage voor hop tijdens de maisch."});$("#factor_fwh").jqxTooltip({content:"Het efficientie percentage voor First Wort Hop."});$("#factor_pellet").jqxTooltip({content:"Het efficientie percentage bij gebruik van hop pellets."});$("#factor_plug").jqxTooltip({content:"Het efficientie percentage bij gebruik van hop plugs."});$("#factor_wethop").jqxTooltip({content:"Het efficientie percentage bij gebruik van nat geplukte hop."});$("#factor_cryohop").jqxTooltip({content:"Het efficientie percentage bij gebruik van Cryo Hop&reg;."});$("#brix_correction").jqxTooltip({content:"Omzettingsfactor voor Plato naar Brix"});$("#grain_absorbtion").jqxTooltip({content:"Absorbtie van water door graan (L/Kg)"});$("#brewery_name").jqxInput({theme:theme,width:640,height:23});$("#factor_fwh").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-50,max:50,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_mashhop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-50,max:50,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_pellet").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0,max:20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_plug").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0,max:20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_wethop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-98,max:-20,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#factor_cryohop").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:-20,max:150,decimalDigits:0,spinButtons:true,symbol:"%",symbolPosition:"right"});$("#brix_correction").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:1,max:1.05,decimalDigits:2,spinButtons:true});$("#grain_absorbtion").jqxNumberInput({inputMode:"simple",theme:theme,width:110,height:23,min:0.5,max:1.1,decimalDigits:2,spinButtons:true});$("#color_method").jqxDropDownList({theme:theme,source:ColorMethodAdapter,valueMember:"id",displayMember:"nl",width:180,autoDropDownHeight:true});$("#ibu_method").jqxDropDownList({theme:theme,source:IBUmethodAdapter,valueMember:"id",displayMember:"nl",width:180,autoDropDownHeight:true});$("#default_water").jqxDropDownList({placeHolder:"Kies water:",theme:theme,source:d,valueMember:"name",displayMember:"name",width:250,dropDownHorizontalAlignment:"right",dropDownWidth:300,autoDropDownHeight:true});$("#default_water").jqxDropDownList("selectItem",b.default_water);$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var e,f={record:1,brewery_name:$("#brewery_name").val(),factor_mashhop:$("#factor_mashhop").val(),factor_fwh:$("#factor_fwh").val(),factor_pellet:$("#factor_pellet").val(),factor_plug:$("#factor_plug").val(),factor_wethop:$("#factor_wethop").val(),factor_cryohop:$("#factor_cryohop").val(),color_method:$("#color_method").val(),ibu_method:$("#ibu_method").val(),brix_correction:parseFloat($("#brix_correction").jqxNumberInput("decimal")),grain_absorbtion:parseFloat($("#grain_absorbtion").jqxNumberInput("decimal")),default_water:$("#default_water").val()};e="update=true&"+$.param(f);$.ajax({dataType:"json",url:url,cache:false,data:e,type:"POST",success:function(h,g,i){},error:function(g,i,h){}})})});
\ No newline at end of file
--- a/www/js/profile_setup.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_setup.js	Sat Sep 14 19:04:29 2019 +0200
@@ -23,40 +23,26 @@
 
 $(document).ready(function () {
 
-	var dataRecord = {};
-
+	var dataRecord = {},
 	// dropdownlist datasource from inventory_waters, must load sync
-	var waterUrl = "getwatersources.php";
-	var waterInvSource = {
+	waterUrl = "getwatersources.php",
+	waterInvSource = {
 		datatype: "json",
 		datafields: [
 			{ name: 'name', type: 'string' },
 		],
 		url: waterUrl,
 		async: false
-	};
-	var waterlist = new $.jqx.dataAdapter(waterInvSource);
-
-	var url = "includes/db_setup.php";
-
-	// Tooltips
-	$("#brewery_name").jqxTooltip({ content: 'De naam voor deze brouwerij.' });
-	$("#factor_mashhop").jqxTooltip({ content: 'Het efficientie percentage voor hop tijdens de maisch.' });
-	$("#factor_fwh").jqxTooltip({ content: 'Het efficientie percentage voor First Wort Hop.' });
-	$("#factor_pellet").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop pellets.' });
-	$("#factor_plug").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop plugs.' });
-	$("#factor_wethop").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van nat geplukte hop.' });
-	$("#factor_cryohop").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van Cryo Hop&reg;.' });
-	$("#brix_correction").jqxTooltip({ content: 'Omzettingsfactor voor Plato naar Brix' });
-	$("#grain_absorbtion").jqxTooltip({ content: 'Absorbtie van water door graan (L/Kg)' });
+	},
+	waterlist = new $.jqx.dataAdapter(waterInvSource);
+	url = "includes/db_setup.php",
 
 	// Prepare the data
-	var source = {
+	source = {
 		datatype: "json",
 		cache: false,
 		datafields: [
 			{ name: 'brewery_name', type: 'string' },
-		/*	{ name: 'brewery_logo', type: 'array' },  */
 			{ name: 'factor_mashhop', type: 'number' },
 			{ name: 'factor_fwh', type: 'number' },
 			{ name: 'factor_pellet', type: 'number' },
@@ -70,10 +56,10 @@
 			{ name: 'default_water', type: 'string' }
 		],
 		url: url
-	};
+	},
 
 	// Load data and select one record.
-	var dataAdapter = new $.jqx.dataAdapter(source, {
+	dataAdapter = new $.jqx.dataAdapter(source, {
 		loadComplete: function () {
 			var records = dataAdapter.records;
 			dataRecord = records[0];
@@ -92,8 +78,20 @@
 		loadError: function (jqXHR, status, error) {
 		},
 	});
+
 	dataAdapter.dataBind();
 
+	// Tooltips
+        $("#brewery_name").jqxTooltip({ content: 'De naam voor deze brouwerij.' });
+        $("#factor_mashhop").jqxTooltip({ content: 'Het efficientie percentage voor hop tijdens de maisch.' });
+        $("#factor_fwh").jqxTooltip({ content: 'Het efficientie percentage voor First Wort Hop.' });
+        $("#factor_pellet").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop pellets.' });
+        $("#factor_plug").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van hop plugs.' });
+        $("#factor_wethop").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van nat geplukte hop.' });
+        $("#factor_cryohop").jqxTooltip({ content: 'Het efficientie percentage bij gebruik van Cryo Hop&reg;.' });
+        $("#brix_correction").jqxTooltip({ content: 'Omzettingsfactor voor Plato naar Brix' });
+        $("#grain_absorbtion").jqxTooltip({ content: 'Absorbtie van water door graan (L/Kg)' });
+
 	// Editers
 	$("#brewery_name").jqxInput({ theme: theme, width: 640, height: 23 });
 	$("#factor_fwh").jqxNumberInput({ inputMode: 'simple', theme: theme, width: 110, height: 23, min: -50, max: 50, decimalDigits: 0, spinButtons: true, symbol: '%', symbolPosition: 'right'  });
@@ -135,7 +133,8 @@
 
 	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
 	$("#Save").click(function () {
-		var row = {
+		var data,
+		row = {
 			record: 1,
 			brewery_name: $("#brewery_name").val(),
 			factor_mashhop: $("#factor_mashhop").val(),
@@ -150,7 +149,7 @@
 			grain_absorbtion: parseFloat($("#grain_absorbtion").jqxNumberInput('decimal')),
 			default_water: $("#default_water").val()
 		};
-		var data = "update=true&" + $.param(row);
+		data = "update=true&" + $.param(row);
 		$.ajax({
 			dataType: 'json',
 			url: url,
--- a/www/js/profile_styles-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_styles-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var b={},a="includes/db_profile_styles.php",d={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"category",type:"string"},{name:"category_number",type:"number"},{name:"style_letter",type:"string"},{name:"style_guide",type:"string"},{name:"type",type:"int"},{name:"og_min",type:"float"},{name:"og_max",type:"float"},{name:"fg_min",type:"float"},{name:"fg_max",type:"float"},{name:"ibu_min",type:"float"},{name:"ibu_max",type:"float"},{name:"color_min",type:"float"},{name:"color_max",type:"float"},{name:"carb_min",type:"float"},{name:"carb_max",type:"float"},{name:"abv_min",type:"float"},{name:"abv_max",type:"float"},{name:"notes",type:"string"},{name:"profile",type:"string"},{name:"ingredients",type:"string"},{name:"examples",type:"string"}],id:"record",url:a,deleterow:function(f,h){var g="delete=true&"+$.param({record:f});$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(j,i,k){h(true);location.reload(true)},error:function(i,k,j){h(false)}})},addrow:function(g,j,f,i){var h="insert=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})},updaterow:function(f,i,h){var g="update=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})}};$("#name").jqxInput({theme:theme,width:320,height:23});$("#category").jqxInput({theme:theme,width:320,height:23});$("#category_number").jqxNumberInput(PosInt);$("#style_letter").jqxInput({theme:theme,width:250,height:23});$("#style_guide").jqxInput({theme:theme,width:320,height:23});$("#type").jqxDropDownList({theme:theme,source:StyleTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#og_min").jqxNumberInput(SGopts);$("#og_max").jqxNumberInput(SGopts);$("#fg_min").jqxNumberInput(SGopts);$("#fg_max").jqxNumberInput(SGopts);$("#ibu_min").jqxNumberInput(PosInt);$("#ibu_min").jqxNumberInput({max:200});$("#ibu_max").jqxNumberInput(PosInt);$("#ibu_max").jqxNumberInput({max:200});$("#color_min").jqxNumberInput(PosInt);$("#color_min").jqxNumberInput({max:200});$("#color_max").jqxNumberInput(PosInt);$("#color_max").jqxNumberInput({max:200});$("#carb_min").jqxNumberInput(Spin1dec);$("#carb_min").jqxNumberInput({max:5});$("#carb_max").jqxNumberInput(Spin1dec);$("#carb_max").jqxNumberInput({max:5});$("#abv_min").jqxNumberInput(Spin1dec);$("#abv_min").jqxNumberInput({max:20});$("#abv_max").jqxNumberInput(Spin1dec);$("#abv_max").jqxNumberInput({max:20});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#profile").jqxInput({theme:theme,width:800,height:48});$("#ingredients").jqxInput({theme:theme,width:800,height:23});$("#examples").jqxInput({theme:theme,width:800,height:48});var e=new $.jqx.dataAdapter(d),c=-1;$("#jqxgrid").jqxGrid({width:1280,height:630,source:e,theme:theme,showstatusbar:true,renderstatusbar:function(h){var f,g,i;f=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");g=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");i=$("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");f.append(g);f.append(i);h.append(f);g.jqxButton({theme:theme,width:90,height:20});i.jqxButton({theme:theme,width:90,height:20});g.click(function(j){c=-1;$("#name").val("Nieuwe stijl");$("#category").val("");$("#category_number").val("");$("#style_letter").val("");$("#style_guide").val("BKG 2015");$("#type").val(0);$("#og_min").val(1.03);$("#og_max").val(1.05);$("#fg_min").val(1.005);$("#fg_max").val(1.01);$("#ibu_min").val(20);$("#ibu_max").val(30);$("#color_min").val(52);$("#color_max").val(79);$("#carb_min").val(2);$("#carb_max").val(2.5);$("#abv_min").val(4);$("#abv_max").val(5);$("#notes").val("");$("#profile").val("");$("#ingredients").val("");$("#examples").val("");$("#popupWindow").jqxWindow("open")});i.click(function(j){window.location.href="import_ingredients.php?select=styles"})},filterable:true,filtermode:"excel",columns:[{text:"Gids",datafield:"style_guide",width:100},{text:"Groep",datafield:"style_letter",width:30},{text:"Style Name",menu:false,datafield:"name"},{text:"OG",menu:false,datafield:"og_min",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"OG",menu:false,datafield:"og_max",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"FG",menu:false,datafield:"fg_min",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"FG",menu:false,datafield:"fg_max",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"IBU",menu:false,datafield:"ibu_min",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"IBU",menu:false,datafield:"ibu_max",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"EBC",menu:false,datafield:"color_min",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"EBC",menu:false,datafield:"color_max",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"Co2",menu:false,datafield:"carb_min",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Co2",menu:false,datafield:"carb_max",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"ABV",menu:false,datafield:"abv_min",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"ABV",menu:false,datafield:"abv_max",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",menu:false,datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){c=f;b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#category").val(b.category);$("#category_number").val(b.category_number);$("#style_letter").val(b.style_letter);$("#style_guide").val(b.style_guide);$("#type").val(b.type);$("#og_min").val(b.og_min);$("#og_max").val(b.og_max);$("#fg_min").val(b.fg_min);$("#fg_max").val(b.fg_max);$("#ibu_min").val(b.ibu_min);$("#ibu_max").val(b.ibu_max);$("#color_min").val(b.color_min);$("#color_max").val(b.color_max);$("#carb_min").val(b.carb_min);$("#carb_max").val(b.carb_max);$("#abv_min").val(b.abv_min);$("#abv_max").val(b.abv_max);$("#notes").val(b.notes);$("#profile").val(b.profile);$("#ingredients").val(b.ingredients);$("#examples").val(b.examples);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var f=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",f)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var f=-1;if(c>=0){f=$("#jqxgrid").jqxGrid("getrowid",c)}var g={record:f,name:$("#name").val(),category:$("#category").val(),category_number:parseFloat($("#category_number").jqxNumberInput("decimal")),style_letter:$("#style_letter").val(),style_guide:$("#style_guide").val(),type:$("#type").val(),og_min:parseFloat($("#og_min").jqxNumberInput("decimal")),og_max:parseFloat($("#og_max").jqxNumberInput("decimal")),fg_min:parseFloat($("#fg_min").jqxNumberInput("decimal")),fg_max:parseFloat($("#fg_max").jqxNumberInput("decimal")),ibu_min:parseFloat($("#ibu_min").jqxNumberInput("decimal")),ibu_max:parseFloat($("#ibu_max").jqxNumberInput("decimal")),color_min:parseFloat($("#color_min").jqxNumberInput("decimal")),color_max:parseFloat($("#color_max").jqxNumberInput("decimal")),carb_min:parseFloat($("#carb_min").jqxNumberInput("decimal")),carb_max:parseFloat($("#carb_max").jqxNumberInput("decimal")),abv_min:parseFloat($("#abv_min").jqxNumberInput("decimal")),abv_max:parseFloat($("#abv_max").jqxNumberInput("decimal")),notes:$("#notes").val(),profile:$("#profile").val(),ingredients:$("#ingredients").val(),examples:$("#examples").val()};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",f,g)}else{$("#jqxgrid").jqxGrid("addrow",null,g)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
+function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){var b={},a="includes/db_profile_styles.php",d={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"category",type:"string"},{name:"category_number",type:"number"},{name:"style_letter",type:"string"},{name:"style_guide",type:"string"},{name:"type",type:"int"},{name:"og_min",type:"float"},{name:"og_max",type:"float"},{name:"fg_min",type:"float"},{name:"fg_max",type:"float"},{name:"ibu_min",type:"float"},{name:"ibu_max",type:"float"},{name:"color_min",type:"float"},{name:"color_max",type:"float"},{name:"carb_min",type:"float"},{name:"carb_max",type:"float"},{name:"abv_min",type:"float"},{name:"abv_max",type:"float"},{name:"notes",type:"string"},{name:"profile",type:"string"},{name:"ingredients",type:"string"},{name:"examples",type:"string"}],id:"record",url:a,deleterow:function(f,h){var g="delete=true&"+$.param({record:f});$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(j,i,k){h(true);location.reload(true)},error:function(i,k,j){h(false)}})},addrow:function(g,j,f,i){var h="insert=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})},updaterow:function(f,i,h){var g="update=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})}},e=new $.jqx.dataAdapter(d),c=-1;$("#name").jqxInput({theme:theme,width:320,height:23});$("#category").jqxInput({theme:theme,width:320,height:23});$("#category_number").jqxNumberInput(PosInt);$("#style_letter").jqxInput({theme:theme,width:250,height:23});$("#style_guide").jqxInput({theme:theme,width:320,height:23});$("#type").jqxDropDownList({theme:theme,source:StyleTypeAdapter,valueMember:"id",displayMember:"nl",width:180,height:23,autoDropDownHeight:true});$("#og_min").jqxNumberInput(SGopts);$("#og_max").jqxNumberInput(SGopts);$("#fg_min").jqxNumberInput(SGopts);$("#fg_max").jqxNumberInput(SGopts);$("#ibu_min").jqxNumberInput(PosInt);$("#ibu_min").jqxNumberInput({max:200});$("#ibu_max").jqxNumberInput(PosInt);$("#ibu_max").jqxNumberInput({max:200});$("#color_min").jqxNumberInput(PosInt);$("#color_min").jqxNumberInput({max:200});$("#color_max").jqxNumberInput(PosInt);$("#color_max").jqxNumberInput({max:200});$("#carb_min").jqxNumberInput(Spin1dec);$("#carb_min").jqxNumberInput({max:5});$("#carb_max").jqxNumberInput(Spin1dec);$("#carb_max").jqxNumberInput({max:5});$("#abv_min").jqxNumberInput(Spin1dec);$("#abv_min").jqxNumberInput({max:20});$("#abv_max").jqxNumberInput(Spin1dec);$("#abv_max").jqxNumberInput({max:20});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#profile").jqxInput({theme:theme,width:800,height:48});$("#ingredients").jqxInput({theme:theme,width:800,height:23});$("#examples").jqxInput({theme:theme,width:800,height:48});$("#jqxgrid").jqxGrid({width:1280,height:630,source:e,theme:theme,showstatusbar:true,renderstatusbar:function(h){var f,g,i;f=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");g=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");i=$("<div style='float: right; margin-right: 50px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Import</span></div>");f.append(g);f.append(i);h.append(f);g.jqxButton({theme:theme,width:90,height:20});i.jqxButton({theme:theme,width:90,height:20});g.click(function(j){c=-1;$("#name").val("Nieuwe stijl");$("#category").val("");$("#category_number").val("");$("#style_letter").val("");$("#style_guide").val("BKG 2015");$("#type").val(0);$("#og_min").val(1.03);$("#og_max").val(1.05);$("#fg_min").val(1.005);$("#fg_max").val(1.01);$("#ibu_min").val(20);$("#ibu_max").val(30);$("#color_min").val(52);$("#color_max").val(79);$("#carb_min").val(2);$("#carb_max").val(2.5);$("#abv_min").val(4);$("#abv_max").val(5);$("#notes").val("");$("#profile").val("");$("#ingredients").val("");$("#examples").val("");$("#popupWindow").jqxWindow("open")});i.click(function(j){window.location.href="import_ingredients.php?select=styles"})},filterable:true,filtermode:"excel",columns:[{text:"Gids",datafield:"style_guide",width:100},{text:"Groep",datafield:"style_letter",width:30},{text:"Style Name",menu:false,datafield:"name"},{text:"OG",menu:false,datafield:"og_min",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"OG",menu:false,datafield:"og_max",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"FG",menu:false,datafield:"fg_min",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"FG",menu:false,datafield:"fg_max",width:60,align:"right",cellsalign:"right",cellsformat:"f3"},{text:"IBU",menu:false,datafield:"ibu_min",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"IBU",menu:false,datafield:"ibu_max",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"EBC",menu:false,datafield:"color_min",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"EBC",menu:false,datafield:"color_max",width:50,align:"right",cellsalign:"right",cellsformat:"f0"},{text:"Co2",menu:false,datafield:"carb_min",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Co2",menu:false,datafield:"carb_max",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"ABV",menu:false,datafield:"abv_min",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"ABV",menu:false,datafield:"abv_max",width:50,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",menu:false,datafield:"Edit",width:100,align:"center",columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){c=f;b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#category").val(b.category);$("#category_number").val(b.category_number);$("#style_letter").val(b.style_letter);$("#style_guide").val(b.style_guide);$("#type").val(b.type);$("#og_min").val(b.og_min);$("#og_max").val(b.og_max);$("#fg_min").val(b.fg_min);$("#fg_max").val(b.fg_max);$("#ibu_min").val(b.ibu_min);$("#ibu_max").val(b.ibu_max);$("#color_min").val(b.color_min);$("#color_max").val(b.color_max);$("#carb_min").val(b.carb_min);$("#carb_max").val(b.carb_max);$("#abv_min").val(b.abv_min);$("#abv_max").val(b.abv_max);$("#notes").val(b.notes);$("#profile").val(b.profile);$("#ingredients").val(b.ingredients);$("#examples").val(b.examples);$("#popupWindow").jqxWindow("open")}}]});$("#popupWindow").jqxWindow({width:1050,position:{x:110,y:30},resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var f=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",f)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var g,f=-1;if(c>=0){f=$("#jqxgrid").jqxGrid("getrowid",c)}g={record:f,name:$("#name").val(),category:$("#category").val(),category_number:parseFloat($("#category_number").jqxNumberInput("decimal")),style_letter:$("#style_letter").val(),style_guide:$("#style_guide").val(),type:$("#type").val(),og_min:parseFloat($("#og_min").jqxNumberInput("decimal")),og_max:parseFloat($("#og_max").jqxNumberInput("decimal")),fg_min:parseFloat($("#fg_min").jqxNumberInput("decimal")),fg_max:parseFloat($("#fg_max").jqxNumberInput("decimal")),ibu_min:parseFloat($("#ibu_min").jqxNumberInput("decimal")),ibu_max:parseFloat($("#ibu_max").jqxNumberInput("decimal")),color_min:parseFloat($("#color_min").jqxNumberInput("decimal")),color_max:parseFloat($("#color_max").jqxNumberInput("decimal")),carb_min:parseFloat($("#carb_min").jqxNumberInput("decimal")),carb_max:parseFloat($("#carb_max").jqxNumberInput("decimal")),abv_min:parseFloat($("#abv_min").jqxNumberInput("decimal")),abv_max:parseFloat($("#abv_max").jqxNumberInput("decimal")),notes:$("#notes").val(),profile:$("#profile").val(),ingredients:$("#ingredients").val(),examples:$("#examples").val()};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",f,g)}else{$("#jqxgrid").jqxGrid("addrow",null,g)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_styles.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_styles.js	Sat Sep 14 19:04:29 2019 +0200
@@ -128,7 +128,10 @@
 				}
 			});
 		}
-	};
+	},
+	dataAdapter = new $.jqx.dataAdapter(source),
+        editrow = -1;
+
 	// initialize the input fields.
 	$("#name").jqxInput({ theme: theme, width: 320, height: 23 });
 	$("#category").jqxInput({ theme: theme, width: 320, height: 23 });
@@ -169,8 +172,6 @@
 	$("#ingredients").jqxInput({ theme: theme, width: 800, height: 23 });
 	$("#examples").jqxInput({ theme: theme, width: 800, height: 48 });
 
-	var dataAdapter = new $.jqx.dataAdapter(source),
-	editrow = -1;
 	// initialize jqxGrid
 	$("#jqxgrid").jqxGrid({
 		width: 1280,
@@ -302,11 +303,11 @@
 	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
 	// update the edited row when the user clicks the 'Save' button.
 	$("#Save").click(function () {
-		var rowID = -1;
+		var row, rowID = -1;
 		if (editrow >= 0) {
 			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
 		}
-		var row = {
+		row = {
 			record: rowID,
 			name: $("#name").val(),
 			category: $("#category").val(),
--- a/www/js/profile_water-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_water-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De unieke naam van dit water profiel."});$("#notes").jqxTooltip({content:"Extra opmerkingen over dit water."});$("#calcium").jqxTooltip({content:"Calcium (Ca)."});$("#bicarbonate").jqxTooltip({content:"Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit."});$("#sulfate").jqxTooltip({content:"Calcium Sulfaat (CaSO4)."});$("#chloride").jqxTooltip({content:"Chloride (Cl)."});$("#sodium").jqxTooltip({content:"Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium."});$("#magnesium").jqxTooltip({content:"Magnesium (Mg)."});$("#ph").jqxTooltip({content:"De zuurgraad (pH)."});$("#total_alkalinity").jqxTooltip({content:"Totale alkaliniteit. Berekend meteen de Bicarbonaat."});var b={},a="includes/db_profile_water.php",d={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"calcium",type:"float"},{name:"bicarbonate",type:"float"},{name:"sulfate",type:"float"},{name:"chloride",type:"float"},{name:"sodium",type:"float"},{name:"magnesium",type:"float"},{name:"ph",type:"float"},{name:"notes",type:"string"},{name:"total_alkalinity",type:"float"}],id:"record",url:a,deleterow:function(f,h){var g="delete=true&"+$.param({record:f});$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(j,i,k){h(true);location.reload(true)},error:function(i,k,j){h(false)}})},addrow:function(g,j,f,i){var h="insert=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})},updaterow:function(f,i,h){var g="update=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})}};$("#name").jqxInput({theme:theme,width:640,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#calcium").jqxNumberInput(Spin1dec);$("#bicarbonate").jqxNumberInput(Spin1dec);$("#sulfate").jqxNumberInput(Spin1dec);$("#chloride").jqxNumberInput(Spin1dec);$("#sodium").jqxNumberInput(Spin1dec);$("#magnesium").jqxNumberInput(Spin1dec);$("#ph").jqxNumberInput(Spin2pH);$("#total_alkalinity").jqxNumberInput(Spin1dec);var e=new $.jqx.dataAdapter(d),c=-1;$("#jqxgrid").jqxGrid({width:1280,height:630,source:e,theme:theme,showstatusbar:true,renderstatusbar:function(h){var f=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");var g=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");f.append(g);h.append(f);g.jqxButton({theme:theme,width:90,height:20});g.click(function(i){c=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("");$("#calcium").val(0);$("#bicarbonate").val(0);$("#sulfate").val(0);$("#chloride").val(0);$("#sodium").val(0);$("#magnesium").val(0);$("#ph").val(7);$("#notes").val("");$("#total_alkalinity").val(0);$("#popupWindow").jqxWindow("open")})},filterable:false,filtermode:"excel",columns:[{text:"Water Profiel",datafield:"name",width:225},{text:"Opmerkingen",datafield:"notes"},{text:"Ca",datafield:"calcium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Mg",datafield:"magnesium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Na",datafield:"sodium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"CaCO3",datafield:"total_alkalinity",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Cl",datafield:"chloride",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"SO4",datafield:"sulfate",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"pH",datafield:"ph",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",datafield:"Edit",width:100,columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){c=f;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#calcium").val(b.calcium);$("#bicarbonate").val(b.bicarbonate);$("#sulfate").val(b.sulfate);$("#chloride").val(b.chloride);$("#sodium").val(b.sodium);$("#magnesium").val(b.magnesium);$("#ph").val(b.ph);$("#notes").val(b.notes);$("#total_alkalinity").val(b.total_alkalinity);$("#popupWindow").jqxWindow("open")}}]});$("#total_alkalinity").on("change",function(f){b.bicarbonate=parseFloat(f.args.value)*1.22;$("#bicarbonate").val(b.bicarbonate)});$("#bicarbonate").on("change",function(f){b.total_alkalinity=parseFloat(f.args.value)*50/61;$("#total_alkalinity").val(b.total_alkalinity)});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var f=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",f)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var f=-1;if(c>=0){f=$("#jqxgrid").jqxGrid("getrowid",c)}var g={record:f,name:$("#name").val(),calcium:parseFloat($("#calcium").jqxNumberInput("decimal")),bicarbonate:parseFloat($("#bicarbonate").jqxNumberInput("decimal")),sulfate:parseFloat($("#sulfate").jqxNumberInput("decimal")),chloride:parseFloat($("#chloride").jqxNumberInput("decimal")),sodium:parseFloat($("#sodium").jqxNumberInput("decimal")),magnesium:parseFloat($("#magnesium").jqxNumberInput("decimal")),ph:parseFloat($("#ph").jqxNumberInput("decimal")),notes:$("#notes").val(),total_alkalinity:parseFloat($("#total_alkalinity").jqxNumberInput("decimal"))};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",f,g)}else{$("#jqxgrid").jqxGrid("addrow",null,g)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
+function createDelElements(){$("#eventWindow").jqxWindow({theme:theme,position:{x:490,y:210},width:300,height:175,resizable:false,isModal:true,modalOpacity:0.4,okButton:$("#delOk"),cancelButton:$("#delCancel"),initContent:function(){$("#delOk").jqxButton({template:"danger",width:"65px",theme:theme});$("#delCancel").jqxButton({template:"success",width:"65px",theme:theme});$("#delCancel").focus()}});$("#eventWindow").jqxWindow("hide")}$(document).ready(function(){$("#name").jqxTooltip({content:"De unieke naam van dit water profiel."});$("#notes").jqxTooltip({content:"Extra opmerkingen over dit water."});$("#calcium").jqxTooltip({content:"Calcium (Ca)."});$("#bicarbonate").jqxTooltip({content:"Bicarbonaat (HCO3). Berekend meteen de Totale alkaliteit."});$("#sulfate").jqxTooltip({content:"Calcium Sulfaat (CaSO4)."});$("#chloride").jqxTooltip({content:"Chloride (Cl)."});$("#sodium").jqxTooltip({content:"Natrium, oftewel keukenzout (Na). In berekeningen ook vaak als Sodium."});$("#magnesium").jqxTooltip({content:"Magnesium (Mg)."});$("#ph").jqxTooltip({content:"De zuurgraad (pH)."});$("#total_alkalinity").jqxTooltip({content:"Totale alkaliniteit. Berekend meteen de Bicarbonaat."});var b={},a="includes/db_profile_water.php",d={datatype:"json",cache:false,datafields:[{name:"record",type:"number"},{name:"name",type:"string"},{name:"calcium",type:"float"},{name:"bicarbonate",type:"float"},{name:"sulfate",type:"float"},{name:"chloride",type:"float"},{name:"sodium",type:"float"},{name:"magnesium",type:"float"},{name:"ph",type:"float"},{name:"notes",type:"string"},{name:"total_alkalinity",type:"float"}],id:"record",url:a,deleterow:function(f,h){var g="delete=true&"+$.param({record:f});$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(j,i,k){h(true);location.reload(true)},error:function(i,k,j){h(false)}})},addrow:function(g,j,f,i){var h="insert=true&"+$.param(j);$.ajax({dataType:"json",url:a,cache:false,data:h,type:"POST",success:function(l,k,m){i(true);location.reload(true)},error:function(k,m,l){i(false)}})},updaterow:function(f,i,h){var g="update=true&"+$.param(i);$.ajax({dataType:"json",url:a,cache:false,data:g,type:"POST",success:function(k,j,l){h(true);location.reload(true)},error:function(j,l,k){h(false)}})}},e=new $.jqx.dataAdapter(d),c=-1;$("#name").jqxInput({theme:theme,width:640,height:23});$("#notes").jqxInput({theme:theme,width:800,height:100});$("#calcium").jqxNumberInput(Spin1dec);$("#bicarbonate").jqxNumberInput(Spin1dec);$("#sulfate").jqxNumberInput(Spin1dec);$("#chloride").jqxNumberInput(Spin1dec);$("#sodium").jqxNumberInput(Spin1dec);$("#magnesium").jqxNumberInput(Spin1dec);$("#ph").jqxNumberInput(Spin2pH);$("#total_alkalinity").jqxNumberInput(Spin1dec);$("#jqxgrid").jqxGrid({width:1280,height:630,source:e,theme:theme,showstatusbar:true,renderstatusbar:function(h){var f=$("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"),g=$("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");f.append(g);h.append(f);g.jqxButton({theme:theme,width:90,height:20});g.click(function(i){c=-1;$("#popupWindow").jqxWindow({position:{x:110,y:30}});$("#name").val("");$("#calcium").val(0);$("#bicarbonate").val(0);$("#sulfate").val(0);$("#chloride").val(0);$("#sodium").val(0);$("#magnesium").val(0);$("#ph").val(7);$("#notes").val("");$("#total_alkalinity").val(0);$("#popupWindow").jqxWindow("open")})},filterable:false,filtermode:"excel",columns:[{text:"Water Profiel",datafield:"name",width:225},{text:"Opmerkingen",datafield:"notes"},{text:"Ca",datafield:"calcium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Mg",datafield:"magnesium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Na",datafield:"sodium",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"CaCO3",datafield:"total_alkalinity",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"Cl",datafield:"chloride",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"SO4",datafield:"sulfate",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"pH",datafield:"ph",width:60,align:"right",cellsalign:"right",cellsformat:"f1"},{text:"",datafield:"Edit",width:100,columntype:"button",cellsrenderer:function(){return"Wijzig"},buttonclick:function(f){c=f;$("#popupWindow").jqxWindow({position:{x:110,y:30}});b=$("#jqxgrid").jqxGrid("getrowdata",c);$("#name").val(b.name);$("#calcium").val(b.calcium);$("#bicarbonate").val(b.bicarbonate);$("#sulfate").val(b.sulfate);$("#chloride").val(b.chloride);$("#sodium").val(b.sodium);$("#magnesium").val(b.magnesium);$("#ph").val(b.ph);$("#notes").val(b.notes);$("#total_alkalinity").val(b.total_alkalinity);$("#popupWindow").jqxWindow("open")}}]});$("#total_alkalinity").on("change",function(f){b.bicarbonate=parseFloat(f.args.value)*1.22;$("#bicarbonate").val(b.bicarbonate)});$("#bicarbonate").on("change",function(f){b.total_alkalinity=parseFloat(f.args.value)*50/61;$("#total_alkalinity").val(b.total_alkalinity)});$("#popupWindow").jqxWindow({width:1050,height:550,resizable:false,theme:theme,isModal:true,autoOpen:false,cancelButton:$("#Cancel"),modalOpacity:0.4});$("#popupWindow").on("open",function(){$("#name").jqxInput("selectAll")});$("#Delete").jqxButton({template:"danger",width:"90px",theme:theme});$("#Delete").click(function(){if(c>=0){$("#eventWindow").jqxWindow("open");$("#delOk").click(function(){var f=$("#jqxgrid").jqxGrid("getrowid",c);$("#jqxgrid").jqxGrid("deleterow",f)})}$("#popupWindow").jqxWindow("hide")});$("#Cancel").jqxButton({template:"primary",width:"90px",theme:theme});$("#Save").jqxButton({template:"success",width:"90px",theme:theme});$("#Save").click(function(){var g,f=-1;if(c>=0){f=$("#jqxgrid").jqxGrid("getrowid",c)}g={record:f,name:$("#name").val(),calcium:parseFloat($("#calcium").jqxNumberInput("decimal")),bicarbonate:parseFloat($("#bicarbonate").jqxNumberInput("decimal")),sulfate:parseFloat($("#sulfate").jqxNumberInput("decimal")),chloride:parseFloat($("#chloride").jqxNumberInput("decimal")),sodium:parseFloat($("#sodium").jqxNumberInput("decimal")),magnesium:parseFloat($("#magnesium").jqxNumberInput("decimal")),ph:parseFloat($("#ph").jqxNumberInput("decimal")),notes:$("#notes").val(),total_alkalinity:parseFloat($("#total_alkalinity").jqxNumberInput("decimal"))};if(c>=0){$("#jqxgrid").jqxGrid("updaterow",f,g)}else{$("#jqxgrid").jqxGrid("addrow",null,g)}$("#popupWindow").jqxWindow("hide")});createDelElements()});
\ No newline at end of file
--- a/www/js/profile_water.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/profile_water.js	Sat Sep 14 19:04:29 2019 +0200
@@ -128,7 +128,10 @@
 				}
 			});
 		}
-	};
+	},
+	dataAdapter = new $.jqx.dataAdapter(source),
+        editrow = -1;
+
 	// initialize the input fields.
 	$("#name").jqxInput({ theme: theme, width: 640, height: 23 });
 	$("#notes").jqxInput({ theme: theme, width: 800, height: 100 });
@@ -141,8 +144,6 @@
 	$("#ph").jqxNumberInput( Spin2pH );
 	$("#total_alkalinity").jqxNumberInput( Spin1dec );
 
-	var dataAdapter = new $.jqx.dataAdapter(source),
-	editrow = -1;
 	// initialize jqxGrid
 	$("#jqxgrid").jqxGrid({
 		width: 1280,
@@ -151,8 +152,8 @@
 		theme: theme,
 		showstatusbar: true,
 		renderstatusbar: function (statusbar) {
-			var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>");
-			var addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
+			var container = $("<div style='overflow: hidden; position: relative; margin: 5px;'></div>"),
+			addButton = $("<div style='float: right; margin-right: 15px;'><img style='position: relative; margin-top: 2px;' src='images/add.png'/><span style='margin-left: 4px; position: relative; top: -3px;'>Nieuw</span></div>");
 			container.append(addButton);
 			statusbar.append(container);
 			addButton.jqxButton({ theme: theme, width: 90, height: 20 });
@@ -249,11 +250,11 @@
 	$("#Save").jqxButton({ template: "success", width: '90px', theme: theme });
 	// update the edited row when the user clicks the 'Save' button.
 	$("#Save").click(function () {
-		var rowID = -1;
+		var row, rowID = -1;
 		if (editrow >= 0) {
 			rowID = $('#jqxgrid').jqxGrid('getrowid', editrow);
 		}
-		var row = {
+		row = {
 			record: rowID,
 			name: $("#name").val(),
 			calcium: parseFloat($("#calcium").jqxNumberInput('decimal')),
--- a/www/js/rec_export-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/rec_export-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){var a=0;$("#name").html(my_name);$("#jqxRadioButton1").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton2").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton3").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton4").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton5").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton1").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=1});$("#jqxRadioButton2").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=2});$("#jqxRadioButton3").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=3});$("#jqxRadioButton4").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=4});$("#jqxRadioButton5").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=5});$("#Start").jqxButton({template:"success",width:"100px",theme:theme,disabled:true});$("#Start").click(function(){if(a==1){var b="rec_beerxml.php?record="+my_record;window.open(b)}else{if(a==2){var b="rec_duplicate.php?record="+my_record;window.open(b)}else{if(a==3){var b="rec_toproduct.php?record="+my_record;window.open(b)}else{if(a==4){var b="rec_print.php?record="+my_record;window.open(b)}else{if(a==5){var b="rec_forum.php?record="+my_record;window.open(b)}}}}}window.location.href="rec_edit.php?record="+my_record+"&return="+my_return})});
\ No newline at end of file
+$(document).ready(function(){var a=0;$("#name").html(my_name);$("#jqxRadioButton1").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton2").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton3").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton4").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton5").jqxRadioButton({theme:theme,width:250,height:23});$("#jqxRadioButton1").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=1});$("#jqxRadioButton2").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=2});$("#jqxRadioButton3").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=3});$("#jqxRadioButton4").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=4});$("#jqxRadioButton5").on("checked",function(b){$("#Start").jqxButton({disabled:false});a=5});$("#Start").jqxButton({template:"success",width:"100px",theme:theme,disabled:true});$("#Start").click(function(){if(a==1){window.open("rec_beerxml.php?record="+my_record)}else{if(a==2){window.open("rec_duplicate.php?record="+my_record)}else{if(a==3){window.open("rec_toproduct.php?record="+my_record)}else{if(a==4){window.open("rec_print.php?record="+my_record)}else{if(a==5){window.open("rec_forum.php?record="+my_record)}}}}}window.location.href="rec_edit.php?record="+my_record+"&return="+my_return})});
\ No newline at end of file
--- a/www/js/rec_export.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/rec_export.js	Sat Sep 14 19:04:29 2019 +0200
@@ -55,20 +55,15 @@
 	$('#Start').jqxButton({ template: "success", width: '100px', theme: theme, disabled: true });
 	$('#Start').click(function () {
 		if (choice == 1) {
-			var url="rec_beerxml.php?record=" + my_record;
-			window.open(url);
+			window.open('rec_beerxml.php?record=' + my_record);
 		} else if (choice == 2) {
-			var url="rec_duplicate.php?record=" + my_record;
-			window.open(url);
+			window.open('rec_duplicate.php?record=' + my_record);
 		} else if (choice == 3) {
-			var url="rec_toproduct.php?record=" + my_record;
-			window.open(url);
+			window.open('rec_toproduct.php?record=' + my_record);
 		} else if (choice == 4) {
-                        var url="rec_print.php?record=" + my_record;
-                        window.open(url);
+                        window.open('rec_print.php?record=' + my_record);
                 } else if (choice == 5) {
-                        var url="rec_forum.php?record=" + my_record;
-                        window.open(url);
+                        window.open('rec_forum.php?record=' + my_record);
                 }
 		// Return to the original recipe
 		window.location.href = "rec_edit.php?record=" + my_record + "&return=" + my_return;
--- a/www/js/rec_import-min.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/rec_import-min.js	Sat Sep 14 19:04:29 2019 +0200
@@ -1,1 +1,1 @@
-$(document).ready(function(){$("#jqxFileUpload").jqxFileUpload({width:300,browseTemplate:"success",cancelTemplate:"inverse",uploadTemplate:"primary",theme:theme,multipleFilesUpload:false,accept:"application/xml",uploadUrl:"upl_recipe.php",fileInputName:"fileToUpload"});$("#eventsPanel").jqxPanel({width:800,height:200,theme:theme});$("#jqxFileUpload").on("select",function(c){var b=c.args;var d=b.file;var a=b.size;$("#eventsPanel").jqxPanel("clearcontent");$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> "+d+"  size: "+a+"<br />")});$("#jqxFileUpload").on("uploadEnd",function(c){var b=c.args;var d=b.file;var a=b.response;$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> ontvangen "+d+"<br />"+a+"<br />")})});
\ No newline at end of file
+$(document).ready(function(){$("#jqxFileUpload").jqxFileUpload({width:300,browseTemplate:"success",cancelTemplate:"inverse",uploadTemplate:"primary",theme:theme,multipleFilesUpload:false,accept:"application/xml",uploadUrl:"upl_recipe.php",fileInputName:"fileToUpload"});$("#eventsPanel").jqxPanel({width:800,height:200,theme:theme});$("#jqxFileUpload").on("select",function(c){var b=c.args,d=b.file,a=b.size;$("#eventsPanel").jqxPanel("clearcontent");$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> "+d+"  size: "+a+"<br />")});$("#jqxFileUpload").on("uploadEnd",function(c){var b=c.args,d=b.file,a=b.response;$("#eventsPanel").jqxPanel("append","<strong>"+c.type+":</strong> ontvangen "+d+"<br />"+a+"<br />")})});
\ No newline at end of file
--- a/www/js/rec_import.js	Fri Sep 13 23:02:38 2019 +0200
+++ b/www/js/rec_import.js	Sat Sep 14 19:04:29 2019 +0200
@@ -40,16 +40,16 @@
 		theme: theme
 	});
 	$('#jqxFileUpload').on('select', function (event) {
-		var args = event.args;
-		var fileName = args.file;
-		var fileSize = args.size;
+		var args = event.args,
+		fileName = args.file,
+		fileSize = args.size;
 		$('#eventsPanel').jqxPanel('clearcontent');
 		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ' + fileName + '  size: ' + fileSize + '<br />');
 	});
 	$('#jqxFileUpload').on('uploadEnd', function (event) {
-		var args = event.args;
-		var fileName = args.file;
-		var serverResponce = args.response;
+		var args = event.args,
+		fileName = args.file,
+		serverResponce = args.response;
 		$('#eventsPanel').jqxPanel('append', '<strong>' + event.type + ':</strong> ontvangen ' + fileName + '<br />' + serverResponce + '<br />');
 	});
 

mercurial