package poliklinika;

import java.util.*;
import java.io.*;
import javax.swing.JOptionPane;

/**
 *
 * @author Kazimieras Stukas
 */
public class Main {

    static boolean baigti = false;
    static boolean iMeniu = false;

    public static void valyti() {
        for (int i = 0; i <= 1; i++) {
            System.out.println();
        }
    }

    public static void main(String[] args) {


        Talonelis t = new Talonelis("2008-04-19");
        PaprastasLigonis l2 = new PaprastasLigonis("Jonas", "Romanovicius");
        NepaprastasLigonis l = new NepaprastasLigonis("Jonas", "Romanovicius");
        Gydytojas g = new Gydytojas("Petras", "Pavardaitis", 16);
        Vaistas vaist = new Vaistas();
        while (baigti == false) {
            Object[] possibleValues = {"Paprastas Ligonis", "Nepaprastas Ligonis"};

            Object selectedValue = JOptionPane.showInputDialog(null,
                    "", "Jusu veiksmu meniu",
                    JOptionPane.INFORMATION_MESSAGE, null,
                    possibleValues, possibleValues[0]);
            if (selectedValue == "Paprastas Ligonis") {
                iMeniu = false;
                while (iMeniu == false) {


                    Object[] NewpossibleValues = {"Pasiimti taloneli", "Liepti pacientui susirgti",
                        "InformIacija apie gydytoja", "Gydyti pacienta", "Gerti pacientui vaistus",
                        "I Pagrindini meniu", "Baigti Darba"
                    };
                    Object NewselectedValue = JOptionPane.showInputDialog(null,
                            "", "Jusu veiksmu meniu",
                            JOptionPane.INFORMATION_MESSAGE, null,
                            NewpossibleValues, NewpossibleValues[0]);

                    if (NewselectedValue == "Pasiimti taloneli") {
                        l2.pasimtiTaloneli(t);
                    }
                    if (NewselectedValue == "Liepti pacientui susirgti") {
                        try {
                            l2.susirgti();
                        } catch (PacientoSveikata e) {
                            e.DelKoIsimtis();
                        }
                    }
                    if (NewselectedValue == "InformIacija apie gydytoja") {
                        g.spausdink(l);
                    }
                    if (NewselectedValue == "Gydyti pacienta") {
                        
                        if (l2.getTal() == true && l2.getSveikata() < 7 ) {

                            l2.eikGydytis(g);

                            g.skirkvaistus(l2, vaist);
                        }
                        if (l2.getTal() == false) {
                            System.out.println("Pacientas nepasieme taloneliu, gydytojas atsisako ji priimti");
                         
                            
                        }
                        if (l2.getSveikata() > 6) {
                            System.out.println("Negalima veltui kreiptis pas gydytoja!!! Esate sveikas");
                        }
                    }
                    if (NewselectedValue == "Gerti pacientui vaistus") {
                        if (g.getVaistai() == null) {
                            System.out.println("gydytojas jums neisrase jokiu vaistu");
                            break;
                        } else {
                            l2.gertiVaistus(g);
                        }
                    }

                    if (NewselectedValue == "I Pagrindini meniu") {
                        iMeniu = true;
                    }
                    if (NewselectedValue == "Baigti Darba") {
                        baigti = true;
                        break;
                    }

                }
            }
            if (selectedValue == "Nepaprastas Ligonis") {
                iMeniu = false;
                while (iMeniu == false) {


                    Object[] New2possibleValues = {"Liepti pacientui susirgti",
                        "InformIacija apie gydytoja", "Gydyti pacienta", "Gerti pacientui vaistus",
                        "I Pagrindini meniu", "Baigti Darba"
                    };
                    Object New2selectedValue = JOptionPane.showInputDialog(null,
                            "", "Jusu veiksmu meniu",
                            JOptionPane.INFORMATION_MESSAGE, null,
                            New2possibleValues, New2possibleValues[0]);
                    if (New2selectedValue == "Liepti pacientui susirgti") {
                        try {
                            l.susirgti();
                        } catch (PacientoSveikata e) {
                            e.DelKoIsimtis();
                        }
                    }
                    if (New2selectedValue == "InformIacija apie gydytoja") {
                        g.spausdink(l);
                    }
                    if (New2selectedValue == "Gydyti pacienta") {
                        if (l.getSveikata() < 7) {
                            l.eikGydytis(g);
                            g.skirkvaistus(l, vaist);
                        }

                        if (l.getSveikata() > 6) {
                            System.out.println("Negalima veltui kreiptis pas gydytoja!!! Esate sveikas");
                        }
                    }
                    if (New2selectedValue == "Gerti pacientui vaistus") {
                        if (g.getVaistai() == null) {
                            System.out.println("gydytojas jums neisrase jokiu vaistu");
                            break;
                        } else {
                            l.gertiVaistus(g);
                        }
                    }

                    if (New2selectedValue == "I Pagrindini meniu") {
                        iMeniu = true;
                    }
                    if (New2selectedValue == "Baigti Darba") {
                        baigti = true;
                        break;
                    }
                }

            }
        }

    }
}
        
       
        
         
        