package eu.dnetlib.client.shared;

import com.google.gwt.event.dom.client.MouseDownEvent;
import com.google.gwt.event.dom.client.MouseDownHandler;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Image;
import com.google.gwt.user.client.ui.IsWidget;
import com.google.gwt.user.client.ui.Widget;

import eu.dnetlib.client.shared.MainMenuBar.MenuPage;

public class DropBoxPreview implements IsWidget {
	private HorizontalDropPanel horizontalPanel = new HorizontalDropPanel();
//	private VerticalDropPanel verticalPanel = new VerticalDropPanel();
	private Image image = new Image();
	private HTML text = new HTML();
//	private HTML typePreview = new HTML();
//	private String imageType = "<span class='glyphicon glyphicon-camera'></span>";
//	private String videoType = "<span class='glyphicon glyphicon-facetime-video'></span>";

	public DropBoxPreview() {
		horizontalPanel.setStyleName("dropBoxPanel");
		text.setStyleName("dropBoxContent");
		image.setStyleName("dropBoxImage");
		image.addMouseDownHandler(new MouseDownHandler() {
			public void onMouseDown(MouseDownEvent event) {
				event.preventDefault();
			}

		});
	}

	public DropBoxPreview(String type, String id, String title, MenuPage menuPage) {
		this();
		String deleteText = "This component has been removed...";
		if (type.toLowerCase().contains("topic")) {
			image.setUrl("images/topic_thumb.png");
			deleteText = "This frame has been removed...";
		} else if (type.toLowerCase().contains("frame")) {
			image.setUrl("images/frame_thumb.png");
			deleteText = "This topic has been removed...";
		} else if (type.toLowerCase().contains("item")) {
			image.setUrl("images/item_thumb_big.png");
			deleteText = "This item has been removed...";
		}
		if (id == null) {
			text.setText(deleteText);
			text.getElement().getStyle().setColor("#B50B1F");
		} else {
			text.setHTML("<a href=\"#page=" + menuPage + "?id=" + id + "\">" + title + "</a>");
		}

	}

//	public DropBoxPreview( String id, String title,String url, String itemType) {
//		this("Item", id, title, MenuPage.ITEMS);
//		if (itemType.contains("video")) {
//			typePreview.setHTML(videoType);
//		} else {
//			typePreview.setHTML(imageType);
//		}
//		verticalPanel.setStyleName("");
//		typePreview.setStyleName("typeGlyphicon");
//		text.setStyleName("itemdropBoxContent");
//		image.setSize("200px", "200px");
//		if (id != null) {
//			image.setUrl(url);
//		}
//	}

	public Widget asWidget() {
		horizontalPanel.add(image);
		horizontalPanel.add(text);
		return horizontalPanel;
	}

//	public Widget asWidget(boolean isItem) {
//		if (isItem) {
//			verticalPanel.add(text);
//			verticalPanel.add(image);
//			verticalPanel.add(typePreview);
//			return verticalPanel;
//		} else {
//			return asWidget();
//		}
//
//	}

}
