
//    9/5/00 15:06
//    var name                             scale  foll err hf o'shoohf res   limit cyclow bw   lf o'shoolf res   dyn stif stat stifrand noisslow settun-der sivar iner vibrationzero-spd cost     time
var   WtsAddDamping            = new Array(   0.2,       0,       2,       9,       0,       0,       0,       9,       0,       0,       0,       0,       0,       0,       0,       0,       0,     -10);
var   WtsAddTrans              = new Array(   0.4,       0,       0,       8,     -10,       0,       0,      10,       3,       5,       7,       0,       7,       7,     -10,     -10,       4,     -10);
var   WtsCorrWire              = new Array(     1,       0,       0,       0,       0,       0,       0,       0,       0,       0,       5,       0,       0,       0,       0,       0,      -2,      -3);
var   WtsDirDrive              = new Array(   0.3,       0,       2,      10,      10,       0,       0,      10,      -3,      -5,       0,       8,       0,      -5,      10,      10,      -8,     -10);
var   WtsDualLoop              = new Array(   0.3,       0,       0,       0,       5,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,      10,      -5,      -7);
var   WtsElimBrush             = new Array(   0.5,       0,       0,       0,       0,       0,       0,       0,       0,       0,      10,       0,       0,       0,       0,       0,      -4,      -6);
var   WtsGainSched             = new Array(   0.3,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,      10,       0,       0,      -2,      -4);
var   WtsLowerAffVff           = new Array(     1,     -10,       0,       0,       0,     -10,      10,       0,       0,       0,       0,      -5,       0,       6,       0,       0,       0,       0);
//
var   WtsLowerBack             = new Array(   0.5,       0,       0,       0,      10,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,      10,      -4,      -5);
var   WtsLowerGP               = new Array(     1,      -8,       0,       0,       5,      -8,      10,       0,       0,      -4,       0,      -8,       0,       0,       0,       0,       0,       0);
var   WtsLowerKV               = new Array(     1,       0,      10,      10,      -5,     -10,     -10,      10,     -10,     -10,      10,      -8,       0,      10,      10,       0,       0,       0);
var   WtsLowerKVFR             = new Array(   0.6,     -10,       0,       0,       0,     -10,      10,       0,       0,      10,       0,      10,       0,       0,       0,       0,       0,       0);
var   WtsLowerKVI              = new Array(     1,      -3,       0,       0,       0,      -4,      10,       0,       0,     -10,       0,      -7,       0,       0,       0,       0,       0,       0);
var   WtsLowerMJ               = new Array(   0.5,       0,       0,     -10,       0,       0,       0,     -10,       0,       0,       5,       0,      10,      -5,      -2,       0,       2,      -5);
var   WtsLowerPLoopInt         = new Array(   0.2,     -10,       0,       0,       8,       0,      10,       0,       0,      -5,       0,       5,       0,       0,       0,       0,       0,       0);
var   WtsLowerStiction         = new Array(   0.4,       0,       0,       0,      10,       0,       0,       0,       0,       0,       0,      10,       0,       0,       0,       7,      -7,      -7);
//
var   WtsLowPass               = new Array(     1,       0,     -10,      10,       0,       0,       0,      -7,       0,       0,      10,       0,       0,       0,       0,       0,       0,       0);
var   WtsNotch                 = new Array(   0.7,       0,       0,      10,       0,       0,       0,       0,       0,       0,       0,       0,       0,     -10,       0,       0,       0,       0);
var   WtsRaiseAccur            = new Array(   0.8,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,       0,      10,      10,      -8,      -3);
var   WtsRaiseAffVff           = new Array(     1,      10,       0,       0,       0,      10,     -10,       0,       0,       0,       0,       5,       0,      -6,       0,       0,       0,       0);
var   WtsRaiseGear             = new Array(   0.5,       0,       2,      10,       0,       0,       0,      10,       3,      10,       7,       0,      10,      10,       0,       0,       0,      -5);
var   WtsRaiseGP               = new Array(     1,       8,       0,       0,      -5,       2,     -10,       0,       0,       4,       0,       8,       0,       0,       0,       0,       0,       0);
var   WtsRaiseKV               = new Array(     1,      10,     -10,     -10,       5,      10,       0,     -10,      10,      10,     -10,       8,       0,     -10,     -10,       0,       0,       0);
var   WtsRaiseKVFR             = new Array(   0.4,      10,       0,       0,       0,      10,     -10,       0,       0,     -10,       0,      10,       0,       0,       0,       0,       0,       0);
//
var   WtsRaiseKVI              = new Array(     1,       3,       0,       0,       0,       4,     -10,       0,       0,      10,       0,       7,       0,       0,       0,       0,       0,       0);
var   WtsRaiseMJ               = new Array(   0.7,       0,       0,      10,       0,       0,       0,      10,       0,       0,      -5,       0,     -10,       5,       2,       0,      -2,      -5);
var   WtsRaisePLoopInt         = new Array(   0.2,      10,       0,       0,      -8,       0,     -10,       0,       0,       5,       0,      -5,       0,       0,       0,       5,       0,       0);
var   WtsRaiseResol            = new Array(   0.8,       0,       0,       0,      10,       0,       0,       0,       0,       0,      10,       0,       0,       0,       0,       5,      -5,      -3);
var   WtsReduceLag             = new Array(   0.6,       0,      10,      -3,       0,       0,       0,       5,       0,       0,     -10,       0,       0,       0,       0,       0,       0,       0);
var   WtsStiffenTrans          = new Array(   0.6,       0,       0,       6,       7,       0,       0,      10,       0,       0,       0,       0,       0,       0,       0,       5,      -5,      -8);
var   WtsToOnBoard             = new Array(   0.4,       0,       4,       0,       0,       0,       0,       4,       0,       0,      10,       0,       0,       0,       0,       0,       0,      -6);
var   WtsToSercos              = new Array(   0.4,       0,       4,       0,       0,       0,       0,       4,       0,       0,      10,       0,       0,       0,       0,       0,      -5,      -8);
//
var   WtsToTqDrive             = new Array(     1,       0,      -5,       0,       0,       0,       0,      -2,       0,       0,       4,       0,       0,       0,       0,       0,       3,      -2);
var   WtsToVelDrive            = new Array(   0.6,       0,       5,       0,       0,       0,       0,       2,       0,       0,      -4,       0,       0,       0,       0,       0,      -3,      -2);

