   <!--
// October, 2008 SWJC - many modifications for Early Science. Especially - went from three SIs to just FORCAST, so the variables 
//    index and instr need special attention when adding back in an SI. Before this, these parameters had a value of 1 for FORCAST 
//    and 0 for FLITECAM. They now have 0 for FORCAST with no FLITECAM option - tests changed to look for 99 in FLITECAM areas. 
//    HAWC was/is 2 - unchanged from before.
      var isDHTML = false;
      var isLayers = false;
      var isAll = false;
      var isID = false;
      var isPsUnits = false;
      var isUsbUnits = false;
      var isFORM1Written = false;
      var isFORM4Written = false;
      var browserVersion = parseInt(navigator.appVersion);
      
      if (document.getElementById) {
         isID = true;
         isDHTML = true;    //Microsoft 4+ works better with all collections
         if ((navigator.appName.indexOf('Microsoft') != -1) && (browserVersion == 4)) {
             isAll = true;
             isID = false;
         }
      }
      else {
         if ((navigator.appName.indexOf('Netscape') != -1) && (browserVersion == 4)) {
            isLayers = true; isDHTML = true;
         }
         else {  
            if (document.all) {
               isAll = true; 
               isDHTML = true;
            }
         }
      }
      //alert("isAll, isID, isLayers: " + isAll + ", " + isID + ", " + isLayers);
       if(isLayers) alert("Resizing this window in Netscape 4 may require you\n" +
                          "to reload this form with subsequent lost of any data\n" +
                          "entered.  Upgrading to Netscape 6+ will eliminate\n" +
                          "this possible problem.");

       var slitNN = "<form name='form1'><table border='0'><tr><td>Slit: 1 arcsec</td><td>" +
                      "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;" +
                      "Spectrum central wavelength:" +
                      "<input type='text' name='instrumentCentralWavelength' size='10'> um</td></tr></table></form>";


       var closeNN = "<form name='form2'><table border='0'><tr><input type='hidden' name='instrumentCentralWavelength' size='10'></tr></table></form>";
  
       var imageNN = '<form name="form3"><table border="0"><tr><td>Image/Grating:</td><td>' + 
                       '<select name="instrumentDisperser" size="1"  onChange="changeDisperser()">' +
                       '<option value="imaging" selected>Image</option>' +
                       '<option value="grism" >GRISM</option></select></td></tr></table></form>';

       var filterNN = '<form name="form4"><table border="0"><tr><td>' +
                        '<select id="filter2" name="filter2" size="1" onChange="changeFilterValue(); changeUsbUnits()">' +
                           '<option value="NONE" >Ignore</option>' +
                           '<option value="30.6" selected>30.6 um</option>' +
                           '<option value="38.0">38.0 um</option>' +
                         '</select></td></tr></table></form>';


       var secondNN = '<form name="form5"><table border="0"><tr><td>Emission line at longer wavelength&nbsp;' +
                        '<input type="text" name="lineWavelength2" size="8" value="33.4"> microns with line flux ' +
                        '<input type="text" name="lineFlux2" size="8" value="0.0"></td></tr></table></form>';
       var secondUnNN = '<form name="form5Units"><table><tr><td>W/m^2</td></tr></table></form>';
                        //'<input type="text" name="lineFluxUnits2" size="14" value="W/m^2" onChange="changeFluxUnits()"></td></tr></table></form>';

       var secondCloseNN = '<form name="form5a"><table border="0"><tr><td>' +
                             '<input type="hidden" name="lineWavelength2" size="8" value="33.4">' +
                             '<input type="hidden" name="lineFluxUnits2" size="14" value="W/m^2">'+
                             '<input type="hidden" name="lineFlux2" size="8" value="0.0"></td></tr></table></form>';

       var ptsource2aNN = '<form name="form6a"><table border="0"><tr><td>' +
                         'Spatially integrated brightness for the long wavelength filter</td></tr></table></form>';

       var ptsource2NN = '<form name="form6"><table border="0"><tr>' +
                         '<td><input type="text" name="psSourceNorm2" size="15" ' +
                         'id="psSourceNorm2" value="30.02e-06" onChange="setPsUnitsFlag(1)"></td></tr></table></form>';

       var ptsource2CloseNN = '<form name="form6"><table border="0"><tr><td><input type="hidden" name="psSourceNorm2" size="15" ' +
                                'value="30.02e-06"></td></tr></table></form>';

       var ufsource2aNN = '<form name="form7a"><table border="0"><tr><td>' +
                         'Surface brightness for the long wavelength filter</td></tr></table></form>';

       var ufsource2NN = '<form name="form7"><table border="0"><tr><td>' +
                         '<input type="text" name="usbSourceNorm2" size="15" value="13.58e-05" ' +
                         'onChange="setUsbUnitsFlag(1)"></td></tr></table></form>';

       var ufsource2CloseNN = '<form name="form7"><table border="0"><tr><td><input type="hidden" name="usbSourceNorm2" size="15" ' +
                                'value="13.58e-05"></td></tr></table></form>';

       var instrumentArr = new Array("FORCAST", "FLITECAM", "HAWC");
       var units = new Array("Jy", "W/m^2/um", "ergs/s/cm^2/um", "ergs/s/cm^2/Hz", "mag");
       var units_sq = new Array("Jy/sq arcsec", "W/m^2/um/sq arcsec", "ergs/s/cm^2/um/sq arcsec", "ergs/s/cm^2/um/steradians", " ergs/s/cm^2/Hz/sq arcsec", "mag/sq arcsec");
       var filter2arr = new Array("NONE", "30.6", "38.0");
       var filterWv2arr = new Array("0.0", "30.6", "38.0");
       var filterWvarr = new Array("0.0", "5.6", "6.3", "6.6", "7.6", "8.6", "11.0", "11.28", "12.3", "19.5");

       var arr0 = new Array("1.25", "1.65", "2.2", "2.45", "2.8", "3.76", "4.77");
       var arr1 = new Array("NONE", "5.6", "6.3", "6.6", "7.6", "8.6", "11.0", "11.28", "12.3", "19.5");
       var arr2 = new Array("53.0", "88.0", "155.0", "215");
       var filter1arr = new Array(arr1, arr0, arr2);  // changed for FORCAST only
                         //     Jy        W/m^2/um     ergs/s/cm^2/um  ergs/s/cm^2/Hz   Mag
       var Jarr  = new Array("2.1696E-5", "4.1656E-17", "4.1656E-14", "2.1696E-28", "1.9690E1"); //J 1.25 um
       var Harr  = new Array("3.8489E-5", "4.2411E-17", "4.2411E-14", "3.8489E-28", "1.8589E1"); //H 1.65 um
       var Karr  = new Array("2.4027E-5", "1.4892E-17", "1.4892E-14", "2.4027E-28", "1.8590E1"); //K 2.2 um
       var KDarr = new Array("4.4162E-6", "2.2071E-18", "2.2071E-15", "4.4162E-29", "2.0186E1"); //K Dark 2.45 um
       var KLarr = new Array("1.7071E-5", "6.5320E-18", "6.5320E-15", "1.7071E-28", "1.8287E1"); //KL 2.8 um
       var Larr  = new Array("2.0851E-5", "4.4244E-18", "4.4244E-15", "2.0851E-28", "1.7682E1"); //L' 3.76 um
       var Marr  = new Array("2.5602E-4", "3.3755E-17", "3.3755E-14", "2.5602E-27", "1.4497E1"); //M' 4.77 um
       var FlitecamArr = new Array(Jarr, Harr, Karr, KDarr, KLarr, Larr, Marr);

                         //         Jy        W/m^2/um     ergs/s/cm^2/um  ergs/s/cm^2/Hz
       var Hawc1arr = new Array("2.5759E-1", "2.7509E-16", "2.7509E-13", "2.5759E-24"); //Band 1 53.0 um
       var Hawc2arr = new Array("2.2794E-1", "8.8301E-17", "8.8301E-14", "2.2794E-24"); //Band 2 88.0 um
       var Hawc3arr = new Array("2.1592E-1", "2.6961E-17", "1.6961E-14", "2.1592E-24"); //Band 3 155.0 um
       var Hawc4arr = new Array("1.3453E-1", "8.7304E-18", "8.7304E-15", "1.3453E-24"); //Band 4 215 um
       var HawcArr = new Array(Hawc1arr, Hawc2arr, Hawc3arr, Hawc4arr);

                         //            Jy        W/m^2/um     ergs/s/cm^2/um  ergs/s/cm^2/Hz
       var Forcast0aarr = new Array("0.0",       "0.0",        "0.0",        "0.0");        //ignore
       var Forcast1aarr = new Array("3.97E-2", "4.131E-15",  "4.131E-12",  "3.97E-25"); //5.6
       var Forcast2aarr = new Array("5.44E-2", "4.048E-15",  "4.048E-12",  "5.44E-25"); //6.3
       var Forcast3aarr = new Array("6.53E-2", "4.498E-15",  "4.498E-12",  "6.53E-25"); //6.6
       var Forcast4aarr = new Array("6.37E-2", "3.226E-15",  "3.226E-12",  "6.37E-25"); //7.6
       var Forcast5aarr = new Array("6.02E-2", "2.440E-15",  "2.440E-12",  "6.02E-25"); //8.6
       var Forcast6aarr = new Array("4.42E-2","1.0835E-15", "1.0835E-12",  "4.42E-25"); //11.0
       var Forcast7aarr = new Array("1.07E-1", "2.497E-15",  "2.497E-12",  "1.07E-24"); //11.28
       var Forcast8aarr = new Array("5.65E-2", "1.112E-15",  "1.112E-12",  "5.65E-25"); //12.3
       var Forcast9aarr = new Array("5.08E-2", "3.991E-16",  "3.991E-13",  "5.08E-25"); //19.5
       var ForcastaArr = new Array(Forcast0aarr, Forcast1aarr, Forcast2aarr, Forcast3aarr, Forcast4aarr, Forcast5aarr, Forcast6aarr, Forcast7aarr, Forcast8aarr, Forcast9aarr);
                         //             Jy        W/m^2/um     ergs/s/cm^2/um  ergs/s/cm^2/Hz
       var Forcast0barr = new Array("0.0",       "0.0",        "0.0",        "0.0");        //ignore
       var Forcast1barr = new Array("1.44E-1", "4.407E-16",  "4.407E-13",  "1.44E-24"); //30.6
       var Forcast2barr = new Array("3.39E-1", "7.143E-16",  "7.143E-13",  "3.39E-24"); //38.0DUAL
       var ForcastbArr = new Array(Forcast0barr, Forcast1barr, Forcast2barr);

