public OpenLocationDialog(final JBroFuzzWindow parent) {

		super(parent, " Open URL Location ", true);
		// setFont(new Font("SansSerif", Font.BOLD, 10));
		setFont(new Font("Verdana", Font.BOLD, 12));
		setIconImage(ImageCreator.IMG_FRAME.getImage());

		setLayout(new BorderLayout());
		m = parent;

		// Components

		urlBox = new JComboBox();
		urlBox.setPreferredSize(new Dimension(250, 20));
		urlBox.setEditable(true);

		urlBox.getEditor().getEditorComponent().addMouseListener(this);
		urlBox.setToolTipText("Copy/Paste a URL from your browser");
		urlBox.setFont(new Font("Verdana", Font.BOLD, 12));

		urlBox.getEditor().getEditorComponent().addKeyListener(this);

		final String methods[] = { "GET", "POST", "HEAD", "PUT", "DELETE",
				"TRACE", "PROPFIND", "OPTIONS" };
		final String versions[] = { "0.9", "1.0", "1.1", "1.2" };
		final String charsets[] = { "ISO-8859-1" };

		methodBox = new JComboBox(methods);
		charsetBox = new JComboBox(charsets);
		versionBox = new JComboBox(versions);

		methodBox.setFont(new Font("Verdana", Font.BOLD, 10));
		charsetBox.setFont(new Font("Verdana", Font.BOLD, 10));
		versionBox.setFont(new Font("Verdana", Font.BOLD, 10));

		methodBox.addKeyListener(this);
		charsetBox.addKeyListener(this);
		versionBox.addKeyListener(this);

		methodBox.setMaximumRowCount(3);
		charsetBox.setMaximumRowCount(3);
		versionBox.setMaximumRowCount(3);

		methodBox.setBackground(Color.BLACK);
		charsetBox.setBackground(Color.BLACK);
		versionBox.setBackground(Color.BLACK);

		methodBox.setForeground(Color.WHITE);
		charsetBox.setForeground(Color.WHITE);
		versionBox.setForeground(Color.WHITE);

		versionBox.setSelectedIndex(1);

		// Buttons

		ok = new JButton("  OK  ");
		ok.setBounds(515, 305, 140, 40);
		ok.setToolTipText("Open the URL location in JBroFuzz");

		cancel = new JButton("Cancel");
		cancel.setBounds(515, 305, 140, 40);
		cancel.setToolTipText("Cancel opening a URL location");

		ok.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				SwingUtilities.invokeLater(new Runnable() {
					public void run() {

						clickOK();
						OpenLocationDialog.this.dispose();

					}
				});
			}
		});

		cancel.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {
				SwingUtilities.invokeLater(new Runnable() {
					public void run() {

						OpenLocationDialog.this.dispose();

					}
				});
			}
		});

		// Pop-up menu
		popmenu = new JPopupMenu();

		final JMenuItem i1 = new JMenuItem("Cut");
		final JMenuItem i2 = new JMenuItem("Copy");
		final JMenuItem i3 = new JMenuItem("Paste");
		final JMenuItem i4 = new JMenuItem("Select All");

		popmenu.add(i1);
		popmenu.add(i2);
		popmenu.add(i3);
		popmenu.addSeparator();
		popmenu.add(i4);

		// Cut
		i1.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {

				final Clipboard clipboard = Toolkit.getDefaultToolkit()
				.getSystemClipboard();
				final Transferable clipData = clipboard.getContents(clipboard);

				if (clipData != null) {
					try {
						if (clipData
								.isDataFlavorSupported(DataFlavor.stringFlavor)) {
							((JTextComponent) urlBox.getEditor()
									.getEditorComponent()).cut();
						}
					} catch (final Exception e1) {

						Logger
						.log(
								"Open Location: An error occured while cutting",
								2);

					}
				}
			}
		});

		// Copy
		i2.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {

				final Clipboard clipboard = Toolkit.getDefaultToolkit()
				.getSystemClipboard();
				final Transferable clipData = clipboard.getContents(clipboard);

				if (clipData != null) {
					try {
						if (clipData
								.isDataFlavorSupported(DataFlavor.stringFlavor)) {
							((JTextComponent) urlBox.getEditor()
									.getEditorComponent()).copy();
						}
					} catch (final Exception e1) {

						Logger
						.log(
								"Open Location: An error occured while copying",
								2);

					}
				}
			}
		});

		// Paste
		i3.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {

				final Clipboard clipboard = Toolkit.getDefaultToolkit()
				.getSystemClipboard();
				final Transferable clipData = clipboard.getContents(clipboard);

				if (clipData != null) {
					try {
						if (clipData
								.isDataFlavorSupported(DataFlavor.stringFlavor)) {
							((JTextComponent) urlBox.getEditor()
									.getEditorComponent())
									.replaceSelection((String) (clipData
											.getTransferData(DataFlavor.stringFlavor)));
						}
					} catch (final Exception e1) {
						Logger
						.log(
								"Open Location: An error occured while pasting",
								2);
					}
				}
			}
		});

		// Select All
		i4.addActionListener(new ActionListener() {
			public void actionPerformed(final ActionEvent e) {

				urlBox.getEditor().selectAll();

			}
		});

		// Final panels

		final JPanel targetPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT,
				15, 15));
		targetPanel.add(new JLabel("URL:"));
		targetPanel.add(urlBox);

		final JPanel propertiesPanel = new JPanel(new FlowLayout(
				FlowLayout.RIGHT, 15, 15));
		propertiesPanel.add(methodBox);
		propertiesPanel.add(charsetBox);
		propertiesPanel.add(versionBox);

		final JPanel buttonPanel = new JPanel(new FlowLayout(FlowLayout.RIGHT,
				15, 15));
		buttonPanel.add(ok);
		buttonPanel.add(cancel);

		add(targetPanel, BorderLayout.NORTH);
		add(propertiesPanel, BorderLayout.CENTER);
		add(buttonPanel, BorderLayout.SOUTH);

		// Set the URL text
		final String url_displaying = parent.getPanelFuzzing().getTextURL();
		((JTextComponent) urlBox.getEditor().getEditorComponent())
		.setText(url_displaying);
		((JTextComponent) urlBox.getEditor().getEditorComponent()).selectAll();

		// Global frame issues
		setLocation(parent.getLocation().x + 20, parent.getLocation().y + 40);

		setSize(OpenLocationDialog.SIZE_X, OpenLocationDialog.SIZE_Y);
		setResizable(true);
		setVisible(true);

	}