package de.mannheim.th.chess.ui;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JOptionPane;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;

import javax.swing.Box;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFileChooser;

import java.awt.Component;
import java.awt.Font;
import java.awt.Color;

public class MainFrame extends JFrame {

	private static final long serialVersionUID = 1L;
	private JPanel contentPane;

	/**
	 * Create the frame.
	 */
	public MainFrame() {

		setBackground(Color.LIGHT_GRAY);
		setResizable(true);
		setAlwaysOnTop(true);
		setTitle("Schach");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 500, 500);

		contentPane = new JPanel();
		contentPane.setBackground(new Color(90, 90, 90));
		contentPane.setForeground(Color.BLACK);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));

		setContentPane(contentPane);

		contentPane.setLayout(new BoxLayout(contentPane, BoxLayout.Y_AXIS));

		contentPane.add(Box.createVerticalStrut(10));

		JLabel lblNewLabel = new JLabel("Schach");
		lblNewLabel.setForeground(Color.BLACK);
		lblNewLabel.setFont(new Font("Serif", Font.BOLD, 60));
		lblNewLabel.setAlignmentX(Component.CENTER_ALIGNMENT);
		contentPane.add(lblNewLabel);

		contentPane.add(Box.createVerticalStrut(10));

		JLabel lblNewLabel_1 = new JLabel("by Dominik, Marius und Matias");
		lblNewLabel_1.setFont(new Font("Calibri", Font.ITALIC, 24));
		lblNewLabel_1.setAlignmentX(Component.CENTER_ALIGNMENT);
		contentPane.add(lblNewLabel_1);

		contentPane.add(Box.createVerticalStrut(75));

		JButton btnNewButton = new JButton("Neues Spiel starten");
		
		btnNewButton.setBackground(Color.LIGHT_GRAY);
		btnNewButton.setForeground(Color.BLACK);
		btnNewButton.setFont(new Font("Tahoma", Font.BOLD, 16));
		btnNewButton.setAlignmentX(Component.CENTER_ALIGNMENT);
		btnNewButton.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {

				ModeSelectionFrame msf = new ModeSelectionFrame();

			}

		});
		
		contentPane.add(btnNewButton);

		contentPane.add(Box.createVerticalStrut(15));

		JButton btnNewButton_1 = new JButton("Vergangenes Spiel laden");
		
		btnNewButton_1.setBackground(Color.LIGHT_GRAY);
		btnNewButton_1.setForeground(Color.BLACK);
		btnNewButton_1.setFont(new Font("Tahoma", Font.BOLD, 16));
		btnNewButton_1.setAlignmentX(Component.CENTER_ALIGNMENT);
		btnNewButton_1.addActionListener(new ActionListener() {
			

			@Override
			public void actionPerformed(ActionEvent e) {
				JFileChooser dateiWaehler = new JFileChooser();
				JFrame jfFile = new JFrame();
				int auswahl = dateiWaehler.showOpenDialog(jfFile);

				if (auswahl == JFileChooser.APPROVE_OPTION) {
					File ausgewaehlteDatei = dateiWaehler.getSelectedFile();
					JOptionPane.showMessageDialog(jfFile, "Gewählte Datei:\n" + ausgewaehlteDatei.getAbsolutePath());

					// Uebergabe zu Logik zum extrahieren der Daten
				}
			}

		});

		contentPane.add(btnNewButton_1);

		contentPane.add(Box.createVerticalStrut(15));

		JButton btnNewButton_2 = new JButton("Spiel beenden");
		
		btnNewButton_2.setBackground(Color.LIGHT_GRAY);
		btnNewButton_2.setForeground(Color.BLACK);
		btnNewButton_2.setFont(new Font("Tahoma", Font.BOLD, 16));
		btnNewButton_2.setAlignmentX(Component.CENTER_ALIGNMENT);
		btnNewButton_2.addActionListener(new ActionListener() {

			@Override
			public void actionPerformed(ActionEvent e) {
				System.exit(0);
			}

		});

		contentPane.add(btnNewButton_2);
		setVisible(true);
	}
}
