function fixStrings(string) {
    for (var i=0, output='', valid="eE-0123456789."; i<string.length; i++)
       if (valid.indexOf(string.charAt(i)) != -1)
          output += string.charAt(i)
    return output;
} 

function calcohmslaw() {
  var lvolts, lamps, lwatts, lohms;
  var mvolts, mamps, mwatts, mohms;

  with (document.ohmslaw) {
	lvolts = fixStrings(volts.value);
	volts.value = lvolts;
	lamps = fixStrings(amps.value);
	amps.value = lamps;
	lwatts = fixStrings(watts.value);
	watts.value = lwatts;
	lohms = fixStrings(ohms.value);
	ohms.value = lohms;

    for (i = 0; i < 4; i++){
	  if (rb_volts[i].checked) mvolts = parseFloat(rb_volts[i].value);
	  if (rb_amps[i].checked) mamps = parseFloat(rb_amps[i].value);
	  if (rb_ohms[i].checked) mohms = parseFloat(rb_ohms[i].value);
	  if (rb_watts[i].checked) mwatts = parseFloat(rb_watts[i].value);
	}
  }

  var valuesEntered = 0;
  if (lvolts == "") valuesEntered++;
  if (lamps == "") valuesEntered++;
  if (lwatts == "") valuesEntered++;
  if (lohms == "") valuesEntered++;

  if (valuesEntered < 2 || valuesEntered > 2) {
    alert("You must enter exactly 2 values.");
	return;
  }

  if ((lvolts != "") & (lamps != "")){
    lvolts = parseFloat(lvolts) * mvolts;
    lamps = parseFloat(lamps) * mamps;
	lwatts = lvolts * lamps;
	lohms = lvolts / lamps;
  }
  else if ((lvolts != "") & (lohms != "")){
    lvolts = parseFloat(lvolts) * mvolts;
    lohms = parseFloat(lohms) * mohms;
	lwatts = (lvolts * lvolts) / lohms;
	lamps = (lvolts / lohms);
  }
  else if ((lvolts != "") & (lwatts != "")){
    lvolts = parseFloat(lvolts) * mvolts;
    lwatts = parseFloat(lwatts) * mwatts;
	lamps = lwatts / lvolts;
	lohms = (lvolts * lvolts) / lwatts;
  }
  else if ((lamps != "") & (lohms != "")){
    lamps = parseFloat(lamps) * mamps;
    lohms = parseFloat(lohms) * mohms;
	lvolts = lamps * lohms;
	lwatts = (lamps * lamps) * lohms;
  }
  else if ((lamps != "") & (lwatts != "")){
    lamps = parseFloat(lamps) * mamps;
    lwatts = parseFloat(lwatts) * mwatts;
	lvolts = lwatts / lamps;
	lohms = lwatts / (lamps * lamps);
  }
  else if ((lohms != "") & (lwatts != "")){
    lohms = parseFloat(lohms) * mohms;
    lwatts = parseFloat(lwatts) * mwatts;
	lvolts = Math.sqrt(lwatts * lohms);
	lamps = Math.sqrt(lwatts / lohms);
  }

	with (document.ohmslaw){
	  volts.value = lvolts / mvolts;
	  amps.value = lamps / mamps;
	  watts.value = lwatts / mwatts;
	  ohms.value = lohms / mohms;
	}

}
