package core;


import java.awt.Color;
import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.UnsupportedEncodingException;
import java.util.ResourceBundle;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JLabel;
import javax.swing.JPanel;

import utils.Constantes;
import utils.Fuentes;
import utils.RutasIconos;


public class ModalAceptar extends JDialog {

	private static final long serialVersionUID = 0x95f22298e85bf6b1L;
	private JLabel info;
	private JLabel icono;
	private JButton botonAceptar;
	private ResourceBundle mensajes;

	public ModalAceptar(ResourceBundle men, String tipo, String mensaje) {
		info = new JLabel();
		icono = new JLabel();
		botonAceptar = new JButton();
		mensajes = men;
		try {
			if (tipo.equals(Constantes.ERROR)) {
				setTitle(new String(mensajes.getString("Error").getBytes("ISO-8859-1"),"UTF-8"));
				icono.setIcon(new ImageIcon(getClass().getClassLoader().getResource(RutasIconos.Error)));
			} else if (tipo.equals(Constantes.ADVERTENCIA)) {
				setTitle(new String(mensajes.getString("Advertencia").getBytes("ISO-8859-1"),"UTF-8"));
				icono.setIcon(new ImageIcon(getClass().getClassLoader().getResource(RutasIconos.Advertencia)));
			} else if (tipo.equals(Constantes.INFORMACION)) {
				setTitle(new String(mensajes.getString("Informacion").getBytes("ISO-8859-1"),"UTF-8"));
				icono.setIcon(new ImageIcon(getClass().getClassLoader().getResource(RutasIconos.Informacion)));
			} else if (tipo.equals(Constantes.PREGUNTA)) {
				setTitle(new String(mensajes.getString("Confirmacion").getBytes("ISO-8859-1"),"UTF-8"));
				icono.setIcon(new ImageIcon(getClass().getClassLoader().getResource(RutasIconos.Pregunta)));
			}
			info.setText(new String(mensajes.getString(mensaje).getBytes("ISO-8859-1"),"UTF-8"));
			botonAceptar.setText(new String(mensajes.getString("Aceptar").getBytes("ISO-8859-1"),"UTF-8"));
		} catch (UnsupportedEncodingException e) {
			e.printStackTrace();
		}

		JPanel izq = new JPanel();
		JPanel der = new JPanel();
		JPanel abajo = new JPanel();
		Integer ancho = mensajes.getString(mensaje).length()>20 ? (mensajes.getString(mensaje).length()-20)*10+300 : 300;

		if(!mensajes.getLocale().getLanguage().equals("zh")) {
			info.setFont(Fuentes.Fuente2);
		} else {
			info.setFont(Fuentes.Fuente0);
		}

		izq.setBounds(18, 10, 30, 35);
		izq.add(icono);
		getContentPane().add(izq);
		
		der.setBounds(50, 25, ancho-100, 35);
		der.add(info);
		getContentPane().add(der);
		
		botonAceptar.setName("Aceptar");
		botonAceptar.setPreferredSize(new Dimension(85, 28));
		abajo.setBounds(0, 70, ancho, 40);
		abajo.add(botonAceptar);
		getContentPane().add(abajo);


		setSize(ancho, 135);
		setResizable(false);
		Toolkit kit = Toolkit.getDefaultToolkit();
		Dimension dim = kit.getScreenSize();
		setLocation(dim.width / 2 - getWidth() / 2, dim.height / 2 - getHeight() / 2);
		getContentPane().setLayout(null);
		getContentPane().setBackground(new Color(189,250,107));

		ActionListener acept = new ActionListener() {

			public void actionPerformed(ActionEvent e) {
				Object obj = e.getSource();
				if (obj instanceof JButton) {
					if(((JButton)obj).getName().equals("Aceptar")) {
						aceptar();
					}
				}
			}
		};
		botonAceptar.addActionListener(acept);
	}

	public void aceptar() {
		setVisible(false);
		dispose();
	}
}