// Copyright © 1998-2006, www.digitaldutch.com

function stopError() {
  return true;
}

window.onerror = stopError;

var numDigs = getNumDigs();

function ShowResults() {

  with (document.forms['atmosForm']) {

    elements['EditTemperature'].value =
      formatFloat(ConvertTemperatureFromSI(temperature,
        elements['TemperatureUnit'].options[elements['TemperatureUnit'].selectedIndex].value), numDigs);

    elements['EditPressure'].value =
      formatFloat(pressure /
        elements['PressureUnit'].options[elements['PressureUnit'].selectedIndex].value, numDigs);

    elements['EditDensity'].value =
      formatFloat(density /
        elements['DensityUnit'].options[elements['DensityUnit'].selectedIndex].value / 1000, numDigs);

    elements['EditSpeedOfSound'].value =
      formatFloat(speedOfSound /
        elements['SpeedUnit'].options[elements['SpeedUnit'].selectedIndex].value, numDigs);
  }
}

function SingleCalc(){

  // Read input from GUI
  with (document.forms['atmosForm']) {
  
    // Set altitude
    altitude = elements['EditAltitude'].value *
      elements['AltitudeUnit'].options[elements['AltitudeUnit'].selectedIndex].value;

    // Set delta temperature
    deltaTemperature = parseFloat(elements['EditDeltaTemperature'].value);
    
    // Convert delta temperature to SI
    deltaTemperature = ConvertDeltaTemperatureToSI(deltaTemperature, elements['DeltaTemperatureUnit'].options[elements['DeltaTemperatureUnit'].selectedIndex].value);
  }

  CalcAtmos();

  ShowResults();
}

function loadOptions(){

  with (document.forms['atmosForm']) {

    if (getUnitsIdx() == 0) {
      elements['AltitudeUnit'].selectedIndex         = 2;
      elements['TemperatureUnit'].selectedIndex      = 1;
      elements['DeltaTemperatureUnit'].selectedIndex = 1;
      elements['PressureUnit'].selectedIndex         = 3;
      elements['DensityUnit'].selectedIndex          = 0;
      elements['SpeedUnit'].selectedIndex            = 3;
    }
    else if (getUnitsIdx() == 1) {
      elements['AltitudeUnit'].selectedIndex         = 0;
      elements['TemperatureUnit'].selectedIndex      = 3;
      elements['DeltaTemperatureUnit'].selectedIndex = 3;
      elements['PressureUnit'].selectedIndex         = 4;
      elements['DensityUnit'].selectedIndex          = 2;
      elements['SpeedUnit'].selectedIndex            = 0;
    }
    else {
      getIndex(elements['AltitudeUnit']);
      getIndex(elements['TemperatureUnit']);
      getIndex(elements['DeltaTemperatureUnit']);
      getIndex(elements['PressureUnit']);
      getIndex(elements['DensityUnit']);
      getIndex(elements['SpeedUnit']);
    }

    if (altitudeValue != null) {
      elements['EditAltitude'].value = altitudeValue;
    }

  }

  SingleCalc();
}

function saveOptions() {

  with (document.forms['atmosForm']) {

    setIndex(elements['AltitudeUnit']);
    setIndex(elements['TemperatureUnit']);
    setIndex(elements['DeltaTemperatureUnit']);
    setIndex(elements['PressureUnit']);
    setIndex(elements['SpeedUnit']);
    setIndex(elements['DensityUnit']);

    altitudeValue = elements['EditAltitude'].value;
  }
}
// -->

