/**
  * Front end styles and scripts.
  *
  * @return void
  */
 public static function frontend_scripts()
 {
     wp_register_style('wcsatt-css', WCS_ATT()->plugin_url() . '/assets/css/wcsatt-frontend.css', false, WCS_ATT::VERSION, 'all');
     wp_enqueue_style('wcsatt-css');
     if (is_cart()) {
         wp_register_script('wcsatt-cart', WCS_ATT()->plugin_url() . '/assets/js/wcsatt-cart.js', array('jquery', 'wc-country-select', 'wc-address-i18n'), WCS_ATT::VERSION, true);
     }
     wp_enqueue_script('wcsatt-cart');
     $params = array('update_cart_option_nonce' => wp_create_nonce('wcsatt_update_cart_option'), 'wc_ajax_url' => WCS_ATT_Core_Compatibility::is_wc_version_gte_2_4() ? WC_AJAX::get_endpoint("%%endpoint%%") : WC()->ajax_url());
     wp_localize_script('wcsatt-cart', 'wcsatt_cart_params', $params);
 }
 public static function init()
 {
     // Allow subs to recognize a cart item of any product type as a subscription
     add_filter('woocommerce_is_subscription', __CLASS__ . '::is_converted_to_sub', 10, 3);
     // Add convert-to-sub configuration data to cart items that can be converted
     add_filter('woocommerce_add_cart_item', __CLASS__ . '::add_cart_item_convert_to_sub_data', 10, 2);
     // Load convert-to-sub cart item session data
     add_filter('woocommerce_get_cart_item_from_session', __CLASS__ . '::load_convert_to_sub_session_data', 5, 2);
     // Finalize covert-to-sub product-level/cart-level session data
     add_filter('woocommerce_cart_loaded_from_session', __CLASS__ . '::apply_convert_to_sub_session_data', 5);
     // Save the convert to sub radio button setting when clicking the 'update cart' button
     add_filter('woocommerce_update_cart_action_cart_updated', __CLASS__ . '::update_convert_to_sub_options', 10);
     // Save the convert to sub cart-level setting via ajax
     if (WCS_ATT_Core_Compatibility::is_wc_version_gte_2_4()) {
         add_action('wc_ajax_wcsatt_update_cart_option', __CLASS__ . '::update_convert_to_sub_cart_options');
     } else {
         add_action('wp_ajax_wcsatt_update_cart_option', __CLASS__ . '::update_convert_to_sub_cart_options');
         add_action('wp_ajax_nopriv_wcsatt_update_cart_option', __CLASS__ . '::update_convert_to_sub_cart_options');
     }
 }