config[key].Value = document.forms[0].elements["settings." + key].value;\r
else if (config[key].Type == 'Int') {\r
config[key].Value = parseInt(document.forms[0].elements["settings." + key].value);\r
- if (config[key].Value < 0)\r
+ if (config[key].Value < 0 || isNaN(config[key].Value))
config[key].Value = config[key].Default;\r
}\r
else if (config[key].Type == 'Bool')\r
config[key].Value = document.forms[0].elements["settings." + key].checked;\r
- else if (config[key].Type == 'UID')\r
+ else if (config[key].Type == 'UID') {
config[key].Value = parseInt(document.forms[0].elements["settings." + key].value);\r
+ if (isNaN(config[key].Value))
+ config[key].Value = config[key].Default;
+ }
else if (config[key].Type == 'Enum') {\r
config[key].Value = document.forms[0].elements["settings." + key].value;\r
if (config[key].ValidValues.indexOf(config[key].Value) == -1)\r
var pair = stringlist[i].split('=');\r
var key = pair[0];\r
var value = pair[1];\r
- log('stringlist: ' + key + '=\'' + value + '\'');
- if (config[key].Type == 'Int')\r
+ log('stringlist: ' + key + '=\'' + value + '\'');\r
+ if (config[key].Type == 'Int') {
config[key].Value = Number(value);\r
+ if (isNaN(config[key].Value))
+ config[key].Value = config[key].Default;
+ }
else if (config[key].Type == 'String')\r
config[key].Value = value;\r
else if (config[key].Type == 'Bool')\r
config[key].Value = (value == 'true')\r
else if (config[key].Type == 'Enum')\r
config[key].Value = value;\r
- else if (config[key].Type == 'UID')\r
+ else if (config[key].Type == 'UID') {
config[key].Value = Number(value);\r
+ if (isNaN(config[key].Value))
+ config[key].Value = config[key].Default;
+ }
else if (config[key].Type == 'Array') {\r
config[key].Value = value.split("^");\r
if (config[key].Value.length == 1 && config[key].Value[0] == "") {\r