// round to 2 decimal places
function round(x) {
	return Math.round(x*100)/100;
}

// check if valid number entered
function isValid(field) {
	if (isNaN(field.value)||(field.value=="")) {
  	alert("Please enter a number in the text box.")
		field.focus()
		field.select()
		return false
	} else {
	return true
	}
}


// convert US to metric
function convToMet(form) {
// check for valid number
	if (!isValid(form.valUS)) {
		return false
	} else {
	var val = eval(form.valUS.value)
	}
	var result = 0
	var send = ""
	
	// which unit of measurement selected?
	var unit = form.measUS.options[form.measUS.selectedIndex].text
	switch (unit) {
  	case "miles":
  		result = val * 1.609
			send += round(result) + " kilometers"
			result2 = (val * 1.609) * 1000
			send += "\n\t" + round(result2) + " meters"
			break
  	case "yards":
	  	result = val * .9144
			send += round(result) + " meters"
			break
  	case "feet":
			result = val * .3048
			send += round(result) + " meters"
			result2 = (val * .3048) * 100
			send += "\n\t" + round(result2) + " centimeters"
			break
		case "inches":
			result = val * 2.54
			send += round(result) + " centimeters"
			break
		case "pounds":
			result = val * .454
			send += round(result) + " kilograms"
			break
		case "ounces":
			result = val * 28.35
			send += round(result) + " grams"
			break
		case "gallons":
			result = val * 3.785
			send += round(result) + " liters"
			break
		case "quarts":
			result = val * .946
			send += round(result) + " liters"
			break
		case "pints":
	  	result = val * .473
			send += round(result) + " liters"
		
  }
form.outputUS.value = "" + val + " " + unit + " equals:\n\t" + send
}

// convert metric to US
function convToUS(form) {
	// check for valid number
	if (!isValid(form.valM)) {
		return false
	} else {
  	var val = eval(form.valM.value)
  }
	
	var result = 0
	var send = ""

	// which unit of measurement selected?
	var unit = form.measM.options[form.measM.selectedIndex].text
	switch (unit) {
  	case "kilometers":
  		result = val * .621
			send += round(result) + " miles"
			break
  	case "meters":
	  	result = val * 1.0936
			send += round(result) + " yards"
			result2 = val * 3.281
			send += "\n\t" + round(result2) + " feet"
			break
		case "centimeters":
			result = val * .3937
			send += round(result) + " inches"
			break
		case "kilograms":
			result = val * 2.2046
			send += round(result) + " pounds"
			break
		case "grams":
			result = val * .035
			send += round(result) + " ounces"
			break
		case "liters":
			result = val * .264
			send += round(result) + " gallons"
			result2 = val * 1.057
			send += "\n\t" + round(result2) + " quarts"
	  	result3 = val * 2.113
			send += "\n\t" + round(result3) + " pints"
		
  }
form.outputM.value = "" + val + " " + unit + " equals:\n\t" + send
}
