function essb_prepare_location_advanced_customization_mobile($tab_id, $menu_id, $location = '')
{
    global $essb_networks;
    $checkbox_list_networks = array();
    foreach ($essb_networks as $key => $object) {
        $checkbox_list_networks[$key] = $object['name'];
    }
    ESSBOptionsStructureHelper::field_heading($tab_id, $menu_id, 'heading2', __('Change default button options for that display location', ESSB3_TEXT_DOMAIN));
    ESSBOptionsStructureHelper::field_switch($tab_id, $menu_id, $location . '_activate', __('I wish to personalize global button settings for that location', ESSB3_TEXT_DOMAIN), __('Activate this option to apply personalized settings for that display location that will overwrite the global.', ESSB3_TEXT_DOMAIN), '', __('Yes', ESSB3_TEXT_DOMAIN), __('No', ESSB3_TEXT_DOMAIN));
    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 . '_template', __('Template', ESSB3_TEXT_DOMAIN), __('Select your template for that display location.', ESSB3_TEXT_DOMAIN), essb_available_tempaltes());
    if ($location != 'sharebottom') {
        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));
    }
    ESSBOptionsStructureHelper::field_section_end($tab_id, $menu_id);
    if ($location != 'sharebottom') {
        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_mobile());
        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_mobile());
        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);
}
    function form($instance)
    {
        global $essb_networks;
        $counter_pos = essb_avaliable_counter_positions();
        $counter_pos['no'] = "No social counters";
        $network_list = array();
        $options = array();
        //get_option ( EasySocialShareButtons::$plugin_settings_name );
        $counter = isset($instance['essb_w_counter']) ? esc_attr($instance['essb_w_counter']) : 'no';
        $total_counter = isset($instance['essb_w_totalcounter']) ? esc_attr($instance['essb_w_totalcounter']) : 'no';
        $fixed = isset($instance['essb_w_fixed']) ? esc_attr($instance['essb_w_fixed']) : '';
        $style = isset($instance['essb_w_style']) ? esc_attr($instance['essb_w_style']) : '';
        $align = isset($instance['essb_w_align']) ? esc_attr($instance['essb_w_align']) : 'left';
        $template = isset($instance['essb_w_template']) ? esc_attr($instance['essb_w_template']) : 'left';
        $nospace = isset($instance['essb_w_nospace']) ? esc_attr($instance['essb_w_nospace']) : '';
        $native_buttons = isset($instance['essb_w_native']) ? esc_attr($instance['essb_w_native']) : '';
        $title = isset($instance['title']) ? $instance['title'] : '';
        ?>
		
		<p>
  <label for="<?php 
        echo $this->get_field_id('title');
        ?>
"><?php 
        echo __('Title', ESSB3_TEXT_DOMAIN);
        ?>
:</label>
  <input type="text" name="<?php 
        echo $this->get_field_name('title');
        ?>
" id="<?php 
        echo $this->get_field_id('title');
        ?>
" class="widefat" value="<?php 
        echo $title;
        ?>
" />
  <br /><small><?php 
        _e('Fill that field if you wish your widget to have title', ESSB3_TEXT_DOMAIN);
        ?>
</small>
</p>
		
		
		<?php 
        if (is_array($essb_networks)) {
            foreach ($essb_networks as $k => $v) {
                $display_name = isset($v['name']) ? $v['name'] : $k;
                if (trim($display_name) == "") {
                    $display_name = $k;
                }
                $is_active = isset($instance['essb_w_' . $k]) ? esc_attr($instance['essb_w_' . $k]) : '';
                ?>
							<p>
			<input id="<?php 
                echo $this->get_field_id('essb_w_' . $k);
                ?>
" name="<?php 
                echo $this->get_field_name('essb_w_' . $k);
                ?>
" type="checkbox" value="1" <?php 
                checked('1', $is_active);
                ?>
 />
			<label for="<?php 
                echo $this->get_field_id('essb_w_' . $k);
                ?>
"><?php 
                echo $display_name;
                ?>
</label>
			</p>
			
				
				<?php 
            }
        }
        ?>
		
			<p>
		<label for="<?php 
        echo $this->get_field_id('essb_w_style');
        ?>
"><?php 
        _e('Button display style:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<select class="widefat" id="<?php 
        echo $this->get_field_id('essb_w_style');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_style');
        ?>
" >
					<option value="icon" <?php 
        if ($style == 'icon') {
            echo "selected=\"selected\"";
        } else {
            echo "";
        }
        ?>
><?php 
        _e('Display share buttons only as icon without network names', ESSB3_TEXT_DOMAIN);
        ?>
</option>
					<option value="icon_hover" <?php 
        if ($style == 'icon_hover') {
            echo "selected=\"selected\"";
        } else {
            echo "";
        }
        ?>
><?php 
        _e('Display share buttons as icon with network name appear when button is pointed', ESSB3_TEXT_DOMAIN);
        ?>
</option>
					<option value="button" <?php 
        if ($style == 'button') {
            echo "selected=\"selected\"";
        } else {
            echo "";
        }
        ?>
><?php 
        _e('Display as share button with icon and network name', ESSB3_TEXT_DOMAIN);
        ?>
</option>
					<option value="button_name" <?php 
        if ($style == 'button_name') {
            echo "selected=\"selected\"";
        } else {
            echo "";
        }
        ?>
><?php 
        _e('Display as share button with network name and without icon', ESSB3_TEXT_DOMAIN);
        ?>
</option>
					</select>
		</p>
			<p>
		<label for="<?php 
        echo $this->get_field_id('essb_w_align');
        ?>
"><?php 
        _e('Buttons align:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<select class="widefat" id="<?php 
        echo $this->get_field_id('essb_w_align');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_align');
        ?>
" >
					<option value="left" <?php 
        if ($align == 'left') {
            echo "selected=\"selected\"";
        } else {
            echo "";
        }
        ?>
><?php 
        _e('Left', ESSB3_TEXT_DOMAIN);
        ?>
</option>
					<option value="right" <?php 
        if ($align == 'right') {
            echo "selected=\"selected\"";
        } else {
            echo "";
        }
        ?>
><?php 
        _e('Right', ESSB3_TEXT_DOMAIN);
        ?>
</option>
					<option value="center" <?php 
        if ($align == 'center') {
            echo "selected=\"selected\"";
        } else {
            echo "";
        }
        ?>
><?php 
        _e('Center', ESSB3_TEXT_DOMAIN);
        ?>
</option>
					</select>
		</p>
		<p>
		<label for="<?php 
        echo $this->get_field_id('essb_w_counter');
        ?>
"><?php 
        _e('Display Counter:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<select class="widefat" id="<?php 
        echo $this->get_field_id('essb_w_counter');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_counter');
        ?>
" >
					<?php 
        foreach ($counter_pos as $position => $text) {
            $is_active = $position == $counter ? " selected=\"selected\"" : "";
            echo '<option value="' . $position . '" ' . $is_active . '>' . $text . '</option>';
        }
        ?>
					</select>
		</p>
		
			<p>
		<label for="<?php 
        echo $this->get_field_id('essb_w_totalcounter');
        ?>
"><?php 
        _e('Display Total Counter:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<select class="widefat" id="<?php 
        echo $this->get_field_id('essb_w_totalcounter');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_totalcounter');
        ?>
" >
			
			<?php 
        foreach (essb_avaiable_total_counter_position() as $position => $text) {
            $is_active = $position == $total_counter ? " selected=\"selected\"" : "";
            echo '<option value="' . $position . '" ' . $is_active . '>' . $text . '</option>';
        }
        ?>
					</select>
		</p>
		
			<p>
			<label for="<?php 
        echo $this->get_field_id('essb_w_fixed');
        ?>
"><?php 
        _e('Fixed width buttons:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<input id="<?php 
        echo $this->get_field_id('essb_w_fixed');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_fixed');
        ?>
" value="true" <?php 
        if ($fixed) {
            echo 'checked="checked"';
        }
        ?>
 type="checkbox" />
			<br /><small><?php 
        _e('This option will generate buttons with equal width', ESSB3_TEXT_DOMAIN);
        ?>
</small>
		</p>
		<p>
			<label for="<?php 
        echo $this->get_field_id('essb_w_width');
        ?>
"><?php 
        _e('Fixed width buttons value :', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<input id="<?php 
        echo $this->get_field_id('essb_w_width');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_width');
        ?>
" value="<?php 
        if (isset($instance['essb_w_width'])) {
            echo $instance['essb_w_width'];
        }
        ?>
" style="width:40px;" type="text" /> <?php 
        _e('px', ESSB3_TEXT_DOMAIN);
        ?>
		</p>
		
		<p>
		<label for="<?php 
        echo $this->get_field_id('essb_w_template');
        ?>
"><?php 
        _e('Template:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
<select class="widefat" id="<?php 
        echo $this->get_field_id('essb_w_template');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_template');
        ?>
">
							<?php 
        foreach (essb_available_tempaltes() as $position => $text) {
            $is_active = $position == $template ? " selected=\"selected\"" : "";
            echo '<option value="' . $position . '" ' . $is_active . '>' . $text . '</option>';
        }
        ?>
														</select>		
		</p>		

					<p>
			<label for="<?php 
        echo $this->get_field_id('essb_w_nospace');
        ?>
"><?php 
        _e('Remove space between buttons:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<input id="<?php 
        echo $this->get_field_id('essb_w_nospace');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_nospace');
        ?>
" value="true" <?php 
        if ($nospace) {
            echo 'checked="checked"';
        }
        ?>
 type="checkbox" />
			<br /><small><?php 
        _e('This option will remove space between buttons', ESSB3_TEXT_DOMAIN);
        ?>
</small>
		</p>
					<p>
			<label for="<?php 
        echo $this->get_field_id('essb_w_native');
        ?>
"><?php 
        _e('Include native social buttons:', ESSB3_TEXT_DOMAIN);
        ?>
</label>
			<input id="<?php 
        echo $this->get_field_id('essb_w_native');
        ?>
" name="<?php 
        echo $this->get_field_name('essb_w_native');
        ?>
" value="true" <?php 
        if ($native_buttons) {
            echo 'checked="checked"';
        }
        ?>
 type="checkbox" />
			<br /><small><?php 
        _e('This option will include native buttons', ESSB3_TEXT_DOMAIN);
        ?>
</small>
		</p>
		<?php 
    }
function essb_register_settings_metabox_visual()
{
    global $post;
    if (isset($_GET['action'])) {
        $custom = get_post_custom($post->ID);
        //$essb_post_share_message = isset ( $custom ["essb_post_share_message"] ) ? $custom ["essb_post_share_message"] [0] : "";
        $essb_post_button_style = isset($custom["essb_post_button_style"]) ? $custom["essb_post_button_style"][0] : "";
        $essb_post_template = isset($custom["essb_post_template"]) ? $custom["essb_post_template"][0] : "";
        $essb_post_counters = isset($custom["essb_post_counters"]) ? $custom["essb_post_counters"][0] : "";
        $essb_post_counter_pos = isset($custom["essb_post_counter_pos"]) ? $custom["essb_post_counter_pos"][0] : "";
        $essb_post_total_counter_pos = isset($custom["essb_post_total_counter_pos"]) ? $custom["essb_post_total_counter_pos"][0] : "";
        $essb_post_customizer = isset($custom["essb_post_customizer"]) ? $custom["essb_post_customizer"][0] : "";
        $essb_post_animations = isset($custom["essb_post_animations"]) ? $custom["essb_post_animations"][0] : "";
        $essb_post_optionsbp = isset($custom["essb_post_optionsbp"]) ? $custom["essb_post_optionsbp"][0] : "";
        $essb_post_content_position = isset($custom["essb_post_content_position"]) ? $custom["essb_post_content_position"][0] : "";
        foreach (essb_available_button_positions() as $position => $name) {
            $essb_post_button_position_[$position] = isset($custom["essb_post_button_position_" . $position]) ? $custom["essb_post_button_position_" . $position][0] : "";
        }
        $essb_post_native = isset($custom["essb_post_native"]) ? $custom["essb_post_native"][0] : "";
        $essb_post_native_skin = isset($custom["essb_post_native_skin"]) ? $custom["essb_post_native_skin"][0] : "";
        ESSBMetaboxInterface::draw_form_start('essb_social_share_visual');
        $sidebar_options = array();
        $sidebar_options[] = array('field_id' => 'visual1', 'title' => __('Button Style', ESSB3_TEXT_DOMAIN), 'icon' => 'default', 'type' => 'menu_item', 'action' => 'default', 'default_child' => '');
        $sidebar_options[] = array('field_id' => 'visual2', 'title' => __('Button Display', ESSB3_TEXT_DOMAIN), 'icon' => 'default', 'type' => 'menu_item', 'action' => 'default', 'default_child' => '');
        $sidebar_options[] = array('field_id' => 'visual3', 'title' => __('Native Buttons', ESSB3_TEXT_DOMAIN), 'icon' => 'default', 'type' => 'menu_item', 'action' => 'default', 'default_child' => '');
        $converted_button_styles = essb_avaiable_button_style();
        $converted_button_styles[""] = "Default style from settings";
        $converted_counter_pos = essb_avaliable_counter_positions();
        $converted_counter_pos[""] = "Default value from settings";
        $converted_total_counter_pos = essb_avaiable_total_counter_position();
        $converted_total_counter_pos[""] = "Default value from settings";
        $converted_content_position = array();
        //$essb_avaliable_content_positions;
        $converted_content_position[""] = "Default value from settings";
        $converted_content_position["no"] = "No display inside content (deactivate content positions)";
        foreach (essb_avaliable_content_positions() as $position => $data) {
            $converted_content_position[$position] = $data["label"];
        }
        $animations_container = array();
        $animations_container[""] = "Default value from settings";
        foreach (essb_available_animations() as $key => $text) {
            if ($key != '') {
                $animations_container[$key] = $text;
            } else {
                $animations_container['no'] = 'No amination';
            }
        }
        $yesno_object = array();
        $yesno_object[""] = "Default value from settings";
        $yesno_object["yes"] = "Yes";
        $yesno_object["no"] = "No";
        //$converted_button_styles = array_unshift($converted_button_styles, array("" => "Default value from settings"));
        ESSBMetaboxInterface::draw_first_menu_activate('visual');
        ESSBMetaboxInterface::draw_sidebar($sidebar_options, 'visual');
        ESSBMetaboxInterface::draw_content_start('300', 'visual');
        ESSBMetaboxInterface::draw_content_section_start('visual1');
        ESSBMetaboxOptionsFramework::reset_row_status();
        ESSBMetaboxOptionsFramework::draw_heading(__('Button Style', ESSB3_TEXT_DOMAIN), '3');
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Button style', ESSB3_TEXT_DOMAIN), __('Change default button style.', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_button_style', $converted_button_styles, false, 'essb_metabox', $essb_post_button_style);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Template', ESSB3_TEXT_DOMAIN), __('Change default template.', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_template', essb_available_tempaltes(), false, 'essb_metabox', $essb_post_template);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Counters', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_counters', $yesno_object, false, 'essb_metabox', $essb_post_counters);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Counter position', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_counter_pos', $converted_counter_pos, false, 'essb_metabox', $essb_post_counter_pos);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Total counter position', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_total_counter_pos', $converted_total_counter_pos, false, 'essb_metabox', $essb_post_total_counter_pos);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Activate style customizer', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_customizer', $yesno_object, false, 'essb_metabox', $essb_post_customizer);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Activate animations', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_animations', $animations_container, false, 'essb_metabox', $essb_post_animations);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Activate options by button position', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_optionsbp', $yesno_object, false, 'essb_metabox', $essb_post_optionsbp);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxInterface::draw_content_section_end();
        ESSBMetaboxInterface::draw_content_section_start('visual2');
        ESSBMetaboxOptionsFramework::reset_row_status();
        ESSBMetaboxOptionsFramework::draw_heading(__('Button Position', ESSB3_TEXT_DOMAIN), '3');
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Content position', ESSB3_TEXT_DOMAIN), __('Change default content position', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_content_position', $converted_content_position, false, 'essb_metabox', $essb_post_content_position);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        foreach (essb_available_button_positions() as $position => $name) {
            ESSBMetaboxOptionsFramework::draw_options_row_start(__('Activate ' . $name["label"], ESSB3_TEXT_DOMAIN), __('Activate additional display position', ESSB3_TEXT_DOMAIN));
            ESSBMetaboxOptionsFramework::draw_select_field('essb_post_button_position_' . $position, $yesno_object, false, 'essb_metabox', $essb_post_button_position_[$position]);
            ESSBMetaboxOptionsFramework::draw_options_row_end();
        }
        ESSBMetaboxInterface::draw_content_section_end();
        ESSBMetaboxInterface::draw_content_section_start('visual3');
        ESSBMetaboxOptionsFramework::reset_row_status();
        ESSBMetaboxOptionsFramework::draw_heading(__('Native Buttons', ESSB3_TEXT_DOMAIN), '3');
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Activate native buttons', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_native', $yesno_object, false, 'essb_metabox', $essb_post_native);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxOptionsFramework::draw_options_row_start(__('Activate native buttons skin', ESSB3_TEXT_DOMAIN), __('', ESSB3_TEXT_DOMAIN));
        ESSBMetaboxOptionsFramework::draw_select_field('essb_post_native_skin', $yesno_object, false, 'essb_metabox', $essb_post_native_skin);
        ESSBMetaboxOptionsFramework::draw_options_row_end();
        ESSBMetaboxInterface::draw_content_section_end();
        ESSBMetaboxInterface::draw_content_end();
        ESSBMetaboxInterface::draw_form_end();
    }
}