import java.awt.*;
import java.awt.event.*;

/* 
 * lasd EgyenlegAblak.class
 */
class EgyenlegATMAblak extends Frame 
                       implements ActionListener, 
                                  Runnable
{
   Button visszaButton;
   Label egyenlegLabel;
   Thread thread;
   String iButtonID = new String("");

   public EgyenlegATMAblak(String ID) 
   {
      iButtonID = ID;
      
      setSize(300, 200);
      setResizable(false);
      setLocation(250,200);

      setLayout(new BorderLayout());

      Panel szovegPanel = new Panel();
      {
       szovegPanel.setLayout(new FlowLayout());
       {
        szovegPanel.add(new Label("Egyenleg: "));
        egyenlegLabel = 
           new Label(Integer.toString(Gyuru.eszkoz.egyenlegKerdez()));
        szovegPanel.add(egyenlegLabel);
       }
       add("Center",szovegPanel);
      }

      Panel kilepPanel = new Panel();
      {
       kilepPanel.setLayout(new FlowLayout());
       visszaButton = new Button("Vissza az ATM automat\u00e1hoz");
       {
        kilepPanel.add(visszaButton);
        visszaButton.addActionListener(this);
       }
       add("South",kilepPanel);
      }
      thread = new Thread(this);
      thread.start();
   }

   public void run()
   {
      boolean haveiButton = !(Gyuru.eszkoz.eszkozJelen()&&
                              Gyuru.eszkoz.appletJelen());
      while (true)
      {
         try
         {
            Thread.sleep(250);
         }
         catch (InterruptedException e)
         {
         }

         try
         {
            // Ellenorzi az eltuno iButton-t
            if (haveiButton&& 
                !(Gyuru.eszkoz.eszkozJelen()&&
                  Gyuru.eszkoz.appletJelen()))
            {
               haveiButton = false;
               setTitle("Egyenleg (nincs eszk\u00f6z jelen)");
               egyenlegLabel.setVisible(false);
            }
            // Ellenorzi a megjeleno iButton-t
            else if (!haveiButton&& 
                     (Gyuru.eszkoz.eszkozJelen()&&
                      Gyuru.eszkoz.appletJelen()))
            {
               haveiButton = true;
               if(!iButtonID.equals(Gyuru.eszkoz.getiButtonID()))
               {
                  System.out.println("ID:  "+iButtonID);
                  System.out.println("New: "+Gyuru.eszkoz.getiButtonID());
                  setTitle("Egyenleg (eszk\u00f6z megv\u00e1ltozott)");
                  egyenlegLabel.setVisible(false);
               }
               else
               {
                  egyenlegLabel.setText(
                     (Integer.toString(Gyuru.eszkoz.egyenlegKerdez())));
                  setTitle("Egyenleg (eszk\u00f6z el\u00e9rhet\u00f4)");
                  egyenlegLabel.setVisible(true);
               }
            }
         }
         catch(NullPointerException e)
         {
         }
      }
   }

   public void actionPerformed(ActionEvent evt)
   {
      if(evt.getSource()==visszaButton)
      {
         /* Vissza */
         dispose();
         thread.stop();
         Gyuru.atmablak = new ATMAblak();
         Gyuru.atmablak.show();
      }
   }
}