Index: /applications/editors/josm/plugins/mapillary/.classpath
===================================================================
--- /applications/editors/josm/plugins/mapillary/.classpath	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/.classpath	(revision 31245)
@@ -4,5 +4,6 @@
 	<classpathentry combineaccessrules="false" kind="src" path="/JOSM"/>
 	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
-	<classpathentry combineaccessrules="false" kind="src" path="/JOSM-commons-imaging"/>
+	<classpathentry combineaccessrules="false" exported="true" kind="src" path="/JOSM-commons-imaging"/>
+	<classpathentry exported="true" kind="lib" path="/home/nokutu/josm/dist/commons-imaging.jar"/>
 	<classpathentry kind="output" path="bin"/>
 </classpath>
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImageDisplay.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImageDisplay.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryImageDisplay.java	(revision 31245)
@@ -19,6 +19,5 @@
 
 import javax.swing.JComponent;
-import javax.swing.JLabel;
-import javax.swing.SwingConstants;
+import javax.swing.JPanel;
 
 /**
@@ -48,6 +47,6 @@
 	 */
 	private Rectangle selectedRect = null;
-	
-	private JLabel hyperlink;
+
+	public HyperlinkLabel hyperlink;
 
 	private class ImgDisplayMouseListener implements MouseListener,
@@ -315,7 +314,11 @@
 		addMouseMotionListener(mouseListener);
 		this.setLayout(new BorderLayout());
-		hyperlink = new JLabel("Prueba", SwingConstants.RIGHT);
-		hyperlink.setForeground(Color.BLUE);
-		this.add(hyperlink, BorderLayout.SOUTH);
+		JPanel southPanel = new JPanel();
+		southPanel.setLayout(new BorderLayout());
+		hyperlink = new HyperlinkLabel();
+		southPanel.add(hyperlink, BorderLayout.EAST);
+		southPanel.setOpaque(false);
+
+		add(southPanel, BorderLayout.SOUTH);
 	}
 
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryToggleDialog.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryToggleDialog.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/MapillaryToggleDialog.java	(revision 31245)
@@ -19,5 +19,4 @@
 import org.openstreetmap.josm.data.cache.CacheEntryAttributes;
 import org.openstreetmap.josm.data.cache.ICachedLoaderListener;
-import org.openstreetmap.josm.data.cache.JCSCacheManager;
 import org.openstreetmap.josm.gui.dialogs.ToggleDialog;
 import org.openstreetmap.josm.gui.SideButton;
@@ -113,21 +112,18 @@
 				this.previousButton.setEnabled(false);
 
-			try {
-				this.mapillaryImageDisplay.setImage(null);
-				MapillaryPlugin.CACHE = JCSCacheManager.getCache("mapillary");
-				if (thumbnailCache != null)
-					thumbnailCache.cancelOutstandingTasks();
-				thumbnailCache = new MapillaryCache(image.getKey(),
-						MapillaryCache.Type.THUMBNAIL);
-				thumbnailCache.submit(this, false);
-
-				if (imageCache != null)
-					imageCache.cancelOutstandingTasks();
-				imageCache = new MapillaryCache(image.getKey(),
-						MapillaryCache.Type.FULL_IMAGE);
-				imageCache.submit(this, false);
-			} catch (IOException e) {
-				Main.error(e);
-			}
+			mapillaryImageDisplay.hyperlink.setURL(image.getKey());
+			this.mapillaryImageDisplay.setImage(null);
+			if (thumbnailCache != null)
+				thumbnailCache.cancelOutstandingTasks();
+			thumbnailCache = new MapillaryCache(image.getKey(),
+					MapillaryCache.Type.THUMBNAIL);
+			thumbnailCache.submit(this, false);
+
+			if (imageCache != null)
+				imageCache.cancelOutstandingTasks();
+			imageCache = new MapillaryCache(image.getKey(),
+					MapillaryCache.Type.FULL_IMAGE);
+			imageCache.submit(this, false);
+
 		}
 	}
@@ -266,5 +262,4 @@
 				}
 			} catch (IOException e) {
-				// TODO Auto-generated catch block
 				e.printStackTrace();
 			}
@@ -275,7 +270,11 @@
 	 * Creates the layout of the dialog.
 	 * 
