private JPanel createCSSSettingsPanel()
   {
      final JPanel jp = new JPanel();
      jp.setBorder(default_border);
      BoxLayout bl = new BoxLayout(jp, BoxLayout.PAGE_AXIS);
      jp.setLayout(bl);

      JComponent cp = new JLabel(UIStrings.UI_CSS_NAME_LABEL);
      setItemAlignment(cp);
      jp.add(cp);

      JPanel ip = new JPanel();
      css_file_selector = new JComboBox();
      css_file_selector.addItemListener(new ItemListener() {
         @Override
         public void itemStateChanged(ItemEvent ie)
         {
            int type = ie.getStateChange();
            switch(type)
            {
               case ItemEvent.ITEM_STATE_CHANGED:
               {
                  CSSFile cf = (CSSFile)css_file_selector.getSelectedItem();
                  css_file_path_field.setText(cf.path);
                  break;
               }
               case ItemEvent.DESELECTED:
               {
                  CSSFile ep2 = (CSSFile)css_file_selector.getSelectedItem();
                  CSSFile ep = (CSSFile)ie.getItem();
               }
            }
         }
      });
      css_file_selector.addActionListener(new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent ae)
         {
            String cmd = ae.getActionCommand();
            if(cmd.equals("comboBoxChanged"))
            {
               CSSFile cf = (CSSFile)css_file_selector.getSelectedItem();
               if(cf != null)
               {
                   css_file_path_field.setText(cf.path);
                   css_file_path_field.setEnabled(true);
               }
               else
               {
                   css_file_path_field.setText("no CSS file selected");
                   css_file_path_field.setEnabled(false);                   
               }
            }
         }
      });
      Dimension d = css_file_selector.getPreferredSize();
      d.width = 160;
      css_file_selector.setPreferredSize(d);
      css_file_selector.setEditable(true);
      ip.add(css_file_selector);

      JButton b = new JButton("+");
      b.setToolTipText(UIStrings.SETTINGS_DIALOG_CSS_FILE_ADD);
      b.addActionListener(new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent ae)
         {
            CSSFile new_css_file = dialog_settings.newCSSFile(UIStrings.SETTINGS_DIALOG_DEFAULT_NEW_CSS_VALUES[0]);
            new_css_file.path = UIStrings.SETTINGS_DIALOG_DEFAULT_NEW_CSS_VALUES[1];
            css_file_selector.addItem(new_css_file);
            css_file_selector.setSelectedItem(new_css_file);
         }
      });
      d = b.getPreferredSize();
      d.width = 20;
      b.setPreferredSize(d);
      ip.add(b);

      b = new JButton("-");
      b.setToolTipText(UIStrings.SETTINGS_DIALOG_CSS_FILE_REMOVE);
      b.addActionListener(new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent ae)
         {
            CSSFile cf = (CSSFile)css_file_selector.getSelectedItem();
            int result = JOptionPane.showConfirmDialog(jp, "Remove CSS File: " + cf.name + "?", UIStrings.APPNAME, JOptionPane.YES_NO_OPTION);
            if(result == JOptionPane.NO_OPTION)
            {
               return;
            }
            css_file_selector.removeItem(cf);
            css_file_selector.setSelectedIndex(0);
         }
      });
      b.setPreferredSize(d);
      ip.add(b);
      ip.add(Box.createHorizontalGlue());
      setItemAlignment(ip);
      jp.add(ip);

      jp.add(Box.createVerticalStrut(10));

      cp = new JLabel(UIStrings.UI_CSS_PATH_LABEL);
      setItemAlignment(cp);
      jp.add(cp);

      ip = new JPanel(new FlowLayout(FlowLayout.LEFT));
      css_file_path_field = new JTextField(40);
      css_file_path_field.addActionListener(new ActionListener() {
         @Override
         public void actionPerformed(ActionEvent ae)
         {
            CSSFile cf = (CSSFile)css_file_selector.getSelectedItem();
            cf.path = css_file_path_field.getText();
         }
      });
      ip.add(css_file_path_field);
      b = new JButton(folder_icon);
      b.setToolTipText(UIStrings.SETTINGS_DIALOG_CSS_BROWSE_TOOLTIP);
      b.addActionListener(new ActionListener()
      {
         @Override
         public void actionPerformed(ActionEvent ae)
         {
            JFileChooser fc = new JFileChooser();
            int returnVal = fc.showDialog(null, "Select");

            if (returnVal == JFileChooser.APPROVE_OPTION)
            {
               File file = fc.getSelectedFile();
               if(file.exists() && file.isFile())
               {
                  css_file_path_field.setForeground(Color.BLACK);
               }
               else
               {
                  css_file_path_field.setForeground(Color.RED);
                  css_file_path_field.setText(file.getAbsolutePath() + " [" + UIStrings.ERROR_INVALID_PATH + "]");
               }
               css_file_path_field.setText(file.getAbsolutePath());
            }
            else
            {
            }
         }
      });
      ip.add(b);
      setItemAlignment(ip);
      jp.add(ip);

      return jp;
   }