<?php

add_action( 'customize_register', 'bootstrap_coach_typography_section' );

function bootstrap_coach_typography_section( $wp_customize ) {

    $wp_customize->add_section( 'bootstrap_coach_typography_section', array(
        'title'          => esc_html__( 'Typography', 'bootstrap-coach' ),
        'description'    => esc_html__( 'Typography', 'bootstrap-coach' ),
        'panel'          => 'bootstrap_coach_general_panel',
        'priority'       => 2,
    ) );

    $wp_customize->add_setting( 'body_font_family', array(
        'capability'  => 'edit_theme_options',
        'default'     => 'Nunito',
        'sanitize_callback' => 'bootstrap_coach_sanitize_google_fonts',
        'transport' => 'postMessage',
    ) );

    $wp_customize->add_control( 'body_font_family', array(
        'label'       =>  esc_html__( 'Choose Font Family For Your Site', 'bootstrap-coach' ),
        'section'     => 'bootstrap_coach_typography_section',
        'type'        => 'select',
        'choices'     => bootstrap_coach_google_fonts(),
        'priority'    => 100
    ) );

    $wp_customize->add_setting( 'font_size', array(
      'capability'  => 'edit_theme_options',
      'default'     => '16px',
      'sanitize_callback' => 'bootstrap_coach_sanitize_select',
      'transport' => 'postMessage',
    ) );
    
    $wp_customize->add_control( 'font_size', array(
        'label'       =>  esc_html__( 'Choose Font Size', 'bootstrap-coach' ),
        'section'     => 'bootstrap_coach_typography_section',
        'type'        => 'select',
        'default'     => '16px',
        'choices'     =>  array(             
            '13px' => '13px',
            '14px' => '14px',
            '15px' => '15px',
            '16px' => '16px',
            '17px' => '17px',
            '18px' => '18px',
        ),
        'priority'    =>  101
    ) );

    $wp_customize->add_setting( 'body_font_weight', array(
        'default'           => 400,
        'sanitize_callback' => 'absint',
        'transport' => 'postMessage',
    ) );

    $wp_customize->add_control( new Bootstrap_Coach_Slider_Control( $wp_customize, 'body_font_weight', array(
        'section' => 'bootstrap_coach_typography_section',
        'label'   => esc_html__( 'Font Weight', 'bootstrap-coach' ),
        'priority' => 102,
        'choices'     => array(
            'min'  => 100,
            'max'  => 900,
            'step' => 100,
        ),
    ) ) );

    $wp_customize->add_setting( 'body_line_height', array(
        'default'           => 1.5,
        'sanitize_callback' => 'bootstrap_coach_sanitize_float',
        'transport' => 'postMessage',
    ) );

    $wp_customize->add_control( new Bootstrap_Coach_Slider_Control( $wp_customize, 'body_line_height', array(
        'section' => 'bootstrap_coach_typography_section',
        'label'   => esc_html__( 'Line Height', 'bootstrap-coach' ),
        'priority' => 102,
        'choices'     => array(
            'min'   => 0.1,
            'max'   => 3,
            'step'  => 0.1,
        ),
    ) ) );

    $wp_customize->add_setting( 'heading_options_text', array(
      'default' => '',
      'type' => 'customtext',
      'capability' => 'edit_theme_options',
      'transport' => 'refresh',
      'sanitize_callback' => 'sanitize_text_field',
    ) );

    $wp_customize->add_control( new Bootstrap_Coach_Custom_Text( $wp_customize, 'heading_options_text', array(
        'label' => esc_html__( 'Heading Options :', 'bootstrap-coach' ),
        'section' => 'bootstrap_coach_typography_section',
        'priority'    => 103
    ) ) );

    $wp_customize->add_setting( 'heading_font_family', array(
        'capability'  => 'edit_theme_options',        
        'sanitize_callback' => 'bootstrap_coach_sanitize_google_fonts',
        'default'     => 'Merriweather',
        'transport' => 'postMessage',
    ) );

    $wp_customize->add_control( 'heading_font_family', array(
        'label'       =>  esc_html__( 'Heading Font Family', 'bootstrap-coach' ),
        'section'     => 'bootstrap_coach_typography_section',
        'type'        => 'select',
        'choices'     => bootstrap_coach_google_fonts(),
        'priority'    => 104
    ) );

    $wp_customize->add_setting( 'bootstrap_coach_heading_font_weight', array(
        'default'           => 600,
        'sanitize_callback' => 'absint',
        'transport' => 'postMessage',
    ) );

    $wp_customize->add_control( new Bootstrap_Coach_Slider_Control(
        $wp_customize, 'bootstrap_coach_heading_font_weight', array(
            'section' => 'bootstrap_coach_typography_section',
            'settings' => 'bootstrap_coach_heading_font_weight',
            'label'   => esc_html__( 'Font Weight', 'bootstrap-coach' ),
            'priority' => 105,
            'choices'     => array(
                'min'  => 100,
                'max'  => 900,
                'step' => 100,
            ),
        )
    ) );

    $default_size = array(
        '1' =>  38,
        '2' =>  34,
        '3' =>  30,
        '4' =>  26,
        '5' =>  24,
        '6' =>  18,
    );
        
    for( $i = 1; $i <= 6 ; $i++ ) {

        $wp_customize->add_setting( 'bootstrap_coach_heading_' . $i . '_size', array(
          'default'           => $default_size[$i],
          'sanitize_callback' => 'absint',
          'transport' => 'postMessage',
        ) );

        $wp_customize->add_control( 'bootstrap_coach_heading_' . $i . '_size', array(
          'type'  => 'number',
          'section'   => 'bootstrap_coach_typography_section',
          'label' => esc_html__( 'Heading ', 'bootstrap-coach' ) . $i . esc_html__(' Size', 'bootstrap-coach' ),
          'priority' => 106,
          'input_attrs' => array(
            'min' => 10,
            'max' => 50,
            'step'  =>  1
          ),
        ) );
    }

    if ( fs_bootstrap_coach()->is_free_plan() ) {

        $wp_customize->add_setting( 'bootstrap_coach_typography_upgrade_to_pro', array(
            'sanitize_callback' => null,
        ) );
        $wp_customize->add_control( new Bootstrap_Coach_Control_Upgrade_To_Pro(
            $wp_customize, 'bootstrap_coach_typography_upgrade_to_pro', array(
                'section' => 'bootstrap_coach_typography_section',
                'settings'    => 'bootstrap_coach_typography_upgrade_to_pro',
                'title'   => __( 'Choose fonts that resonate with your target audience.', 'bootstrap-coach' ),
                'items' => array(
                    'one'   => array(
                        'title' => __( 'Select from more than 850 Google Fonts.', 'bootstrap-coach' ),
                    ),
                ),
                'button_url'   => esc_url( 'https://thebootstrapthemes.com/bootstrap-coach/#free-vs-pro' ),
                'button_text'   => __( 'Upgrade Now', 'bootstrap-coach' ),
                'priority'    => 110,
            )
        ) );
    }
}