//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
//PIMS: Personal Invstment Management System
//Class : SetAlerts
//This class provides the GUI for the user to set new alert.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

import java.awt.*;
import java.applet.*;
import java.awt.event.*;
import javax.swing.*;
import java.lang.*;
import java.io.*;
import java.util.*;

public class SetAlerts extends JFrame implements ActionListener{

	private Alerts AL;
	private Container CP;
	private Label ldt;
	private Choice day;
	private Choice month;
	private Choice year;
	private TextField dt;
	private Button ok;
	private Button cancel;

	public SetAlerts(Alerts AL){

		this.AL = AL;
		buildSetAlertGUI();
	}

	public void buildSetAlertGUI(){

		setSize(600, 130);
		setLocation(120,150);
		setTitle("Set Alerts");
		setBackground(Color.white);

		CP = getContentPane() ;
		CP.setLayout(new FlowLayout());
		CP.setBackground(Color.white);

		Panel pan1 = new Panel();
		pan1.setLayout(new GridLayout(1,4));
		Panel pan2 = new Panel();
		pan2.setLayout(new FlowLayout());
		Panel pan3 = new Panel();
		pan3.setLayout(new FlowLayout());

		ldt = new Label("Date(dd/mm/yyyy)");
		day = new Choice();
		month = new Choice();
		year = new Choice();
		day.add("01");
		day.add("02");
		day.add("03");
		day.add("04");
		day.add("05");
		day.add("06");
		day.add("07");
		day.add("08");
		day.add("09");

		for(int i=10;i<32;i++){
			day.add(Integer.toString(i));
		}

		month.add("1");
		month.add("2");
		month.add("3");
		month.add("4");
		month.add("5");
		month.add("6");
		month.add("7");
		month.add("8");
		month.add("9");
		month.add("10");
		month.add("11");
		month.add("12");

		for(int i=2000; i<2022;++i)
			year.add(Integer.toString(i));

		pan1.add(ldt);
		pan1.add(day);
		pan1.add(month);
		pan1.add(year);

		//Details section
		Label ldet = new Label("Details");
		dt = new TextField(15);
		pan2.add(ldet);
		pan2.add(dt);

		//OK section
		ok = new Button("Ok");
		cancel  = new Button("Cancel");
		ok.addActionListener(this);
		cancel.addActionListener(this);
		pan3.add(ok);
		pan3.add(cancel);

		CP.add(pan1);
		CP.add(pan2);
		CP.add(pan3);

		setVisible(true);
	}

	public void actionPerformed(ActionEvent ae){

	   try{
		String action = ae.getActionCommand();
		String day_given = day.getSelectedItem();
		String month_given = month.getSelectedItem();
		String year_given = year.getSelectedItem();
		String details_given = dt.getText();

		if(action.equals("Ok")){
			if(day_given.equals("") || month_given.equals("") || year_given.equals("") || details_given.equals("")){
				Error e = new Error("Some fields not entered");
			return;
			}
			AL.setNewAlert(day_given+"/"+month_given+"/"+year_given, details_given);
			setVisible(false);
		}
		if(action.equals("Cancel"))setVisible(false);
	   }catch(Exception e){}
	}
}