//  Jy/arcsec2        W/m^2/um/arcsec2     ergs/s/cm^2/um/arcsec2  ergs/s/cm^2/um/steradians ergs/s/cm^2/Hz/arcsec2   Mag/arcsec2
        Jarr  = new Array("6.1878E-6", "1.1880E-17", "1.1880E-14", "5.0550E-4", "6.1878E-29", "2.1052E1"); //J 1.25 um
        Harr  = new Array("1.2806E-5", "1.4111E-17", "1.4111E-14", "6.0044E-4", "1.2806E-28", "1.9784E1"); //H 1.65 um
        Karr  = new Array("9.5823E-6", "5.9392E-18", "5.9392E-15", "2.5271E-4", "9.5823E-29", "1.9588E1"); //K 2.2 um
        KDarr = new Array("1.7613E-6", "8.8024E-19", "8.8024E-16", "3.7454E-5", "1.7613E-29", "2.1184E1"); //K Dark 2.45 um
        KLarr = new Array("6.8083E-6", "2.6051E-18", "2.6051E-15", "1.1085E-4", "6.8083E-29", "1.9285E1"); //KL 2.8 um
        Larr  = new Array("1.0383E-5", "2.2032E-18", "2.2032E-15", "9.3745E-5", "1.0383E-28", "1.8439E1"); //L' 3.76 um
        Marr  = new Array("1.2749E-4", "1.6809E-17", "1.6809E-14", "7.1522E-4", "1.2749E-27", "1.5254E1"); //M' 4.77 um
        var FlitecamArcsecArr = new Array(Jarr, Harr, Karr, KDarr, KLarr, Larr, Marr);

