
import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;

public class cbl_calc_jv extends Applet {
  double k=Math.pow(0.46/0.005,1.0/39.0);

  Choice AWGChooser	= new Choice();
  TextField txtnow	= new TextField(40);
  TextField txtfincsa	= new TextField(40);
  TextField txtfindia	= new TextField(40);
  Button docalc_but	= new Button("Do Final Cable Calculations");

  public void init() {
    setLayout(new GridLayout(5, 2));

    add(new Label(" Enter Number Of Wires "));
    txtnow.setEditable(true);
    add(txtnow);

    add(new Label(" Select Wire Gage [AWG] "));
    AWGChooser.addItem("0");
    AWGChooser.addItem("1");
    AWGChooser.addItem("2");
    AWGChooser.addItem("3");
    AWGChooser.addItem("4");
    AWGChooser.addItem("5");
    AWGChooser.addItem("6");
    AWGChooser.addItem("7");
    AWGChooser.addItem("8");
    AWGChooser.addItem("9");
    AWGChooser.addItem("10");
    AWGChooser.addItem("11");
    AWGChooser.addItem("12");
    AWGChooser.addItem("13");
    AWGChooser.addItem("14");
    AWGChooser.addItem("15");
    AWGChooser.addItem("16");
    AWGChooser.addItem("17");
    AWGChooser.addItem("18");
    AWGChooser.addItem("19");
    AWGChooser.addItem("20");
    AWGChooser.addItem("21");
    AWGChooser.addItem("22");
    AWGChooser.addItem("23");
    AWGChooser.addItem("24");
    AWGChooser.addItem("25");
    AWGChooser.addItem("26");
    AWGChooser.addItem("27");
    AWGChooser.addItem("28");
    AWGChooser.addItem("29");
    AWGChooser.addItem("30");
    AWGChooser.addItem("31");
    AWGChooser.addItem("32");
    AWGChooser.addItem("33");
    AWGChooser.addItem("34");
    AWGChooser.addItem("35");
    AWGChooser.addItem("36");
    AWGChooser.addItem("37");
    AWGChooser.addItem("38");
    AWGChooser.addItem("39");
    AWGChooser.addItem("40");
    add(AWGChooser);

    add(new Label(" Calculate Final Totals "));
    add(docalc_but);

    docalc_but.addActionListener
    ( 
      new ActionListener()
      {
        public void actionPerformed(ActionEvent e)
        {
          big_calc();
        }
      }
    );

    add(new Label(" Final Cable Diameter "));
    add(txtfindia);
    add(new Label(" Final Cable/Bundle Cross Sectional Area "));
    add(txtfincsa);
  }

  public void big_calc() {
    String txtnow_str, txtfindia_str, txtfincsa_str, AWGChooser_str;
    double findia_sum, fincsa_sum, diadbl;
    int txtnow_int, AWGChooser_int;

    AWGChooser_str = AWGChooser.getSelectedItem();	      // get text from choose
    AWGChooser_int = Integer.parseInt(AWGChooser_str);	// convert string to integer
    diadbl=dia_calc(AWGChooser_int);

    txtnow_str = txtnow.getText();	      			// get text from textfield 
    txtnow_int = Integer.parseInt(txtnow_str);			// convert string to integer

    findia_sum=findia_calc(diadbl, txtnow_int);
    fincsa_sum=fincsa_calc(findia_sum);

    txtfindia_str = Double.toString(findia_sum);		// convert double to string 
    txtfindia.setText(txtfindia_str);				// set text to textfield

    txtfincsa_str = Double.toString(fincsa_sum);		// convert double to string 
    txtfincsa.setText(txtfincsa_str);				// set text to textfield 
  }

  public double findia_calc(double diadbl, int txtnow_int) {
    double findia_sum;
    findia_sum = Math.sqrt( txtnow_int * ( diadbl * diadbl ) );
    return findia_sum;
  }

  public double fincsa_calc(double findia_sum) {
    double fincsa_sum;
    fincsa_sum = Math.PI * ( findia_sum / 2) * ( findia_sum / 2 );
    return fincsa_sum;
  }

  public double dia_calc( int AWGChooser_int ) {
    double diadbl;
    diadbl = 0.46/Math.pow(k,AWGChooser_int+3);
    return diadbl;
  }
}
