private void setupLine1_33() {
		line1_33.setOnMouseClicked(new EventHandler<MouseEvent>() {
			public void handle(MouseEvent event) {
				int i = line1_33.getSelectionModel().getSelectedIndex();
				ch.hockman.model.team.LineUp lineUp = HockmanMain.lineupTeam
						.getLineUp();
				switch (i) {
				case 0:
					lineUp.getE33().d11 = null;
					break;
				case 1:
					lineUp.getE33().d12 = null;
					break;
				case 2:
					lineUp.getE33().f1 = null;
					break;
				default:
					assert (i == -1);
				}
				linesShow();
			}
		});
		line1_33.setOnDragOver(new EventHandler<DragEvent>() {
			public void handle(DragEvent event) {
				/* data is dragged over the target */
				/*
				 * accept it only if it is not dragged from the same node and if
				 * it has a string data
				 */
				Dragboard db = event.getDragboard();
				if (event.getGestureSource() != line1_33 && db.hasString()) {
					ch.hockman.model.team.LineUp lineUp = HockmanMain.lineupTeam
							.getLineUp();
					String playerStr = db.getString();
					
					// drag&drop does not work on Ubuntu with Oracle VM 7u9
					//TODO remove this workaround as soon as the bug is fixed in JVM for Linux
					playerStr = dragStringWorkaround;

					int i = Integer.parseInt(playerStr);

					if (i >= 0) {
						Player player = HockmanMain.lineupTeam.getTeamPlayer(i);
						boolean accept = (lineUp.getE33().d11 == null
								|| lineUp.getE33().d12 == null || lineUp.getE33().f1 == null)
								&& lineUp.getE33().d11 != player
								&& lineUp.getE33().d12 != player
								&& lineUp.getE33().f1 != player
								&& lineUp.getG().goal1 != player
								&& lineUp.getG().goal2 != player
								&& HockmanMain.lineupTeam.checkForeigners(
										player, HockmanMain.game.getLeague()
												.getModus().maxNofForeigners());
						if (accept) {
							/*
							 * allow for both copying and moving, whatever user
							 * chooses
							 */
							event.acceptTransferModes(TransferMode.COPY_OR_MOVE);
						}
					}
				}
				event.consume();
			}
		});
		line1_33.setOnDragDropped(new EventHandler<DragEvent>() {
			public void handle(DragEvent event) {
				/* data dropped */
				/* if there is a string data on dragboard, read it and use it */
				Dragboard db = event.getDragboard();
				boolean success = false;
				if (db.hasString()) {
					ch.hockman.model.team.LineUp lineUp = HockmanMain.lineupTeam
							.getLineUp();
					String playerStr = db.getString();
					
					// drag&drop does not work on Ubuntu with Oracle VM 7u9
					//TODO remove this workaround as soon as the bug is fixed in JVM for Linux
					playerStr = dragStringWorkaround;

					int i = Integer.parseInt(playerStr);

					Player player = HockmanMain.lineupTeam.getTeamPlayer(i);
					if (player.getPosition().getPosID() == Position.PosID.DEFENDER) {
						if (lineUp.getE33().d11 == null) {
							lineUp.getE33().d11 = player;
						} else if (lineUp.getE33().d11.getPosition().getPosID() != Position.PosID.DEFENDER) {
							Player swap = lineUp.getE33().d11;
							lineUp.getE33().d11 = player;
							if (lineUp.getE33().d12 == null) {
								lineUp.getE33().d12 = swap;
							} else {
								assert (lineUp.getE33().f1 == null); // DragOver
																// allows drop
																// only if
																// lineUp
																// incomplete
								lineUp.getE33().f1 = swap;
							}
						} else if (lineUp.getE33().d12 == null) {
							lineUp.getE33().d12 = player;
						} else if (lineUp.getE33().d12.getPosition().getPosID() != Position.PosID.DEFENDER) {
							Player swap = lineUp.getE33().d12;
							lineUp.getE33().d12 = player;
							assert (lineUp.getE33().f1 == null); // DragOver allows
															// drop only if
															// lineUp incomplete
							lineUp.getE33().f1 = swap;
						} else {
							assert (lineUp.getE33().f1 == null); // DragOver allows
															// drop only if
															// lineUp incomplete
							lineUp.getE33().f1 = player;
						}
					} else {
						if (lineUp.getE33().f1 == null) {
							lineUp.getE33().f1 = player;
						} else if (lineUp.getE33().f1.getPosition().getPosID() == Position.PosID.DEFENDER
								|| lineUp.getE33().f1.getPosition().getPosID() == Position.PosID.GOALIE) {
							Player swap = lineUp.getE33().f1;
							lineUp.getE33().f1 = player;
							if (lineUp.getE33().d11 == null) {
								lineUp.getE33().d11 = swap;
							} else {
								assert (lineUp.getE33().d12 == null); // DragOver
																	// allows
																	// drop
																	// only if
																	// lineUp
																	// incomplete
								lineUp.getE33().d12 = swap;
							}
						} else if (lineUp.getE33().d11 == null) {
							lineUp.getE33().d11 = player;
						} else {
							assert (lineUp.getE33().d12 == null); // DragOver allows
																// drop only if
																// lineUp
																// incomplete
							lineUp.getE33().d12 = player;
						}
					}

					success = true;
				}
				/*
				 * let the source know whether the string was successfully
				 * transferred and used
				 */
				event.setDropCompleted(success);

				event.consume();
				linesShow();
			}
		});
	}