//  Jy/arcsec2        W/m^2/um/arcsec2     ergs/s/cm^2/um/arcsec2 ergs/s/cm^2/um/steradians ergs/s/cm^2/Hz/arcsec2
        Hawc1arr = new Array("8.8889E-3", "9.4932E-18", "9.4932E-15", "4.0393E-4", "8.8889E-26");  //Band 1 53.0 um
        Hawc2arr = new Array("3.3698E-3", "1.3054E-18", "1.3054E-15", "5.5547E-5", "3.3698E-26");  //Band 2 88.0 um
        Hawc3arr = new Array("1.0478E-3", "1.3084E-19", "1.3084E-16", "5.5670E-6", "1.0478E-26");  //Band 3 155.0 um
        Hawc4arr = new Array("3.5628E-4", "2.3122E-20", "2.3122E-17", "9.8384E-7", "3.5628E-27");  //Band 4 215.0 um
        HawcArcsecArr = new Array(Hawc1arr, Hawc2arr, Hawc3arr, Hawc4arr);

//  Jy/arcsec2        W/m^2/um/arcsec2     ergs/s/cm^2/um/arcsec2  ergs/s/cm^2/um/steradians ergs/s/cm^2/Hz/arcsec2
        Forcast0aarr = new Array("0.0",       "0.0",        "0.0",        "0.0",       "0.0");      //ignore
        Forcast1aarr = new Array("9.001E-3", "9.361E-16", "9.361E-13", "3.984E-2",  "9.001E-26"); //5.6
        Forcast2aarr = new Array("1.232E-2", "9.169E-16", "9.169E-13", "3.902E-2",  "1.232E-25"); //6.3
        Forcast3aarr = new Array("1.475E-2", "1.016E-15", "1.016E-12", "4.325E-2",  "1.475E-25"); //6.6
        Forcast4aarr = new Array("1.432E-2", "7.248E-16", "7.248E-13", "3.085E-2",  "1.432E-25"); //7.6
        Forcast5aarr = new Array("1.344E-2", "5.447E-16", "5.447E-13", "2.318E-2",  "1.344E-25"); //8.6
        Forcast6aarr = new Array("9.682E-3", "2.373E-16", "2.373E-13", "1.010E-2",  "9.682E-26"); //11.0
        Forcast7aarr = new Array("2.336E-2", "5.452E-16", "5.452E-13", "2.320E-2",  "2.336E-25"); //11.28
        Forcast8aarr = new Array("1.224E-2", "2.410E-16", "2.410E-13", "1.025E-2",  "1.224E-25"); //12.3
        Forcast9aarr = new Array("1.020E-2", "8.010E-17", "8.010E-14", "3.410E-3",  "1.020E-25"); //19.5
       var ForcastArcsecaArr = new Array(Forcast0aarr, Forcast1aarr, Forcast2aarr, Forcast3aarr, Forcast4aarr, Forcast5aarr, Forcast6aarr, Forcast7aarr, Forcast8aarr, Forcast9aarr);
//  Jy/arcsec2        W/m^2/um/arcsec2     ergs/s/cm^2/um/arcsec2  ergs/s/cm^2/um/steradians ergs/s/cm^2/Hz/arcsec2
        Forcast0barr = new Array("0.0",       "0.0",        "0.0",        "0.0",       "0.0");      //ignore
        Forcast1barr = new Array("2.473E-2", "7.569E-17", "7.569E-14", "3.221E-3",   "2.473E-25"); //30.6
        Forcast2barr = new Array("5.407E-2", "1.139E-16", "1.139E-13", "4.847E-3",   "5.407E-25"); //38.0
//        Forcast2barr = new Array("1.3995E-2",  "2.949E-17", "2.949E-14", "1.255E-3", "1.3995E-25"); //38.0
       var ForcastArcsecbArr = new Array(Forcast0barr, Forcast1barr, Forcast2barr);

