<?php
/**
 * Footer Options
 *
 * @package appointment_management
 */

$wp_customize->add_section(
	'appointment_management_footer_options',
	array(
		'panel' => 'appointment_management_theme_options',
		'title' => esc_html__( 'Footer Options', 'appointment-management' ),
	)
);

// Add Separator Custom Control
$wp_customize->add_setting( 'appointment_management_footer_separators', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Appointment_Management_Separator_Custom_Control( $wp_customize, 'appointment_management_footer_separators', array(
	'label' => __( 'Footer Settings', 'appointment-management' ),
	'section' => 'appointment_management_footer_options',
	'settings' => 'appointment_management_footer_separators',
)));

// Footer Section - Enable Section.
$wp_customize->add_setting(
	'appointment_management_enable_footer_section',
	array(
		'default'           => true,
		'sanitize_callback' => 'appointment_management_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Appointment_Management_Toggle_Switch_Custom_Control(
		$wp_customize,
		'appointment_management_enable_footer_section',
		array(
			'label'    => esc_html__( 'Show / Hide Footer', 'appointment-management' ),
			'section'  => 'appointment_management_footer_options',
			'settings' => 'appointment_management_enable_footer_section',
		)
	)
);

// column // 
$wp_customize->add_setting(
	'appointment_management_footer_widget_column',
	array(
        'default'			=> '4',
		'capability'     	=> 'edit_theme_options',
		'sanitize_callback' => 'appointment_management_sanitize_select',
		
	)
);	

$wp_customize->add_control(
	'appointment_management_footer_widget_column',
	array(
	    'label'   		=> __('Select Widget Column','appointment-management'),
		'description' => __('Note: Default footer widgets are shown. Add your preferred widgets in (Appearance > Widgets > Footer) to see changes.', 'appointment-management'),
	    'section' 		=> 'appointment_management_footer_options',
		'type'			=> 'select',
		'choices'        => 
		array(
			'' => __( 'None', 'appointment-management' ),
			'1' => __( '1 Column', 'appointment-management' ),
			'2' => __( '2 Column', 'appointment-management' ),
			'3' => __( '3 Column', 'appointment-management' ),
			'4' => __( '4 Column', 'appointment-management' )
		) 
	) 
);

//  BG Color // 
$wp_customize->add_setting('footer_background_color_setting', array(
    'default' => '#000',
    'sanitize_callback' => 'sanitize_hex_color',
));

$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'footer_background_color_setting', array(
    'label' => __('Footer Background Color', 'appointment-management'),
    'section' => 'appointment_management_footer_options',
)));

// Footer Background Image Setting
$wp_customize->add_setting('footer_background_image_setting', array(
    'default' => '',
    'sanitize_callback' => 'esc_url_raw',
));

$wp_customize->add_control(new WP_Customize_Image_Control($wp_customize, 'footer_background_image_setting', array(
    'label' => __('Footer Background Image', 'appointment-management'),
    'section' => 'appointment_management_footer_options',
)));

// Footer Background Attachment
$wp_customize->add_setting(
	'appointment_management_footer_image_attachment_setting',
	array(
		'default'=> 'scroll',
		'sanitize_callback' => 'appointment_management_sanitize_choices'
	)
);

$wp_customize->add_control(
	'appointment_management_footer_image_attachment_setting',
	array(
		'type' => 'select',
		'label' => __('Footer Background Attatchment','appointment-management'),
		'choices' => array(
			'fixed' => __('fixed','appointment-management'),
			'scroll' => __('scroll','appointment-management'),
		),
		'section'=> 'appointment_management_footer_options',
  	)
);

//Footer Image Position
$wp_customize->add_setting(
	'appointment_management_footer_img_position_setting',
	array(
        'default'			=> 'center center',
		'capability'     	=> 'edit_theme_options',
		'sanitize_callback' => 'appointment_management_sanitize_choices',
		
	)
);	

$wp_customize->add_control(
	'appointment_management_footer_img_position_setting',
	array(
		'label'   		=> __('Footer Image Position','appointment-management'),
	    'section' 		=> 'appointment_management_footer_options',
		'type'			=> 'select',
		'choices'       => 
		array(
			'center center'   => __( 'Center', 'appointment-management' ),
			'center top'   	  => __( 'Top', 'appointment-management' ),
			'center bottom'   => __( 'Bottom', 'appointment-management' ),
		) 
	) 
);

$wp_customize->add_setting('footer_text_transform', array(
    'default' => 'none',
    'sanitize_callback' => 'sanitize_text_field',
));

// Add Footer Text Transform Control
$wp_customize->add_control('footer_text_transform', array(
    'label' => __('Footer Heading Text Transform', 'appointment-management'),
    'section' => 'appointment_management_footer_options',
    'settings' => 'footer_text_transform',
    'type' => 'select',
    'choices' => array(
        'none' => __('None', 'appointment-management'),
        'capitalize' => __('Capitalize', 'appointment-management'),
        'uppercase' => __('Uppercase', 'appointment-management'),
        'lowercase' => __('Lowercase', 'appointment-management'),
    ),
));

// Footer Heading Alignment
$wp_customize->add_setting(
	'appointment_management_footer_header_align',
	array(
		'default' 			=> 'left',
		'sanitize_callback' => 'sanitize_text_field'
	)
);

$wp_customize->add_control(
	'appointment_management_footer_header_align',
	array(
		'label' => __('Footer Heading Alignment ','appointment-management'),
		'section' => 'appointment_management_footer_options',
		'type'			=> 'select',
		'choices' => 
		array(
			'left' => __('Left','appointment-management'),
			'right' => __('Right','appointment-management'),
			'center' => __('Center','appointment-management'),
		),
	)
);

