<?php
if ( ! function_exists( 'animal_caretaker_setup' ) ) :
function animal_caretaker_setup() {

	add_theme_support( "woocommerce" );	

	// Add default posts and comments RSS feed links to head.
	add_theme_support( 'automatic-feed-links' );

	add_theme_support( "responsive-embeds" );

	/*
	 * Let WordPress manage the document title.
	 */
	add_theme_support( 'title-tag' );
	
	
	add_theme_support( 'custom-header' );
	
	//Add selective refresh for sidebar widget
	add_theme_support( 'customize-selective-refresh-widgets' );
	
	/*
	 * Enable support for Post Thumbnails on posts and pages.
	 */
	add_theme_support( 'post-thumbnails' );

	// This theme uses wp_nav_menu() in one location.
	register_nav_menus( array(
		'primary_menu' => esc_html__( 'Primary Menu', 'animal-caretaker' ),
	) );

	/*
	 * Switch default core markup for search form, comment form, and comments
	 * to output valid HTML5.
	 */
	add_theme_support( 'html5', array(
		'search-form',
		'comment-form',
		'comment-list',
		'gallery',
		'caption',
	) );
	
	/*
	 * Enable support for custom logo.
	 */
	add_theme_support('custom-logo');
	
	remove_theme_support( 'widgets-block-editor' );

	// -- Disable Custom Colors
	add_theme_support( 'disable-custom-colors' );
		
	// Gutenberg wide images.
	add_theme_support( 'align-wide' );
		
	/*
	 * This theme styles the visual editor to resemble the theme style,
	 * specifically font, colors, icons, and column width.
	 */
	add_editor_style( array( 'css/editor-style.css' ) );
	
	// Set up the WordPress core custom background feature.
	add_theme_support( 'custom-background', apply_filters( 'animal_caretaker_custom_background_args', array(
		'default-color' => 'ffffff',
		'default-image' => '',
	) ) );

	load_theme_textdomain( 'animal-caretaker', get_stylesheet_directory() . '/languages' );
}
endif;
add_action( 'after_setup_theme', 'animal_caretaker_setup' );

/*
 * Enable support for Post Formats.
 *
 * See: https://codex.wordpress.org/Post_Formats
*/
add_theme_support( 'post-formats', array('image','video','gallery','audio',) );

/**
 * Set the content width in pixels, based on the theme's design and stylesheet.
 *
 * Priority 0 to make it available to lower priority callbacks.
 *
 * @global int $content_width
 */
function animal_caretaker_content_width() {
	$GLOBALS['content_width'] = apply_filters( 'animal_caretaker_content_width', 1170 );
}
add_action( 'after_setup_theme', 'animal_caretaker_content_width', 0 );


function animal_caretaker_customize_remove_register() {
    global $wp_customize;

    $wp_customize->remove_setting( 'display_header_text' );
    $wp_customize->remove_control( 'display_header_text' );
    
}
add_action( 'customize_register', 'animal_caretaker_customize_remove_register', 11 );

function animal_caretaker_text_domain_setup() {

/**
 * All Styles & Scripts.
 */
require_once get_template_directory() . '/inc/enqueue.php';

/**
 * Implement the Custom Header feature.
 */
require_once get_template_directory() . '/inc/custom-header.php';

/**
 * Sidebar.
 */
require_once get_template_directory() . '/inc/sidebar/sidebar.php';

/**
 * Custom template tags for this theme.
 */
require_once get_template_directory() . '/inc/template-tags.php';

/**
 * Custom functions that act independently of the theme templates.
 */
require_once get_template_directory() . '/inc/extras.php';

/**
 * Customizer additions.
 */
 require_once get_template_directory() . '/inc/customizer.php';

/**
 * Load Jetpack compatibility file.
 */
require_once get_template_directory() . '/inc/jetpack.php';

/**
 * Load Web Font
 */
require_once get_template_directory() . '/inc/wptt-webfont-loader.php';

/**
 * Load Recommended Plugin
 */
require_once get_template_directory() . '/inc/tgm-plugin/tgm.php';

/**
 * Called all the Customize file.
 */
require( get_template_directory() . '/inc/customize/premium.php');

/**
 * Get Started.
 */
require( get_template_directory() . '/inc/started/main.php');

/**
 * Admin notice function.
 */
require_once get_template_directory() . '/inc/admin-notice/admin.php';

}
add_action('after_setup_theme', 'animal_caretaker_text_domain_setup');