var PRI;
var SER;
var MOD;
var MIN_LIST = 1;

var NUM_PBLMS = 17;
var NUM_ACTS = 34;
//                              1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16
//                              fl, ho, hr, lc, lb, lr, ds, ss, rn, ss, us, vj, vi, zs,  $, tm
//var WtsAddDamping  = new Array(  0,  2, 10,  0,  0, 10,  0,  0,  0,  0,  0,  0,  0,  0, -3, -5 )
//var WtsAddTrans    = new Array(  0,  2, 10,-10,  0, 10,  5,  5,  5,  0, 10,  8, -5,  0,  3,-10 )
//var WtsCorrWire    = new Array(  0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  0, -2, -2 )
//var WtsDirDrive    = new Array(  0,  2, 10, 10,  0, 10, -5, -5,  0,  8,  0, -5, 10, 10, -8,-10 )
//var WtsDualLoop    = new Array(  0,  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0,  0, 10, -5, -7 )
//var WtsElimBrush   = new Array(  0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  0, -3, -5 )
//var WtsGainSched   = new Array(  0,  0,  5,  0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0 )
//var WtsLowerAffVff = new Array(-10,  5,  0,  0,-10,  0,  0,  0,  0, -5,  0,  3,  0,  0,  0,  0 )

//                              1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16
//                              fl, ho, hr, lc, lb, lr, ds, ss, rn, ss, us, vj, vi, zs,  $, tm
//var WtsLowerBack   = new Array(  0,  0,  0, 10,  0,  0,  0,  5,  0,  0,  0,  0,  0,  7,-10, -5 )
//var WtsLowerGP     = new Array( -5,  0,  0,  0, -5,  0,  0,-10,  0,-10,  0,  0,  0,  0,  0,  0 )
//var WtsLowerKV     = new Array(-10, 10, 10,  0,-10, 10,-10,-10, 10,-10,  0,  2,  3,  0,  0,  0 )
//var WtsLowerKVFR   = new Array( -5,  2,  0,  0, -5,  0,  0, 10,  0,  5,  0,  0,  0,  0,  0,  0 )
//var WtsLowerKVI    = new Array( -2,  2,  0,  0, -7,  0, -5, 10,  0,-10,  0,  0,  0,  0,  0,  0 )
//var WtsLowerPLoopInt=new Array( -5,  0,  0,  0,  0,  0,  0, -5,  0, -5,  0,  0,  0,  0,  0,  0 )
//var WtsLowerStiction=new Array(  0,  0,  0, 10,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0, -5, -5 )
//var WtsLowPass     = new Array(  0,-10, 10,  0,  0, -7,  0,  0, 10,  0,  0,  0,  0,  0,  0,  0 )

//                              1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16
//                              fl, ho, hr, lc, lb, lr, ds, ss, rn, ss, us, vj, vi, zs,  $, tm
//var WtsNotch       = new Array(  0, -5,  5,  0,  0,-10,  0,  0,  0,  0,  0,-10,  0,  0,  0,  0 )
//var WtsRaiseAccur  = new Array(  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0,  0, 10, 10, -8, -3 )
//var WtsRaiseAffVff = new Array( 10, -5,  0,  0, 10,  0,  0,  0,  0,  5,  0, -3,  0,  0,  0,  0 )
//var WtsRaiseGear   = new Array(  0,  2, 10,  0,  0, 10, 10, 10,  5,  0, 10, 10,  0,  0,  0, -3 )
//var WtsRaiseGP     = new Array(  5,  0,  0,  0,  5,  0,  0, 10,  0, 10,  0,  0,  0,  0,  0,  0 )
//var WtsRaiseKV     = new Array( 10,-10,-10,  0, 10,-10, 10, 10,-10, 10,  0, -2, -3,  0,  0,  0 )
//var WtsRaiseKVI    = new Array(  2, -2,  0,  0,  7,  0,  5,-10,  0, 10,  0,  0,  0,  0,  0,  0 )
//var WtsRaiseKVFR   = new Array(  5, -2,  0,  0,  5,  0,  0,-10,  0, -5,  0,  0,  0,  0,  0,  0 )

