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

/*
 * a jegyzetbolt egyenleglekerdezese 
 */
class EgyenlegAblak extends Frame 
                    implements ActionListener, 
                               Runnable
{
   Button visszaButton; /* vissza a jegyzetbolthoz */
   Label egyenlegLabel; /* a gyurun levo egyenleg */
   Thread thread; /* a gyurut figyelo szal */


   /*
    * az egyenleg megmutatasahoz szukseges ablak 
    */
   public EgyenlegAblak() 
   {
      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 a Jegyzetboltba");
       {
        kilepPanel.add(visszaButton);
        visszaButton.addActionListener(this);
       }
       add("South",kilepPanel);
      }
      thread = new Thread(this);
      thread.start();
   }

   /* 
    * a gyurut figyelo szal futasa 
    */
   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;
               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.jegyzetboltablak = new JegyzetBoltAblak();
         Gyuru.jegyzetboltablak.show();
      }
   }
}