<!--
factors = new Array(0,1,3,6,48,96,.21,211.69,0,1,8,16,32,128,153,256,1024,33.83,.034);
//--dry--, teaspoon, tablespoon, ounce, cup, pound, gram, kilo, fluid ounce, cup, pint, quart, gallon, peck, bushel, liter, milli liter

var calcText = ''
calcText += '<CENTER><FONT SIZE=2 face=helvetica,arial><B>Convert Dry to Dry OR Liquid to Liquid Measures</B><BR>'
calcText += '<B>From</B> <INPUT NAME="number1" TYPE="text" SIZE="12" onChange="measureCalc(this.form)" value="Write Quantity">'
calcText += '<SELECT NAME="measure_type1" onChange="measureCalc(this.form)" class=drop>'
calcText += '<OPTION>---- Dry Items ----'
calcText += '<OPTION VALUE="dry">(Dry Item) teaspoon(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) tablespoon(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) ounce(s)'
calcText += '<OPTION VALUE="dry" selected>(Dry Item) cup(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) pound(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) gram(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) kilo(s)'
calcText += '<OPTION>--- Liquid Items ---'
calcText += '<OPTION VALUE="liquid">(Liquid Item) fluid ounce(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) cup(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) pint(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) quart(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) gallon(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) imperial gallon(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) peck(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) bushel(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) liter(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) milli liter(s)'
calcText += '</SELECT><BR>'
calcText += '<B>To </B>&nbsp;&nbsp;&nbsp; <INPUT NAME="number2" TYPE="text" SIZE="12" onChange="measureCalc(this.form)">'
calcText += '<SELECT NAME="measure_type2" onChange="measureCalc(this.form)" class=drop>'
calcText += '<OPTION SELECTED>---- Dry Items ----'
calcText += '<OPTION VALUE="dry">(Dry Item) teaspoon(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) tablespoon(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) ounce(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) cup(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) pound(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) gram(s)'
calcText += '<OPTION VALUE="dry">(Dry Item) kilo(s)'
calcText += '<OPTION>--- Liquid Items ---'
calcText += '<OPTION VALUE="liquid">(Liquid Item) fluid ounce(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) cup(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) pint(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) quart(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) gallon(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) imperial gallon(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) liter(s)'
calcText += '<OPTION VALUE="liquid">(Liquid Item) milli liter(s)'
calcText += '</SELECT></CENTER>'

function printCalc() {
	document.write(calcText);
}

function measureCalc(form) {
	var fromNumber = form.number1.value;
 	var result = fromNumber;
	var fromDryLiquid = form.measure_type1.options[form.measure_type1.selectedIndex].value;
	var toType = form.measure_type2.options[form.measure_type2.selectedIndex].text;
	var toDryLiquid = form.measure_type2.options[form.measure_type2.selectedIndex].value;
	if ((fromDryLiquid == toDryLiquid) && fromDryLiquid != "" && checkNumber(fromNumber)) {
 		result = result * factors[form.measure_type1.selectedIndex];
 		result = result / factors[form.measure_type2.selectedIndex];
 		form.number2.value = result;
		}
	else {
		if (fromDryLiquid == "liquid") {
			form.measure_type2.selectedIndex = 8;
			}
		else {
			form.measure_type2.selectedIndex = 0;
		}
		form.number2.value = "";
	}
}

