public static function draw_options_field($option)
 {
     global $essb_admin_options, $essb_admin_options_fanscounter;
     $type = $option['type'];
     $title = isset($option['title']) ? $option['title'] : '';
     $submenu_link = isset($option['submenu_link']) ? $option['submenu_link'] : "";
     $description = isset($option['description']) ? $option['description'] : "";
     $id = isset($option['id']) ? $option['id'] : '';
     $icon = isset($option['icon']) ? $option['icon'] : '';
     $icon_position = isset($option['icon_position']) ? $option['icon_position'] : '';
     $on_text = isset($option['on_label']) ? $option['on_label'] : "";
     $off_text = isset($option['off_label']) ? $option['off_label'] : "";
     $listOfValues = isset($option['values']) ? $option['values'] : array();
     $class = isset($option['class']) ? $option['class'] : '';
     $mode = isset($option['mode']) ? $option['mode'] : 'htmlmixed';
     $recommended = isset($option['recommended']) ? $option['recommended'] : '';
     $select2_options = isset($option['select2_options']) ? $option['select2_options'] : array();
     $settings_group = "essb_metabox";
     $option_value = isset($essb_admin_options[$id]) ? $essb_admin_options[$id] : '';
     switch ($type) {
         case "heading1":
             self::draw_heading($title, '1', $submenu_link);
             break;
         case "heading2":
             self::draw_heading($title, '2', $submenu_link);
             break;
         case "heading3":
             self::draw_heading($title, '3', $submenu_link);
             break;
         case "switch":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_switch_field($id, $settings_group, $option_value, $on_text, $off_text);
             self::draw_options_row_end();
             break;
         case "text":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_input_field($id, false, $settings_group, $option_value, $icon, $class, $icon_position);
             self::draw_options_row_end();
             break;
         case "text-stretched":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_input_field($id, true, $settings_group, $option_value, $icon, $class, $icon_position);
             self::draw_options_row_end();
             break;
         case "checkbox":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_checkbox_field($id, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case "checkbox_list":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_checkbox_list_field($id, $listOfValues, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case "checkbox_list_sortable":
             $ordered_values = isset($essb_admin_options[$id . '_order']) ? $essb_admin_options[$id . '_order'] : array();
             //print_r($ordered_values);
             if (is_array($ordered_values)) {
                 if (count($ordered_values) > 0) {
                     $listOfValues = $ordered_values;
                     $listOfValues = self::translate_key_array($listOfValues);
                 }
             }
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_checkbox_list_sortable_field($id, $listOfValues, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case "select":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_select_field($id, $listOfValues, false, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case "textarea":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_textarea_field($id, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case "editor":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_editor_field($id, $settings_group, $option_value, $mode);
             self::draw_options_row_end();
             break;
         case "wpeditor":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_wpeditor_field($id, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case "color":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_color_field($id, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case "image_checkbox":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_image_checkbox_field($id, $listOfValues, $settings_group, $option_value);
             //self::draw_image_checkbox_field($id, $listOfValues, 'essb_options', array("checkbox_option2" => true));
             self::draw_options_row_end();
             break;
         case "image_radio":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_image_radio_field($id, $listOfValues, $settings_group, $option_value);
             //self::draw_image_radio_field($id, $listOfValues, 'essb_options', 'checkbox_option1');
             self::draw_options_row_end();
             break;
         case "func":
             self::draw_options_row_start($title, $description, $recommended);
             if (function_exists($id)) {
                 $id($option);
             }
             self::draw_options_row_end();
             break;
         case "file":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_fileselect_field($id, $settings_group, $option_value, $icon, $class);
             self::draw_options_row_end();
             break;
         case "simplesort":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_simplesort_field($id, $listOfValues, $settings_group, $option_value);
             self::draw_options_row_end();
             break;
         case 'section_start':
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_section_start();
             self::$section_active = true;
             break;
         case 'section_end':
             self::draw_section_end();
             self::draw_options_row_end();
             self::$section_active = false;
             break;
         case "select2":
             self::draw_options_row_start($title, $description, $recommended);
             self::draw_select2_field($id, $listOfValues, false, $settings_group, $option_value, $select2_options);
             self::draw_options_row_end();
             break;
     }
 }