function essb_prepare_location_advanced_customization($tab_id, $menu_id, $location = '', $post_type = false)
{
    global $essb_avaiable_button_style, $essb_available_tempaltes, $essb_avaliable_counter_positions, $essb_avaiable_total_counter_position, $essb_networks, $essb_options;
    $checkbox_list_networks = array();
    foreach ($essb_networks as $key => $object) {
        $checkbox_list_networks[$key] = $object['name'];
    }
    if ($location != 'mobile') {
        ESSBOptionsStructureHelper::field_switch($tab_id, $menu_id, $location . '_mobile_deactivate', __('Deactivate on mobile', ESSB3_TEXT_DOMAIN), __('Activate this option if you wish that method to be hidden when site is browsed with mobile device.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_switch($tab_id, $menu_id, $location . '_native_deactivate', __('Deactivate native buttons', ESSB3_TEXT_DOMAIN), __('Activate this option if you wish to deactivate native buttons for that display method.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
        if (!$post_type) {
            ESSBOptionsStructureHelper::field_switch($tab_id, $menu_id, $location . '_text_deactivate', __('Do not display message above, before or below', ESSB3_TEXT_DOMAIN), __('Activate this option if you wish to hide message above, before or below for that display.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
        }
    }
    if (!$post_type) {
        ESSBOptionsStructureHelper::field_heading($tab_id, $menu_id, 'heading2', __('Change default button options for that display location', ESSB3_TEXT_DOMAIN));
    } else {
        ESSBOptionsStructureHelper::field_heading($tab_id, $menu_id, 'heading2', __('Change default button options for that post type', ESSB3_TEXT_DOMAIN));
    }
    ESSBOptionsStructureHelper::field_switch($tab_id, $menu_id, $location . '_activate', __('I wish to personalize global button settings', ESSB3_TEXT_DOMAIN), __('Activate this option to apply personalized settings for that display location. That will overwrite the global. <br/><span class="essb-user-notice">After switching option to <b>Yes</b> press <b>Update Settings</b> button and advanced configuration fields will appear.</span>', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
    //print "Location = ".$location.', result = '.ESSBOptionValuesHelper::options_bool_value($essb_options, $location.'_activate');
    $are_active_settings = ESSBOptionValuesHelper::options_bool_value($essb_options, $location . '_activate');
    if (!$are_active_settings) {
        return;
    }
    ESSBOptionsStructureHelper::field_heading($tab_id, $menu_id, 'heading3', __('Visual Changes', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Set button style', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_button_style', __('Buttons Style', ESSB3_TEXT_DOMAIN), __('Select your button display style.', ESSB3_TEXT_DOMAIN), $essb_avaiable_button_style);
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_button_pos', __('Buttons Align', ESSB3_TEXT_DOMAIN), __('Choose how buttons
			to be aligned. Default position is left but you can also select
			Right or Center', ESSB3_TEXT_DOMAIN), array("" => "Left", "center" => "Center", "right" => "Right"));
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_template', __('Template', ESSB3_TEXT_DOMAIN), __('Select your template for that display location.', ESSB3_TEXT_DOMAIN), $essb_available_tempaltes);
    ESSBOptionsStructureHelper::field_switch($tab_id, $menu_id, $location . '_nospace', __('Remove spacing between buttons', ESSB3_TEXT_DOMAIN), __('Activate this option to remove default space between share buttons.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
    $more_options = array("plus" => "Plus icon", "dots" => "Dots icon");
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_more_button_icon', __('More button icon', ESSB3_TEXT_DOMAIN), __('Select more button icon style. You can choose from default + symbol or dots symbol', ESSB3_TEXT_DOMAIN), $more_options);
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Counter settings', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_switch($tab_id, $menu_id, $location . '_show_counter', __('Display counter of sharing', ESSB3_TEXT_DOMAIN), __('Activate display of share counters.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_counter_pos', __('Position of counters', ESSB3_TEXT_DOMAIN), __('Choose your default button counter position', ESSB3_TEXT_DOMAIN), $essb_avaliable_counter_positions);
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_total_counter_pos', __('Position of total counter', ESSB3_TEXT_DOMAIN), __('For vertical display methods left means before buttons (top) and right means after buttons (bottom).', ESSB3_TEXT_DOMAIN), $essb_avaiable_total_counter_position);
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Set button width', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_button_width', __('Width of buttons'), __('Choose between automatic width, pre defined width or display in columns.'), array('' => 'Automatic Width', 'fixed' => 'Fixed Width', 'full' => 'Full Width', "column" => "Display in columns"));
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Fixed width share buttons', ESSB3_TEXT_DOMAIN), __('Customize the fixed width options', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_textbox($tab_id, $menu_id, $location . '_fixed_width_value', __('Custom buttons width', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), '', 'input60', 'fa-arrows-h', 'right');
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_fixed_width_align', __('Choose alignment of network name', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), array("" => "Center", "left" => "Left", "right" => "Right"));
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Full width share buttons', ESSB3_TEXT_DOMAIN), __('Full width option will make buttons to take the width of your post content area.', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_textbox($tab_id, $menu_id, $location . '_fullwidth_share_buttons_correction', __('Max width of button on desktop', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), '', 'input60', 'fa-arrows-h', 'right');
    ESSBOptionsStructureHelper::field_textbox($tab_id, $menu_id, $location . '_fullwidth_share_buttons_correction_mobile', __('Max width of button on mobile', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), '', 'input60', 'fa-arrows-h', 'right');
    ESSBOptionsStructureHelper::field_textbox($tab_id, $menu_id, $location . '_fullwidth_share_buttons_container', __('Max width of buttons container element', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), '', 'input60', 'fa-arrows-h', 'right');
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_fullwidth_align', __('Choose alignment of network name', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), array("left" => "Left", "center" => "Center", "right" => "Right"));
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Display in columns', ESSB3_TEXT_DOMAIN), '');
    $listOfOptions = array("1" => "1", "2" => "2", "3" => "3", "4" => "4", "5" => "5");
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_fullwidth_share_buttons_columns', __('Number of columns', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), $listOfOptions);
    ESSBOptionsStructureHelper::field_select($tab_id, $menu_id, $location . '_fullwidth_share_buttons_columns_align', __('Choose alignment of network name', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN), array("" => "Left", "center" => "Center", "right" => "Right"));
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Personalize social networks', ESSB3_TEXT_DOMAIN), '');
    ESSBOptionsStructureHelper::field_checkbox_list_sortable($tab_id, $menu_id, $location . '_networks', __('Change active social networks', ESSB3_TEXT_DOMAIN), __('Do not select anything if you wish to use default network list' . ESSB3_TEXT_DOMAIN), $checkbox_list_networks);
    ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, __('Rename displayed texts for network names', ESSB3_TEXT_DOMAIN), __('Set texts that will appear on selected display method instead of default network names. Use dash (-) if you wish to remove text for that network name.', ESSB3_TEXT_DOMAIN));
    foreach ($checkbox_list_networks as $key => $text) {
        ESSBOptionsStructureHelper::field_textbox_stretched($tab_id, $menu_id, $location . '_' . $key . '_name', $text, '');
    }
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
}
ESSBOptionsStructureHelper::field_heading('quick', 'quick-6', 'heading1', __('6. Position Of Buttons', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_image_radio('quick', 'quick-6', 'content_position', __('Primary content display position', ESSB3_TEXT_DOMAIN), __('Choose default method that will be used to render buttons inside content', ESSB3_TEXT_DOMAIN), essb_avaliable_content_positions());
ESSBOptionsStructureHelper::field_image_checkbox('quick', 'quick-6', 'button_position', __('Additional button display positions', ESSB3_TEXT_DOMAIN), __('Choose additional display methods that can be used to display buttons.', ESSB3_TEXT_DOMAIN), essb_available_button_positions());
ESSBOptionsStructureHelper::field_heading('quick', 'quick-7', 'heading1', __('7. Mobile', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_switch('quick', 'quick-7', 'mobile_positions', __('Change display positions on mobile', ESSB3_TEXT_DOMAIN), __('Activate this option to personalize display positions on mobile', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_image_radio('quick', 'quick-7', 'content_position_mobile', __('Primary content display position', ESSB3_TEXT_DOMAIN), __('Choose default method that will be used to render buttons inside content', ESSB3_TEXT_DOMAIN), essb_avaliable_content_positions_mobile());
ESSBOptionsStructureHelper::field_image_checkbox('quick', 'quick-7', 'button_position_mobile', __('Additional button display positions', ESSB3_TEXT_DOMAIN), __('Choose additional display methods that can be used to display buttons.', ESSB3_TEXT_DOMAIN), essb_available_button_positions_mobile());
global $essb_networks;
$checkbox_list_networks = array();
foreach ($essb_networks as $key => $object) {
    $checkbox_list_networks[$key] = $object['name'];
}
ESSBOptionsStructureHelper::field_checkbox_list_sortable('quick', 'quick-7', 'mobile_networks', __('Change active social networks', ESSB3_TEXT_DOMAIN), __('Do not select anything if you wish to use default network list' . ESSB3_TEXT_DOMAIN), $checkbox_list_networks);
ESSBOptionsStructureHelper::field_switch('quick', 'quick-7', 'mobile_exclude_tablet', __('Do not apply mobile settings for tablets', ESSB3_TEXT_DOMAIN), __('You can avoid mobile rules for settings for tablet devices.', ESSB3_TEXT_DOMAIN), 'recommeded', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_section_start('quick', 'quick-7', __('Share bar customization', ESSB3_TEXT_DOMAIN), '');
ESSBOptionsStructureHelper::field_textbox('quick', 'quick-7', 'mobile_sharebar_text', __('Text on share bar', ESSB3_TEXT_DOMAIN), __('Customize the default share bar text (default is Share).', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_section_end('quick', 'quick-7');
ESSBOptionsStructureHelper::field_section_start('quick', 'quick-7', __('Share buttons bar customization', ESSB3_TEXT_DOMAIN), '');
$listOfOptions = array("2" => "2 Buttons", "3" => "3 Buttons", "4" => "4 Buttons", "5" => "5 Buttons");
ESSBOptionsStructureHelper::field_select('quick', 'quick-7', 'mobile_sharebuttonsbar_count', __('Number of buttons in share buttons bar', ESSB3_TEXT_DOMAIN), __('Provide number of buttons you wish to see in buttons bar. If the number of activated buttons is greater than selected here the last button will be more button which will open pop up with all active buttons.', ESSB3_TEXT_DOMAIN), $listOfOptions);
ESSBOptionsStructureHelper::field_switch('quick', 'quick-7', 'mobile_sharebuttonsbar_names', __('Display network names', ESSB3_TEXT_DOMAIN), __('Activate this option to display network names (default is display is icons only).', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_section_end('quick', 'quick-7');
ESSBOptionsStructureHelper::field_heading('quick', 'quick-8', 'heading1', __('8. Final Settings', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_switch('quick', 'quick-8', 'quick_setup_recommended', __('Apply social networks recommended settings', ESSB3_TEXT_DOMAIN), __('Activate this option to activate recommended for each social network options (like Short URL for Twitter)', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_switch('quick', 'quick-8', 'opengraph_tags', __('Activate social share optimization meta tags', ESSB3_TEXT_DOMAIN), __('If you do not use SEO plugin or other plugin that insert social share optimization meta tags it is highly recommended to activate this option. It will generated required for better sharing meta tags and also will allow you to change the values that social network read from your site.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_switch('quick', 'quick-8', 'stats_active', __('Activate social share buttons click statistics', ESSB3_TEXT_DOMAIN), __('Click statistics hanlde click on share buttons and you are able to see detailed view of user activity. Please note that plugin log clicks of buttons.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_section_start('quick', 'quick-8', __('Optimizations', ESSB3_TEXT_DOMAIN), __('Select which optimization options you wish to use', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_switch('quick', 'quick-8', 'quick_setup_static', __('Optimize static plugin resources load', ESSB3_TEXT_DOMAIN), __('Activate this option to apply the recommended options for static resources load.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_switch('quick', 'quick-8', 'precompiled_resources', __('Use plugin precompiled resources', ESSB3_TEXT_DOMAIN), __('Activating this option will precompile and cache plugin dynamic resources to save load time. Precompiled resources can be used only when you use same configuration on your entire site.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
ESSBOptionsStructureHelper::field_section_end('quick', 'quick-8');
ESSBOptionsStructureHelper::field_switch('quick', 'quick-8', 'quick_setup_easy', __('Activate Easy Mode', ESSB3_TEXT_DOMAIN), __('Easy Mode is recommended for initial start of work with plugin. With that mode you get access to most common used options and set of predefined settings. Easy Mode can be turned off at any time', ESSB3_TEXT_DOMAIN), 'recommended', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN), 'recommended');
function essb3_prepare_color_customization_by_network($tab_id, $menu_id)
{
    global $essb_networks;
    $checkbox_list_networks = array();
    foreach ($essb_networks as $key => $object) {
        $checkbox_list_networks[$key] = $object['name'];
    }
    foreach ($checkbox_list_networks as $key => $text) {
        ESSBOptionsStructureHelper::field_section_start($tab_id, $menu_id, $text, '');
        ESSBOptionsStructureHelper::field_color($tab_id, $menu_id, 'customizer_' . $key . '_bgcolor', __('Background color', ESSB3_TEXT_DOMAIN), __('Replace all buttons background color', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_color($tab_id, $menu_id, 'customizer_' . $key . '_textcolor', __('Text color', ESSB3_TEXT_DOMAIN), __('Replace all buttons text color', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_color($tab_id, $menu_id, 'customizer_' . $key . '_hovercolor', __('Hover background color', ESSB3_TEXT_DOMAIN), __('Replace all buttons hover background color', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_color($tab_id, $menu_id, 'customizer_' . $key . '_hovertextcolor', __('Hover text color', ESSB3_TEXT_DOMAIN), __('Replace all buttons hover text color', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_file($tab_id, $menu_id, 'customizer_' . $key . '_icon', __('Icon', ESSB3_TEXT_DOMAIN), __('Replace social icon', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_textbox($tab_id, $menu_id, 'customizer_' . $key . '_iconbgsize', __('Background size for regular icon', ESSB3_TEXT_DOMAIN), __('Provide custom background size if needed (for retina templates default used is 21px 21px)', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_file($tab_id, $menu_id, 'customizer_' . $key . '_hovericon', __('Hover icon', ESSB3_TEXT_DOMAIN), __('Replace social icon', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_textbox($tab_id, $menu_id, 'customizer_' . $key . '_hovericonbgsize', __('Hover background size for regular icon', ESSB3_TEXT_DOMAIN), __('Provide custom background size if needed (for retina templates default used is 21px 21px)', ESSB3_TEXT_DOMAIN));
        ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    }
}