var years = '2002:2003:2004:2005:2006:2007:2008:2009:2010';
var selparam = '';
var alertct = 0;
var seldata = new Array();
var changed_data_warning = 'THERE ARE UNSAVED CHANGES';
function dumpprops(obj, parent, recursion) {
if (recursion <= 0)
return('');
var msg = '';
if (parent)
msg = 'Properties of ' + parent + '
\n';
}
if (typeof obj[i] == 'object') {
if (parent) {
msg += dumpprops(obj[i], parent + '.' + i, recursion - 1);
} else {
msg += dumpprops(obj[i], i, recursion - 1);
}
}
}
return(msg);
}
function listformfields(form, field) {
answer = '';
eval ('myelements = document.' + form + '.elements');
for (var i = 0; i
';
}
function updateaccess(reqperm, userperm, owner, user, share) {
if (!reqperm.match(/update/) || !userperm)
return(0);
if (userperm == 'U' && user == owner)
userperm = 'O';
var permlevel = strpos('EGUOADX', userperm);
reqperm.replace(/^.*update:(\w).*/, "$1");
var reqpermlevel = strpos('EGUOADX', reqperm);
if (permlevel >= reqpermlevel)
return(1);
else
return(0);
}
function strpos(str, ch) {
for (var i = 0; i < str.length; i++)
if (str.substring(i, i+1) == ch)
return i;
return -1;
}
function fill_string(form, source, dest, type, template, options, editp, cssclass, onchange) {
// alert('fill_string : type ' + type + ' template ' + template + ' options ' + options + ' dest ' + dest);
loptions = options.replace(/\|/g, "','");
eval("var options_arr = new Array('" + loptions + "')");
var lvalue = '';
var v = 0;
if (type == 'checkbox') {
// alert('fill_string ' + source + ' ' + options + ' ' + editp);
for (c=flag=0; c < options_arr.length; c++) {
var opt_arr = options_arr[c].split('=');
eval ('var cellname = document.' + form + '.' + source + '_' + opt_arr[0]);
if (!cellname) {
alert('Failed to update checkbox field ' + source + '.\nPlease save data or reload the page !');
return (-1);
}
if (cellname.checked) {
if (lvalue)
lvalue = lvalue + '|';
lvalue = lvalue + cellname.value;
}
}
} else if (type == 'multiple_select') {
for (v = 0; ; v++) {
eval ('var cellname = document.' + form + '.' + source + '_' + v);
if (!cellname)
break;
// alert('fill_string ' + source + ' ' + cellname.value);
if (lvalue)
lvalue = lvalue + '|';
lvalue = lvalue + cellname.value;
}
} else if (type == 'actions') {
var lvalue;
var plevels = new Array('', 'G', 'U', 'O', 'A', 'D');
for (v = 0; v < 30; v++) {
eval ('var action = document.' + form + '.' + source + '_action_' + v);
eval ('var plevel = document.' + form + '.' + source + '_plevel_' + v);
if (!action || !action.value)
continue;
if (!plevel || plevel[0].checked)
continue;
// alert('fill_string ' + source + ' ' + action.value + ' ' + plevel.value);
value = '';
for (l = 0; l < plevels.length; l++)
if (plevel[l].checked)
value = plevels[l];
if (lvalue)
lvalue = lvalue + '|';
lvalue = lvalue + action.value + ':' + value;
// alert('fill_string ' + lvalue);
}
} else if (type == 'list') {
for (v = 0; ; v++) {
eval ('var cellname = document.' + form + '.' + source + '_' + v);
if (!cellname)
break;
// alert('fill_string ' + source + ' ' + cellname.value);
if (lvalue)
lvalue = lvalue + '|';
lvalue = lvalue + cellname.value;
}
} else if (type == 'options') {
for (v = 0; ; v++) {
eval ('var cellopt = document.' + form + '.' + source + '_opt_' + v);
eval ('var celldesc = document.' + form + '.' + source + '_desc_' + v);
if (!cellopt)
break;
if (v && !cellopt.value && !celldesc.value)
continue;
// alert("'" + cellopt.value + "'");
// alert('fill_string ' + source + ' ' + cellopt.value);
if (lvalue)
lvalue = lvalue + '|';
lvalue = lvalue + cellopt.value + '=' + celldesc.value;
}
// alert(lvalue);
} else if (type == 'permissions') {
// alert('fill_string ' + source + ' ' + options + ' ' + editp);
var value;
var lvalue;
for (v = 0; v < 30; v++) {
eval ('var user = document.' + form + '.' + source + '_user_' + v);
eval ('var perm = document.' + form + '.' + source + '_perm_' + v);
if (!user || !user.value)
continue;
if (!perm || !perm[0] || !perm[1] || !perm[2] || perm[0].checked)
continue;
if (perm[1].checked)
value = 'view';
if (perm[2].checked)
value = 'update';
// alert("'" + user.value + "' '" + perm[2].checked + "' '" + value + "'");
// alert(dumpprops(perm, 'perm', 1));
// alert('fill_string ' + source + ' ' + user.value);
if (lvalue)
lvalue = lvalue + '|';
lvalue = lvalue + user.value + ':' + value;
}
// alert(lvalue);
} else if (type == 'radio') {
// alert('fill_string ' + source + ' ' + options + ' ' + editp);
for (c=flag=0; c < options_arr.length; c++) {
var opt_arr = options_arr[c].split('=');
eval ('var cellname = document.' + form + '.' + source + '[' + c + ']');
if (!cellname) {
eval ('var cellname = document.' + form + '.' + source);
// alert(cellname);
if (!cellname) {
alert('Failed to update radio field ' + source + '.\nPlease save data or reload the page !');
return (-1);
} else
lvalue = cellname.value;
} else if (cellname.checked) {
lvalue = cellname.value;
}
// alert(source + '[' + c + ']' + ' ' + cellname.checked + ' ' + cellname.value);
}
} else if (type == 'date') {
eval ('var yearcell = document.' + form + '.' + source + '_year');
eval ('var monthcell = document.' + form + '.' + source + '_month');
eval ('var daycell = document.' + form + '.' + source + '_day');
if (yearcell.value || monthcell.value || daycell.value)
lvalue = yearcell.value + '/' + monthcell.value + '/' + daycell.value;
else
lvalue = '';
} else if (type == 'component') {
eval ('var cellname = document.' + form + '.' + source + '_name');
eval ('var cellconc = document.' + form + '.' + source + '_conc');
eval ('var cellph = document.' + form + '.' + source + '_ph');
if (cellname.value == 'random') {
lvalue = 'random:::';
} else if (cellname.value || cellconc.value || cellph.value) {
if (stock_UNIT[cellname.value] == 'M')
var conc = fmtF(cellconc.value, 6);
else if (stock_UNIT[cellname.value].match(/%/))
var conc = fmtF(cellconc.value, 3);
else if (stock_UNIT[cellname.value] == 'mg/ml')
var conc = fmtF(cellconc.value, 3);
if (cellph.value)
var ph = fmtF(cellph.value, 2);
else
ph = '';
lvalue = cellname.value + ':' + conc + ':' + stock_UNIT[cellname.value] + ':' + ph;
} else
lvalue = '';
// alert(lvalue);
} else if (type == 'componentvol') {
eval ('var cellname = document.' + form + '.' + source + '_name');
eval ('var cellvol = document.' + form + '.' + source + '_vol');
eval ('var cellph = document.' + form + '.' + source + '_ph');
if (cellname.value == 'random') {
lvalue = 'random:::';
} else if (cellname.value || cellvol.value || cellph.value) {
var vol = fmtF(cellvol.value, 2);
if (cellph.value)
var ph = fmtF(cellph.value, 2);
else
ph = '';
lvalue = cellname.value + ':' + vol + ':' + stock_UNIT[cellname.value] + ':' + ph;
} else
lvalue = '';
// alert(cellvol.value + ' 2 ' + lvalue);
} else if (type == 'volume') {
eval ('var vol = document.' + form + '.' + source);
if (vol.value)
lvalue = fmtF(vol.value, 2);
else
lvalue = '';
// alert(vol.value + ' 2 ' + lvalue);
} else {
eval ('var cellname = document.' + form + '.' + source);
if (!cellname) {
alert('Failed to update text field ' + source + '.\nPlease save data or reload the page !');
return (-1);
}
lvalue = cellname.value;
// alert(lvalue);
}
reset_string(form, dest, lvalue, type, template, options, editp, cssclass, onchange);
return(0);
}
function fill_form(form, fld, type, template, options, editp, cssclass, onchange) {
//alert('fill_form : options ' + options);
// alert('fill_form ' + form + ', ' + fld + ', type ' + type + ', template ' + template + ', options ' + options + ', editp ' + editp + ', onchange ' + onchange);
restore_cell();
eval ("mydiv = document.getElementById('div_" + fld + "')");
if (!mydiv) {
if (++alertct < 5)
alert('failed to access field ' + fld);
return;
}
if (type != 'checkbox' && type != 'date' && type != 'multiple_select' && type != 'actions' && type != 'list' && type != 'options' && type != 'permissions' && type != 'component' && type != 'componentvol') {
eval ('cellname = document.' + form + '.' + fld);
if (!cellname) {
alert('fill_form: Failed to update field ' + fld + '.\nPlease save data or reload the page !');
return;
}
if (type != 'textspec' && type != 'html' && type != 'email' && type != 'template')
cellname.value = cellname.value.replace(/"/g, """);
}
loptions = options.replace(/\|/g, "','");
eval("var options_arr = new Array('" + loptions + "')");
var output = '';
var v = 0;
if (type == 'text' || type == 'html' || type == 'email' || type == 'template')
output = '";
loptions = options.replace(/\|/g, "','");
eval("var options_arr = new Array('" + loptions + "')");
if (type == 'checkbox') {
// alert(fld + ': ' + options + ' - ' + loptions);
var evalme = '';
var flag = 0;
for (var c=0; c < options_arr.length; c++) {
var opt_arr = options_arr[c].split('=');
if (!opt_arr[1]) opt_arr[1] = opt_arr[0];
// alert('reset_string: ' + value + ' - ' + opt_arr[0]);
if (value.match("(^|\\|)" + opt_arr[0] + "(\\||$)")) {
checked = 'checked';
lvalue = opt_arr[0];
} else {
checked = '';
lvalue = '';
}
if (checked) {
if (flag)
output += ', ';
output += opt_arr[1];
flag = 1;
}
// if (editp)
output += ' ';
}
if (!flag)
if (editp)
output += 'edit';
else
output += ' ';
// alert('reset_string: ' + output);
} else if (type == 'select') {
for (c=flag=0; c < options_arr.length; c++) {
// alert(options_arr[c]);
var opt_arr = options_arr[c].split('=');
if (!opt_arr[1]) opt_arr[1] = opt_arr[0];
if (value == opt_arr[0]) {
if (opt_arr[1])
lvalue = opt_arr[1];
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
output += lvalue;
flag = 1;
break;
}
}
if (!flag) {
if (value) {
if (!fld.match('Selector')) {
output += value;
if (editp)
output += 'the value \'' + value + '\' is not among the select options
';
}
} else {
if (editp) {
output += 'edit';
if (!fld.match('Selector'))
output += 'the empty value is not among the select options
';
} else {
output += ' ';
}
}
}
// alert(fld);
// if (editp)
output += ' ';
// alert('reset_string ' + fld + ', value ' + value + ', type ' + type + ', options ' + options + ', editp ' + editp + ', onchange ' + onchange + '\noutput ' + output);
// alert('reset_string: ' + output);
} else if (type == 'radio') {
for (c=flag=0; c < options_arr.length; c++) {
var opt_arr = options_arr[c].split('=');
if (!opt_arr[1]) opt_arr[1] = opt_arr[0];
if (value == opt_arr[0]) {
if (opt_arr[1])
lvalue = opt_arr[1];
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
output += lvalue;
flag = 1;
break;
}
}
if (!flag)
if (value) {
if (!fld.match('Selector')) {
output += value;
if (editp)
output += 'the value \'' + value + '\' is not among the select options
';
}
} else if (editp) {
output += 'edit';
if (!fld.match('Selector'))
output += 'the empty value is not among the select options
';
}
// if (editp)
output += ' ';
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp + ', ' + output);
} else if (type == 'multiple_select') {
// alert(value + ' ' + editp);
var val_arr = value.split('|');
var liststart = 1;
var listend = 0;
var lvalue;
for (v = 0; v <= val_arr.length; v++) {
lvalue = '';
if (listend)
break;
if (val_arr[v]) {
// alert(v + ' ' + val_arr[v]);
for (c = flag = 0; c < options_arr.length; c++) {
var opt_arr = options_arr[c].split('=');
if (!opt_arr[1]) opt_arr[1] = opt_arr[0];
if (val_arr[v] == opt_arr[0]) {
if (opt_arr[1])
lvalue = opt_arr[1];
flag = 1;
break;
}
}
if(!flag) {
lvalue = val_arr[v];
if (editp)
if (lvalue)
output += 'the value \'' + lvalue + '\' is not among the select options
';
else
output += 'edit' + 'the empty value is not among the select options
';
}
if (!liststart)
output += ', ';
// if (editp)
lvalue += ' ';
} else {
if (editp && liststart)
lvalue = 'edit';
listend = 1;
if (editp)
lvalue += ' ';
}
// alert('reset_string: ' + ' ');
// alert(lvalue);
output += lvalue;
liststart = 0;
}
// alert(output);
} else if (type == 'actions') {
// alert(value + ' ' + editp);
var levdesc = {'':'nobody', 'G':'guest', 'U':'user', 'O':'owner', 'A':'admin', 'D':'developer'};
var val_arr = value.split('|');
var liststart = 1;
var listend = 0;
var lvalue;
for (v = 0; v <= val_arr.length; v++) {
if (listend)
break;
lvalue = '';
if (val_arr[v]) {
var act_arr = val_arr[v].split(':');
if (!act_arr[1])
act_arr[1] = '';
// alert(v + ' ' + val_arr[v] + ' ' + act_arr[0] + ' ' + act_arr[1]);
for (c = flag = 0; c < options_arr.length; c++) {
var opt_arr = options_arr[c].split('=');
if (!opt_arr[1]) opt_arr[1] = opt_arr[0];
if (act_arr[0] == opt_arr[0]) {
if (opt_arr[1])
lvalue = opt_arr[1] + ' (' + levdesc[act_arr[1]] + ')';
flag = 1;
break;
}
}
if(!flag) {
lvalue = act_arr[0] + ' (' + levdesc[act_arr[1]] + ')';
if (editp)
if (act_arr[0])
output += 'the value \'' + lvalue + '\' is not among the select options
';
else
output += 'edit' + 'the empty value is not allowed here
';
}
if (!liststart)
output += ', ';
// if (editp) {
lvalue += ' ';
lvalue += ' ';
// }
} else {
if (editp && liststart)
lvalue = 'edit';
listend = 1;
if (editp) {
lvalue += ' ';
lvalue += ' ';
}
}
// alert('reset_string: ' + ' ');
// alert(lvalue);
output += lvalue;
liststart = 0;
}
// alert(output);
} else if (type == 'list') {
// alert(value + ' ' + editp);
var val_arr = value.split('|');
var liststart = 1;
var listend = 0;
var lvalue;
for (v = 0; v <= val_arr.length; v++) {
lvalue = '';
if (listend)
break;
// alert(val_arr[v]);
if (val_arr[v]) {
lvalue = val_arr[v];
} else {
if (editp && liststart)
lvalue = 'edit';
listend = 1;
val_arr[v] = '';
}
if (lvalue && !liststart)
output += ', ';
// if (editp)
lvalue += ' ';
// alert('reset_string: ' + ' ');
output += lvalue;
liststart = 0;
}
if (val_arr.length == 1 && val_arr[0] == '' && !editp)
output += ' ';
// alert(output);
} else if (type == 'options') {
var flag = 1;
if (value) {
var val_arr = value.split('|');
for (v = 0; v < val_arr.length; v++) {
// alert(val_arr[v]);
var lvalue = '';
var opt_arr = val_arr[v].split('=');
if (v && (opt_arr[0] || opt_arr[1])) lvalue += ', ';
if (opt_arr[0]) {
lvalue += '"' + opt_arr[0] + '"';
flag = 0;
}
if (editp)
lvalue += ' ';
if (opt_arr[1]) {
lvalue += ' ('+ opt_arr[1] + ')';
flag = 0;
}
// if (editp)
lvalue += ' ';
output += lvalue;
// alert('reset_string: ' + ' ');
// alert(lvalue);
}
}
if (flag)
output += 'edit';
// alert(output);
} else if (type == 'permissions') {
flag = 0;
var liststart = 1;
var lvalue;
var val_arr = value.split('|');
options_arr[options_arr.length] = 'all=';
options_arr[options_arr.length] = 'group=';
// alert(val_arr);
for (v = 0; v <= val_arr.length; v++) {
lvalue = '';
if (val_arr[v]) {
var val_parts = val_arr[v].split(':');
if (!val_parts[0])
val_arr[v] = '';
}
if (val_arr[v]) {
for (c = flag = 0; c < options_arr.length; c++) {
var opt_arr = options_arr[c].split('=');
if (!opt_arr[1]) opt_arr[1] = opt_arr[0];
if (val_parts[0] == opt_arr[0]) {
lvalue = opt_arr[1];
flag = 1;
break;
}
}
if(lvalue) {
if (val_parts[1] == 'view')
lvalue += ': ' + 'view';
if (val_parts[1] == 'update')
lvalue += ': ' + 'edit';
} else {
lvalue = val_parts[0];
if (editp)
if (val_parts[0])
lvalue += 'the username \'' + val_parts[0] + '\' is not among the select options
';
else
lvalue += 'edit' + 'the empty value is not among the select options
';
}
if (!liststart)
output += ', ';
} else if (v != val_arr.length)
continue;
if (v == val_arr.length) {
var val_parts = new Array('', '');
if (liststart)
if (editp)
lvalue = 'edit';
else
lvalue = ' ';
}
// if (editp) {
lvalue += ' ';
lvalue += ' ';
// }
// alert(lvalue);
output += lvalue;
liststart = 0;
}
// alert(output);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp + '\n' + output);
} else if (type == 'multiple_component') {
flag = 0;
// alert(value);
var set = value.split('\|');
for (i=0; i < set.length; i++) {
if (i)
output += ', ';
if (value) {
var val_r = set[i].split(':');
var name = val_r[0];
var conc = val_r[1];
var unit = val_r[2];
var ph = val_r[3];
var lvalue = '';
if (name) {
if (name == 'random')
conc = ph = '';
else {
if (conc.match(/^[\d.]*$/))
lvalue += compose_value(parseFloat(conc), unit) + ' ';
else
lvalue += conc + ' ' + unit + ' ';
}
lvalue += name;
if (ph) {
if (ph == 'random')
lvalue += ', random pH';
else if (ph) {
if (ph.match(/^[\d.]*$/))
lvalue += ', pH ' + fmtF(ph, 2);
else
lvalue += ', pH ' + ph;
}
}
} else {
lvalue = ' ';
name = conc = ph = '';
}
output += lvalue;
// alert(lvalue);
} else {
name = conc = ph = '';
output += ' ';
}
}
// alert('reset_string ' + fld + ', value ' + value + ', type ' + type + ', options ' + options + ', editp ' + editp + ', onchange ' + onchange + '\noutput ' + output);
// alert('reset_string: ' + output);
// alert(output);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp + '\n' + output);
} else if (type == 'component') {
flag = 0;
// alert(value);
if (value) {
var val_r = value.split(':');
var name = val_r[0];
var conc = val_r[1];
var unit = val_r[2];
var ph = val_r[3];
var lvalue = '';
if (name) {
if (name == 'random')
conc = ph = '';
else {
if (conc > 0) {
lvalue += compose_value(conc, unit) + ' ';
if (stock_CONC[name] && stock_CONC[name] > 0 && parseFloat(stock_CONC[name]) < conc && (conc < 100 || !(unit == '%w/v' || unit == '%v/v'))) {
lvalue += ' concentration ' + compose_value(conc, unit) + ' exceeds stock concentration (' + compose_value(stock_CONC[name], unit) + ')
';
alert(name + ": " + stock_CONC[name] + " < " + conc);
}
} else
lvalue += 'no concentration
';
}
lvalue += name;
if (ph) {
if (name && editp && (!stock_CLASSES[name] || !stock_CLASSES[name].match(/buffer/))) {
lvalue += 'component \'' + name + '\' is not a buffer, ignoring ph \'' + ph + '\'
';
ph = '';
}
if (ph == 'random')
lvalue += ', random pH';
else if (ph) {
lvalue += ', pH ' + fmtF(ph, 2);
if (editp && (ph < 0 || ph > 14)) {
lvalue += ' the pH must be between 0 and 14
';
// alert(name + ": " + stock_CONC[name] + " < " + conc);
}
}
}
} else {
if (editp) lvalue = 'edit'; else lvalue = ' ';
name = conc = ph = '';
}
for (c=flag=0; c < options_arr.length; c++) {
if (name == options_arr[c]) {
flag = 1;
break;
}
}
if (!flag && name) {
lvalue += '\'' + name + '\' is either not defined or an invalid choice
';
// alert(options);
}
output += lvalue;
// alert(lvalue);
} else {
name = conc = ph = '';
if (editp) output += 'edit'; else output += ' ';
}
output += ' ' + conc + '
';
output += ' ' + name + '
';
output += ' ' + ph + '
';
// if (editp) {
output += ' ';
output += ' ';
output += ' ';
// }
// alert('reset_string ' + fld + ', value ' + value + ', type ' + type + ', options ' + options + ', editp ' + editp + ', onchange ' + onchange + '\noutput ' + output);
// alert('reset_string: ' + output);
// alert(output);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp + '\n' + output);
} else if (type == 'componentvol') {
flag = 0;
// alert(value);
if (value) {
var val_r = value.split(':');
var name = val_r[0];
var vol = val_r[1];
var unit = val_r[2];
var ph = val_r[3];
var lvalue = '';
if (name) {
if (name == 'random')
vol = ph = '';
else {
if (parseFloat(vol)) {
lvalue += '' + compose_value(parseFloat(vol), 'ul') + ' ';
// alert(vol + ' - ' + parseFloat(vol) + ' - ' + compose_value(parseFloat(vol), 'ul'));
} else
lvalue += 'no volume
';
lvalue += compose_value(stock_CONC[name], unit) + ' ';
}
lvalue += name;
if (ph) {
if (!stock_CLASSES[name] || !stock_CLASSES[name].match(/buffer/)) {
lvalue += 'component \'' + name + '\' is not a buffer, ignoring ph \'' + ph + '\'
';
ph = '';
}
if (ph == 'random')
lvalue += ', random pH';
else if (ph)
lvalue += ', pH ' + fmtF(ph, 2);
}
} else {
if (editp) lvalue = 'edit'; else lvalue = ' ';
name = vol = ph = '';
}
for (c=flag=0; c < options_arr.length; c++) {
if (name == options_arr[c]) {
flag = 1;
break;
}
}
if (!flag && name)
lvalue += '\'' + name + '\' is either not defined or an invalid choice
';
output += lvalue;
} else {
name = vol = ph = '';
if (editp) output += 'edit'; else output += ' ';
}
output += ' ' + vol + '
';
output += ' ' + name + '
';
output += ' ' + ph + '
';
// if (editp) {
output += ' ';
output += ' ';
output += ' ';
// }
// alert('reset_string ' + fld + ', value ' + value + ', type ' + type + ', options ' + options + ', editp ' + editp + ', onchange ' + onchange + '\noutput ' + output);
// alert('reset_string: ' + output);
// alert(output);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp + '\n' + output);
} else if (type == 'volume') {
// alert(value);
if (value && parseFloat(value)) {
output += compose_value(parseFloat(value), 'ul') + ' ';
// alert(value + ' - ' + parseFloat(value) + ' - ' + compose_value(parseFloat(value), 'ul'));
} else {
if (editp) output += 'edit'; else output += ' ';
}
// if (editp)
output += ' ';
// alert('reset_string: ' + output);
} else if (type == 'date') {
yearopts = years.split(':');
if (value) {
matches = value.split('/');
if (!matches[0] && !matches[1] && !matches[2]) lvalue = 'edit'; else lvalue = value;
} else {
matches = new Array('', '', '');
if (editp) lvalue = 'edit'; else lvalue = ' ';
}
output += lvalue;
// if (editp) {
output += ' \n';
output += ' \n';
output += ' \n';
// }
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp + '\n' + output);
} else if (type == 'password') {
value = value.replace(/"/g, """);
if (value)
lvalue = '********';
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
lvalue = lvalue.replace(/(\r?\n)+/g, '');
output += lvalue;
if (editp)
output += ' ';
} else if (type == 'textarea') {
value = value.replace(/"/g, """);
if (value)
lvalue = value;
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
// alert(lvalue);
lvalue = lvalue.replace(/(\r?\n)/g, ' ');
output += lvalue;
// if (editp)
output += ' ';
// alert(output);
} else if (type == 'textspec') {
if (editp) lvalue = 'edit'; else lvalue = ' ';
output += lvalue;
// alert(output);
var text = value.replace(/(\r?\n)+/g, ' ');
text += '';
var evalme = "document." + form + "." + fld + ".style.display = 'none'; ";
// alert(text);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp);
} else if (type == 'html') {
text = '' + value + ' ';
if (editp) output += 'edit ';
// alert(output);
// if (editp)
output += ' ';
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp);
} else if (type == 'email') {
text = '' + value + ' ';
if (editp) output += 'edit ';
// alert(output);
// if (editp)
output += ' ';
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp);
} else if (type == 'template') {
if (value != '') {
template = unescape(template);
text = ' ' + template.replace(/<\*value\*>/g, value);
}
if (value)
lvalue = value;
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
// alert(lvalue);
lvalue = lvalue.replace(/(\r?\n)/g, '');
output += lvalue;
// alert(output);
// if (editp)
output += ' ';
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp);
} else if (type == 'float') {
// alert(value);
if (value != '')
lvalue = value;
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
lvalue = lvalue.replace(/(\r?\n)/g, '');
if (lvalue != 'edit') {
// alert(lvalue);
lvalue = fmtF(lvalue, 10);
// alert(lvalue);
}
output += lvalue;
// if (editp)
output += ' ';
// alert(output);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp);
} else if (type == 'int' || type == 'bigint' || type == 'tinyint') {
// alert(value);
if (value != '')
lvalue = value;
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
lvalue = lvalue.replace(/(\r?\n)/g, '');
if (lvalue != 'edit') {
// alert(lvalue);
lvalue = fmtF(lvalue, 0);
// alert(lvalue);
}
output += lvalue;
// if (editp)
output += ' ';
// alert(output);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp);
} else {
// alert('reset_string ' + fld + ', value ' + value + ', type ' + type + ', template ' + template + ', options ' + options + ', editp ' + editp);
// if (value.match(/nad/i))
// alert(value + ', ' + unescape(value));
value = value.replace(/"/g, """);
// alert(value);
if (value)
lvalue = value;
else
if (editp) lvalue = 'edit'; else lvalue = ' ';
// alert(lvalue);
lvalue = lvalue.replace(/(\r?\n)/g, '');
output += lvalue;
// if (editp)
output += ' ';
// if (value.match(/nad/i))
// alert(output);
// alert(fld + ', ' + value + ', ' + type + ', ' + options + ', ' + editp);
}
if (editp)
output += '
';
// alert(output);
mydiv.innerHTML = output;
// alert(mydiv.innerHTML);
if (text)
mydiv.innerHTML += text;
//if(type=='select')
//alert('reset_string: ' + mydiv + ' ' + mydiv.innerHTML);
//if (fld == 'Options_28') {
// alert(mydiv.innerHTML);
//}
if (type == 'checkbox' || type == 'textspec')
eval(evalme);
}
function calc_recipe(field, conc, stockconc, unit, name, volume, formula, molweight, density) {
// alert(field + ' ' + conc + ' ' + stockconc + ' ' + unit + ' ' + name + ' ' + volume + ' ' + formula + ' ' + molweight + ' ' + density);
eval ('mydiv_recipe = document.getElementById(\"' + field + '\")');
if (!name || !conc) {
mydiv_recipe.innerHTML = ' ';
return;
}
if (!unit) {
mydiv_recipe.innerHTML = '