Your IP : 216.73.216.224


Current Path : /var/www/html/media/com_osmembership/js/
Upload File :
Current File : /var/www/html/media/com_osmembership/js/site-register-columns.js

(function (document, $) {
    $(document).ready(function () {
        // This is here for backward compatible purpose
        if ($.colorbox && typeof tingle === 'undefined') {
            $('.osm-modal').colorbox({width: '80%', height: '80%', iframe: true, scrolling: true, rel: false});
        }

        buildStateFields('state', 'country', Joomla.getOptions('selectedState'));

        OSMMaskInputs(document.getElementById('os_form'));

        if (Joomla.getOptions('hidePaymentInformation') === true) {
            $('.payment_information').css('display', 'none');
        }

        var vatNumberFieldName = Joomla.getOptions('vatNumberField');

        if (vatNumberFieldName) {
            var inputPrependClass = Joomla.getOptions('inputPrependClass');
            var addOnClass = Joomla.getOptions('addOnClass');
            var countryCode = Joomla.getOptions('countryCode');
            var showVatNumberField = Joomla.getOptions('showVatNumberField');
            var vatNumberField = $('#' + vatNumberFieldName);
            vatNumberField.addClass('taxable');
            var html = vatNumberField.parent().html();
            html = '<div class="' + inputPrependClass + ' inline-display"><span class="' + addOnClass + '" id="vat_country_code">' + countryCode + '</span>' + html + '<span class="invalid" id="vatnumber_validate_msg" style="display: none;"> ' + Joomla.Text._('OSM_INVALID_VATNUMBER') + '</span></div>';
            vatNumberField.parent().html(html);

            $('#' + vatNumberFieldName).change(function () {
                calculateSubscriptionFee();
            });

            if (showVatNumberField === 0) {
                $('#field_' + vatNumberFieldName).hide();
            } else {
                $('#field_' + vatNumberFieldName).show();
            }
        }

        var paymentNeeded = Joomla.getOptions('paymentNeeded');
        var hasStripePaymentMethod = Joomla.getOptions('hasStripePaymentMethod');

        if (hasStripePaymentMethod && typeof stripe !== 'undefined') {
            var style = {
                base: {
                    // Add your base input styles here. For example:
                    fontSize: '16px',
                    color: "#32325d",
                }
            };

            // Create an instance of the card Element.
            var card = elements.create('card', {style: style});

            // Add an instance of the card Element into the `card-element` <div>.
            card.mount('#stripe-card-element');
        }

        if (Joomla.getOptions('squareAppId')) {
            createSquareCardElement();
        }

        var maxErrorsPerField = Joomla.getOptions('maxErrorsPerField');

        $("#os_form").validationEngine('attach', {
            maxErrorsPerField: maxErrorsPerField,
            onValidationComplete: function (form, status) {
                if (status === true) {
                    form.on('submit', function (e) {
                        e.preventDefault();
                    });

                    form.find('#btn-submit').prop('disabled', true);

                    var paymentMethod;

                    if (paymentNeeded) {
                        if ($('input:radio[name="payment_method"]').length) {
                            paymentMethod = $('input:radio[name="payment_method"]:checked').val();
                        } else {
                            paymentMethod = $('input[name="payment_method"]').val();
                        }

                        if (paymentMethod === undefined) {
                            return true;
                        }

                        if (!document.dispatchEvent(new CustomEvent('OSMPaymentCallbackHandle', {
                            detail: {
                                paymentMethod: paymentMethod
                            }
                        }))) {
                            return false;
                        }

                        if (typeof stripePublicKey !== 'undefined' && paymentMethod.indexOf('os_stripe') === 0 && $('#tr_card_number').is(':visible')) {
                            Stripe.card.createToken({
                                number: $('input[name="x_card_num"]').val(),
                                cvc: $('input[name="x_card_code"]').val(),
                                exp_month: $('select[name="exp_month"]').val(),
                                exp_year: $('select[name="exp_year"]').val(),
                                name: $('input[name="card_holder_name"]').val()
                            }, stripeResponseHandler);

                            return false;
                        }

                        // Stripe card element
                        if (typeof stripe !== 'undefined' && paymentMethod.indexOf('os_stripe') === 0 && $('#stripe-card-form').is(":visible")) {
                            stripe.createToken(card).then(function (result) {
                                if (result.error) {
                                    // Inform the customer that there was an error.
                                    //var errorElement = document.getElementById('card-errors');
                                    //errorElement.textContent = result.error.message;
                                    alert(result.error.message);
                                    form.find('#btn-submit').removeAttr('disabled');
                                } else {
                                    // Send the token to your server.
                                    stripeTokenHandler(result.token);
                                }
                            });

                            return false;
                        }

                        if (paymentMethod.indexOf('os_squarecard') === 0 && $('#square-card-form').is(':visible')) {
                            squareCardCallBackHandle();

                            return false;
                        }
                    }

                    return true;
                }

                return false;
            }
        });

        var loginButton = document.getElementById('btnLoginButton');
        if (loginButton) {
            loginButton.addEventListener('click', function () {
                var usernameInput = document.getElementById('login_username');
                var passwordInput = document.getElementById('login_password');

                if (usernameInput.value === '') {
                    alert(Joomla.Text._('OSM_ENTER_USERNAME_TO_LOGIN'));
                    usernameInput.focus();
                    return;
                }

                if (passwordInput.value === '') {
                    alert(Joomla.Text._('OSM_ENTER_PASSWORD_TO_LOGIN'));
                    usernameInput.focus();
                    return;
                }

                document.getElementById('username').value = usernameInput.value;
                document.getElementById('password').value = passwordInput.value;
                document.getElementById('osm_login_form').submit();
            });
        }

        document.dispatchEvent(new CustomEvent('OSMSubscriptionFormLoaded'));
    });
})(document, jQuery);