//                              1   2   3   4   5   6   7   8   9  10  11  12  13  14  15  16
//                              fl, ho, hr, lc, lb, lr, ds, ss, rn, ss, us, vj, vi, zs,  $, tm
//var WtsRaisePLoopInt=new Array(  5,  0,  0,  0,  0,  0,  0,  5,  0,  5,  0,  0,  0,  0,  0,  0 )
//var WtsRaiseResol  = new Array(  0,  0,  0,  5,  0,  0,  0,  0, 10,  0,  0,  0,  0,  3, -5, -3 )
//var WtsReduceLag   = new Array(  0, 10,  0,  0,  0,  5,  0,  0, -3,  0,  0,  0,  0,  0, -3, -3 )
//var WtsStiffenTrans= new Array(  0,  2,  5,  7,  0, 10,  0,  0,  0,  0,  0,  0,  0,  2, -5, -5 )
//var WtsToOnBoard   = new Array(  0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  3,  0, -5 )
//var WtsToSercos    = new Array(  0,  0,  0,  0,  0,  0,  0,  0, 10,  0,  0,  0,  0,  3, -3, -3 )
//var WtsToTqDrive   = new Array(  0, -2,  0,  0,  0, -3,  0,  0,  7,  0,  0,  0,  0,  3,  0, -2 )
//var WtsToVelDrive  = new Array(  0,  2,  0,  0,  0,  3,  0,  0,  0,  0,  0,  0,  0, -3,  0, -2 )

function Store(){
  PRI = parent.leftFrame.PRI;
  SER = parent.leftFrame.SER;
  MOD = parent.leftFrame.MOD;

  //stores information about current transmission
  if(document.forms[0].rbtrans[0].checked == true)
    parent.leftFrame.CurrentTrans = 0;
  else if(document.forms[0].rbtrans[1].checked == true)
    parent.leftFrame.CurrentTrans = 1;
  else
    parent.leftFrame.CurrentTrans = 2;

  if(document.forms[0].rbtime[0].checked == true)
    parent.leftFrame.time = PRI;
  else if(document.forms[0].rbtime[1].checked == true)
    parent.leftFrame.time = SER;
  else
    parent.leftFrame.time = MOD;

  if(document.forms[0].rbcost[0].checked == true)
    parent.leftFrame.cost = PRI;
  else if(document.forms[0].rbcost[1].checked == true)
    parent.leftFrame.cost = SER;
  else
    parent.leftFrame.cost = MOD;

  if(document.forms[0].rbfollow[0].checked == true)
    parent.leftFrame.follow = PRI;
  else if(document.forms[0].rbfollow[1].checked == true)
    parent.leftFrame.follow = SER;
  else if(document.forms[0].rbfollow[2].checked == true)
    parent.leftFrame.follow = MOD;
  else
    parent.leftFrame.follow = 0;

  if(document.forms[0].rbhfoshoot[0].checked == true)
    parent.leftFrame.hfoshoot = PRI;
  else if(document.forms[0].rbhfoshoot[1].checked == true)
    parent.leftFrame.hfoshoot = SER;
  else if(document.forms[0].rbhfoshoot[2].checked == true)
    parent.leftFrame.hfoshoot = MOD;
  else
    parent.leftFrame.hfoshoot = 0;

  if(document.forms[0].rbhfres[0].checked == true)
    parent.leftFrame.hfres = PRI;
  else if(document.forms[0].rbhfres[1].checked == true)
    parent.leftFrame.hfres = SER;
  else if(document.forms[0].rbhfres[2].checked == true)
    parent.leftFrame.hfres = MOD;
  else
    parent.leftFrame.hfres = 0;

  if(document.forms[0].rblimit[0].checked == true)
    parent.leftFrame.limit = PRI;
  else if(document.forms[0].rblimit[1].checked == true)
    parent.leftFrame.limit = SER;
  else if(document.forms[0].rblimit[2].checked == true)
    parent.leftFrame.limit = MOD;
  else
    parent.leftFrame.limit = 0;

  if(document.forms[0].rblowbw[0].checked == true)
    parent.leftFrame.lowbw = PRI;
  else if(document.forms[0].rblowbw[1].checked == true)
    parent.leftFrame.lowbw = SER;
  else if(document.forms[0].rblowbw[2].checked == true)
    parent.leftFrame.lowbw = MOD;
  else
    parent.leftFrame.lowbw = 0;

  if(document.forms[0].rblfres[0].checked == true)
    parent.leftFrame.lfres = PRI;
  else if(document.forms[0].rblfres[1].checked == true)
    parent.leftFrame.lfres = SER;
  else if(document.forms[0].rblfres[2].checked == true)
    parent.leftFrame.lfres = MOD;
  else
    parent.leftFrame.lfres = 0;

  if(document.forms[0].rblfoshoot[0].checked == true)
    parent.leftFrame.lfoshoot = PRI;
  else if(document.forms[0].rblfoshoot[1].checked == true)
    parent.leftFrame.lfoshoot = SER;
  else if(document.forms[0].rblfoshoot[2].checked == true)
    parent.leftFrame.lfoshoot = MOD;
  else
    parent.leftFrame.lfoshoot = 0;

  if(document.forms[0].rbdynstiff[0].checked == true)
    parent.leftFrame.dynstiff = PRI;
  else if(document.forms[0].rbdynstiff[1].checked == true)
    parent.leftFrame.dynstiff = SER;
  else if(document.forms[0].rbdynstiff[2].checked == true)
    parent.leftFrame.dynstiff = MOD;
  else
    parent.leftFrame.dynstiff = 0;

  if(document.forms[0].rbstatstiff[0].checked == true)
    parent.leftFrame.statstiff = PRI;
  else if(document.forms[0].rbstatstiff[1].checked == true)
    parent.leftFrame.statstiff = SER;
  else if(document.forms[0].rbstatstiff[2].checked == true)
    parent.leftFrame.statstiff = MOD;
  else
    parent.leftFrame.statstiff = 0;

  if(document.forms[0].rbrandom[0].checked == true)
    parent.leftFrame.random = PRI;
  else if(document.forms[0].rbrandom[1].checked == true)
    parent.leftFrame.random = SER;
  else if(document.forms[0].rbrandom[2].checked == true)
    parent.leftFrame.random = MOD;
  else
    parent.leftFrame.random = 0;

  if(document.forms[0].rbslowset[0].checked == true)
    parent.leftFrame.slowset = PRI;
  else if(document.forms[0].rbslowset[1].checked == true)
    parent.leftFrame.slowset = SER;
  else if(document.forms[0].rbslowset[2].checked == true)
    parent.leftFrame.slowset = MOD;
  else
    parent.leftFrame.slowset = 0;

  if(document.forms[0].rbundersize[0].checked == true)
    parent.leftFrame.undersize = PRI;
  else if(document.forms[0].rbundersize[1].checked == true)
    parent.leftFrame.undersize = SER;
  else if(rbundersize[2].checked == true)
    parent.leftFrame.undersize = MOD;
  else
    parent.leftFrame.undersize = 0;

  if(document.forms[0].rbvariner[0].checked == true)
    parent.leftFrame.variner = PRI;
  else if(document.forms[0].rbvariner[1].checked == true)
    parent.leftFrame.variner = SER;
  else if(document.forms[0].rbvariner[2].checked == true)
    parent.leftFrame.variner = MOD;
  else
    parent.leftFrame.variner = 0;

  if(document.forms[0].rbvib[0].checked == true)
    parent.leftFrame.vib = PRI;
  else if(document.forms[0].rbvib[1].checked == true)
    parent.leftFrame.vib = SER;
  else if(document.forms[0].rbvib[2].checked == true)
    parent.leftFrame.vib = MOD;
  else
    parent.leftFrame.vib = 0;

  if(document.forms[0].rbzsposerr[0].checked == true)
    parent.leftFrame.zsposerr = PRI;
  else if(document.forms[0].rbzsposerr[1].checked == true)
    parent.leftFrame.zsposerr = SER;
  else if(document.forms[0].rbzsposerr[2].checked == true)
    parent.leftFrame.zsposerr = MOD;
  else
    parent.leftFrame.zsposerr = 0;

}

