private void createGUI() {

		JPanel mainPanel = new JPanel(new BorderLayout());

		JPanel dataPanel = new JPanel(new MigLayout("fill, nogrid"));

		receptionCodeLabel = new JLabel();
		byRecordLabel = new JLabel();

		serviceNameLabel = new JLabel();
		serviceNameLabel.setBorder(BorderFactory.createEtchedBorder());

		applicatorsPanel = new JPanel(new MigLayout("fillx"));
		JScrollPane applicatorsPanelScrollPane = new JScrollPane(applicatorsPanel);

		// Панель сведений об услуге
		JPanel serviceInfoPanel = new JPanel();




		// получаем новый статус дела
		statusesComboBox = new JComboBox();
		statusesComboBox.addItemListener(new ItemListener() {
			public void itemStateChanged(ItemEvent ev) {
				if (ev.getStateChange() == ItemEvent.SELECTED) {
					newReceptionStatus = (ReceptionStatus) statusesComboBox.getSelectedItem();
	
					if (DEBUG) System.out.println("Selected status: " + newReceptionStatus + " current status: " + currentReceptionStatus);

					if (!newReceptionStatus.equals(currentReceptionStatus)) {
						if (DEBUG) System.out.println("enabled");
						statusChanged = true;
					} else {
						if (DEBUG) System.out.println("disabled");
						statusChanged = false;						
					}

					saveNewReceptionStatusButton.setEnabled(statusChanged);
				}
			}
		});

		
		saveNewReceptionStatusButton = new JButton();
		saveNewReceptionStatusButton.setIcon(ResourcesUtil.getIcon("disk.png"));
		saveNewReceptionStatusButton.setEnabled(false);
		saveNewReceptionStatusButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ev) {
				saveStatus();
			}
		});

        receptionStatusChangesTableModel = new ReceptionStatusChangesTableModel();
        JTable statusChangesTable = new JTable(receptionStatusChangesTableModel);
        JScrollPane statusChangesTableScrollPane = new JScrollPane(statusChangesTable);



		JButton editButton = new JButton("Изменить");
        editButton.setIcon(ResourcesUtil.getIcon("pencil.png"));
		editButton.addActionListener(new ActionListener() {
			public void actionPerformed(ActionEvent ev) {
				MakeReceptionViewController.getInstance().openView(currentDialog, reception);
				loadGUIDataFromReception();
			}
		});

		// Собираем панель данных
		dataPanel.add(new JLabel("Код запроса:"));
		dataPanel.add(receptionCodeLabel, "growx");
        dataPanel.add(editButton, "right, wrap");
        dataPanel.add(new JLabel("По записи: "));
        dataPanel.add(byRecordLabel, "wrap");
		dataPanel.add(new JLabel("Услуга:"),"wrap");
		dataPanel.add(serviceNameLabel,"growx, wrap");
		dataPanel.add(new JLabel("Заявители:"), "wrap");
		dataPanel.add(applicatorsPanelScrollPane,"push, grow, wrap");
		dataPanel.add(new JLabel("Состояние дела"), "right");
		dataPanel.add(serviceInfoPanel,"growx, wrap");
		dataPanel.add(statusesComboBox, "w 100");
		dataPanel.add(saveNewReceptionStatusButton, "wrap");
        dataPanel.add(statusChangesTableScrollPane, "growx, h 100, wrap");


		// Панель кнопок
		JPanel buttonPanel = new JPanel();

		okButton = new JButton("Ok");
		okButton.addActionListener(new ActionListener(){
			public void actionPerformed(ActionEvent ev) {
                if (statusChanged) {
					int confirmResult = JOptionPane.showConfirmDialog(currentDialog, "<html>Установить статус: " + 
															newReceptionStatus.getName() + " ?</html>", 
															"Сменить статус?", JOptionPane.YES_NO_CANCEL_OPTION);

					if (confirmResult == JOptionPane.YES_OPTION) {
						saveStatus();
						setVisible(false);
					} else if (confirmResult == JOptionPane.NO_OPTION) {
						setVisible(false);
					} else {
						/// При отмене не делаем ничего
					}
				} else {
					setVisible(false);
				}
			}
		});
        okButton.requestFocus();

        cancelButton = new JButton("Отмена");
        cancelButton.addActionListener(new ActionListener() {
            @Override
            public void actionPerformed(ActionEvent e) {
                result = CANCEL;
                setVisible(false);
            }
        });
        cancelButton.setVisible(false);

		buttonPanel.add(okButton);
        buttonPanel.add(cancelButton);

		// Собираем основную панель
		mainPanel.add(dataPanel, BorderLayout.CENTER);
		mainPanel.add(buttonPanel, BorderLayout.SOUTH);


		this.setContentPane(mainPanel);
		this.setSize(600,600);
		this.setLocationRelativeTo(parentFrame);

	}