//Dry measure variables
var teaspoon = "teaspoon(s)";
var tablespoon = "tablespoon(s)";
var cup = "cup(s)";
var pint = "pint(s)";
var quart = "quart(s)";
var gallon = "gallon(s)";
var peck = "peck(s)";
var bushel = "bushel(s)";
var barrel = "barrel(s)";

var teaspoonAbbrev = "tsp";
var tablespoonAbbrev = "Tbsp";
var cupAbbrev = "c";
var pintAbbrev = "pt";
var quartAbbrev = "qt";
var gallonAbbrev = "gal";
var peckAbbrev = "pk";
var bushelAbbrev = "bu";
var barrelAbbrev = "barrel(s)";

var dryMeasureArray = new Array(8);

  var teaspoonIndex = 0;
  var tablespoonIndex = 1;
  var cupIndex = 2;
  var pintIndex = 3;
  var quartIndex = 4;
  var gallonIndex = 5;
  var peckIndex = 6;
  var bushelIndex = 7;
  var barrelIndex = 8;
  
  var tTratio = 3;
  var tcupratio = 48;
  var tptratio = 96;
  var tqtratio = 192;
  var tgalratio = 768;
  var tpkratio = 1536;
  var tburatio = 6154;
  var tbrratio = 16896;

  var Tcupratio = 16;
  var Tptratio = 32;
  var Tqtratio = 64;
  var Tgalratio = 256;
  var Tpkratio = 512;
  var Tburatio = 2048;
  var Tbrratio = 5632;

  var cupptratio = 2;
  var cupqtratio = 4;
  var cupgalratio = 16;
  var cuppkratio = 32;
  var cupburatio = 128;
  var cupbrratio = 352;

  var ptqtratio = 2;
  var ptgalratio = 8;
  var ptpkratio = 16;
  var ptburatio = 64;
  var ptbrratio = 176;

  var qtgalratio = 4;
  var qtpkratio = 8;
  var qtburatio = 32;
  var qtbrratio = 88;

  var galpkratio = 2;
  var galburatio = 8;
  var galbrratio = 31;

  var pkburatio = 4;
  var pkbrratio = 11;

  var bubrratio = 2.75;

  var formlist = "";

function formatDryArray(formatType)
{
  if (formatType=='short')
  {
    dryMeasureArray[0] = teaspoonAbbrev;
    dryMeasureArray[1] = tablespoonAbbrev;
    dryMeasureArray[2] = cupAbbrev;
    dryMeasureArray[3] = pintAbbrev;
    dryMeasureArray[4] = quartAbbrev;
    dryMeasureArray[5] = gallonAbbrev;
    dryMeasureArray[6] = peckAbbrev;
    dryMeasureArray[7] = bushelAbbrev;
    dryMeasureArray[8] = barrelAbbrev;
  }
  else
  {
    dryMeasureArray[0] = teaspoon;
    dryMeasureArray[1] = tablespoon;
    dryMeasureArray[2] = cup;
    dryMeasureArray[3] = pint;
    dryMeasureArray[4] = quart;
    dryMeasureArray[5] = gallon;
    dryMeasureArray[6] = peck;
    dryMeasureArray[7] = bushel;
    dryMeasureArray[8] = barrel;
  }
}

function convertDryMeasure()
{
  //alert('convertDryMeasure...begin');    //JWC999
  var result;
  
  //alert('convertDryMeasure...decimalPlaces=' + document.dryForm.dryMeasureDecimalPlaces.value);    //JWC999
  var decimalplaces = Number(document.dryForm.dryMeasureDecimalPlaces.value);
  //alert('convertDryMeasure...quantity=' + document.dryForm.dryMeasureQuantity.value);    //JWC999
  var quantity = getQuantity(document.dryForm.dryMeasureQuantity.value);
  //alert('convertDryMeasure...measureFrom=' + document.dryForm.dryMeasureFrom.value);    //JWC999
  var measureFrom = Number(document.dryForm.dryMeasureFrom.value);
  //alert('convertDryMeasure...measureTo=' + document.dryForm.dryMeasureTo.value);    //JWC999
  var measureTo = Number(document.dryForm.dryMeasureTo.value);

  //alert('convertDryMeasure...measureFrom=' + measureFrom);    //JWC999
  if (measureFrom == teaspoonIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity / tTratio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity / tcupratio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity / tptratio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity / tqtratio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity / tgalratio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity / tpkratio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity / tburatio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / tbrratio;
    }
  }
  //tablespoonIndex
  else if (measureFrom == tablespoonIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tTratio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity / Tcupratio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity / Tptratio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity / Tqtratio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity / Tgalratio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity / Tpkratio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity / Tburatio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / Tbrratio;
    }
  }
  //cupIndex
  else if (measureFrom == cupIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tcupratio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity * Tcupratio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity / cupptratio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity / cupqtratio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity / cupgalratio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity / cuppkratio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity / cupburatio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / cupbrratio;
    }
  }
  //pintIndex
  else if (measureFrom == pintIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tptratio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity * Tptratio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity * cupptratio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity / ptqtratio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity / ptgalratio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity / ptpkratio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity / ptburatio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / ptbrratio;
    }
  }
  //quartIndex
  else if (measureFrom == quartIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tqtratio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity * Tptratio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity * cupqtratio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity * ptqtratio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity / qtgalratio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity / qtpkratio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity / qtburatio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / qtbrratio;
    }
  }
  //gallonIndex
  else if (measureFrom == gallonIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tgalratio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity * Tgalratio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity * cupgalratio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity * ptgalratio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity * qtgalratio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity / galburatio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity / galburatio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / galbrratio;
    }
  }
  //peckIndex
  else if (measureFrom == peckIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tpkratio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity * Tpkratio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity * cuppkratio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity * ptpkratio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity * qtpkratio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity * galpkratio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity / pkburatio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / pkbrratio;
    }
  }
  //bushelIndex
  else if (measureFrom == bushelIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tburatio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity * Tburatio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity * cupburatio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity * ptburatio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity * qtburatio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity * galburatio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity * pkburatio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity / bubrratio;
    }
  }
  //barrelIndex
  else if (measureFrom == barrelIndex)
  {
    if (measureTo == teaspoonIndex)
    {
      result = quantity * tbrratio;
    }
    else if (measureTo == tablespoonIndex)
    {
      result = quantity * Tbrratio;
    }
    else if (measureTo == cupIndex)
    {
      result = quantity * cupbrratio;
    }
    else if (measureTo == pintIndex)
    {
      result = quantity * ptbrratio;
    }
    else if (measureTo == quartIndex)
    {
      result = quantity * qtbrratio;
    }
    else if (measureTo == gallonIndex)
    {
      result = quantity * galbrratio;
    }
    else if (measureTo == peckIndex)
    {
      result = quantity * pkbrratio;
    }
    else if (measureTo == bushelIndex)
    {
      result = quantity * bubrratio;
    }
    else if (measureTo == barrelIndex)
    {
      result = quantity;
    }
  }

  document.dryForm.dryMeasureQuantity.value = quantity;
  document.dryForm.dryMeasureResult.value = document.dryForm.dryMeasureQuantity.value + ' ' + dryMeasureArray[measureFrom] + ' = ' + formatNumber(result,decimalplaces) + ' ' + dryMeasureArray[measureTo];
  return false;
}

function clearDryResult()
{
  document.dryForm.dryMeasureResult.value = "";
}

