<?php
/**
 * Checkout account creation form
 *
 * This template can be overridden by copying it to yourtheme/woocommerce/checkout/form-account-creation.php.
 *
 * HOWEVER, on occasion WooCommerce will need to update template files and you
 * (the theme developer) will need to copy the new files to your theme to
 * maintain compatibility. We try to do this as little as possible, but it does
 * happen. When this occurs the version of the template file will be bumped and
 * the readme will list any important changes.
 *
 * @see     https://docs.woocommerce.com/document/template-structure/
 * @package fluid-checkout
 * @version 4.2.0
 * @wc-version 3.6.0
 * @original plugins/woocommerce/templates/checkout/form-billing.php
 */

defined( 'ABSPATH' ) || exit;

// CHANGE: Determine create account checked state
$create_account_checked = FluidCheckout_Steps::instance()->is_create_account_checked();
$collapsible_initial_state = $create_account_checked ? 'expanded' : 'collapsed';

// CHANGE: Define "optional" label HTML
$optional_label = apply_filters( 'fc_checkout_display_create_account_optional_label', true ) ? ' (' . esc_html__( 'optional', 'woocommerce' ) . ')' : '';
?>

<?php if ( ! is_user_logged_in() && $checkout->is_registration_enabled() ) : ?>
	<div class="woocommerce-account-fields">
		<?php if ( ! $checkout->is_registration_required() ) : ?>

			<?php
			// CHANGE: Convert to WooCommerce form field to allow for more customization.
			woocommerce_form_field( 'createaccount', array(
				'type'    => 'checkbox',
				'class'   => array( 'form-row-wide', 'create-account' ),
				'label'   => __( 'Create an account', 'fluid-checkout' ),
				'default' => false,
			), $create_account_checked ? '1' : '' );
			?>

		<?php endif; ?>

		<?php do_action( 'woocommerce_before_checkout_registration_form', $checkout ); ?>

		<?php if ( $checkout->get_checkout_fields( 'account' ) ) : ?>

			<?php // CHANGE: Add class `fc-field-group` and collapsible block attributes ?>
			<div class="create-account fc-field-group <?php echo 'collapsed' === $collapsible_initial_state ? 'is-collapsed' : ''; ?>" <?php echo 'collapsed' === $collapsible_initial_state ? 'data-autofocus' : ''; ?> data-collapsible data-collapsible-content data-collapsible-initial-state="<?php echo esc_attr( $collapsible_initial_state ); ?>">
				<div class="collapsible-content__inner">
					<?php // CHANGE: Add hook to allow adding content before the account fields ?>
					<?php do_action( 'fc_checkout_account_before_fields', $checkout ); ?>
				
					<?php foreach ( $checkout->get_checkout_fields( 'account' ) as $key => $field ) : ?>
						<?php woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); ?>
					<?php endforeach; ?>

					<?php // CHANGE: Add hook to allow adding content after the account fields ?>
					<?php do_action( 'fc_checkout_account_after_fields', $checkout ); ?>

					<?php // CHANGE: Removed the `clear` div element as clearing is applied via CSS ?>
				<?php // CHANGE: Close collapsible block inner content element ?>
				</div>
			</div>

		<?php // CHANGE: Always output the account fields section ?>
		<?php else : ?>
			<div class="create-account create-account--empty fc-field-group <?php echo 'collapsed' === $collapsible_initial_state ? 'is-collapsed' : ''; ?>" <?php echo 'collapsed' === $collapsible_initial_state ? 'data-autofocus' : ''; ?> data-collapsible data-collapsible-content data-collapsible-initial-state="<?php echo esc_attr( $collapsible_initial_state ); ?>">
				<div class="collapsible-content__inner">
					<?php // CHANGE: Add hook to allow adding content before the account fields ?>
					<?php do_action( 'fc_checkout_account_fields_empty_section', $checkout ); ?>
				</div>
			</div>
		<?php endif; ?>


		<?php do_action( 'woocommerce_after_checkout_registration_form', $checkout ); ?>
	</div>
<?php endif; ?>
