void function calc(gear_form, bAnalyze)
{
   var front = parseFloat(gear_form.chainwheel.value);
   var rear = parseFloat(gear_form.freewheel.value);
   var wheelsize = parseFloat(gear_form.wheelsize.value);
   var gear_ratio = front / rear;
   var gear_size = ( front / rear ) * wheelsize;

   gear_ratio = parseInt((gear_ratio + .005) * 100) / 100;  // round to 2 decimal places
   gear_size = parseInt((gear_size + .005) * 100) / 100;    // round to 2 decimal places

   gear_form.gearsize.value = gear_size;
   gear_form.gearratio.value = gear_ratio;
   gear_form.gearsize.disabled = true;
   gear_form.gearratio.disabled = true;

   if ( bAnalyze )
   {
      analyze_gear(gear_ratio);
   }
}


function analyze_gear(gear_ratio)
{ 
  var sMsg = "";

  if ( gear_ratio > 2.9 )
  {
     sMsg = "This is a high gear.  It provides higher speeds, but slower acceleration.\n";
     sMsg += "This gear ratio is ideal for downhill bmx tracks or some trail riding.";
  }
  else if ( gear_ratio < 2.65 && gear_ratio > 2.5 )
  {
     sMsg = "This is a low gear.  It provides quick acceleration but slower speeds.\n";
     sMsg += "This gear ratio is ideal for street riding or tight, technical bmx tracks.";
  }
  else if ( gear_ratio <= 2.5 )
  {
     sMsg = "This is a very low gear.  It allows great acceleration but not much speed.\n";
     sMsg += "This gear ratio is ideal for flatland or technical mini-ramp riding.";
  }
  else
  {
     sMsg = "This is a normal gear.  It allows a balanced mix of acceleration and speed.\n";
     sMsg += "This gear ratio is ideal for most bmx tracks, dirt jumping, street, and most ramp riding.";
  }

  var sText = "";
  var sURL = "";
  var sName = "GearInfoWin";
  var lWidth = 500;
  var lHeight = 150;
  var lLeft = (screen.availWidth / 2) - (lWidth / 2);
  var lTop = (screen.availHeight / 2) - (lHeight / 2);
  var sFeatures = "directories=false,menubar=false,resizable=false,scrollbars=false,status=false,toolbar=false,";
  sFeatures += "height=" + lHeight + ",width=" + lWidth + ",left=" + lLeft + ",top=" + lTop;

  
  var oNewWin = window.open(sURL,sName,sFeatures);

  sText += "<html>";
  sText += "<head>";
  sText += "<title>Dan's Gear Information</title>";
  sText += "</head>";
  sText += "<body>";
  sText += "<table>";
  sText += "<tr>";
  sText += "<td width=160><img width=150 height=92 src='gearinfopic.jpg'></td>";
  sText += "<td><font face=Verdana,Tahoma,Arial size=2>" + sMsg + "</font></td>";
  sText += "</tr>";
  sText += "</table>";
  sText += "</body>";
  sText += "</html>";

  oNewWin.document.writeln(sText);

  //alert(sMsg);
}