// Add Separator Custom Control
$wp_customize->add_setting( 'appointment_management_copyright_separators', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Appointment_Management_Separator_Custom_Control( $wp_customize, 'appointment_management_copyright_separators', array(
	'label' => __( 'Copyright Settings', 'appointment-management' ),
	'section' => 'appointment_management_footer_options',
	'settings' => 'appointment_management_copyright_separators',
)));

// Copyright Section - Enable Section.
$wp_customize->add_setting(
	'appointment_management_enable_copyright_section',
	array(
		'default'           => true,
		'sanitize_callback' => 'appointment_management_sanitize_switch',
	)
);

$wp_customize->add_control(
	new Appointment_Management_Toggle_Switch_Custom_Control(
		$wp_customize,
		'appointment_management_enable_copyright_section',
		array(
			'label'    => esc_html__( 'Show / Hide Copyright', 'appointment-management' ),
			'section'  => 'appointment_management_footer_options',
			'settings' => 'appointment_management_enable_copyright_section',
		)
	)
);

$wp_customize->add_setting(
	'appointment_management_footer_copyright_text',
	array(
		'default'           => '',
		'sanitize_callback' => 'wp_kses_post',
		'transport'         => 'refresh',
	)
);

$wp_customize->add_control(
	'appointment_management_footer_copyright_text',
	array(
		'label'    => esc_html__( 'Copyright Text', 'appointment-management' ),
		'section'  => 'appointment_management_footer_options',
		'settings' => 'appointment_management_footer_copyright_text',
		'type'     => 'textarea',
	)
);

//Copyright Alignment
$wp_customize->add_setting(
	'appointment_management_footer_bottom_align',
	array(
		'default' 			=> 'center',
		'sanitize_callback' => 'sanitize_text_field'
	)
);

$wp_customize->add_control(
	'appointment_management_footer_bottom_align',
	array(
		'label' => __('Copyright Alignment ','appointment-management'),
		'section' => 'appointment_management_footer_options',
		'type'			=> 'select',
		'choices' => 
		array(
			'left' => __('Left','appointment-management'),
			'right' => __('Right','appointment-management'),
			'center' => __('Center','appointment-management'),
		),
	)
);

//Copyright Font Size
$wp_customize->add_setting( 
	'appointment_management_copyright_font_size', 
	array(
		'default'           => 16,
		'sanitize_callback' => 'absint',
	)
);

$wp_customize->add_control( 'appointment_management_copyright_font_size', 
	array(
		'type'        => 'number',
		'section'     => 'appointment_management_footer_options',
		'label'       => __( 'Copyright Font Size ', 'appointment-management' ),
		'input_attrs' => 
		array(
			'min'  => 10,
			'max'  => 100,
			'step' => 1,
		),
	)
);

// Add Separator Custom Control
$wp_customize->add_setting( 'appointment_management_scroll_separators', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Appointment_Management_Separator_Custom_Control( $wp_customize, 'appointment_management_scroll_separators', array(
	'label' => __( 'Scroll Top Settings', 'appointment-management' ),
	'section' => 'appointment_management_footer_options',
	'settings' => 'appointment_management_scroll_separators',
)));

// Footer Options - Scroll Top.
$wp_customize->add_setting(
	'appointment_management_scroll_top',
	array(
		'sanitize_callback' => 'appointment_management_sanitize_switch',
		'default'           => true,
	)
);

$wp_customize->add_control(
	new Appointment_Management_Toggle_Switch_Custom_Control(
		$wp_customize,
		'appointment_management_scroll_top',
		array(
			'label'   => esc_html__( 'Enable Scroll Top Button', 'appointment-management' ),
			'section' => 'appointment_management_footer_options',
		)
	)
);
// icon // 
$wp_customize->add_setting(
	'appointment_management_scroll_btn_icon',
	array(
        'default' => 'fas fa-chevron-up',
		'sanitize_callback' => 'sanitize_text_field',
		'capability' => 'edit_theme_options',
		
	)
);	

$wp_customize->add_control(new Appointment_Management_Change_Icon_Control($wp_customize, 
	'appointment_management_scroll_btn_icon',
	array(
	    'label'   		=> __('Scroll Top Icon','appointment-management'),
	    'section' 		=> 'appointment_management_footer_options',
		'iconset' => 'fa',
	))  
);


$wp_customize->add_setting( 'appointment_management_scroll_top_position', array(
    'default'           => 'bottom-right',
    'sanitize_callback' => 'appointment_management_sanitize_scroll_top_position',
) );

// Add control for Scroll Top Button Position
$wp_customize->add_control( 'appointment_management_scroll_top_position', array(
    'label'    => __( 'Scroll Top Button Position', 'appointment-management' ),
    'section'  => 'appointment_management_footer_options',
    'settings' => 'appointment_management_scroll_top_position',
    'type'     => 'select',
    'choices'  => array(
        'bottom-right' => __( 'Bottom Right', 'appointment-management' ),
        'bottom-left'  => __( 'Bottom Left', 'appointment-management' ),
        'bottom-center'=> __( 'Bottom Center', 'appointment-management' ),
    ),
) );

$wp_customize->add_setting( 'appointment_management_scroll_top_shape', array(
    'default'           => 'box',
    'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( 'appointment_management_scroll_top_shape', array(
    'label'    => __( 'Scroll to Top Button Shape', 'appointment-management' ),
    'section'  => 'appointment_management_footer_options',
    'settings' => 'appointment_management_scroll_top_shape',
    'type'     => 'radio',
    'choices'  => array(
        'box'        => __( 'Box', 'appointment-management' ),
        'curved-box' => __( 'Curved Box', 'appointment-management' ),
        'circle'     => __( 'Circle', 'appointment-management' ),
    ),
) );