package rekisteri;

import java.net.URL;
import java.util.ResourceBundle;

import fi.jyu.mit.fxgui.Dialogs;
import fi.jyu.mit.fxgui.ModalController;

import javafx.fxml.FXML;
import javafx.fxml.Initializable;

import javafx.scene.control.TextField;
import rekisteriJAVA.Rekisteri;




/**
 * @author idamk
 * @version 16.2.2023
 *
 */
public class RalliGUIController implements Initializable {

    @FXML private TextField textHaettava; //haettava aloitusikkunasta
    @FXML private TextField textrajaus;
    
    private String rekisterinNimi = "ralliAsia";
    
    @FXML private void handleHae() { hae(); }
    
    
    @FXML private void handleTarkasteluun() { tarkasteluun();}
    
    
    /**
     * Ajetaan, kun klikataan "Lisää uusi"
     */
    @FXML private void handleUusi() { lisaaUusi();}
    
    /**
     * Ajetaan kun klikataan menusta "Tulosta"
     */
    @FXML private void handleTulosta() {
        //TulostusController.tulosta(null);
    }
    
    /** 
     * Ajetaan, kun klikataan "Peruuta" näppäintä. Auki ollut ikkuna suljetaan eikä mahdollisia muutoksia tallenneta
     */
    @FXML private void handlePeruuta() { peruuta();}
    
    /**
     * Ajetaan kun klikataan "Muokkaa". Avaa uuden ikkunan, missä valitun henkilön tai rallin tietoja voi muokata
     */
    @FXML private void handleMuokkaa() { 
        ModalController.showModal(RalliGUIController.class.getResource("HenkiloDialogView.fxml"), "Henkilo", null, "");
    }
    
    /**
     * Ajetaan, kun klikataan "Poista henkilö" henkilön kohdalla
     */
    @FXML private void handlePoistaHenkilo() {
        Dialogs.showMessageDialog("Poistetaan henkilö, ei toimi vielä");
    }
    
    
    /**
     * Ajetaan, kun klikataan "Poista ralli" rallien kohdalla
     */
    @FXML private void handlePoistaRalli() {
        Dialogs.showMessageDialog("Poistetaan ralli, ei toimi vielä");
    }
    
    
    /**
     * Ajetaan, kun klikataan "Tallenna"
     */
    @FXML private void handleTallenna() { tallenna();}
    
    
    /**
     * Ajetaan, kun klikataan "Poistu" näppäintä
     */
    @FXML private void handlePoistu() { peruuta();}
    
    
    /**
     * Ajetaan, kun valitaan rajaus/hakuehto valikosta
     */
    @FXML private void handleRajaus() { 
        Dialogs.showMessageDialog("Rajataan hakuehtoja, ei toimi");
        //String hakukentta = rajaus.getSelectedText(); //hakee rajauksen
        //String ehto = hakuehto.getText(); //saadaan hakuehto tekstikentästä
        //    if(ehto.isEmpty() ) naytaVirhe(null); //miten toimitaan jos hakuehtoa ei määritelty
        //    else naytaVirhe("Ei osata vielä hakea " + hakukentta + ": " + ehto); //kun hakuehto määritellään
    }
    
    
    /**
     * Ajetaan, kun klikataan yläpalkista "Apua"
     */
    @FXML private void handleApua() {
        apua();
    }
    
    /**
     * Ajetaan, kun klikataan menusta "Tiedot". Avaa uuden ikkunan, Tietoja.fxml tiedostosta
     */
    @FXML private void handleTiedot() {
        ModalController.showModal(RalliGUIController.class.getResource("Tietoja.fxml"), "Ralli", null, "");
    }
    
    /**
     * @return voiko sulkea
     */
    @FXML public boolean voikoSulkea() {
        tallenna();
        return true;
    }
    
   
    @Override
    public void initialize(URL location, ResourceBundle resources) {
        //
    }
    
    //==========================================================
    
    private Rekisteri rekisteri;
    
    
    private void alusta() {
        //chooserHenkilot();
    }
    /**
     * 
     */
    public void tarkasteluun() {
        //ModalController.showModal(RalliGUIController.class.getResource("tarkastele.fxml"), "", null, "");
        Dialogs.showMessageDialog("Siirrytään tarkasteluun, ei toimi vielä");
    }
    
    /**
     * 
     */
    public void lisaaUusi(){
        Dialogs.showMessageDialog("Avataan uuden lisääminen, ei toimi vielä");
        //ModalController.showModal(RalliGUIController.class.getResource("uusi.fxml"), "", null, "");
        //Henkilo uusi new Henkilo();
        //uusi.rekisteroi();
        //uusi.vastaaKalleRovanpera(); //täyttää kallerovanperä tiedoilla
        //try {
        //    rekisteri.lisaa(uusi);
        //} catch (SailoException e) {
        //    Dialogs.showMessageDialog("Ongelmia uuden luomisessa " + e.getMessage());
        //}
        //hae(uusi.getTunnusNro());
    }
    
    /**
     * 
     */
    public void muokkaa() {
        Dialogs.showMessageDialog("Muokkaukseen, ei toimi vielä!");
    }
    
    /**
     * 
     */
    public void hae() {
        //String hakukenttaString = cbKentat.getSelectedText();

        Dialogs.showMessageDialog("Haetaan, ei toimi vielä");
        
        //chooserHenkilot.clear();
        //int index = 0;
    }
    
    private void apua() {
        Dialogs.showMessageDialog("Avaa Apua-ikkunan, ei toimi vielä");
    }

    /**
     * 
     */
    public void tallenna() {
        Dialogs.showMessageDialog("Tallennus ei toimi vielä");
    }
    
    /**
     * 
     */
    public void peruuta() {
        Dialogs.showMessageDialog("Palataan takaisin, ei toimi vielä");
    }




    public void avaa() {
        //String uusiString = RekisterinNimiController.kysyNimi()
        Dialogs.showMessageDialog("Avaa");
    }
    
  
    
     
}