<?php
/**
 * HBFWC Template Hooks
 *
 * Action/filter hooks used for HBFWC functions/templates.
 *
 * @package HBFWC\Templates
 * @version 1.0.0
 */

defined( 'ABSPATH' ) || exit;

add_filter( 'body_class', function( $classes ) {
	$classes[] = 'hbfwc';
	return $classes;
}, 10 );

/**
 * Content Wrappers.
 *
 * @see hbfwc_template_shortcode_wrapper()
 * @see hbfwc_template_shortcode_wrapper_end()
 */
add_action( 'hbfwc_template_before_accommodation_loop', 'hbfwc_template_shortcode_wrapper', 10, 1 );
add_action( 'hbfwc_template_after_accommodation_loop', 'hbfwc_template_shortcode_wrapper_end', 30 );

/**
 * Availability check filter form
 *
 * @see hbfwc_template_availability_filter_form()
 */
add_action( 'hbfwc_template_before_accommodation_loop', 'hbfwc_template_availability_filter_form', 20, 1 );
add_action( 'wp_footer', 'hbfwc_template_embed_rates_popup_html', 10 );
add_action( 'wp_footer', 'hbfwc_template_embed_js_template', 20 );

/**
 * Not found.
 */
add_action( 'hbfwc_template_accommodation_not_found', 'hbfwc_template_availability_loop_not_found', 20 );

/**
 * Item loop.
 */
add_action( 'hbfwc_template_accommodation_loop', 'hbfwc_template_availability_loop_content', 10, 2 );
add_action( 'hbfwc_template_accommodation_sidebar', 'hbfwc_template_availability_get_cart', 10 );

add_action( 'hbfwc_template_single_accommodation_content_left', 'hbfwc_template_show_product_images', 10 );
add_action( 'hbfwc_template_single_accommodation_content_left', 'hbfwc_template_show_product_information', 20 );
add_action( 'hbfwc_template_single_accommodation_content_left', 'hbfwc_template_product_amenities_teaser', 30 );
add_action( 'hbfwc_template_single_accommodation_content_left', 'hbfwc_template_link_to_popup', 35 );

add_action( 'hbfwc_template_single_accommodation_content_right', 'hbfwc_template_available_rates', 10 );
add_action( 'hbfwc_template_rate_add_to_cart', 'hbfwc_template_ajax_mini_form', 10, 2 );

add_action( 'hbfwc_template_mini_cart_total', 'hbfwc_template_mini_cart_total', 10 );
add_action( 'hbfwc_template_mini_cart_buttons', 'hbfwc_template_mini_cart_button_view_cart', 10 );
add_action( 'hbfwc_template_mini_cart_buttons', 'hbfwc_template_mini_cart_proceed_to_checkout', 20 );

add_action( 'hbfwc_template_after_single_listing', 'hbfwc_template_embed_product_popup', 10 );
add_action( 'hbfwc_template_product_popup_media', 'hbfwc_template_show_product_images', 10 );
add_action( 'hbfwc_template_product_popup_content', 'hbfwc_template_product_popup_header', 10 );
add_action( 'hbfwc_template_product_popup_content', 'hbfwc_template_show_product_information', 20 );
add_action( 'hbfwc_template_product_popup_content', 'hbfwc_template_product_amenities', 30 );
add_action( 'hbfwc_template_product_popup_content', 'hbfwc_template_product_popup_description', 35 );
