function verify_salt(f) {
    if (f.saltunit.options[0].selected && (f.Sodium.value > 1 || f.Sodium.value < 0.01)) {
	alert("[Na+] must be between 0.01 M and 1 M");
	return false;
    } else if (f.saltunit.options[1].selected && (f.Sodium.value > 1000 || f.Sodium.value < 10)) {
	alert("[Na+] must be between 10 mM and 1000 mM");
	return false;
    } else if (f.saltunit.options[0].selected && (f.Magnesium.value > 0.1 || f.Magnesium.value < 0)) {
	alert("[Mg++] must be between 0 and 0.1 M");
	return false;
    } else if (f.saltunit.options[1].selected && (f.Magnesium.value > 100 || f.magnesium.value < 0)) {
	alert("[Mg++] must be between 0 and 100 mM");
	return false;
    }
    return true;
}

function verify() {
    var f = document.forms['hybrid2'];
    if (f.seq1.value.length > 100 || f.seq2.value.length > 100) {
	alert("Sequence length may not exceed 50 bases");
	return false;
    } else if ((f.tmax.value - f.tmin.value) / f.tinc.value > 200) {
	alert("Temperature range may not exceed 200 temperatures");
	return false;
    } else if (f.tmax.value - f.tmin.value < 10) {
	var x = Math.ceil((10 - Number(f.tmax.value) + Number(f.tmin.value)) / 2);
	f.tmax.value = Number(f.tmax.value) + x;
	f.tmin.value = Number(f.tmin.value) - x;
	alert("Temperature range too small.  Minimum and maximum temperature adjusted by " + x + ".");
	return false;
    } else if ((f.tmax.value - f.tmin.value) / f.tinc.value < 20) {
	f.tinc.value = (f.tmax.value - f.tmin.value) / 20;
	alert("Temperature range too small.  Temperature increment changed to " + f.tinc.value + ".");
	return false;
    } else if (f.A0.value <= 0 || f.B0.value <= 0) {
	alert("Strand concentrations must be positive");
	return false;
    } else if (f.NA[1].checked && (f.Sodium.value != 1 || f.Magnesium.value != 0 || f.polymer.checked)) {
	alert("Salt corrections are not supported for RNA");
	return false;
    } else if (f.Magnesium.value != 0 && f.polymer.checked) {
	alert("[Mg++] correction is not supported in polymer mode");
	return false;
    }
    return verify_salt(f);
}
