package edu.school;

import java.awt.BorderLayout;
import java.awt.EventQueue;

import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;
import javax.swing.JLabel;
import javax.swing.JTextField;
import java.awt.Font;
import javax.swing.JButton;
import java.awt.SystemColor;
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
import javax.swing.SwingConstants;
/**
 * Информатика, 8 клас, издателство Просвета, 2017
 * Автори: Светла Бойчева, Николина Николова, Елиза Стефанова, Антон Денев
 * Урок 3.1.4.1. Аритметични изрази в език за програмиране
 * Задача: RxC001 трябва да обмени определена сума от
 * лева в щатски долари. В обменното бюро го информират, 
 * че не може да обмени цялата определена сума, защото 
 * могат да му дадат само доларови банкноти, но не и центове (монети).
 * Остатъкът от сумата при обмяната може да
 * получи в лева. Проектирайте и реализирайте
 * приложение Exchange, което по зададена сума
 * в лева и курс за 1 лев към щатски долар да определя
 *  максималната сума, която може да се
 *  обмени, както и остатъка в лева.
 * 
 * Вариант 2. С форматиране на изходните данни с точност 2 знака след десетичната запетая.
 */


public class ExchangeFrane extends JFrame {

	private JPanel contentPane;
	private JTextField txtBgn;
	private JTextField txtBgnUsdRate;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					ExchangeFrane frame = new ExchangeFrane();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public ExchangeFrane() {
		setTitle("Exchange");
		setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		setBounds(100, 100, 415, 261);
		contentPane = new JPanel();
		contentPane.setBackground(SystemColor.menu);
		contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
		setContentPane(contentPane);
		contentPane.setLayout(null);
		
		JLabel lblAmountBGN = new JLabel("\u0421\u0443\u043C\u0430 \u0437\u0430 \u043E\u0431\u043C\u0435\u043D \u0432 \u043B\u0435\u0432\u0430");
		lblAmountBGN.setFont(new Font("Sitka Subheading", Font.PLAIN, 16));
		lblAmountBGN.setBounds(10, 11, 170, 14);
		contentPane.add(lblAmountBGN);
		
		txtBgn = new JTextField();
		txtBgn.setHorizontalAlignment(SwingConstants.RIGHT);
		txtBgn.setBounds(10, 36, 211, 20);
		contentPane.add(txtBgn);
		txtBgn.setColumns(10);
		
		JLabel lblBgnToUsd = new JLabel("\u041A\u0443\u0440\u0441 1 \u043B\u0435\u0432 \u0437\u0430 1 \u0449\u0430\u0442\u0441\u043A\u0438 \u0434\u043E\u043B\u0430\u0440");
		lblBgnToUsd.setFont(new Font("Sitka Subheading", Font.PLAIN, 16));
		lblBgnToUsd.setBounds(10, 67, 211, 20);
		contentPane.add(lblBgnToUsd);
		
		txtBgnUsdRate = new JTextField();
		txtBgnUsdRate.setHorizontalAlignment(SwingConstants.RIGHT);
		txtBgnUsdRate.setColumns(10);
		txtBgnUsdRate.setBounds(10, 89, 211, 20);
		contentPane.add(txtBgnUsdRate);
		
		JLabel lblUsd = new JLabel("\u0417\u0430\u043A\u0443\u043F\u0443\u0432\u0430\u043D\u0435 \u043D\u0430 $");
		lblUsd.setFont(new Font("Tahoma", Font.BOLD, 16));
		lblUsd.setBounds(10, 143, 300, 14);
		contentPane.add(lblUsd);
		
		JLabel lblChange = new JLabel("\u0420\u0435\u0441\u0442\u043E:");
		lblChange.setFont(new Font("Tahoma", Font.BOLD, 16));
		lblChange.setBounds(10, 176, 300, 14);
		contentPane.add(lblChange);
		
		JButton btnCalc = new JButton("\u041F\u0420\u0415\u0421\u041C\u0415\u0422\u041D\u0418");
		btnCalc.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent arg0) {
				double bgn = Double.parseDouble(txtBgn.getText());
				double bgnUsdRate = Double.parseDouble(txtBgnUsdRate.getText());
				double usdTotal = bgn * bgnUsdRate;
				double usd = Math.floor(usdTotal);
				double changeUsd = usdTotal - usd;
				double changeBgn = changeUsd / bgnUsdRate;
				
				changeBgn  = Math.round(changeBgn  * 100.0) / 100.0;
				
				
				lblUsd.setText("Закупуване на $" + Double.toString(usd));	
				lblChange.setText( "Ресто: "+ Double.toString(changeBgn)+ " лв.");				
			}
		});
		btnCalc.setFont(new Font("Tahoma", Font.PLAIN, 14));
		btnCalc.setBounds(267, 22, 120, 45);
		contentPane.add(btnCalc);
		
		JButton btnClear = new JButton("\u0418\u0417\u0427\u0418\u0421\u0422\u0418");
		btnClear.setFont(new Font("Tahoma", Font.PLAIN, 14));
		btnClear.setBounds(267, 75, 120, 45);
		contentPane.add(btnClear);
	}
}
