  // ALL THE EDITABLE VARIABLES SPECIFIC TO THE AC TO INITIATE 
  // OR RESET THE FIELDS TO DEFAULT VALUES FOLLOW: *************
  // This data comes from AC current W & B records and
  // Airplane Flight Manual/'POH' or Type Certificate Data Sheet.

  var oilqtmax = "8";          // max oil capacity, quarts - ref.
  var fuel1galmax = "53";      // max useable fuel, gallons - ref.
  var bagg1max = "120";        // maximum baggagge, lbs. - ref.

  // values for AC max gross weight and maneuvering speed at max gross
  maxwt = 2550;
  Vam = 105;                    // kts

function initMax(_oil, _fuel, _bag, _maxwt, _vam) {
	oilqtmax = _oil;
	fuel1galmax = _fuel;
	bagg1max = _bag;
	maxwt = _maxwt;
	Vam = _vam;	
}

function initWB(_ew, _ewarm, _fuelq, _fuelarm, _frontarm, _reararm, _bagarm) {
  // This function - December 2003 - Robert A. Booty
  // http://home.new.rr.com/trumpetb/alph/
  var df = document.wbform;  // reduce clutter

  df.ew.value = _ew;          // from AC current W&B records
  df.ewarm.value = _ewarm;       // from AC current W&B records

  df.oilqt.value = 0;          // 'quarts' oil is a convenient input
  df.oilarm.value = -14.0;

  df.f1w.value = 130;          // front seats
  df.f2w.value = 0;
  df.f1arm.value = _frontarm;

  df.fuel1gal.value = _fuelq;      // 'gallons' fuel is a convenient input
  df.fuel1arm.value = _fuelarm;

  df.r1w.value = 0;          // rear seats
  df.r2w.value = 0;
  df.r1arm.value = _reararm;

  df.bag1w.value = 20;         // baggage
  df.bag1arm.value = _bagarm;

  // ********** END EDITABLE SPECIFIC DEFAULT VALUES ***********
  // make a GIF for the load limits chart and calibrate x and y in WB_Plot function.

  doCalc();
}

function WB_Plot(weight, arm) {
  // This function --> credit David Williams page:
  // http://www.dmjwilliams.co.uk/gbsep_weight_balance.htm

  // Left axis 34 in. margin on the wb172N.gif is 50 pixels.
  // 48 in. on the wb172N.gif graph is 453 pixels.  
  // 48-34=14 in., 453-50=403 px., 403/14=28.79 px/inx cal. factor...
/*
  var x = Math.round(50 + (arm - 34) * 28.79) - 16;    //16 is 1/2 bug dia.

  // Bottom axis 1400 lb. on the wb172N.gif is 232 pixels.
  // 2400 lb. on the wb172N.gif graph is 1 pixel.
  // 2400-1400=1000 lb., 232-1=231 px. ...

  var y = 232 - Math.round(((weight - 1400) / 1000) * 231) - 16;

  with (document.images.bugImage.style) {
    left = x + 'px';
    top  = y + 'px';
    visibility = "visible";
  }
  */
}

function doCalc() {
  // This function - March, 2001 - Robert A. Booty
  // last revised December 10, 2003 - R.A.B.
  // http://home.new.rr.com/trumpetb/alph/
  var df = document.wbform;   // reduce clutter

  var ew = df.ew.value;
  var ewarm = df.ewarm.value;
  var ewmom = ew * ewarm;
  df.ewmom.value = Math.round(ewmom*100)/100;
	
  var oilqt = df.oilqt.value;
  var oilw = oilqt / 4 * 7;
  df.oilw.value = Math.round(oilw);
  var oilarm = df.oilarm.value;
  var oilmom = oilw * oilarm;
  df.oilmom.value = Math.round(oilmom*100)/100;

  var f1w = df.f1w.value;
  var f2w = df.f2w.value;
  var f1arm = df.f1arm.value;
  var f1mom = -1 * (-f1w - f2w) * f1arm;
  df.f1mom.value = Math.round(f1mom*100)/100;

  var fuel1gal = df.fuel1gal.value;
  var fuel1w = fuel1gal * 6;
  df.fuel1w.value = Math.round(fuel1w*100)/100;
  var fuel1arm = df.fuel1arm.value;
  var fuel1mom = fuel1w * fuel1arm;
  df.fuel1mom.value = Math.round(fuel1mom*100)/100;

  var r1w = df.r1w.value;
  var r2w = df.r2w.value;
  var r1arm = df.r1arm.value;
  var r1mom = -1 * (-r1w - r2w) * r1arm;
  df.r1mom.value = Math.round(r1mom*100)/100;

  var bag1w = df.bag1w.value;
  var bag1arm = df.bag1arm.value;
  var bag1mom = bag1w * bag1arm;
  df.bag1mom.value = Math.round(bag1mom*100)/100;

  var totmom = -1 * (-ewmom -oilmom -f1mom -fuel1mom -r1mom -bag1mom);
  df.totmom.value = Math.round(totmom*100)/100;

  var totwt = -1 * (-ew -oilw -f1w -f2w -fuel1w -r1w -r2w -bag1w);
  df.totwt.value = Math.round(totwt*100)/100;

  var totarm = totmom / totwt;
  df.totarm.value = Math.round(totarm*100)/100;

  // Decrease in Va with decrease in weight based on approximation of:
  // decrease Va by half the percentage that the total weight is below maximum.
  var Vva = Vam - ((((maxwt - totwt) / maxwt) / 2) * Vam);
  df.Vva.value = Math.round(Vva);

  // Show the bug on the graph...
  WB_Plot(df.totwt.value, df.totarm.value);
  
  //Display warning 
  if (totwt > maxwt) {
  	document.getElementById("overweight").style.display = "inline";
  	document.getElementById("grossweight").style.background = "#ffcccc";
  } else {
  	document.getElementById("overweight").style.display = "none";
  	document.getElementById("grossweight").style.background = "#e7e7e7";
  }
}
