﻿
// these should be constants, but IE doesn't support javascript constants- it's mozilla only.
// So, I'm asking you nicely to please not change them- how's that for a constant?
var METRIC = 5;
var IMPERIAL = 1;

// for printing:
var rodTorque, extendTime, retractTime, responseTime, unitWeight, series, feed;

// lots and lots of variables:

var flashID;

var activeCol = ""; // column 1 by default

var tabInsC1, tabInsC2, tabOutsC1, tabOutsC2, printInput, printInputC2, isStrokeAdj, isShockPads, isMetric, isGravity;
var divPrintFeed, divPrintSeries, divPrintInput, tabIns;
var selectedValue;
var dCv, 
    SCFM;
    
var agreed = false ;
    
var colCount = 0; // I think this always stays 0, but it is used in the code so keep it for now.
var count;  // variable to keep track of how many columns are selected

// are we showing response time or extend/retract time?
var dispRspTime = false, 
    dispExtRetTime = false;

// main form:
var fm;

// timing stuff:
var
  busy = false,
  needCalc = false,
  calcTime = 0;
       
// tools box variables (left column stuff):
var rbGravity, 
    rbConveyor, 
    rbCompareMode,
    rbStandardMode,
    cbLC, 
    cb160, 
    spnCalculate, 
    btnCalculate, 
    cbAutoCalc;

// input controls variables (center column stuff):    
var rbImperial, 
    rbMetric, 
    cbStrokeAdj, 
    cbShockPads, 
    spnLCOptions, 
    spnUCDistL, 
    spnUCWeightW, 
    spnUCNumberN, 
    spnUCPressureP, 
    spnUCOffsetR, 
    spnUCDistHp, 
    spnUCDistHs, 
    spnUCAngleA, 
    spnUCFrictionF, 
    spnUCVelocityV, 
    spnUCTemperature,
    spnUCCycleRate,
    spnErrDistL,
    tableFrictionF, 
    tableDistHp, 
    tableDistHs, 
    tableAngleA, 
    tableFrictionF, 
    tableVelocityV;
        
// output controls variables:
var lbPartList, 
    cbShowFailed, 
    divResults, 
    tabOuts;
    

// used to track which escapements are selected
// and stores the corresponding outputs
// stop using this crap:
 var arrEscapement = new Array(),
    arrSeries = new Array(),
    arrStatus = new Array(),
    arrRodTorque = new Array(),
    arrExtendTime = new Array(),
    arrRetractTime = new Array(),
    arrResponseTime = new Array(),
    arrUnitWeight = new Array(),
    arrStaticLoad = new Array(),
    arrNewPartImpact = new Array(),
    arrStackTransferImpact = new Array(),
    arrCv = new Array(), 
    arrSCFM = new Array(); 
       
var divNotes,
    divInputs,
    divPartList,
    divResultColumn,
    //divForm,
    divResultsMsg,
    divRightCol;
    
    

// misc variables:
var imageLight, selectedOptions; 



// labels: this is what we'll change for foreign language:
var lblDistL, lblDistLC2, lblWeightW, lblWeightWC2, lblNumberN, lblNumberNC2,
    lblPressureP, lblPressurePC2, lblOffsetR, lblOffsetRC2, lblDistHs, lblDistHsC2,
    lblDistHp, lblDistHpC2, lblAngleA, lblAngleAC2, lblFrictionF, lblFrictionFC2,
    lblVelocityV, lblVelocityVC2, lblTemperature, lblTemperatureC2;
    
    


// print data:

var col1, col2;

var doc;