function checkNumber(number) {
	for (var i = 0; i < number.length; i++) {
		var oneChar = number.charAt(i);
		if ((oneChar >= "0" && oneChar <= "9") || (oneChar == ".")) {
			return true;
			}
		else {
			return false;
		}
	}
	return false;
}
<!--BEGIN Script
//    Script Editor:   Howard Chen
//    Browser Compatible for the script: IE 2.0 or Higher
//                                       Netscape 2.0 or Higher
//    This script is free as long as you keep its credits
/*The way this works is the converter converts the number
into the smallest unit in the converter, in this case it will
be gram, and then it converts the unit fram gram to other units.*/
function nofocus()
{
document.convert.InUnit.focus()
}
var gValue = 1
var kgValue = 1000
var ounceValue = 28.3495
var lbValue = 453.592
var tValue = 907184
function toCM()
{
var i = document.convert.unit.selectedIndex
var thisUnit = document.convert.unit.options[i].value
if (thisUnit == "G")
{
document.convert.g.value = document.convert.InUnit.value
}
else if(thisUnit == "KG")
{
document.convert.g.value = document.convert.InUnit.value * kgValue
}
else if(thisUnit == "OUNCE" )
{
document.convert.g.value = document.convert.InUnit.value * ounceValue
}
else if(thisUnit == "LB" )
{
document.convert.g.value = document.convert.InUnit.value * lbValue
}
else if(thisUnit == "T" )
{
document.convert.g.value = document.convert.InUnit.value * tValue
}
toAll()
}
function toAll()
{
var m = document.convert.g.value
document.convert.kg.value = m / kgValue
document.convert.ounce.value = m / ounceValue
document.convert.lb.value = m / lbValue
document.convert.t.value = m / tValue
}


<!-- Original:  Cut-N-Paste JavaScript
<!-- This script and many more available at The JavaScript Source!!  -->
<!-- via the Internet  U R L :  http://www.compfund.com/javascript/  -->
<!-- Begin
function initArray() {
this.length = initArray.arguments.length;
for (var i = 0; i < this.length; i++) {
this[i] = initArray.arguments[i];
   }
}
var isn01 = new initArray("4b","5b","8b","8b");
isn01[0] = "~01~10.3937~20.03281~30.01094~40.01~50.0004971~60.00001~70.000006214~8";
isn01[1] = "~02.540~11~20.08333~30.02778~40.0254~50.001263~60.0000254~70.00001578~8";
isn01[2] = "~030.48~112~21~30.3333~40.3048~50.01515~60.0003048~70.0001894~8";
isn01[3] = "~091.44~136~23~31~40.9144~50.04545~60.0009144~70.0005682~8";
isn01[4] = "~0100~139.37~23.281~31.0936~41~50.04971~60.001~70.0006214~8";
isn01[5] = "~02012~1792~266~322~420.12~51~60.0212~70.0125~8";
isn01[6] = "~0100000~139370~23281~31093.6~41000~549.71~61~70.6214~8";
isn01[7] = "~0160934~163360~25280~31760~41609~580~61.609~71~8";
function lenCon() {
for (var i = 0; i < 8; i++) {
if (document.isnform01.leni[i].checked) {
leni = i;
leninm = document.isnform01.leni[i].value;
   }
}
for (var i = 0; i < 8; i++) {
if (document.isnform01.leno[i].checked) {
leno = i;
lenonm = document.isnform01.leno[i].value;
   }
}
useri = document.isnform01.leninp.value;
if (useri == 0) {
useri = 1;
document.isnform01.leninp.value = useri;
}
mulstr = isn01[leni];
picker = "~" + leno;
ps = mulstr.indexOf(picker);
leno++;
picker = "~" + leno;
ps1 = mulstr.indexOf(picker);
mulstr = mulstr.substring((ps + 2),ps1);
ps = (useri * mulstr);
picker = "";
picker += ps
ps1 = picker.indexOf(".");
if (ps1 > -1) {
ps = ps + .000001;
 picker = "";
picker += ps;
ps2 = picker.indexOf("e");
if (ps2 < 0) {
picker = picker.substring(0,(ps1 + 6));
}
if (ps2 == 0 || ps2 > 0) {
ps3 = picker.indexOf("00000");
if (ps3 > 0) {
picker = picker.substring(0,ps3 + 1) + picker.substring(ps2,picker.length);
      }
   }
}
picker = useri + " " + leninm + " = " + picker + " " + lenonm
document.isnform01.lenout.value = picker;
}
// -->