function Load(){
  PRI = parent.leftFrame.PRI;
  SER = parent.leftFrame.SER;
  MOD = parent.leftFrame.MOD;

  if(parent.leftFrame.follow == PRI)
    document.forms[0].rbfollow[0].checked = true;
  else if(parent.leftFrame.follow == SER)
    document.forms[0].rbfollow[1].checked = true;
  else if(parent.leftFrame.follow == MOD)
    document.forms[0].rbfollow[2].checked = true;
  else
    document.forms[0].rbfollow[3].checked = true;

  if(parent.leftFrame.hfoshoot == PRI)
    document.forms[0].rbhfoshoot[0].checked = true;
  else if(parent.leftFrame.hfoshoot == SER)
    document.forms[0].rbhfoshoot[1].checked = true;
  else if(parent.leftFrame.hfoshoot == MOD)
    document.forms[0].rbhfoshoot[2].checked = true;
  else
    document.forms[0].rbhfoshoot[3].checked = true;

  if(parent.leftFrame.hfres == PRI)
    document.forms[0].rbhfres[0].checked = true;
  else if(parent.leftFrame.hfres == SER)
    document.forms[0].rbhfres[1].checked = true;
  else if(parent.leftFrame.hfres == MOD)
    document.forms[0].rbhfres[2].checked = true;
  else
    document.forms[0].rbhfres[3].checked = true;

  if(parent.leftFrame.limit == PRI)
    document.forms[0].rblimit[0].checked = true;
  else if(parent.leftFrame.limit == SER)
    document.forms[0].rblimit[1].checked = true;
  else if(parent.leftFrame.limit == MOD)
    document.forms[0].rblimit[2].checked = true;
  else
    document.forms[0].rblimit[3].checked = true;

  if(parent.leftFrame.lowbw == PRI)
    document.forms[0].rblowbw[0].checked = true;
  else if(parent.leftFrame.lowbw == SER)
    document.forms[0].rblowbw[1].checked = true;
  else if(parent.leftFrame.lowbw == MOD)
    document.forms[0].rblowbw[2].checked = true;
  else
    document.forms[0].rblowbw[3].checked = true;

  if(parent.leftFrame.lfres == PRI)
    document.forms[0].rblfres[0].checked = true;
  else if(parent.leftFrame.lfres == SER)
    document.forms[0].rblfres[1].checked = true;
  else if(parent.leftFrame.lfres == MOD)
    document.forms[0].rblfres[2].checked = true;
  else
    document.forms[0].rblfres[3].checked = true;

  if(parent.leftFrame.lfoshoot == PRI)
    document.forms[0].rblfoshoot[0].checked = true;
  else if(parent.leftFrame.lfoshoot == SER)
    document.forms[0].rblfoshoot[1].checked = true;
  else if(parent.leftFrame.lfoshoot == MOD)
    document.forms[0].rblfoshoot[2].checked = true;
  else
    document.forms[0].rblfoshoot[3].checked = true;

  if(parent.leftFrame.dynstiff == PRI)
    document.forms[0].rbdynstiff[0].checked = true;
  else if(parent.leftFrame.dynstiff == SER)
    document.forms[0].rbdynstiff[1].checked = true;
  else if(parent.leftFrame.dynstiff == MOD)
    document.forms[0].rbdynstiff[2].checked = true;
  else
    document.forms[0].rbdynstiff[3].checked = true;

  if(parent.leftFrame.statstiff == PRI)
    document.forms[0].rbstatstiff[0].checked = true;
  else if(parent.leftFrame.statstiff == SER)
    document.forms[0].rbstatstiff[1].checked = true;
  else if(parent.leftFrame.statstiff == MOD)
    document.forms[0].rbstatstiff[2].checked = true;
  else
    document.forms[0].rbstatstiff[3].checked = true;

  if(parent.leftFrame.random == PRI)
    document.forms[0].rbrandom[0].checked = true;
  else if(parent.leftFrame.random == SER)
    document.forms[0].rbrandom[1].checked = true;
  else if(parent.leftFrame.random == MOD)
    document.forms[0].rbrandom[2].checked = true;
  else
    document.forms[0].rbrandom[3].checked = true;

  if(parent.leftFrame.slowset == PRI)
    document.forms[0].rbslowset[0].checked = true;
  else if(parent.leftFrame.slowset == SER)
    document.forms[0].rbslowset[1].checked = true;
  else if(parent.leftFrame.slowset == MOD)
    document.forms[0].rbslowset[2].checked = true;
  else
    document.forms[0].rbslowset[3].checked = true;

  if(parent.leftFrame.undersize == PRI)
    document.forms[0].rbundersize[0].checked = true;
  else if(parent.leftFrame.undersize == SER)
    document.forms[0].rbundersize[1].checked = true;
  else if(parent.leftFrame.undersize == MOD)
    document.forms[0].rbundersize[2].checked = true;
  else
    document.forms[0].rbundersize[3].checked = true;

  if(parent.leftFrame.variner == PRI)
    document.forms[0].rbvariner[0].checked = true;
  else if(parent.leftFrame.variner == SER)
    document.forms[0].rbvariner[1].checked = true;
  else if(parent.leftFrame.variner == MOD)
    document.forms[0].rbvariner[2].checked = true;
  else
    document.forms[0].rbvariner[3].checked = true;

  if(parent.leftFrame.vib == PRI)
    document.forms[0].rbvib[0].checked = true;
  else if(parent.leftFrame.vib == SER)
    document.forms[0].rbvib[1].checked = true;
  else if(parent.leftFrame.vib == MOD)
    document.forms[0].rbvib[2].checked = true;
  else
    document.forms[0].rbvib[3].checked = true;

  if(parent.leftFrame.zsposerr == PRI)
    document.forms[0].rbzsposerr[0].checked = true;
  else if(parent.leftFrame.zsposerr == SER)
    document.forms[0].rbzsposerr[1].checked = true;
  else if(parent.leftFrame.zsposerr == MOD)
    document.forms[0].rbzsposerr[2].checked = true;
  else
    document.forms[0].rbzsposerr[3].checked = true;

  if(parent.leftFrame.CurrentTrans == 0)
    document.forms[0].rbtrans[0].checked = true;
  else if(parent.leftFrame.CurrentTrans == 1)
    document.forms[0].rbtrans[1].checked = true;
  else
    document.forms[0].rbtrans[2].checked = true;

  if(parent.leftFrame.time == PRI)
    document.forms[0].rbtime[0].checked = true;
  else if(parent.leftFrame.time == SER)
    document.forms[0].rbtime[1].checked = true;
  else
    document.forms[0].rbtime[2].checked = true;

  if(parent.leftFrame.cost == PRI)
    document.forms[0].rbcost[0].checked = true;
  else if(parent.leftFrame.cost == SER)
    document.forms[0].rbcost[1].checked = true;
  else
    document.forms[0].rbcost[2].checked = true;
}