/*-----------------------------------------------------------------------------------*/
/* Enqueue Global color style */
/*-----------------------------------------------------------------------------------*/
function animal_caretaker_global_color() {

    $animal_caretaker_theme_color_css = '';
    $animal_caretaker_theme_color_1 = get_theme_mod('animal_caretaker_theme_color_1');

    $animal_caretaker_theme_color_css = '
        a.header_button, .slider_button a,#featured-product span.onsale, .woocommerce ul.products li.product .onsale, .woocommerce span.onsale,#featured-product .box .box-content,#header,.animate-border,.blog-post .post-thumb,.paginations a:hover, .paginations a:focus, .paginations a.active, span.page-numbers.current,button, input[type="button"], input[type="reset"], input[type="submit"],.wp-block-file .wp-block-file__button, .boxed-btn, .wp-block-loginout a, .widget_block.widget_calendar table th, .footer-sidebar .widget_product_search button, .wp-block-button a, .wp-block-calendar table thead th,.wp-block-button.is-style-outline a.wp-block-button__link:hover, .wp-block-button.is-style-outline a.wp-block-button__link:focus,.pro-button a, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt, .woocommerce a.added_to_cart.wc-forward,.woocommerce .woocommerce-ordering select,.woocommerce-account .woocommerce-MyAccount-navigation ul li,.widget_tag_cloud a:hover, .widget_tag_cloud a:focus, .wp-block-tag-cloud a:hover, .wp-block-tag-cloud a:focus,#footer-copyright,header.woocommerce-Address-title.title a {
            background: ' . esc_attr($animal_caretaker_theme_color_1) . ';
        }
        		@media screen and (min-width: 320px) and (max-width: 768px) {
		    	.toggle-menu button {
		        background: '.esc_attr($animal_caretaker_theme_color_1).';
		    }
		}
        a.boxed-btn.btn-white i,.btn,.widget_categories ul li, .widget_archive ul li,#sidebar .widget_categories ul li, #sidebar .widget_archive ul li,.scrollup,.gb_nav_menu .sub-menu {
            background-color: ' . esc_attr($animal_caretaker_theme_color_1) . ';
        }
        .animal-caretaker-btn .boxed-btn, .animal-caretaker-btn .slide-bg h4, .animal-caretaker-btn .boxed-btn:hover, .animal-caretaker-btn .boxed-btn:focus, .animal-caretaker-btn .posts-navigation .nav-links a:hover, .animal-caretaker-btn .posts-navigation .nav-links a:focus, .sidebar .widget_search button, .wp-block-search .wp-block-search__button, .sidebar .widget table th {
            background-color: ' . esc_attr($animal_caretaker_theme_color_1) . '!important;
        }
        .woocommerce-message,.woocommerce-info,.wp-block-button.is-style-outline a.wp-block-button__link,#sidebar .widget_categories ul li,#sidebar .widget_archive ul li,.scrollup,.scrollup:hover, .scrollup:focus,button.scroll_2 {
            border-color: ' . esc_attr($animal_caretaker_theme_color_1) . ';
        }
        blockquote {
            border-color: ' . esc_attr($animal_caretaker_theme_color_1) . '!important;
        }
       	.gb_nav_menu ul li a:active, .gb_nav_menu ul li a:hover,.slider_content_box h6,a.boxed-btn i, .boxed-btn i,.loader-text,p.price,.woocommerce ul.products li.product .price,.woocommerce div.product p.price,.woocommerce div.product span.price,.woocommerce-message::before,.woocommerce-info::before,.post-comment-area .media,.footer-sidebar .widget ul li a:before,.wp-block-post-terms a:before,.woocommerce ul.products li.product .woocommerce-loop-product__title, #blog-content .post-content h4 a,#blog-content ul.meta-info li a,.post-category i,i.fa.fa-user,#blog-content ul.meta-info li,.sidebar .widget-title, #sidebar .widget.widget_search label, #sidebar .sidebar .widget h2.wp-block-heading, .sidebar h2.wp-block-heading,.call-number i,.sidebar .widget_recent_entries ul li a:hover, .sidebar .widget_recent_comments ul li a:hover,.sidebar .widget_meta ul li a:hover, .sidebar .widget_recent_entries ul li a:focus, .sidebar .widget_recent_comments ul li a:focus, .sidebar .widget_archive ul li a:focus, .sidebar .widget_categories ul li a:focus, .sidebar .widget_meta ul li a:focus,.widget_pages ul li a:hover, .widget_pages ul li a:focus,.footer-sidebar .widget_recent_entries ul li a:hover, .footer-sidebar .widget_recent_comments ul li a:hover, .footer-sidebar .widget_archive ul li a:hover, .footer-sidebar .widget_categories ul li a:hover, .footer-sidebar .widget_meta ul li a:hover, .footer-sidebar .widget_recent_entries ul li a:focus, .footer-sidebar .widget_recent_comments ul li a:focus, .footer-sidebar .widget_archive ul li a:focus, .footer-sidebar .widget_categories ul li a:focus, .footer-sidebar .widget_meta ul li a:focus,.site-content a,#blog-content .post-content:hover .post-title a, #recent-blog .post-content .post-title a, .footer-sidebar .widget.widget_products ul li a:hover, .footer-sidebar .widget.widget_products ul li a:focus, .sidebar .widget_info i,.scrollup:hover, .scrollup:focus,#featured-product ins span.woocommerce-Price-amount.amount, p.price, .woocommerce ul.products li.product .price, .woocommerce div.product p.price, .woocommerce div.product span.price,#blog-content ul.meta-info li:focus-within i, #blog-content ul.meta-info li a:focus, #blog-content ul.meta-info li a:hover,.blog-post ul:not(.meta-info) li a, .blog-post ol:not(.meta-info) li a, .blog-post table a, strong a, blockquote a, code a, p a, span:not(.author-name):not(.comments-link):not(.posted-on):not(.post-list) a, .post-content-inner a, .site-content a,.scroll_2 svg,.related-post-thumbnail h4 a,em, cite, q,b.fn a , .comment-metadata time,.reply a{
            color: ' . esc_attr($animal_caretaker_theme_color_1) . ';
        }
            .scroll_2 svg path{
            stroke: ' . esc_attr($animal_caretaker_theme_color_1) . ';
        }
    ';
    
    wp_add_inline_style('animal-caretaker-style', $animal_caretaker_theme_color_css);
    wp_add_inline_style('animal-caretaker-woocommerce-css', $animal_caretaker_theme_color_css);

}
add_action('wp_enqueue_scripts', 'animal_caretaker_global_color');

