<?php
if ( ! function_exists( 'chocolate_store_setup' ) ) :
function chocolate_store_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', 'chocolate-store' ),
	) );

	/*
	 * 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');

	// -- 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( 'chocolate_store_custom_background_args', array(
		'default-color' => 'ffffff',
		'default-image' => '',
	) ) );

	load_theme_textdomain( 'chocolate-store', get_stylesheet_directory() . '/languages' );
}
endif;
add_action( 'after_setup_theme', 'chocolate_store_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 chocolate_store_content_width() {
	$GLOBALS['content_width'] = apply_filters( 'chocolate_store_content_width', 1170 );
}
add_action( 'after_setup_theme', 'chocolate_store_content_width', 0 );

/**
 * Change number or products per row to 3
 */
add_filter('loop_shop_columns', 'chocolate_store_loop_columns', 999);
if (!function_exists('chocolate_store_loop_columns')) {
	function chocolate_store_loop_columns() {
		return 3; // 3 products per row
	}
}

function chocolate_store_customize_remove_register() {
    global $wp_customize;

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

function chocolate_store_text_domain_setup() {

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

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

}

add_action('after_setup_theme', 'chocolate_store_text_domain_setup');

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

/**
 * 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';

/**
 * 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 demo importer
 */
require_once get_template_directory() . '/inc/importer/config.php';

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

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

    $chocolate_store_theme_logo_size_css = '';
    $chocolate_store_logo_resizer_setting = get_theme_mod('chocolate_store_logo_resizer_setting');

	$chocolate_store_theme_logo_size_css = '
		.custom-logo{
			height: '.esc_attr($chocolate_store_logo_resizer_setting).'px !important;
			width: '.esc_attr($chocolate_store_logo_resizer_setting).'px !important;
		}
	';
    wp_add_inline_style( 'chocolate-store-style',$chocolate_store_theme_logo_size_css );

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

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

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

function chocolate_store_breadcrumb() {
    $separator = get_theme_mod( 'chocolate_store_breadcrumb_separator', ' → ' );

    if (is_home()) {
        echo "<span>Home</span>";
    } else if (!is_home()) {
        echo '<a href="' . home_url() . '">Home</a>' . $separator;

        if (is_archive()) {
            if (is_category()) {
                echo "<span>";
                single_cat_title();
                echo "</span>";
            } elseif (is_tag()) {
                echo "<span>";
                single_tag_title();
                echo "</span>";
            } elseif (is_date()) {
                echo "<span>";
                echo get_the_date('F Y');
                echo "</span>";
            } elseif (is_author()) {
                echo '<span>Author: ';
                the_author();
                echo '</span>';
            } else {
                echo post_type_archive_title() . $separator;
            }
        } elseif (is_single()) {
            if ('product' === get_post_type()) {
                echo '<a href="' . get_permalink(wc_get_page_id('shop')) . '">Shop</a>' . $separator;
                echo "<span>";
                the_title();
                echo "</span>";
            } else {
                the_category(', ');
                echo $separator;
                echo "<span>";
                the_title();
                echo "</span>";
            }
        } elseif (is_page()) {
            echo "<span>";
            the_title();
            echo "</span>";
        } elseif (is_search()) {
            echo '<span>Search Results for: ' . get_search_query() . '</span>';
        } elseif (is_404()) {
            echo "<span>404</span>";
        } else {
            echo "<span>";
            the_title();
            echo "</span>";
        }
    }
}

function chocolate_store_add_custom_css_directly_when_slider_off() {
    // Check if the slider is off
    if ( 'off' === get_theme_mod( 'chocolate_store_slide_on_off', 'off' ) ) {
        echo '
            <style>
                .page-template-template-homepage #header {
                    position: relative;
                    background: #00000040;
                }
            </style>
        ';
    }
}
add_action( 'wp_head', 'chocolate_store_add_custom_css_directly_when_slider_off' );

add_filter( 'woocommerce_enable_setup_wizard', '__return_false' );

if ( ! function_exists( 'chocolate_store_top_scroller' ) ) {
    function chocolate_store_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( 'chocolate_store_top_scroller', 'chocolate_store_top_scroller' );

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;
}