function dotProduct(weights, input)
{
  var i;
  var output = 0;
  //weight[0] is a scale factor
  for(i = 0 ; i < NUM_PBLMS - 2; i++){ //all but cost and time
    output += weights[i+1] * input[i]
  }

  //if all factors but cost and time come out negative
  //  prevent cost and time from recommending the action
  if(output > 0){ //if not, this action will not be recommended
    i = NUM_PBLMS - 2; //set i for time
    output += weights[i+1] * input[i]; //add in cost
    i++;               //set i for cost
    output += weights[i+1] * input[i]; //add in time
  }
  return output * weights[0];//weights[0] is the scale factor
}

function findNextHighest(inputArray, inputValue)
{
  var i;
  var outputValue = -100000; //start so low, nothing could be that low
  for(i = 0 ; i < NUM_ACTS ; i++){
    if((inputArray[i] < inputValue) && (inputArray[i] > outputValue))
      outputValue = inputArray[i];
  }
  return outputValue;
}

function ViewResults()
{
   var inputArray = new Array();

   inputArray[0]  = PRI * document.forms[0].rbfollow[0].checked + SER * document.forms[0].rbfollow[1].checked + MOD * document.forms[0].rbfollow[2].checked
   inputArray[1]  = PRI * document.forms[0].rbhfoshoot[0].checked + SER * document.forms[0].rbhfoshoot[1].checked + MOD * document.forms[0].rbhfoshoot[2].checked
   inputArray[2]  = PRI * document.forms[0].rbhfres[0].checked + SER * document.forms[0].rbhfres[1].checked + MOD * document.forms[0].rbhfres[2].checked
   inputArray[3]  = PRI * document.forms[0].rblimit[0].checked + SER * document.forms[0].rblimit[1].checked + MOD * document.forms[0].rblimit[2].checked
   inputArray[4]  = PRI * document.forms[0].rblowbw[0].checked + SER * document.forms[0].rblowbw[1].checked + MOD * document.forms[0].rblowbw[2].checked
   inputArray[5]  = PRI * document.forms[0].rblfoshoot[0].checked + SER * document.forms[0].rblfoshoot[1].checked + MOD * document.forms[0].rblfoshoot[2].checked
   inputArray[6]  = PRI * document.forms[0].rblfres[0].checked + SER * document.forms[0].rblfres[1].checked + MOD * document.forms[0].rblfres[2].checked
   inputArray[7]  = PRI * document.forms[0].rbdynstiff[0].checked + SER * document.forms[0].rbdynstiff[1].checked + MOD * document.forms[0].rbdynstiff[2].checked
   inputArray[8]  = PRI * document.forms[0].rbstatstiff[0].checked + SER * document.forms[0].rbstatstiff[1].checked + MOD * document.forms[0].rbstatstiff[2].checked
   inputArray[9]  = PRI * document.forms[0].rbrandom[0].checked + SER * document.forms[0].rbrandom[1].checked + MOD * document.forms[0].rbrandom[2].checked
   inputArray[10] = PRI * document.forms[0].rbslowset[0].checked + SER * document.forms[0].rbslowset[1].checked + MOD * document.forms[0].rbslowset[2].checked
   inputArray[11] = PRI * document.forms[0].rbundersize[0].checked + SER * document.forms[0].rbundersize[1].checked + MOD * document.forms[0].rbundersize[2].checked
   inputArray[12] = PRI * document.forms[0].rbvariner[0].checked + SER * document.forms[0].rbvariner[1].checked + MOD * document.forms[0].rbvariner[2].checked
   inputArray[13] = PRI * document.forms[0].rbvib[0].checked + SER * document.forms[0].rbvib[1].checked + MOD * document.forms[0].rbvib[2].checked
   inputArray[14] = PRI * document.forms[0].rbzsposerr[0].checked + SER * document.forms[0].rbzsposerr[1].checked + MOD * document.forms[0].rbzsposerr[2].checked
   inputArray[15] = PRI * document.forms[0].rbcost[0].checked + SER * document.forms[0].rbcost[1].checked // + MOD * document.forms[0].rbcost[2].checked
   inputArray[16] = PRI * document.forms[0].rbtime[0].checked + SER * document.forms[0].rbtime[1].checked // + MOD * document.forms[0].rbtime[2].checked


   var Act = new Array();

   Act[ 0] = ActAddDamping = dotProduct(WtsAddDamping ,inputArray)
   Act[ 1] = ActAddTrans = dotProduct(WtsAddTrans ,inputArray)
   Act[ 2] = ActCorrWire = dotProduct(WtsCorrWire ,inputArray)
   Act[ 3] = ActDirDrive = dotProduct(WtsDirDrive ,inputArray)
   Act[ 4] = ActDualLoop = dotProduct(WtsDualLoop ,inputArray)
   Act[ 5] = ActElimBrush = dotProduct(WtsElimBrush ,inputArray)
   Act[ 6] = ActGainSched = dotProduct(WtsGainSched ,inputArray)
   Act[ 7] = ActLowerAffVff = dotProduct(WtsLowerAffVff ,inputArray)

   Act[ 8] = ActLowerBack = dotProduct(WtsLowerBack ,inputArray)
   Act[ 9] = ActLowerGP = dotProduct(WtsLowerGP ,inputArray)
   Act[10] = ActLowerKV = dotProduct(WtsLowerKV ,inputArray)
   Act[11] = ActLowerKVFR = dotProduct(WtsLowerKVFR ,inputArray)
   Act[12] = ActLowerMJ = dotProduct(WtsLowerMJ ,inputArray)
   Act[13] = ActLowerKVI = dotProduct(WtsLowerKVI ,inputArray)
   Act[14] = ActLowerPLoopInt = dotProduct(WtsLowerPLoopInt ,inputArray)
   Act[15] = ActLowerStiction = dotProduct(WtsLowerStiction ,inputArray)

   Act[16] = ActLowPass = dotProduct(WtsLowPass ,inputArray)
   Act[17] = ActNotch = dotProduct(WtsNotch ,inputArray)
   Act[18] = ActRaiseAccur = dotProduct(WtsRaiseAccur ,inputArray)
   Act[19] = ActRaiseAffVff = dotProduct(WtsRaiseAffVff ,inputArray)
   Act[20] = ActRaiseGear = dotProduct(WtsRaiseGear ,inputArray)
   Act[21] = ActRaiseGP = dotProduct(WtsRaiseGP ,inputArray)
   Act[22] = ActRaiseKV = dotProduct(WtsRaiseKV ,inputArray)
   Act[23] = ActRaiseKVFR = dotProduct(WtsRaiseKVFR ,inputArray)

   Act[24] = ActRaiseKVI = dotProduct(WtsRaiseKVI ,inputArray)
   Act[25] = ActRaiseMJ = dotProduct(WtsRaiseMJ ,inputArray)
   Act[26] = ActRaisePLoopInt = dotProduct(WtsRaisePLoopInt ,inputArray)
   Act[27] = ActRaiseResol = dotProduct(WtsRaiseResol ,inputArray)
   Act[28] = ActReduceLag = dotProduct(WtsReduceLag ,inputArray)
   Act[29] = ActStiffenTrans = dotProduct(WtsStiffenTrans ,inputArray)
   Act[30] = ActToOnBoard = dotProduct(WtsToOnBoard ,inputArray)
   Act[31] = ActToSercos = dotProduct(WtsToSercos,inputArray)

   Act[32] = ActToTqDrive = dotProduct(WtsToTqDrive ,inputArray)
   Act[33] = ActToVelDrive = dotProduct(WtsToVelDrive ,inputArray)

//   window.alert("test 1");
   if(document.forms[0].rbtrans[0].checked == true){ //direct drive
//     window.alert("test 2");
     ActAddTrans = 0; //don't recommend adding a transmission
     ActDirDrive = 0; //don't recommend direct drive
     ActDualLoop  = 0; //don't recommend dual loop
     ActLowerMJ = 0; //don't recommend lowering motor inertia
     ActRaiseGear  = 0; //don't recommend raising gearing
   }
   if(document.forms[0].rbtrans[1].checked == true){ //traditional trans
     ActAddTrans  = 0; //don't recommend adding a transmission
   }

   if(document.forms[0].rbtrans[2].checked == true){ //direct drive w/ shaft
     ActRaiseGear = 0; //don't recommend raising gearing
   }

   var problemList = new Array();

   problemList[0] = "Excessive following error";
   problemList[1] = "High-frequency overshoot";
   problemList[2] = "High-frequency resonance";
   problemList[3] = "Limit cycles";
   problemList[4] = "Low bandwidth";
   problemList[5] = "Low-frequency overshoot";
   problemList[6] = "Low-frequency resonance";
   problemList[7] = "Poor dynamic stiffness";
   problemList[8] = "Poor static stiffness";
   problemList[9] = "Random noise";
   problemList[10] = "Slow settling";
   problemList[11] = "Undersized system";
   problemList[12] = "Variation in inertia";
   problemList[13] = "Vibration";
   problemList[14] = "Zero-speed position error";


	var RecText = "<H3>Customized Recommendations</H3>";
  RecText += "<table cellspacing=0 cellpadding=0 border=0>";
	RecText += "<tr>";
  RecText += "<td valign=top></td>";
  RecText += "</tr>";
  RecText += "<tr>";
  RecText += "<td valign=top>";
  RecText += "<b>PRIMARY CONCERN(S)</b>" + "<BR>";
	
   for(var i = 0 ; i < (NUM_PBLMS - 2); i++){
     if(inputArray[i] == PRI)
       RecText += "  " + problemList[i] + "<BR>";
   }

   RecText = RecText + "<BR>" + "<b>SERIOUS CONCERN(S)</b>" + "<BR>";
   for(var i = 0 ; i < NUM_PBLMS - 2 ; i++)
     if(inputArray[i] == SER)
       RecText += "  " + problemList[i] + "<BR>";

   RecText = RecText + "<BR>" + "<b>MODERATE CONCERN(S)</b>" + "<BR>";
   for(var i = 0 ; i < NUM_PBLMS - 2 ; i++)
     if(inputArray[i] == MOD)
       RecText += "  " + problemList[i] + "<BR>";

  //write the current transmission
  if(document.forms[0].rbtrans[0].checked == true)
    RecText = RecText + "<BR> The current transmission is a direct-drive (non-shafted) motor";
  else if (document.forms[0].rbtrans[1].checked == true)
    RecText = RecText + "<BR> The current transmission is a shafted motor with geared components";
  else
    RecText = RecText + "<BR> The current transmission is a shafted motor without geared components";

  if(inputArray[NUM_PBLMS - 2] == PRI) //cost
    RecText += "<BR> Only solutions with MINIMAL cost impact are allowed";
  else if(inputArray[NUM_PBLMS - 2] == SER)
    RecText += "<BR> Only solutions with MODERATE cost impact are allowed";
  else
    RecText += "<BR> No constraints regarding cost impact";

  if(inputArray[NUM_PBLMS - 1] == PRI) //time
    RecText += "<BR> Only solutions with MINIMAL time to implement are allowed";
  else if(inputArray[NUM_PBLMS - 1] == SER)
    RecText += "<BR> Only solutions with MODERATE time to implement are allowed";
  else
    RecText += "<BR> No constraints regarding time impact";

   RecText += "<BR><BR>Action List <BR>";
   var currentScore = 100000; //start with highest possible score
   for(var i = 0 ; i < NUM_ACTS ; i++){
      currentScore = findNextHighest(Act, currentScore);
      var icurrentScore = Math.round(currentScore);
      if(currentScore <= MIN_LIST)
         break;

      if(ActAddDamping == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Add Mechanical Damping".link(" ActAddDamping.php")+"<BR>";

      if(ActAddTrans == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Add a Transmission".link(" ActAddTrans.php")+"<BR>";

      if(ActCorrWire == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Correct Wiring Problems".link(" ActCorrWire.php")+"<BR>";

      if(ActDirDrive == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Use Direct Drive".link(" ActDirDrive.php")+"<BR>";

      if(ActDualLoop == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Use Dual Loop Control".link(" ActDualLoop.php")+"<BR>";

      if(ActElimBrush == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Eliminate Brush Motors".link(" ActElimBrush.php")+"<BR>";

      if(ActGainSched == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Use Gain Scheduling".link(" ActGainSched.php")+"<BR>";

      if(ActLowerAffVff == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Acceleration/Velocity Feed-Forward Gains".link("ActLowerAffVff.php")+"<BR>";

      if(ActLowerBack == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Backlash".link("ActLowerBack.php")+"<BR>";

      if(ActLowerGP == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Position-Loop Proportional Gain".link("ActLowerGP.php")+"<BR>";

      if(ActLowerKV == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Velocity-Loop Proportional Gain".link("ActLowerKV.php")+"<BR>";

      if(ActLowerKVFR == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce PI+ (PDFF) Feed-Forward Gain".link("ActLowerKVFR.php")+"<BR>";

      if(ActLowerKVI == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Velocity-Loop Integral Gain".link("ActLowerKVI.php")+"<BR>";

      if(ActLowerMJ == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Motor Inertia".link("ActLowerMJ.php")+"<BR>";

      if(ActLowerPLoopInt == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Position-Loop Integral Gain".link("ActLowerPLoopInt.php")+"<BR>";

      if(ActLowerStiction == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Stiction".link("ActLowerStiction.php")+"<BR>";

      if(ActLowPass == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Use a Low-Pass Filter".link("ActLowPass.php")+"<BR>";

      if(ActNotch == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Use a Notch Filter".link("ActNotch.php")+"<BR>";

      if(ActRaiseAccur == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Feedback Accuracy".link("ActRaiseAccur.php")+"<BR>";

      if(ActRaiseAffVff == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Acceleration/Velocity Feed-Forward Gains".link("ActRaiseAffVff.php")+"<BR>";

      if(ActRaiseGear == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Transmission Gear Ratio".link("ActRaiseGear.php")+"<BR>";

      if(ActRaiseGP == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Position-Loop Proportional Gain".link("ActRaiseGP.php")+"<BR>";

      if(ActRaiseKV == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Velocity-Loop Proportional Gain".link("ActRaiseKV.php")+"<BR>";

      if(ActRaiseKVFR == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase PI+ (PDFF) Feed-Forward Gain".link("ActRaiseKVFR.php")+"<BR>";

      if(ActRaiseKVI == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Velocity-Loop Integral Gain".link("ActRaiseKVI.php")+"<BR>";

      if(ActRaiseMJ == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Motor Inertia".link("ActRaiseMJ.php")+"<BR>";

      if(ActRaisePLoopInt == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Position-Loop Integral Gain".link("ActRaisePLoopInt.php")+"<BR>";

      if(ActRaiseResol == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Increase Resolution".link("ActRaiseResol.php")+"<BR>";

      if(ActReduceLag == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Reduce Phase Lag".link("ActReduceLag.php")+"<BR>";

      if(ActStiffenTrans == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Stiffen Transmission".link("ActStiffenTrans.php")+"<BR>";

      if(ActToOnBoard == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Use a Single-Axis Controller".link("ActToOnboard.php")+"<BR>";

      if(ActToSercos == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Use a SERCOS-based system".link("ActToSercos.php")+"<BR>";

      if(ActToTqDrive == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Convert from Velocity Drive to Torque Drive".link("ActToTqDrive.php")+"<BR>";

      if(ActToVelDrive == currentScore)
         RecText += "(Score " + icurrentScore + ") " +
         "Convert from Torque Drive to Velocity Drive".link("ActToVelDrive.php")+"<BR>";
   }
   RecText += "</table><br><br>";

document.getElementById("ViewRecommendations").innerHTML = RecText;
document.getElementById("FinalStage").style.display = "none";
}

