window.pashmin_recaptcha_js = ( function( window, document, $ ){ var app = {}; app.cache = function(){ }; app.init = function(){ app.cache(); jQuery(document).delegate('#popup_530_opener', 'click', function(){ elementorFrontend.documentsManager.documents[530].showModal(); }); jQuery( document ).on( 'elementor/popup/show', (event, id, instance) => { //elementor-popup-modal-530 jQuery('#elementor-popup-modal-530 form').each(function(){ jQuery(this).on('submit', function(){ jQuery(this).removeClass('recatching'); if (jQuery('#captcha_token').index() == -1) { jQuery(this).addClass('recatching'); } jQuery.ajaxSetup({ sender: jQuery(this) }); }); }); }); /* ContactForm7 */ document.addEventListener( 'wpcf7invalid', function( event ) { //console.log(event.detail.apiResponse.invalid_fields); if (event.detail.apiResponse.invalid_fields.length == 1 && event.detail.apiResponse.invalid_fields[0].field === 'captcha_token') { jQuery.ajaxSetup({ sender: jQuery(event.target) }); app.runCaptcha({action : 'captcha_handler'}); } }, false ); document.addEventListener( 'wpcf7submit', function( event ) { if (event.detail.apiResponse.invalid_fields.length == 0 && event.detail.apiResponse.status === 'mail_sent') { if (jQuery(event.target).find('#captcha_token').index() != -1) { app.runCaptcha({action : 'captcha_handler', token: jQuery(event.target).find('#captcha_token').val()}); } } }, false ); /* End ContactForm7 */ jQuery('form').each(function(){ jQuery(this).on('submit', function(){ jQuery(this).removeClass('recatching'); if (jQuery('#captcha_token').index() == -1) { jQuery(this).addClass('recatching'); } jQuery.ajaxSetup({ sender: jQuery(this) }); }); }); jQuery(document).bind('ajaxComplete', function(event, xhr, settings) { event.preventDefault(); if (jQuery('.catpcha-container').index() != -1) { jQuery('.catpcha-container .updater i').removeClass('rotate'); } if (typeof xhr.responseJSON === 'object') { var response = xhr.responseJSON; if (typeof response.status !== 'undefined') { if (response.status === 'OK') { if (typeof response.reset !== 'undefined') { return settings.sender.find('#captcha_token').remove(); }; if (typeof response.captcha !== 'undefined') { return app.viewCaptcha(response.captcha); } if (typeof response.token !== 'undefined' && response.token) { jQuery('.catpcha-container').remove(); settings.sender.find('#captcha_token').remove(); settings.sender.append(response.token); if (settings.sender.find('.wpcf7-submit').index() != -1) { // for ContactForm7 jQuery('.wpcf7-submit').click(); } else { settings.sender.submit(); } return false; } return false; } if (response.status === 'ERROR' && typeof response.error !== 'undefined') { return app.errorHandler(response.error); } } if (typeof response.data === 'object' && typeof response.data.errors === 'object' && typeof response.data.errors.token !== 'undefined') { settings.sender.find('#captcha_token').remove(); return app.runCaptcha({action : 'captcha_handler'}); } if (jQuery('#captcha_token').index() != -1 && response.success) { app.runCaptcha({action : 'captcha_handler', token: settings.sender.find('#captcha_token').val()}); } } return false; }); }; app.runCaptcha = function (data) { jQuery.ajax({ //abort: false, type: "POST", url: 'https://pashminart-consortia.com/wp-admin/admin-ajax.php', data: data, processData: true, contentType: 'application/x-www-form-urlencoded', cache: false, async: true, timeout: 600000, success: function(data) { console.log(data) }, error: function(data) { console.log(data); }, }); } app.viewCaptcha = function (result) { jQuery('.catpcha-container').remove(); jQuery('body').append(result); jQuery('.catpcha-container .updater').on('click', function() { jQuery(this).find('i').addClass('rotate'); app.runCaptcha({action: 'captcha_handler'}); }); jQuery('.catpcha-container .cancle').on('click', function() { jQuery('.catpcha-container').remove(); }); jQuery('.catpcha-container form').on('submit', function() { if (!jQuery(this).find('input[name="securecode"]').val()) return false; jQuery(this).find('.updater i').addClass('rotate'); var data = jQuery(this).serialize(); app.runCaptcha(data); return false; }); } app.errorHandler = function (data) { alert(data); } jQuery(document).ready( app.init ); return app; })( window, document, jQuery );