-	 * @param data The content of the dialog
-	 * @param buttons The buttons where you can click
-	 * @param reverse {@code true} if the buttons should go at the top; {@code false} otherwise.
+	 * @param data
+	 *            The content of the dialog
+	 * @param buttons
+	 *            The buttons where you can click
+	 * @param reverse
+	 *            {@code true} if the buttons should go at the top;
+	 *            {@code false} otherwise.
 	 */
 	public void createLayout(Component data, List<SideButton> buttons,
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/MapillaryCache.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/MapillaryCache.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/cache/MapillaryCache.java	(revision 31245)
@@ -66,3 +66,7 @@
 		return false;
 	}
+	
+	public void cancelOutstandingTasks() {
+		// TODO
+	}
 }
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/CommandMoveImage.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/CommandMoveImage.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/CommandMoveImage.java	(revision 31245)
@@ -7,4 +7,10 @@
 import org.openstreetmap.josm.plugins.mapillary.MapillaryImage;
 
+/**
+ * Command created when an image's position is changed.
+ * 
+ * @author nokutu
+ *
+ */
 public class CommandMoveImage extends MapillaryCommand {
 	private List<MapillaryImage> images;
@@ -15,7 +21,6 @@
 		this.images = new ArrayList<>(images);
 		this.x = x;
-		this.y = y;			
+		this.y = y;
 	}
-
 
 	@Override
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/CommandTurnImage.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/CommandTurnImage.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/CommandTurnImage.java	(revision 31245)
@@ -7,4 +7,10 @@
 import org.openstreetmap.josm.plugins.mapillary.MapillaryImage;
 
+/**
+ * Command created when a image's direction is changed.
+ * 
+ * @author nokutu
+ *
+ */
 public class CommandTurnImage extends MapillaryCommand {
 	private List<MapillaryImage> images;
@@ -15,5 +21,4 @@
 		this.ca = ca;
 	}
-
 
 	@Override
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/MapillaryCommand.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/MapillaryCommand.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/MapillaryCommand.java	(revision 31245)
@@ -1,8 +1,14 @@
 package org.openstreetmap.josm.plugins.mapillary.commands;
 
+/**
+ * Abstract class for any Mapillary command.
+ * 
+ * @author nokutu
+ *
+ */
+public abstract class MapillaryCommand {
 
-public abstract class MapillaryCommand {
-	
 	public abstract void undo();
+
 	public abstract void redo();
 }
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/MapillaryRecord.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/MapillaryRecord.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/commands/MapillaryRecord.java	(revision 31245)
@@ -3,17 +3,21 @@
 import java.util.ArrayList;
 
-
+/**
+ * History record system in order to let you undo commands
+ * @author nokutu
+ *
+ */
 public class MapillaryRecord {
 	public static MapillaryRecord INSTANCE;
-	
+
 	public ArrayList<MapillaryCommand> commandList;
 	/** Last written command */
 	public int position;
-	
+
 	public MapillaryRecord() {
 		commandList = new ArrayList<>();
 		position = -1;
 	}
-	
+
 	public static synchronized MapillaryRecord getInstance() {
 		if (MapillaryRecord.INSTANCE == null)
@@ -21,5 +25,10 @@
 		return MapillaryRecord.INSTANCE;
 	}
-	
+
+	/**
+	 * Adds a new command to the list.
+	 * 
+	 * @param command
+	 */
 	public void addCommand(MapillaryCommand command) {
 		commandList.add(position + 1, command);
@@ -29,5 +38,8 @@
 		}
 	}
-	
+
+	/**
+	 * Undo latest command.
+	 */
 	public void undo() {
 		if (position == -1)
@@ -36,5 +48,8 @@
 		position--;
 	}
-	
+
+	/**
+	 * Redo latest undoed action.
+	 */
 	public void redo() {
 		if (position >= commandList.size())
Index: /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java
===================================================================
--- /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java	(revision 31244)
+++ /applications/editors/josm/plugins/mapillary/src/org/openstreetmap/josm/plugins/mapillary/downloads/MapillarySequenceDownloadThread.java	(revision 31245)
@@ -53,5 +53,5 @@
 			JsonArray jsonseq = jsonall.getJsonArray("ss");
 			// At the moment there is a bug with some sequences at Mapillay API,
-			// so if they are worng he use this variable to skip them.
+			// so if they are wrong he use this variable to skip them.
 			boolean isSequenceWrong = false;
 			for (int i = 0; i < jsonseq.size(); i++) {