/* 
* Logo Resizer
*/
function animal_caretaker_logo_resizer_setting() {

    $animal_caretaker_theme_logo_size_css = '';
    $animal_caretaker_logo_resizer_setting = get_theme_mod('animal_caretaker_logo_resizer_setting');

	$animal_caretaker_theme_logo_size_css = '
		.custom-logo{
			height: '.esc_attr($animal_caretaker_logo_resizer_setting).'px !important;
			width: '.esc_attr($animal_caretaker_logo_resizer_setting).'px !important;
		}
	';
    wp_add_inline_style( 'animal-caretaker-style',$animal_caretaker_theme_logo_size_css );

}
add_action( 'wp_enqueue_scripts', 'animal_caretaker_logo_resizer_setting' );

/**
 * Function that returns if the menu is sticky
 */
if (!function_exists('animal_caretaker_sticky_header')):
    function animal_caretaker_sticky_header()
    {
        $is_sticky = get_theme_mod('animal_caretaker_sticky_header_setting', false);

        if ($is_sticky == false):
            return 'not-sticky';
        else:
            return 'is-sticky-on';
        endif;
    }
endif;

function animal_caretaker_breadcrumb() {
    $separator = get_theme_mod( 'animal_caretaker_breadcrumb_separator', ' → ' );
    $home_text = __('Home', 'animal-caretaker');
    
    // Build breadcrumb array
    $breadcrumbs = array();
    
    // Home link
    $breadcrumbs[] = '<a href="' . esc_url(home_url('/')) . '">' . esc_html($home_text) . '</a>';
    
    // Check page type
    if (is_home() && !is_front_page()) {
        $breadcrumbs[] = esc_html(get_the_title(get_option('page_for_posts')));
    } elseif (is_front_page()) {
        // Don't add anything for front page
    } elseif (is_category()) {
        $category = get_queried_object();
        if ($category) {
            // Get parent categories if any
            $category_parents = get_ancestors($category->term_id, 'category');
            if (!empty($category_parents)) {
                $category_parents = array_reverse($category_parents);
                foreach ($category_parents as $parent_cat_id) {
                    $parent_cat = get_category($parent_cat_id);
                    if ($parent_cat) {
                        $breadcrumbs[] = '<a href="' . esc_url(get_category_link($parent_cat->term_id)) . '">' . esc_html($parent_cat->name) . '</a>';
                    }
                }
            }
            // Current category
            $breadcrumbs[] = esc_html($category->name);
        }
    } elseif (is_tag()) {
        $tag = get_queried_object();
        if ($tag) {
            $breadcrumbs[] = esc_html($tag->name);
        }
    } elseif (is_date()) {
        if (is_year()) {
            $breadcrumbs[] = esc_html(get_the_time('Y'));
        } elseif (is_month()) {
            $breadcrumbs[] = '<a href="' . esc_url(get_year_link(get_the_time('Y'))) . '">' . esc_html(get_the_time('Y')) . '</a>';
            $breadcrumbs[] = esc_html(get_the_time('F'));
        } elseif (is_day()) {
            $breadcrumbs[] = '<a href="' . esc_url(get_year_link(get_the_time('Y'))) . '">' . esc_html(get_the_time('Y')) . '</a>';
            $breadcrumbs[] = '<a href="' . esc_url(get_month_link(get_the_time('Y'), get_the_time('m'))) . '">' . esc_html(get_the_time('F')) . '</a>';
            $breadcrumbs[] = esc_html(get_the_time('d'));
        }
    } elseif (is_author()) {
        $breadcrumbs[] = esc_html(sprintf(__('Author: %s', 'animal-caretaker'), get_the_author()));
    } elseif (is_search()) {
        $breadcrumbs[] = esc_html(sprintf(__('Search Results for: %s', 'animal-caretaker'), get_search_query()));
    } elseif (is_404()) {
        $breadcrumbs[] = esc_html(__('404 - Page Not Found', 'animal-caretaker'));
    } elseif (is_singular('post')) {
        // Get post categories
        $categories = get_the_category();
        if (!empty($categories)) {
            $breadcrumbs[] = '<a href="' . esc_url(get_category_link($categories[0]->term_id)) . '">' . esc_html($categories[0]->name) . '</a>';
        }
        $breadcrumbs[] = esc_html(get_the_title());
    } elseif (is_singular('page')) {
        // Get parent pages
        $parent_id = wp_get_post_parent_id(get_the_ID());
        if ($parent_id) {
            $breadcrumbs[] = '<a href="' . esc_url(get_permalink($parent_id)) . '">' . esc_html(get_the_title($parent_id)) . '</a>';
        }
        $breadcrumbs[] = esc_html(get_the_title());
    } elseif (is_singular('product')) {
        // WooCommerce product
        $breadcrumbs[] = '<a href="' . esc_url(get_permalink(wc_get_page_id('shop'))) . '">' . esc_html(__('Shop', 'animal-caretaker')) . '</a>';
        $breadcrumbs[] = esc_html(get_the_title());
    } elseif (is_archive()) {
        $breadcrumbs[] = esc_html(post_type_archive_title('', false));
    } else {
        $breadcrumbs[] = esc_html(get_the_title());
    }
    
    // Output breadcrumbs
    if (!empty($breadcrumbs)) {
        echo implode(' ' . esc_html($separator) . ' ', $breadcrumbs);
    }
}

function get_page_id_by_title($pagename){

    $args = array(
        'post_type' => 'page',
        'posts_per_page' => 1,
        'post_status' => 'publish',
        'title' => $pagename
    );
    $query = new WP_Query( $args );

    $page_id = '1';
    if (isset($query->post->ID)) {
        $page_id = $query->post->ID;
    }

    return $page_id;
}

add_filter( 'woocommerce_enable_setup_wizard', '__return_false' );

if ( ! function_exists( 'animal_caretaker_top_scroller' ) ) {
    function animal_caretaker_top_scroller() { ?>      
        <button type="button" id="scroll_2" class="scroll_2">
            <svg class="progress-circle svg-content" width="100%" height="100%" viewBox="-1 -1 102 102">
                <path d="M50,1 a49,49 0 0,1 0,98 a49,49 0 0,1 0,-98" 
                      style="transition: stroke-dashoffset 10ms linear 0s; 
                             stroke-dasharray: 307.919, 307.919; 
                             stroke-dashoffset: -0.0171453;">
                </path>
            </svg>
        </button>
    <?php }
}
add_action( 'animal_caretaker_top_scroller', 'animal_caretaker_top_scroller' );