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

/* 
 * az ATM automata limit lekerdezo ablaka 
 */
class LimitATMAblak extends Frame 
                    implements ActionListener, 
                               Runnable
{
   Button visszaButton;
   Label limitLabel;
   Thread thread;
   String iButtonID = new String("");

   public LimitATMAblak(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("Limit: "));
        limitLabel = 
           new Label(Integer.toString(Gyuru.eszkoz.limitKerdez()));
        szovegPanel.add(limitLabel);
       }
       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)
         {
         }

         // Ellenorzi az eltuno iButton-t
         if (haveiButton&& 
             !(Gyuru.eszkoz.eszkozJelen()&&
               Gyuru.eszkoz.appletJelen()))
         {
            haveiButton = false;
            setTitle("Limit lek\u00e9rdez\u00e9se (nincs eszk\u00f6z jelen)");
            limitLabel.setVisible(false);
         }
         // Ellenorzi a megjeleno iButton-t
         else if (!haveiButton&& 
                  (Gyuru.eszkoz.eszkozJelen()&&
                   Gyuru.eszkoz.appletJelen()))
         {
            haveiButton = true;
            if(!iButtonID.equals(Gyuru.eszkoz.getiButtonID()))
            {
               setTitle("Limit lek\u00e9rdez\u00e9se "+
                        "(eszk\u00f6z megv\u00e1ltozott)");
               limitLabel.setVisible(true);
            }
            else
            {
               setTitle("Limit lek\u00e9rdez\u00e9se "+
                        "(eszk\u00f6z el\u00e9rhet\u00f4)");
               limitLabel.setVisible(true);
            }
         }
      }
   }

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