import java.awt.Color;

import javax.swing.JFrame;
import javax.swing.JMenu;
import javax.swing.JMenuBar;
import javax.swing.JMenuItem;
import javax.swing.JPanel;

public class HavaDurumuInfo {
	
	public static JMenu fileMenu = new JMenu();
	public static JMenuItem saveAsJpeg = new JMenuItem();
	public static JMenuItem exit = new JMenuItem();

	public static JMenu country = new JMenu();
	public static JMenuItem japan = new JMenuItem();
	public static JMenuItem turkiye = new JMenuItem();
	public static JMenuItem madagascar = new JMenuItem();
	public static JMenuItem england = new JMenuItem();
	public static JMenuItem all = new JMenuItem();

	public static JMenu language = new JMenu();
	public static JMenuItem japanLang = new JMenuItem();
	public static JMenuItem turkish = new JMenuItem();
	public static JMenuItem malagasy = new JMenuItem();
	public static JMenuItem englishLang = new JMenuItem();
	
	public static void main(String[] args) {
		
		JFrame frame = new JFrame();
		frame.setTitle("Java Blackboard 159 | Hava Durumu Bilgi Ekranı");
		frame.setLayout(null);
		
		JMenuBar menuBar = new JMenuBar();
		
		fileMenu = new JMenu();
		saveAsJpeg = new JMenuItem();
		exit = new JMenuItem();
		
		fileMenu.add(saveAsJpeg);
		fileMenu.add(exit);
		
		exit.addActionListener(e -> System.exit(0));
		
		country = new JMenu();
		japan = new JMenuItem();
		turkiye = new JMenuItem();
		madagascar = new JMenuItem();
		england = new JMenuItem();
		all = new JMenuItem();
		
		country.add(japan);
		country.add(turkiye);
		country.add(madagascar);
		country.add(england);
		country.add(all);
		
		language = new JMenu();
		japanLang = new JMenuItem();
		turkish = new JMenuItem();
		malagasy = new JMenuItem();
		
		language.add(japanLang);
		language.add(turkish);
		language.add(malagasy);
		language.add(englishLang);
		
		updateLanguage("tr"); // açilişta menü Türkçe olarak gelsin diye...
		
		japanLang.addActionListener(e -> updateLanguage("jp"));
		turkish.addActionListener(e -> updateLanguage("tr"));
		malagasy.addActionListener(e -> updateLanguage("mg"));
		englishLang.addActionListener(e -> updateLanguage("en"));
		
		JPanel mainPanel = new JPanel();
		mainPanel.setLayout(null);
		mainPanel.setBackground(renk(1));
		// Norlamde yükseklik: 630 - 40 = 590 olması gerekirdi
		// ama frame ve manuBar yüksekliği alan daralttığı için: 530 oldu
		mainPanel.setBounds(20, 20, 1080, 530); 
		
		menuBar.add(fileMenu);
		menuBar.add(country);
		menuBar.add(language);
		
		frame.setJMenuBar(menuBar);
		
		frame.add(mainPanel);
		
		frame.setSize(1120, 630);
		frame.getContentPane().setBackground(renk(0));
		frame.setLocationRelativeTo(null);
		frame.setResizable(false);
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		frame.setVisible(true);
		
	}
	
	public static void updateLanguage(String lang) {
		if (lang.equals("tr")) {
			fileMenu.setText("Dosya");
			saveAsJpeg.setText("JPEG Olarak Kaydet");
			exit.setText("Çıkış");

			country.setText("Ülke");
			japan.setText("Japonya");
			turkiye.setText("Türkiye");
			madagascar.setText("Madagaskar");
			england.setText("İngiltere");
			all.setText("Tümü");

			language.setText("Dil");
			japanLang.setText("Japonca");
			turkish.setText("Türkçe");
			malagasy.setText("Malgaşça");
			englishLang.setText("İngilizce"); 

		} else if (lang.equals("jp")) {
			fileMenu.setText("ファイル");
			saveAsJpeg.setText("JPEGとして保存");
			exit.setText("終了");

			country.setText("国");
			japan.setText("日本");
			turkiye.setText("トルコ");
			madagascar.setText("マダガスカル");
			england.setText("イギリス"); 
			all.setText("すべて");

			language.setText("言語");
			japanLang.setText("日本語");
			turkish.setText("トルコ語");
			malagasy.setText("マラガシ語");
			englishLang.setText("英語"); 

		} else if (lang.equals("mg")) {
			fileMenu.setText("Rakitra");
			saveAsJpeg.setText("Tehirizo ho JPEG");
			exit.setText("Fivoahana");

			country.setText("Firenena");
			japan.setText("Japana");
			turkiye.setText("Tiorka");
			madagascar.setText("Madagasikara");
			england.setText("Angletera");
			all.setText("Rehetra");

			language.setText("Fiteny");
			japanLang.setText("Japoney");
			turkish.setText("Tiorka");
			malagasy.setText("Malagasy");
			englishLang.setText("Anglisy"); 
			
		} else if (lang.equals("en")) {
			fileMenu.setText("File");
			saveAsJpeg.setText("Save as JPEG");
			exit.setText("Exit");

			country.setText("Country");
			japan.setText("Japan");
			turkiye.setText("Türkiye");
			madagascar.setText("Madagascar");
			england.setText("England");
			all.setText("All");

			language.setText("Language");
			japanLang.setText("Japanese");
			turkish.setText("Turkish");
			malagasy.setText("Malagasy");
			englishLang.setText("English"); 

		}
	}

	
	public static Color renk(int alanKodu) {
		
		Color renk = new Color(150, 160, 170);
		
		switch (alanKodu) {
		
		case 0: // frame'in background rengi.
			renk = new Color(37, 29, 89);
			break;
			
		case 1: // mainPanel background rengi.
			renk = new Color(128, 137, 166);
			break;
		
		default :
			renk = new Color(15, 90, 120);
			break;
			
		}
		
		return renk;
	}

}
