

/**
 * Title:
 * Description:
 * Copyright:    Copyright (c) 2002
 * Company:
 * @author
 * @version 1.0
 */

import java.awt.*;
import java.util.Calendar;
import omaTable.*;


public class aikaSaie extends Thread{

  Table taul;
  Kilpailu kilp;



    public aikaSaie(Table itaul, Kilpailu ikilp) {
      taul = itaul;
      kilp = ikilp;

    this.setPriority(5);
    }
    public void run()
    {





                    Color vari = new java.awt.Color(220,220,220);
                    int kaika = 0;
                    int sijaarvaus = 0;
                    int aika = 0;
                    int karki = 0;
                    int sija = 0;
                    Calendar c;

                   while(!this.isInterrupted()){
                       c = Calendar.getInstance();
                       aika = c.get(c.HOUR_OF_DAY)*3600 + c.get(c.MINUTE) *60 + c.get(c.SECOND);

                        // näillä siirretään vrk:n 'alkamisaika' klo 6:00:ksi (yösuunnistus)
                        if(aika < 21600) aika = aika + 86400;
                        karki = (kilp.valittusarja!=null?kilp.valittusarja.annaKeula():0);
                        try
                        {for(int i=0;i<taul.getRowCount();i++)
                         if(!taul.getCell(0,0).equals(""))
                         {

                             if(taul.getRowBackground(i).equals(vari))
                             {
                              int laika = Integer.parseInt(taul.getCell(i,5)+"");
                              if(laika < 21600) laika = laika + 86400;
                              kaika = aika -laika;
                                taul.setCell(i,4,(kaika>0?MinSek(kaika):"-"+MinSek(-1*kaika)));
                              if(karki>0)
                              {
                                taul.setCell(i,6,(kaika>karki?"-"+MinSek(kaika-karki):"+"+MinSek(karki-kaika)));

                                sija = kilp.valittusarja.annaSija(kaika);
                                taul.setCell(i,8,(sija>0?sija+"":""));
                              }

                              }
                             else if(karki>0)
                              {
                                kaika = Integer.parseInt(""+taul.getCell(i,7));
                                taul.setCell(i,6,(kaika<999990?"-"+MinSek(kaika-karki):""));

                                sija = kilp.valittusarja.annaSija(kaika);
                                taul.setCell(i,8,(sija>0?sija+"":""));
                             }

                            }
                         }
                         catch (Exception ex) {
                         //ex.printStackTrace();
                         }


                     try{
                   Thread.yield();
                   Thread.sleep(200);
                    }

            catch(InterruptedException _ex)
            {
                break;
            }


            }


          }


    private String MinSek(int sek){
      return " "+(sek-sek%60)/60 + ":" + ((sek%60) <10 ? "0" : "") + sek%60;
    }



}
