<?php
/**
 * Pige Title Options
 *
 * @package appointment_management
 */



$wp_customize->add_section(
	'appointment_management_page_title_options',
	array(
		'panel' => 'appointment_management_theme_options',
		'title' => esc_html__( 'Page Title', 'appointment-management' ),
	)
);

$wp_customize->add_setting(
    'appointment_management_page_header_visibility',
    array(
        'default'           => 'all-devices',
        'sanitize_callback' => 'appointment_management_sanitize_select',
    )
);

$wp_customize->add_control(
    new WP_Customize_Control(
        $wp_customize,
        'appointment_management_page_header_visibility',
        array(
            'label'    => esc_html__( 'Page Header Visibility', 'appointment-management' ),
            'type'     => 'select',
            'section'  => 'appointment_management_page_title_options',
            'settings' => 'appointment_management_page_header_visibility',
            'priority' => 10,
            'choices'  => array(
                'all-devices'        => esc_html__( 'Show on all devices', 'appointment-management' ),
                'hide-tablet'        => esc_html__( 'Hide on Tablet', 'appointment-management' ),
                'hide-mobile'        => esc_html__( 'Hide on Mobile', 'appointment-management' ),
                'hide-tablet-mobile' => esc_html__( 'Hide on Tablet & Mobile', 'appointment-management' ),
                'hide-all-devices'   => esc_html__( 'Hide on all devices', 'appointment-management' ),
            ),
        )
    )
);


$wp_customize->add_setting( 'appointment_management_page_title_background_separator', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Appointment_Management_Separator_Custom_Control( $wp_customize, 'appointment_management_page_title_background_separator', array(
	'label' => __( 'Page Title BG Image & Color Setting', 'appointment-management' ),
	'section' => 'appointment_management_page_title_options',
	'settings' => 'appointment_management_page_title_background_separator',
)));


$wp_customize->add_setting(
	'appointment_management_page_header_style',
	array(
		'sanitize_callback' => 'appointment_management_sanitize_switch',
		'default'           => False,
	)
);

$wp_customize->add_control(
	new Appointment_Management_Toggle_Switch_Custom_Control(
		$wp_customize,
		'appointment_management_page_header_style',
		array(
			'label'   => esc_html__('Page Title Background Image', 'appointment-management'),
			'section' => 'appointment_management_page_title_options',
		)
	)
);

$wp_customize->add_setting( 'appointment_management_page_header_background_image', array(
    'default' => '',
    'sanitize_callback' => 'esc_url_raw',
) );

$wp_customize->add_control( new WP_Customize_Image_Control( $wp_customize, 'appointment_management_page_header_background_image', array(
    'label'    => __( 'Background Image', 'appointment-management' ),
    'section'  => 'appointment_management_page_title_options',
	'description' => __('Choose either a background image or a color. If a background image is selected, the background color will not be visible.', 'appointment-management'),
    'settings' => 'appointment_management_page_header_background_image',
	'active_callback' => 'appointment_management_is_pagetitle_bcakground_image_enabled',
)));


$wp_customize->add_setting('appointment_management_page_header_image_height', array(
	'default'           => 200,
	'sanitize_callback' => 'appointment_management_sanitize_range_value',
));

$wp_customize->add_control(new Appointment_Management_Customize_Range_Control($wp_customize, 'appointment_management_page_header_image_height', array(
		'label'       => __('Image Height', 'appointment-management'),
		'section'     => 'appointment_management_page_title_options',
		'settings'    => 'appointment_management_page_header_image_height',
		'active_callback' => 'appointment_management_is_pagetitle_bcakground_image_enabled',
		'input_attrs' => array(
			'min'  => 0,
			'max'  => 1000,
			'step' => 5,
		),
)));


$wp_customize->add_setting('appointment_management_page_title_background_color_setting', array(
    'default' => '#f5f5f5',
    'sanitize_callback' => 'sanitize_hex_color',
));

$wp_customize->add_control(new WP_Customize_Color_Control($wp_customize, 'appointment_management_page_title_background_color_setting', array(
    'label' => __('Page Title Background Color', 'appointment-management'),
    'section' => 'appointment_management_page_title_options',
)));

$wp_customize->add_setting('appointment_management_pagetitle_height', array(
    'default'           => 50,
    'sanitize_callback' => 'appointment_management_sanitize_range_value',
));

$wp_customize->add_control(new Appointment_Management_Customize_Range_Control($wp_customize, 'appointment_management_pagetitle_height', array(
    'label'       => __('Set Height', 'appointment-management'),
    'description' => __('This setting controls the page title height when no background image is set. If a background image is set, this setting will not apply.', 'appointment-management'),
    'section'     => 'appointment_management_page_title_options',
    'settings'    => 'appointment_management_pagetitle_height',
    'input_attrs' => array(
        'min'  => 0,
        'max'  => 300,
        'step' => 5,
    ),
)));


$wp_customize->add_setting( 'appointment_management_page_title_style_separator', array(
	'sanitize_callback' => 'sanitize_text_field',
) );

$wp_customize->add_control( new Appointment_Management_Separator_Custom_Control( $wp_customize, 'appointment_management_page_title_style_separator', array(
	'label' => __( 'Page Title Styling Setting', 'appointment-management' ),
	'section' => 'appointment_management_page_title_options',
	'settings' => 'appointment_management_page_title_style_separator',
)));

$wp_customize->add_setting( 'appointment_management_page_header_heading_tag', array(
	'default'   => 'h1',
	'sanitize_callback' => 'appointment_management_sanitize_select',
) );

$wp_customize->add_control( 'appointment_management_page_header_heading_tag', array(
	'label'   => __( 'Page Title Heading Tag', 'appointment-management' ),
	'section' => 'appointment_management_page_title_options',
	'type'    => 'select',
	'choices' => array(
		'h1' => __( 'H1', 'appointment-management' ),
		'h2' => __( 'H2', 'appointment-management' ),
		'h3' => __( 'H3', 'appointment-management' ),
		'h4' => __( 'H4', 'appointment-management' ),
		'h5' => __( 'H5', 'appointment-management' ),
		'h6' => __( 'H6', 'appointment-management' ),
		'p' => __( 'p', 'appointment-management' ),
		'a' => __( 'a', 'appointment-management' ),
		'div' => __( 'div', 'appointment-management' ),
		'span' => __( 'span', 'appointment-management' ),
	),
) );

$wp_customize->add_setting('appointment_management_page_header_layout', array(
	'default' => 'left',
	'sanitize_callback' => 'sanitize_text_field',
));

$wp_customize->add_control('appointment_management_page_header_layout', array(
	'label' => __('Style', 'appointment-management'),
	'section' => 'appointment_management_page_title_options',
	'description' => __('"Flex Layout Style" wont work below 600px (mobile media)', 'appointment-management'),
	'settings' => 'appointment_management_page_header_layout',
	'type' => 'radio',
	'choices' => array(
		'left' => __('Classic', 'appointment-management'),
		'right' => __('Aligned Right', 'appointment-management'),
		'center' => __('Centered Focus', 'appointment-management'),
		'flex' => __('Flex Layout', 'appointment-management'),
	),
));