protected void addItem() {
        Item item = null;
        CatItems sel = (CatItems) jCbItemType.getSelectedItem();
        switch (sel) {
            case GOODS:
                String gDescr = jTextGoodsDescr.getText();
                double gPrice = Double.valueOf(jTextGoodsPrice.getText());
                int gAvaibleItems = Integer.valueOf(jTextGoodsQuantity.getText());

                item = new GeneralGood(gDescr, gPrice, 0, gAvaibleItems, ((Manager) this.ctrl.getCurUser()));
                break;
            case RESTOURANT:
                String rDescr = jTextRestDescr.getText();
                String rName = jTextRestName.getText();
                String rLocation = jTextRestLocation.getText();
                MyDate rExpiryDate;
                try {
                    rExpiryDate = new MyDate().fromString(jTextRestEndDate.getText());
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(this, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
                    return;
                }
                double rPrice = Double.valueOf(jTextRestPrice.getText());
                int rAvailableEvents = Integer.valueOf(jTextRestQuantity.getText());

                item = new Restourant(rName, rDescr, rPrice, 0, rExpiryDate, rLocation, rAvailableEvents);
                break;
            case SERVICE:
                String sDescr = jTextServiceDescr.getText();
                double sPrice = Double.valueOf(jTextServicePrice.getText());
                String sLocation = jTextServiceLocation.getText();

                item = new Service(sDescr, sLocation, sPrice, 0, ((Manager) this.ctrl.getCurUser()));
                break;
            case TRAVEL:
                double tPrice = Double.valueOf(jTextTravelPrice.getText());
                MyDate tExpiryDate;
                MyDate tDepartureDate;
                try {
                    tExpiryDate = new MyDate().fromString(jTextTravelExpDate.getText());
                    tDepartureDate = new MyDate().fromString(jTextTravelDepDate.getText());
                } catch (Exception e) {
                    JOptionPane.showMessageDialog(this, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
                    return;
                }

                String tLocation = jTextTravelLoc.getText();

                item = new Travel(tPrice, 0, tExpiryDate, tLocation, tDepartureDate);
                break;
        }

        try {
            this.ctrl.getStore().addItem(item);
        } catch (Exception e) {
            // TODO Auto-generated catch block
            JOptionPane.showMessageDialog(this, e.getMessage(), "Error", JOptionPane.ERROR_MESSAGE);
        }

        dispose();
    }