package eu.dnetlib.espas.gui.client;

import static com.google.gwt.query.client.GQuery.$;

import com.google.gwt.core.client.GWT;
import com.google.gwt.query.client.Function;
import com.google.gwt.user.client.Cookies;
import com.google.gwt.user.client.Event;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.user.client.ui.Widget;

import eu.dnetlib.espas.gui.shared.User;

public class UserInfoElement implements IsWidget {

	private String contents = null;
	private HTML userInfoElement = new HTML();
	
	public UserInfoElement(String name) {
		
		contents = "<ul>";
		contents += "<li>Hello, " + name + "</li>";
		contents += "<li> | </li>";
		contents += "<li><a href=\"" + GWT.getHostPageBaseURL() + "index.html\" id=\"signOut\"><span>Sign Out</span></a></li>";
        contents += "<li> | </li>";
        contents += "<li><a href=\"http://www.espas-fp7.eu/\" target=\"_blank\"><span>ESPAS Project</span></a></li>";
        contents += "<li> | </li>";
        contents += "<li><a href=\"" + GWT.getHostPageBaseURL() + "userSupport.html#contactUs\" id=\"contactUs\"><span>Contact Us</span></a></li>";
		contents += "</ul>";
		
		userInfoElement.setHTML(contents);
	}
	
	@Override
	public Widget asWidget() {
		return userInfoElement;
	}
	
	public void addSignOutLinkHandler() {
		
		$("#signOut").click(new Function() {
			
			public boolean f(Event e) {
				
				Cookies.removeCookie("currentUser");
				User.currentUser = null;
				
				RootPanel.get("userInfo").clear();
				RegisterLoginElement registerLoginElement = new RegisterLoginElement();
				RootPanel.get("userInfo").add(registerLoginElement.asWidget());
				registerLoginElement.addRegisterLoginHandler();

                String url = GWT.getHostPageBaseURL() + "index.html";
                Window.Location.replace(url);

				return false;
			}
		});

        $("#contactUs").click(new Function() {

            public boolean f(Event e) {

                String url = GWT.getHostPageBaseURL() + "userSupport.html#contactUs";
                Window.Location.replace(url);

                return false;
            }
        });
	}
}
