package com.curiam.client;

import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.DecoratorPanel;
import com.google.gwt.user.client.ui.DockPanel;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.Grid;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.PasswordTextBox;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.FlexTable.FlexCellFormatter;



	/**************************************/
	/********** Interfaz inicial **********/
	/**************************************/



public class Interfaz_portada {
	
	
	/** estructura **/
	
	final FlexTable borde_base = new FlexTable();
	final DockPanel dock = new DockPanel();
	final Grid gmenu = new Grid(9,1);
	final Grid gtexto = new Grid(3,3);
	final DecoratorPanel decPanel = new DecoratorPanel();
	final FlexTable f_id = new FlexTable();
	
	
	
	/** imagenes **/
	
	final Image cabecera = new Image();
	final Image pie = new Image();
	
	
	/** identificación de usuario **/
	
	final FlexTable layout = new FlexTable();
	final TextBox tb_log = new TextBox();
	final PasswordTextBox tb_pass = new PasswordTextBox();
	
	
	/** Mensajes de error **/
	
	final Utiles err = new Utiles();
	
	public Interfaz_portada(){
		
		
		/** borde exterior **/
		
		borde_base.setCellSpacing(0);
		borde_base.addStyleName("borde_base");
		borde_base.setWidget(0, 0, dock);
		
		
		
		/** estructura general **/
		
		dock.setSize("300px", "400px");
		dock.setStyleName("cw-DockPanel");
		
		dock.add(cabecera, DockPanel.NORTH);
		dock.add(pie, DockPanel.SOUTH);
		
		dock.setHorizontalAlignment(DockPanel.ALIGN_RIGHT);
		dock.add(f_id, DockPanel.EAST);
		
		dock.setHorizontalAlignment(DockPanel.ALIGN_LEFT);
		dock.add(gmenu, DockPanel.WEST);
		dock.add(gtexto,DockPanel.CENTER);
	
		
		
		/** menu vertical **/
		
		final Button home = new Button("<div style='text-align:left'>Home</div>",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Interfaz_portada I_que = new Interfaz_portada();	
					}
	    });
	
		home.setStyleName("vinculo_gris");
		
		
		final Button que = new Button("<div style='text-align:left'>Qu&eacute; es Curiam?</div>",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Interfaz_que I_que = new Interfaz_que(cabecera, pie);	
					}
	    });
		
		que.setStyleName("vinculo_gris");
		
		
		final Button clasif = new Button("<div style='text-align:left'>Clasificadores</div>",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Interfaz_clasificador I_clasif = new Interfaz_clasificador(cabecera, pie);	
					}
	    });
		
		clasif.setStyleName("vinculo_gris");
		
		
		final Button politica = new Button("<div style='text-align:left'>Pol&iacute;tica privacidad</div>",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Interfaz_politica I_clasif = new Interfaz_politica(cabecera, pie);	
					}
	    });
		
		politica.setStyleName("vinculo_gris");
		
		
		
		final Button links = new Button("<div style='text-align:left'>Links</div>",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Interfaz_links I_links = new Interfaz_links(cabecera, pie);	
					}
	    });
		
		links.setStyleName("vinculo_gris");
		
		
		final Button conts = new Button("<div style='text-align:left'>Contacto</div>",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Interfaz_contactos I_conts = new Interfaz_contactos(cabecera, pie);	
					}
	    });
		
		conts.setStyleName("vinculo_gris");
		
		
		
		gmenu.setStyleName("tabla_menu");
		gmenu.setSize("140px", "380px"); 
		
	
		gmenu.setWidget(0, 0, home);
		gmenu.setWidget(1, 0, que);
		gmenu.setWidget(2, 0, clasif);
		gmenu.setWidget(3, 0, politica);
		gmenu.setWidget(4, 0, links);
		gmenu.setWidget(5, 0, conts);
	
	
		
		
		/** imagenes **/
		
		cabecera.setUrl("curiam/tit5.jpg");
		pie.setUrl("curiam/pie.jpg");
	
	
		/** texto página **/
		
		final HTML texto_portada = new HTML("CURIAM es un sistema online de ayuda a la decisi&oacute;n donde modelos predictivos, basados en reconocimiento de formas, miner&iacute;a de datos y t&eacute;cnicas de inteligencia artificial, proporcionan una informaci&oacute;n detallada del riesgo que tiene un paciente de padecer un tumor de partes blandas a partir de informaci&oacute;n relevante de su estado de salud.<Br><Br>CURIAM adem&aacute;s de ofrecer una visi&oacute;n estad&iacute;stica de la posibilidad de enfrentar un tumor pretende orientarle en h&aacute;bitos saludables con los que poder disminuir el riesgo.<Br><Br>CURIAM est&aacute; desarrollado por el centro de investigaci&oacute;n IBIME en la Universidad Polit&eacute;cnica de Valencia.<Br><Br>Para m&aacute;s informaci&oacute;n, v&eacute;ase <font color=#084c85>Qu&eacute; es Curiam?</font>");
		gtexto.setWidget(1, 1, texto_portada);
    
		

		/**************************************/
		/***** Dialogo de identificacion ******/
		/**************************************/
	
		FlexCellFormatter cellFormatter = f_id.getFlexCellFormatter();
		cellFormatter.setHorizontalAlignment(2, 0, HasHorizontalAlignment.ALIGN_CENTER);
		cellFormatter.setHorizontalAlignment(3, 0, HasHorizontalAlignment.ALIGN_CENTER);
		
		
		final Button cl = new Button("Recordar clave",
				
			new ClickHandler() {
				public void onClick(ClickEvent event) {
					Analisis An1 = new Analisis("admin");	
				}
        });
		
		cl.setStyleName("vinculo");
		
		
		final Button reg = new Button("Registrarse",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Interfaz_registros I_reg = new Interfaz_registros(cabecera, pie);	
					}
	    });
		
		reg.setStyleName("vinculo");
		
		
		f_id.setHeight("100px");
		f_id.setWidget(1, 0, decPanel);
		f_id.setWidget(2, 0, cl);
		f_id.setWidget(3,0, reg);
		
		
		
		/** campos del formulario **/
		
		tb_log.setPixelSize(110, 24);
		tb_pass.setPixelSize(110,24);
    
		layout.setCellSpacing(10);
		layout.setStyleName("fondo_blanco");
		layout.setHTML(1, 0, "Login");
		layout.setWidget(1, 1, tb_log);
		layout.setHTML(2, 0, "Pass");
		layout.setWidget(2, 1, tb_pass);
		
		
		/** evento del boton entrar **/
		
		final Button b_entrar = new Button("Entrar",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						Acceso acc = new Acceso();
						acc.setTb_log(tb_log.getText());
						acc.setTb_pass(tb_pass.getText());
						acc.leerXML("config/usuarios.xml");
					}
        	});
		
		
		b_entrar.setPixelSize(70, 26);
		b_entrar.setStyleName("letra_boton");
		
	
		
		layout.setWidget(3, 1, b_entrar);
		decPanel.add(layout);


		/** menu vertical **/
		
		/*final Button b_acc = new Button("Acceso",
				
				new ClickHandler() {
					public void onClick(ClickEvent event) {
						
						acordeon ac = new acordeon();
						RootPanel.get().add(ac, 300, 350);
						
					}
	    });*/
		
		/**** Enlaces con RootPanel ***/
		
	
		RootPanel.get().clear();
		RootPanel.get().setStyleName("fondo_gris");
		RootPanel.get().add(borde_base);
		//RootPanel.get().add(b_acc, 200, 200);

	}
}
