<?php

if ( ! function_exists( 'calla_elated_get_title_types_meta_boxes' ) ) {
	function calla_elated_get_title_types_meta_boxes() {
		$title_type_options = apply_filters( 'calla_elated_title_type_meta_boxes', $title_type_options = array( '' => esc_html__( 'Default', 'calla' ) ) );
		
		return $title_type_options;
	}
}

foreach ( glob( ELATED_FRAMEWORK_MODULES_ROOT_DIR . '/title/types/*/admin/meta-boxes/*.php' ) as $meta_box_load ) {
	include_once $meta_box_load;
}

if ( ! function_exists( 'calla_elated_map_title_meta' ) ) {
	function calla_elated_map_title_meta() {
		$title_type_meta_boxes = calla_elated_get_title_types_meta_boxes();
		
		$title_meta_box = calla_elated_create_meta_box(
			array(
				'scope' => apply_filters( 'calla_elated_set_scope_for_meta_boxes', array( 'page', 'post' ), 'title_meta' ),
				'title' => esc_html__( 'Title', 'calla' ),
				'name'  => 'title_meta'
			)
		);
		
		calla_elated_create_meta_box_field(
			array(
				'name'          => 'eltdf_show_title_area_meta',
				'type'          => 'select',
				'default_value' => '',
				'label'         => esc_html__( 'Show Title Area', 'calla' ),
				'description'   => esc_html__( 'Disabling this option will turn off page title area', 'calla' ),
				'parent'        => $title_meta_box,
				'options'       => calla_elated_get_yes_no_select_array()
			)
		);
		
			$show_title_area_meta_container = calla_elated_add_admin_container(
				array(
					'parent'          => $title_meta_box,
					'name'            => 'eltdf_show_title_area_meta_container',
					'dependency' => array(
						'hide' => array(
							'eltdf_show_title_area_meta' => 'no'
						)
					)
				)
			);
		
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_type_meta',
						'type'          => 'select',
						'default_value' => '',
						'label'         => esc_html__( 'Title Area Type', 'calla' ),
						'description'   => esc_html__( 'Choose title type', 'calla' ),
						'parent'        => $show_title_area_meta_container,
						'options'       => $title_type_meta_boxes
					)
				);
		
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_in_grid_meta',
						'type'          => 'select',
						'default_value' => '',
						'label'         => esc_html__( 'Title Area In Grid', 'calla' ),
						'description'   => esc_html__( 'Set title area content to be in grid', 'calla' ),
						'options'       => calla_elated_get_yes_no_select_array(),
						'parent'        => $show_title_area_meta_container
					)
				);
		
				calla_elated_create_meta_box_field(
					array(
						'name'        => 'eltdf_title_area_height_meta',
						'type'        => 'text',
						'label'       => esc_html__( 'Height', 'calla' ),
						'description' => esc_html__( 'Set a height for Title Area', 'calla' ),
						'parent'      => $show_title_area_meta_container,
						'args'        => array(
							'col_width' => 2,
							'suffix'    => 'px'
						)
					)
				);
				
				calla_elated_create_meta_box_field(
					array(
						'name'        => 'eltdf_title_area_background_color_meta',
						'type'        => 'color',
						'label'       => esc_html__( 'Background Color', 'calla' ),
						'description' => esc_html__( 'Choose a background color for title area', 'calla' ),
						'parent'      => $show_title_area_meta_container
					)
				);
		
				calla_elated_create_meta_box_field(
					array(
						'name'        => 'eltdf_title_area_background_image_meta',
						'type'        => 'image',
						'label'       => esc_html__( 'Background Image', 'calla' ),
						'description' => esc_html__( 'Choose an Image for title area', 'calla' ),
						'parent'      => $show_title_area_meta_container
					)
				);
		
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_background_image_behavior_meta',
						'type'          => 'select',
						'default_value' => '',
						'label'         => esc_html__( 'Background Image Behavior', 'calla' ),
						'description'   => esc_html__( 'Choose title area background image behavior', 'calla' ),
						'parent'        => $show_title_area_meta_container,
						'options'       => array(
							''                    => esc_html__( 'Default', 'calla' ),
							'hide'                => esc_html__( 'Hide Image', 'calla' ),
							'responsive'          => esc_html__( 'Enable Responsive Image', 'calla' ),
							'responsive-disabled' => esc_html__( 'Disable Responsive Image', 'calla' ),
							'parallax'            => esc_html__( 'Enable Parallax Image', 'calla' ),
							'parallax-zoom-out'   => esc_html__( 'Enable Parallax With Zoom Out Image', 'calla' ),
							'parallax-disabled'   => esc_html__( 'Disable Parallax Image', 'calla' )
						)
					)
				);

                calla_elated_create_meta_box_field(
                    array(
                        'name'          => 'eltdf_show_separator_image_meta',
                        'type'          => 'select',
                        'label'         => esc_html__( 'Show Separator', 'calla' ),
                        'description'   => esc_html__( 'Enable this option to show separator below title', 'calla' ),
                        'options'       => calla_elated_get_yes_no_select_array(),
                        'parent'        => $show_title_area_meta_container
                    )
                );

                calla_elated_create_meta_box_field(
                    array(
                        'name'          => 'eltdf_disable_separator_image_meta',
                        'type'          => 'yesno',
                        'default_value' => 'no',
                        'label'         => esc_html__( 'Disable Separator Image', 'calla' ),
                        'parent'        => $show_title_area_meta_container,
                        'dependency' => array(
                            'show' => array(
                                'eltdf_show_separator_image_meta' => 'yes',
                            )
                        )

                    )
                );

                calla_elated_create_meta_box_field(
                    array(
                        'name'          => 'eltdf_separator_image_meta',
                        'type'          => 'image',
                        'label'         => esc_html__( 'Separator Image', 'calla' ),
                        'parent'        => $show_title_area_meta_container,
                        'dependency' => array(
                            'show' => array(
                                'eltdf_show_separator_image_meta' => 'yes',
                            )
                        )

                    )
                );
				
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_vertical_alignment_meta',
						'type'          => 'select',
						'default_value' => '',
						'label'         => esc_html__( 'Vertical Alignment', 'calla' ),
						'description'   => esc_html__( 'Specify title area content vertical alignment', 'calla' ),
						'parent'        => $show_title_area_meta_container,
						'options'       => array(
							''              => esc_html__( 'Default', 'calla' ),
							'header-bottom' => esc_html__( 'From Bottom of Header', 'calla' ),
							'window-top'    => esc_html__( 'From Window Top', 'calla' )
						)
					)
				);
					
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_vertical_offset_meta',
						'type'          => 'text',
						'default_value' => '',
						'label'         => esc_html__( 'Title Vertical Offset', 'calla' ),
						'description'   => esc_html__( 'Set title vertical offset relative to its current position', 'calla' ),
						'parent'        => $show_title_area_meta_container,
						'args' 			=> array(
							'col_width' => '3',
							'suffix' => 'px'
						)
					)
				);
				
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_title_tag_meta',
						'type'          => 'select',
						'default_value' => '',
						'label'         => esc_html__( 'Title Tag', 'calla' ),
						'options'       => calla_elated_get_title_tag( true ),
						'parent'        => $show_title_area_meta_container
					)
				);
				
				calla_elated_create_meta_box_field(
					array(
						'name'        => 'eltdf_title_text_color_meta',
						'type'        => 'color',
						'label'       => esc_html__( 'Title Color', 'calla' ),
						'description' => esc_html__( 'Choose a color for title text', 'calla' ),
						'parent'      => $show_title_area_meta_container
					)
				);
				
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_subtitle_meta',
						'type'          => 'text',
						'default_value' => '',
						'label'         => esc_html__( 'Subtitle Text', 'calla' ),
						'description'   => esc_html__( 'Enter your subtitle text', 'calla' ),
						'parent'        => $show_title_area_meta_container,
						'args'          => array(
							'col_width' => 6
						)
					)
				);
		
				calla_elated_create_meta_box_field(
					array(
						'name'          => 'eltdf_title_area_subtitle_tag_meta',
						'type'          => 'select',
						'default_value' => '',
						'label'         => esc_html__( 'Subtitle Tag', 'calla' ),
						'options'       => calla_elated_get_title_tag( true, array( 'p' => 'p' ) ),
						'parent'        => $show_title_area_meta_container
					)
				);
				
				calla_elated_create_meta_box_field(
					array(
						'name'        => 'eltdf_subtitle_color_meta',
						'type'        => 'color',
						'label'       => esc_html__( 'Subtitle Color', 'calla' ),
						'description' => esc_html__( 'Choose a color for subtitle text', 'calla' ),
						'parent'      => $show_title_area_meta_container
					)
				);
		
		/***************** Additional Title Area Layout - start *****************/
		
		do_action( 'calla_elated_additional_title_area_meta_boxes', $show_title_area_meta_container );
		
		/***************** Additional Title Area Layout - end *****************/
		
	}
	
	add_action( 'calla_elated_meta_boxes_map', 'calla_elated_map_title_meta', 60 );
}