setTimeout(function() {
// Get params from form
- var params = [];
+ var params = {};
for (var i = 0; i < this.user_params.length; i++) {
var as_string = this.form.elements["param"+i].value;
var as_num = +as_string;
- params[i] = isNaN(as_num) ? as_string : as_num;
+ params[this.user_params[i][0]] = isNaN(as_num) ? as_string : as_num;
}
- this.points = this.user_function.apply(null, params);
+ this.points = this.user_function.call(null, params);
this.validate(this.points);
tr = document.createElement("tr");
table.appendChild(tr);
var td = document.createElement("td");
- td.appendChild(document.createTextNode(params[i][0]));
+ var description;
+ if (params[i].length > 2) {
+ description = params[i][2];
+ } else {
+ description = params[i][0];
+ description = description[0].toUpperCase() + description.substr(1);
+ description = description.replace(/_(.)/g, function(_, c) {
+ return " " + c.toUpperCase();
+ });
+ description = description.replace("Num ", "Number of ");
+ }
+ td.appendChild(document.createTextNode(description));
tr.appendChild(td);
td = document.createElement("td");
var input = document.createElement("input");