jQuery(function ($) {

    if (typeof egPayments === 'undefined') {
        return;
    }

    function money(numero) {
        try {
            return new Intl.NumberFormat(egPayments.locale, {
                style: 'currency',
                currency: egPayments.currency,
                minimumFractionDigits: 2,
                maximumFractionDigits: 2
            }).format(numero);
        } catch (e) {
            return '$ ' + Number(numero).toFixed(2);
        }
    }

    var $precioEfectivo = $('.eg-cash-price');
    var $precioCuota = $('.eg-installment-price');

    var precioEfectivoInicial = $precioEfectivo.html();
    var precioCuotaInicial = $precioCuota.html();

    $(document).on(
        'found_variation',
        '.variations_form',
        function (event, variation) {

            var precio = parseFloat(variation.display_price);

            if (!precio) {
                return;
            }

            var precioConDescuento =
                precio * (1 - egPayments.discount / 100);

            var valorCuota =
                precio / egPayments.installments;

            $precioEfectivo.text(
                money(precioConDescuento)
            );

            $precioCuota.text(
                money(valorCuota)
            );
        }
    );

    $(document).on(
        'reset_data',
        '.variations_form',
        function () {

            $precioEfectivo.html(
                precioEfectivoInicial
            );

            $precioCuota.html(
                precioCuotaInicial
            );
        }
    );

});