/*
       alert("Browser name: " + navigator.appName + "\nVersion: " + navigator.appVersion + "\nCode name: " 
              + navigator.appCodeName 
              + "\nisDHTML, isAll, isID, isLayers :" + isDHTML + ", " + isAll + ", " + isID + ", " + isLayers);
*/

       function wrtHTML(tp, strn) {
          tp.open();
          tp.write(strn);
          tp.close();
       }

       function closeHTML(tp) {
          tp.open();
          tp.write("");
          tp.close();
       }

       function hide(objectID) {
          if (isID) { 
             document.getElementById(objectID).style.visibility = "hidden"; 
          }
          if (isAll) { 
             document.all[objectID].style.visibility = "hidden"; 
          }
       }

       function show(objectID) {
          if (isID) { 
             document.getElementById(objectID).style.visibility = "visible"; 
          }
          if (isAll) { 
             document.all[objectID].style.visibility = "visible"; 
          }
       }

       function wrtInside(objectID, strn) {
          if (isID) { 
             document.getElementById(objectID).innerHTML = strn;
          }
          if (isAll) { 
             document.all[objectID].innerHTML = strn;
          }
       }


       function getSelectedIndex(objectID, strn) {
//alert("function getSelectedIndex("+objectID+","+ strn+")");
          if (isID) { 
             return document.getElementById(objectID).selectedIndex;
          }
          if (isAll) { 
             return document.all(objectID).selectedIndex;
          }
       }

       function setInputValue(objectID, strn) {
//alert("function setInputValue("+objectID+","+ strn+")");
          if (isID) { 
             document.getElementById(objectID).value = strn;
          }
          if (isAll) { 
             document.all[objectID].value = strn;
          }
       }


       function setSelectOption(objectID, num, true_false) {
//alert("function setSelectOption("+objectID+","+ strn+","+true_false+")");
          if (isID) { 
             document.getElementById(objectID).options[num].selected = true_false;
          }
          if (isAll) { 
             document.all[objectID].options[num].selected = true_false;
          }
       }

       function setSelectText(objectID, num, strn) {
//alert("function setSelectText("+objectID+","+ num+","+ strn+")");
          if (isID) { 
             document.getElementById(objectID).options[num].text = strn;
          }
          if (isAll) { 
             document.all[objectID].options[num].text = strn;
          }
       }

       function callSubmit() {
//alert("function callSubmit()");
          if(isLayers) {
             document.ITCform.browser.value = "layer";
          } else {
             document.ITCform.browser.value = "nolayer";
          }
          var cal = true;
          var instr = document.ITCform.instrumentWindow.selectedIndex;
//alert("callSubmit: instr = " + instr);
          var index = 0;
          if(instr == 99 ) { //FLITECAM check if filter/grism is selected.
             if(isID) {
                 var index = document.ITCform.instrumentDisperser.selectedIndex;
             }
             if(isAll) {
                 var index = document.all("instrumentDisperser").selectedIndex;
             }
             if(isLayers) {
                 if( document.imageRegion.document.form3) {
                    var index = document.imageRegion.document.form3.instrumentDisperser.selectedIndex;
                 }
             }
             if( index == 1 ) {
                 alert("GRISM not yet implemented");
                 if(isID) {
                    setSelectOption("instrumentDisperser",0,true);
                    hide("obj_empty");
                    hide("obj_slit");
                    hide("obj_um");
                 }
                 if(isAll) {
                    setSelectOption("instrumentDisperser",0,true);
                    hide("obj_empty");
                    hide("obj_slit");
                    hide("obj_um");
                 }
                 if(isLayers) {
                    document.imageRegion.document.form3.instrumentDisperser.options[0].selected = true;
                    closeHTML(document.slitRegion.document);
                    isFORM1Written = false;
                 }
                 cal = false;
             }
          }
          if(instr == 0 ) { //FORCAST	check if at least one filter has been selected.
             var index_units = document.ITCform.filter.selectedIndex;
//alert("A: index_units = " + index_units);
             var filter1_value = document.ITCform.filter.options[index_units].value;
             var lineFlux1_value = document.ITCform.lineFlux.value;
             var filter2_value = "";
             var lineFlux2_value = 0.0;
             if(isLayers) {
                var index_filter = document.filterRegion.document.form4.filter2.selectedIndex;
                filter2_value = document.filterRegion.document.form4.filter2.options[index_filter].value;
                lineFlux2_value = document.secondRegion.document.form5.lineFlux2.value;
                lineWavelength2_value = document.secondRegion.document.form5.lineWavelength2.value;
                document.ITCform.filter2.value = filter2_value;
                document.ITCform.lineFlux2.value = lineFlux2_value;
                document.ITCform.lineWavelength2.value = lineWavelength2_value;
                document.ITCform.psSourceNorm2.value = document.ptsource2Region.document.form6.psSourceNorm2.value;
                document.ITCform.usbSourceNorm2.value = document.ufsource2Region.document.form7.usbSourceNorm2.value;
             }
             if(isID) {
                filter2_value = document.ITCform.filter2.value;
                lineFlux2_value = document.ITCform.lineFlux2.value;
//alert("A: filter2_value = " + filter2_value + "; lineFlux2_value = " + lineFlux2_value);
             }
             if(isAll) {
                filter2_value = document.all("filter2").value;
                lineFlux2_value = document.all("lineFlux2").value;
             }
             if(filter1_value == "NONE" && filter2_value == "NONE") {   //neither filter has been choosen
                alert("Both filters can not be ignored!");
                return false;
             } 
/* SPR214
             if(filter1_value != "NONE" && filter1_value != "19.5" && filter2_value != "NONE") {   //bad combination - should never get here from the gui
                alert("Filter 1 must be Ignore or 19.5 um if Filter 2 is chosen." );
                return false;
             } 
*/
// SPR265
//bad combinations - should never get here from the gui
             if(filter1_value != "NONE" && filter1_value != "11.0" && filter1_value != "11.28" && filter1_value != "12.3" && filter1_value != "19.5" && filter2_value == "30.6") { 
                alert("Filter 1 must be Ignore, 11.0, 11.28, 12.3, or 19.5 um \nif Filter 2 is 30.6 microns. " );
                return false;
             }
             if(filter1_value != "11.0" && filter1_value != "11.28" && filter1_value != "12.3" && filter1_value != "19.5" && filter2_value == "38.0") { 
                alert("Filter 1 must be 11.0, 11.28, 12.3, or 19.5 um \nif Filter 2 is 38.0 microns. " );
                return false;
             }

// changed lowerlimit tests to allow 0, so this code seems to be superfluous
//             if(filter1_value == "NONE" ) {         //only filter 2 has been selected, ie filter 1 ignored
//                document.ITCform.psSourceNorm.value = 0.0;  //place holders otherwise fields get zero which causes problems later
//                document.ITCform.usbSourceNorm.value = 0.1;
//                document.ITCform.lineFlux.value = 1.0e-50;
//             } 
             if(filter2_value == "NONE") {  //only filter 1 has been selected, ie filter 2 ignored
                if(isLayers) {
                   document.ptsource2Region.document.form6.psSourceNorm2.value = 0.0; // placeholders otherwise fields disappear
                   document.ufsource2Region.document.form7.usbSourceNorm2.value = 0.0;
                   document.secondRegion.document.form5.lineFlux2.value = 0.0;
                } else {    //isAll and isID
                   setInputValue("psSourceNorm2",0.0);
                   setInputValue("usbSourceNorm2",0.0);
                   setInputValue("lineFlux2",0.0);
                }
             } 
          }
          document.ITCform.sourceSpecCheckbox.value = "novalue";
          if(document.ITCform.sourceSpecCheck.checked) { 	//Emission line checkbox checked.
             document.ITCform.sourceSpecCheckbox.value = document.ITCform.sourceSpecCheck.value;
             if( (instr == 99 || instr == 2 ) && document.ITCform.lineFlux.value == 0.0 ) { //one filter instruments
                alert("The emission line flux is 0.0");
                return false;
             }
             if( instr == 0  && document.ITCform.lineFlux.value == 0.0 ) { //two filter instruments
                 if(isID || isAll) {
                    if(document.ITCform.lineFlux2.value == 0.0 )  {
                       alert("Both emission line fluxes are 0.0");
                       return false;
                    }
                 }
                 if(isLayers) {
                    if(document.secondRegion.document.form5.lineFlux2.value == 0.0 )  {
                       alert("Both emission line fluxes are 0.0");
                       return false;
                    }
                 }
             }
          }
	  //alert("filter1_value = " + filter1_value + "; lineFlux1_value = " + lineFlux1_value);
	  //alert("filter2_value = " + filter2_value + "; lineFlux2_value = " + lineFlux2_value);
          return cal;
       }

       function initialize() {
//alert("function initialize()");
          setSelectOption("instrumentWindow",1,true);
          changeInstrument();
       }

       function callReset() {
//alert("function callReset()");
          var test = window.confirm("Go ahead and reset to defaults?");
          if(test) {
             location.reload();
          }
          return test;
       }

       function changeFluxUnits() {
//alert("function changeFluxUnits()");
          var inst = document.ITCform.instrumentWindow.selectedIndex;
          if( inst != 0 ) { return; }       //If FLITECAM or HAWC just return
          var sel = document.ITCform.lineFluxUnits.selectedIndex;
          var index = document.ITCform.psSourceUnits.selectedIndex;
          var index_sq = document.ITCform.usbSourceUnits.selectedIndex;
          if(isLayers) {
             wrtHTML(document.ptsource2bRegion.document,units[index]);
             wrtHTML(document.ufsource2bRegion.document,units_sq[index_sq]);
             if(sel == 0 ) {
                wrtHTML(document.secondUnRegion.document,"W/m^2");
             }
             if(sel == 1 ) {
                wrtHTML(document.secondUnRegion.document,"ergs/s/cm^2");
             }
          } else {  //for isAll and isID
             wrtInside("pointsource2_units",units[index]);
             wrtInside("uniformsource2_units",units_sq[index_sq]);
             if(sel == 0 ) {
                wrtInside("secondline3", "W/m^2");
             }
             if(sel == 1 ) {
                wrtInside("secondline3", "ergs/s/cm^2");
             }
          }
       }
          
       function changePsUnits() {
//alert("function changePsUnits()");
          if(isPsUnits ) { return; }
          changeFluxUnits();
          var filter = document.ITCform.filter.selectedIndex;
          var filter2;
          var unit = document.ITCform.psSourceUnits.selectedIndex;
          var instr = document.ITCform.instrumentWindow.selectedIndex;
          if(instr == 99 ) { //FLITECAM
             document.ITCform.psSourceNorm.value = FlitecamArr[filter][unit];
          }
          if(instr == 0 ) { //FORCAST
             document.ITCform.psSourceNorm.value =  ForcastaArr[filter][unit];
             if( isLayers) {
                filter2 = document.filterRegion.document.form4.filter2.selectedIndex;
                document.ptsource2Region.document.form6.psSourceNorm2.value = ForcastbArr[filter2][unit];
             } else {       //isAll and isID
                filter2 = getSelectedIndex("filter2");
                setInputValue("psSourceNorm2",ForcastbArr[filter2][unit]);
             }
          }
          if(instr == 2 ) { //HAWC
             document.ITCform.psSourceNorm.value = HawcArr[filter][unit];
          }
       }

       function setPsUnitsFlag(num) {   //num = 0 is false, otherwise true
//alert("function setPsUnitsFlag(num)");
          if(num == 0) {
             isPsUnits = false;
          } else {
             isPsUnits = true;
          }
       }

       function changeUsbUnits() {
//alert("function changeUsbUnits()");
          if(isUsbUnits ) { return; }
          changeFluxUnits();
          var filter = document.ITCform.filter.selectedIndex;
          var filter2;
          var unit = document.ITCform.usbSourceUnits.selectedIndex;
          var instr = document.ITCform.instrumentWindow.selectedIndex;
          if(instr == 99 ) { //FLITECAM
             document.ITCform.usbSourceNorm.value = FlitecamArcsecArr[filter][unit];
          }
          if(instr == 0 ) { //FORCAST
             document.ITCform.usbSourceNorm.value = ForcastArcsecaArr[filter][unit];
             if( isLayers) {
                filter2 = document.filterRegion.document.form4.filter2.selectedIndex;
                document.ufsource2Region.document.form7.usbSourceNorm2.value = ForcastArcsecbArr[filter2][unit];
             } else {       //isAll and isID
                filter2 = getSelectedIndex("filter2");
                setInputValue("usbSourceNorm2",ForcastArcsecbArr[filter2][unit]);
             }
          }
          if(instr == 2 ) { //HAWC
             document.ITCform.usbSourceNorm.value = HawcArcsecArr[filter][unit];
          }
       }

       function setUsbUnitsFlag(num) {  //num = 0 is false, otherwise true
//alert("function setUsbUnitsFlag(num)");
          if(num == 0) {
             isUsbUnits = false;
          } else {
             isUsbUnits = true;
          }
       }

       function opticalHelp() {
//alert("function opticalHelp()");
          var instrument = instrumentArr[document.ITCform.instrumentWindow.selectedIndex];
          var loc = "itcHelp/ITChelp" + instrument + "Properties.html#optical";
          var newWindow = window.open(loc, instrument);
       }

       function changeFilterValue() {
//alert("function changeFilterValue()");
          var instr = document.ITCform.instrumentWindow.selectedIndex;
          var filter2;
          document.ITCform.lineWavelength.value = filter1arr[instr][document.ITCform.filter.selectedIndex];
          var filter = document.ITCform.filter.selectedIndex;
          if( instr == 99 ) {        //FLITECAM
             document.ITCform.psSourceNorm.value = FlitecamArr[filter][document.ITCform.psSourceUnits.selectedIndex];
             document.ITCform.usbSourceNorm.value = FlitecamArcsecArr[filter][document.ITCform.usbSourceUnits.selectedIndex];
          }
          if( instr == 0 ) {        //FORCAST
             if(isLayers) { filter2 = document.filterRegion.document.form4.filter2.selectedIndex; } 
             else { filter2 = getSelectedIndex("filter2"); } //isAll and isID
//alert("function changeFilterValue(), indices of filter1 and filter2 = " + filter + "  " + filter2);
/* SPR214 - OBE
             if( filter != 0 && filter != 9 && filter2 != 0) {
                alert("Filter 1 must be Ignore or 19.5 um if Filter 2 is chosen. \nFilter 2 changed to Ignore." );
                filter2 = 0;
                if(isLayers) { document.filterRegion.document.form4.filter2.value = "NONE"; } 
                else { setInputValue("filter2","NONE"); }   //isAll and isID
             }
*/
// SPR265
             if( filter != 0 && filter < 6 && filter2 == 1) {
                alert("Filter 1 must be Ignore, 11.0, 11.28, 12.3, or 19.5 um \nif Filter 2 is 30.6 microns. Filter 2 changed to Ignore." );
                filter2 = 0;
                if(isLayers) { document.filterRegion.document.form4.filter2.value = "NONE"; } 
                else { setInputValue("filter2","NONE"); }   //isAll and isID
             }
             if( filter < 6 && filter2 == 2) {
                alert("Filter 1 must be 11.0, 11.28, 12.3, or 19.5 um \nif Filter 2 is 38.0 microns. Filter 2 changed to Ignore." );
                filter2 = 0;
                if(isLayers) { document.filterRegion.document.form4.filter2.value = "NONE"; } 
                else { setInputValue("filter2","NONE"); }   //isAll and isID
             }



             document.ITCform.lineWavelength.value = filterWvarr[document.ITCform.filter.selectedIndex];  //replaces NONE by 0.0
             document.ITCform.psSourceNorm.value = ForcastaArr[filter][document.ITCform.psSourceUnits.selectedIndex];
             document.ITCform.usbSourceNorm.value = ForcastArcsecaArr[filter][document.ITCform.usbSourceUnits.selectedIndex];
             if(isLayers) {
                document.ptsource2Region.document.form6.psSourceNorm2.value = ForcastbArr[filter2][document.ITCform.psSourceUnits.selectedIndex];
                document.ufsource2Region.document.form7.usbSourceNorm2.value = ForcastArcsecbArr[filter2][document.ITCform.usbSourceUnits.selectedIndex];
                document.secondRegion.document.form5.lineWavelength2.value = filterWv2arr[filter2];
                document.ITCform.lineFlux2.value = document.secondRegion.document.form5.lineFlux2.value;
             } else {       //isAll and isID
                value = ForcastbArr[filter2][getSelectedIndex("psSourceUnits")] ;
                setInputValue("psSourceNorm2", value );
                value = ForcastArcsecbArr[filter2][getSelectedIndex("usbSourceUnits")] ;
                setInputValue("usbSourceNorm2", value);
                setInputValue("lineWavelength2", filterWv2arr[filter2] );
             }
          }

          if( instr == 2 ) {        //HAWC
             document.ITCform.psSourceNorm.value = HawcArr[filter][document.ITCform.psSourceUnits.selectedIndex];
             document.ITCform.usbSourceNorm.value = HawcArcsecArr[filter][document.ITCform.usbSourceUnits.selectedIndex];
          }
       }

       function changeDisperser() {
//alert("function changeDisperser()");
          if(isLayers) {
              if(isFORM1Written) {
                 wrtHTML(document.slitRegion.document,closeNN);
                 isFORM1Written = false;
              } else {
                 wrtHTML(document.slitRegion.document,slitNN);
                 isFORM1Written = true;
              }
              return;
          }  else {         //isAll and isID
             var index = getSelectedIndex("instrumentDisperser");
              if(index == 1) {
                 show("obj_empty");
                 show("obj_slit");
                 show("obj_um");
              } else {
                 hide("obj_empty");
                 hide("obj_slit");
                 hide("obj_um");
              }
          }
       }

       function changeInstrument() {
//alert("function changeInstrument()");
          var selectPsSourceUnits = document.ITCform.psSourceUnits;
          var selectUsbSourceUnits = document.ITCform.usbSourceUnits;
          var selectFilter = document.ITCform.filter;
          var selectImage = document.ITCform.instrumentDisperser;
          var index = document.ITCform.instrumentWindow.selectedIndex;
//alert("function changeInstrument() index = " + index);
          document.ITCform.psSourceUnits.options[0].selected = true;
          document.ITCform.usbSourceUnits.options[0].selected = true;
          document.ITCform.lineFluxUnits.options[0].selected = true;
          selectFilter.options.length = 0;
          if(index == 99 ) { //FLITECAM
             selectFilter.options[0] = new Option("J (1.25 um)", "J");
             selectFilter.options[1] = new Option("H (1.65 um)", "H");
             selectFilter.options[2] = new Option("K (2.2 um)", "K");
             selectFilter.options[3] = new Option("K Dark (2.45 um)","KD");
             selectFilter.options[4] = new Option("KL (2.8 um)", "KL");
             selectFilter.options[5] = new Option("L' (3.76 um)", "L'");
             selectFilter.options[6] = new Option("M' (4.77 um)", "M'");
             var num = Math.floor(selectFilter.options.length/2);
             selectFilter.options[num].selected = true;
             document.ITCform.lineWavelength.value = filter1arr[0][num];
             document.ITCform.psSourceNorm.value = FlitecamArr[num][0];
             document.ITCform.usbSourceNorm.value = FlitecamArcsecArr[num][0];
             selectPsSourceUnits.options[4] = new Option("mag", "mag");
             selectUsbSourceUnits.options[5] = new Option("mag / sq arcsec", "mag_per_sq_arcsec");
             if(isLayers) {
                closeHTML(document.secondUnRegion.document);
                closeHTML(document.filterRegion.document);
                closeHTML(document.ptsource2aRegion.document);
                closeHTML(document.ptsource2bRegion.document);
                closeHTML(document.ufsource2bRegion.document);
                closeHTML(document.ufsource2aRegion.document);
                document.imageRegion.top  = document.images["pos1"].y - 20.0;
                document.imageRegion.left = document.images["pos1"].x;
                //wrtHTML(document.imageRegion.document,imageNN);	//inactivate image/grism
                document.slitRegion.top  = document.imageRegion.top;
                document.slitRegion.left = document.images["pos1_slit"].x;
                wrtHTML(document.secondRegion.document,secondCloseNN);
                wrtHTML(document.ptsource2Region.document,ptsource2CloseNN);
                wrtHTML(document.ufsource2Region.document,ufsource2CloseNN);
             } else {       //isAll and isID
                hide("obj_empty");
                hide("obj_slit");
                hide("obj_um");
                //show("obj_image");		//inactivate image/grism
                //show("obj_sel_disperser");	//inactivate image/grism
                hide("obj_filter2");
                hide("pointsource2");
                hide("pointsource2_input");
                wrtInside("pointsource2_units", "");
                hide("uniformsource2");
                hide("uniformsource2_input");
                wrtInside("uniformsource2_units","");
                hide("secondline1");
                hide("secondline1a");
                hide("secondline2");
                hide("secondline2a");
                hide("secondline3");
                //hide("secondline4");          //needed for lineWidth2
                setSelectOption("instrumentDisperser",0,true);
                setSelectText("instrumentDisperser",0,"Image");
             }
             return;
          }
          if(index == 2 ) {     //HAWC
             selectFilter.options[0] = new Option("Band 1 (53 um)", "band1");
             selectFilter.options[1] = new Option("Band 2 (88 um)", "band2");
             selectFilter.options[2] = new Option("Band 3 (155 um)", "band3");
             selectFilter.options[3] = new Option("Band 4 (215 um)", "band4");
             var num = Math.floor(selectFilter.options.length/2);
             selectFilter.options[num].selected = true;
             document.ITCform.lineWavelength.value = filter1arr[2][num];
             document.ITCform.psSourceNorm.value = HawcArr[num][0];
             document.ITCform.usbSourceNorm.value = HawcArcsecArr[num][0];
             selectPsSourceUnits.options[4] = null;
             selectUsbSourceUnits.options[5] = null;
            if(isLayers) {
                closeHTML(document.imageRegion.document);
                closeHTML(document.slitRegion.document);
                closeHTML(document.filterRegion.document);
                closeHTML(document.secondRegion.document);
                closeHTML(document.ptsource2aRegion.document);
                closeHTML(document.ptsource2bRegion.document);
                closeHTML(document.ufsource2bRegion.document);
                closeHTML(document.secondUnRegion.document);
                closeHTML(document.ptsource2Region.document);
                closeHTML(document.ufsource2aRegion.document);
                closeHTML(document.ufsource2Region.document);
             } else {       //isAll and isID
                hide("obj_empty");
                hide("obj_slit");
                hide("obj_um");
                hide("obj_image");
                hide("obj_sel_disperser");
                hide("obj_filter2");
                hide("pointsource2");
                hide("pointsource2_input");
                wrtInside("pointsource2_units", "");
                hide("uniformsource2");
                hide("uniformsource2_input");
                wrtInside("uniformsource2_units", "");
                hide("secondline1");
                hide("secondline2");
                hide("secondline1a");
                hide("secondline2a");
                hide("secondline3");
                //hide("secondline4");          //needed for lineWidth2
             }
             return;
          }
          if(index == 0 ) {     //FORCAST
             selectFilter.options[0] = new Option("Ignore", "NONE");
             selectFilter.options[1] = new Option(" 5.6 um", "5.6");
             selectFilter.options[2] = new Option(" 6.3 um", "6.3");
             selectFilter.options[3] = new Option(" 6.6 um", "6.6");
             selectFilter.options[4] = new Option(" 7.6 um", "7.6");
             selectFilter.options[5] = new Option(" 8.6 um", "8.6");
             selectFilter.options[6] = new Option("11.0 um", "11.0");
             selectFilter.options[7] = new Option("11.28 um", "11.28");
             selectFilter.options[8] = new Option("12.3 um", "12.3");
             selectFilter.options[9] = new Option("19.5 um", "19.5");
//             var num = Math.floor(selectFilter.options.length/2);
             var num = 9; // default is 19.5 micron filter
//alert("changeInstrument FORCAST num = " + num);
             selectFilter.options[num].selected = true;
             selectPsSourceUnits.options[4] = null;         //removes mag units
             selectUsbSourceUnits.options[5] = null;            //removes mag/arcsec^2 units
             document.ITCform.lineWavelength.value = filter1arr[0][num];
             document.ITCform.psSourceNorm.value = ForcastaArr[num][0];
             document.ITCform.usbSourceNorm.value = ForcastArcsecaArr[num][0];
             if(isLayers) {
                closeHTML(document.imageRegion.document);
                closeHTML(document.slitRegion.document);
                document.filterRegion.top  = document.images["pos1"].y -20.0;
                document.filterRegion.left = document.images["pos1"].x + 10.0;
                   wrtHTML(document.filterRegion.document,filterNN);
                document.ptsource2bRegion.top = document.images["pos2a_units"].y;
                document.ptsource2bRegion.left = document.images["pos2a_units"].x + 5.0;
                   wrtHTML(document.ptsource2bRegion.document,units[document.ITCform.psSourceUnits.selectedIndex]);
                document.ptsource2aRegion.top = document.images["pos2_legend"].y;
                document.ptsource2aRegion.left = document.images["pos2_legend"].x;
                   wrtHTML(document.ptsource2aRegion.document,ptsource2aNN);
                document.ptsource2Region.top = document.images["pos2"].y;
                document.ptsource2Region.left = document.images["pos2"].x - 2.0;
                   wrtHTML(document.ptsource2Region.document,ptsource2NN);
                document.ufsource2bRegion.top = document.images["pos3a_units"].y;
                document.ufsource2bRegion.left = document.images["pos3a_units"].x + 5.0;
                   wrtHTML(document.ufsource2bRegion.document,units_sq[document.ITCform.usbSourceUnits.selectedIndex]);
                document.ufsource2aRegion.top = document.images["pos3_legend"].y;
                document.ufsource2aRegion.left = document.images["pos3_legend"].x;
                   wrtHTML(document.ufsource2aRegion.document,ufsource2aNN);
                document.ufsource2Region.top = document.images["pos3"].y;
                document.ufsource2Region.left = document.images["pos3"].x - 2.0;
                   wrtHTML(document.ufsource2Region.document,ufsource2NN);
                document.secondRegion.top = document.images["pos4"].y;
                document.secondRegion.left = document.images["pos4"].x;
                   wrtHTML(document.secondRegion.document,secondNN);
                document.secondUnRegion.top = document.images["pos4_units"].y + 5.0;
                document.secondUnRegion.left = document.images["pos4_units"].x + 15.0;
                   wrtHTML(document.secondUnRegion.document,"W/m^2");
                document.ptsource2Region.document.form6.psSourceNorm2.value = ForcastbArr[3][0];
                document.ITCform.psSourceNorm2.value = document.ptsource2Region.document.form6.psSourceNorm2.value;
                document.ufsource2Region.document.form7.usbSourceNorm2.value = ForcastArcsecbArr[3][0];
                document.ITCform.usbSourceNorm2.value = document.ufsource2Region.document.form7.usbSourceNorm2.value;
                document.ITCform.lineFlux2.value = document.secondRegion.document.form5.lineFlux2.value;
                //document.ITCform.lineWidth2.value = document.secondRegion.document.form5.lineWidth2.value;
                document.secondRegion.document.form5.lineWavelength2.value = filter2arr[3];
                document.ITCform.lineWavelength2.value = document.secondRegion.document.form5.lineWavelength2.value;
                document.filterRegion.document.form4.filter2.options[3].selected = true;
                isFORM4Written = true;
             } else {       //isAll and isID
                hide("obj_empty");
                hide("obj_slit");
                hide("obj_um");
                hide("obj_image");
                hide("obj_sel_disperser");
                show("obj_filter2");
                show("pointsource2");
                show("pointsource2_input");
                wrtInside("pointsource2_units", "Jy");
                show("uniformsource2");
                show("uniformsource2_input");
                wrtInside("uniformsource2_units", "Jy/sq arcsec");
                show("secondline1");
                show("secondline2");
                show("secondline1a");
                show("secondline2a");
                show("secondline3");
                wrtInside("secondline3", "W/m^2");
                //show("secondline4");              //needed for lineWidth2
                setSelectOption("filter2", 1, true);
                setInputValue("psSourceNorm2", ForcastbArr[1][0]);
                setInputValue("usbSourceNorm2", ForcastArcsecbArr[1][0]);
                setInputValue("lineWavelength2", filter2arr[1]);
             }
             return;
          }
          isPsUnits = false;
          isUsbUnits = false;
       }
   // -->
