function isEmail(email) { var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/; return regex.test(email); } function remove_email_box(event) { jQuery(event.target).closest('.email_next').slideUp(300, function () { jQuery(this).remove(); }); } function leadpops_fields_callback() { var _container = jQuery('#lead_generation_lp_customize_fields'); if (jQuery('#lead_generation_lp_customize_fields').is(':visible')) { _container.hide(); } else { _container.show(); } var _table = jQuery('.lp_table tbody'); // Reset all fields _table.find('input[type=checkbox]').not('.default').removeAttr('checked'); _table.find('input[type=text]').val(""); _table.find('tr').each(function (index, el) { var _index = jQuery(el).data('index'); var _element = jQuery(el).data('element'); var _placeholder = ""; switch (_element) { case "name": _placeholder = "Name"; break; case "email": _placeholder = "Email Address"; break; case "phone": _placeholder = "Phone Number"; break } jQuery('input[name=placeholder_' + _element + ']').val(_placeholder); jQuery('input[name=show_' + _element + ']').off('change'); jQuery('input[name=show_' + _element + ']').change(function (event) { output_fields_handler(); }); jQuery('input[name=required_' + _element + ']').off('change'); jQuery('input[name=required_' + _element + ']').change(function (event) { var _name = jQuery(this).closest('tr').data('element'); if (jQuery('.edit_mode .lp_field_wrapper_' + _name).length > 0) { if (jQuery(this).is(':checked')) { jQuery('.edit_mode .lp_field_wrapper_' + _name).find('input') .addClass('lp_required'); } else { jQuery('.edit_mode .lp_field_wrapper_' + _name).find('input') .removeClass('lp_required'); } } }); jQuery('input[name=placeholder_' + _element + ']').off('keyup'); jQuery('input[name=placeholder_' + _element + ']').bind('keyup', function (event) { var _name = jQuery(this).closest('tr').data('element'); if (jQuery('.edit_mode .lp_field_wrapper_' + _name).length > 0) { jQuery('.edit_mode .lp_field_wrapper_' + _name).find('input') .attr('placeholder', jQuery(this).val()); } }); }); jQuery('.thrv_lead_generation.edit_mode').find('input[type=text]').each( function (index, el) { var _name = jQuery(el).attr('name'); if (!jQuery(el).parent().hasClass('lp_field_wrapper_' + _name)) { jQuery(el).parent().addClass('lp_field_wrapper_' + _name); } if (jQuery(el).attr('placeholder') == undefined) { switch (_name) { case "name": jQuery(el).attr('placeholder', "Name"); break; case "email": jQuery(el).attr('placeholder', "Email Address"); break; case "phone": jQuery(el).attr('placeholder', "Phone Number"); break } } _table.find('input[name=show_' + _name + ']').attr('checked', 'checked'); if (jQuery(el).hasClass('lp_required')) { _table.find('input[name=required_' + _name + ']').attr('checked', 'checked'); } if (jQuery(el).attr('placeholder') != "") { _table.find('input[name=placeholder_' + _name + ']').val(jQuery(el).attr( 'placeholder')); } }); } function output_fields_handler() { var output_fields = {}; jQuery('.lp_table tbody').find('tr').each(function (index, el) { var _index = jQuery(el).data('index'); var _name = jQuery(el).data('element'); if (jQuery(el).find('input[name=show_' + _name + ']').is(':checked')) { var _class = jQuery('.edit_mode .lp_field_wrapper_email').attr( 'class'); var _class_input = jQuery('.edit_mode .lp_field_wrapper_email').find( 'input') .attr( 'class'); _class = _class.replace('_email', '_' + _name); var is_required = 0; var placeholder = ""; if (jQuery(el).find('input[name=required_' + _name + ']').is( ':checked')) { is_required = 1; } if (jQuery(el).find('input[name=placeholder_' + _name + ']').val() != "") { placeholder = jQuery(el).find('input[name=placeholder_' + _name + ']').val(); } else { switch (_name) { case "name": placeholder = "Name"; break; case "email": placeholder = "Email Address"; break; case "phone": placeholder = "Phone Number"; break } } output_fields[_name] = get_input(_name, is_required, placeholder, _class, _class_input); } }); console.info(output_fields); jQuery(".edit_mode").find( ".lp_field_wrapper_name,.lp_field_wrapper_email,.lp_field_wrapper_phone" ).remove(); var order = ["phone", "email", "name"]; jQuery.each(order, function (index, el) { if (output_fields[el] != undefined) { jQuery(output_fields[el]).prependTo( '.edit_mode .tve_submit_container'); } }); } function get_input(name, is_required, placeholder, _class, _class_input) { if (_class_input == undefined) { _class_input = ""; } var _placeholder = ""; var _return = "
"; if (is_required == 1) { _class_input += " lp_required"; } if (placeholder != "") { _placeholder = "placeholder='" + placeholder + "'"; } _return += "
"; return _return; } function leadpops_callback() { TVE_Editor_Page.overlay(); jQuery.ajax({ url: tve_path_params.ajax_url, type: 'POST', dataType: 'json', data: { action: 'thrive_leadpops_setting', route: 'lp_settings', post_id: TL_Const.current_screen.screen_id } }) .done(function (response) { load_lightbox_content(response.lb_html); show_lightbox(); bind_event(); jQuery('#tve_lightbox_frame').find('.tve_lightbox_buttons').hide(); TVE_Editor_Page.overlay(true); }) .fail(function () { TVE_Editor_Page.overlay(true); }); } function bind_event() { jQuery('.lp-btn-more').click(function (event) { event.preventDefault(); jQuery('.leadpops_fields input').removeClass('lp-error'); var _prevEmail = jQuery('.leadpops_fields input:last'); if (_prevEmail.val() == "" || !isEmail(_prevEmail.val())) { _prevEmail.addClass('lp-error'); } else { jQuery( '
' ).appendTo('.leadpops_fields'); } }); jQuery('input[name=lp_enable]').change(function (event) { event.preventDefault(); if (jQuery(this).is(':checked')) { jQuery('.leadpops_settings .lp_enable_1').addClass('open'); } else { jQuery('.leadpops_settings .lp_enable_1').removeClass('open'); } }); jQuery('input[name=lp_emma_enable]').change(function (event) { event.preventDefault(); if (jQuery(this).is(':checked')) { jQuery('.lp_emma_enable').addClass('open'); } else { jQuery('.lp_emma_enable').removeClass('open'); } }); jQuery('input[name=lp_thank_you_enable]').change(function (event) { event.preventDefault(); if (jQuery(this).is(':checked')) { jQuery('.lp_thank_you_url').addClass('open'); } else { jQuery('.lp_thank_you_url').removeClass('open'); } }); jQuery('.lp_settings_btn_save').on('click', function (event) { event.preventDefault(); TVE_Editor_Page.overlay(); var lp_emails = []; jQuery('.leadpops_fields input[type=text]').each(function (index, el) { lp_emails.push(jQuery(el).val()); }); var lp_enable = jQuery('input[name=lp_enable]').is(':checked'); if (lp_enable) { lp_enable = 'yes'; } else { lp_enable = 'no'; } var lp_emma_enable = jQuery("input[name=lp_emma_enable]").is(':checked') if (lp_emma_enable) { var lp_emma_enable = 'yes'; var lp_emma_label = jQuery("input[name=lp_emma_label]").val(); var lp_emma_group_id = jQuery("input[name=emma_group]").val(); } else { var lp_emma_enable = 'no'; } var lp_thank_you_enable = jQuery('input[name=lp_thank_you_enable]').is(':checked'); if (lp_thank_you_enable) { var lp_thank_you_enable = 'yes'; var lp_thank_you_url = jQuery("input[name=lp_thank_you_url]").val(); } else { var lp_thank_you_enable = 'no'; } var data = { lp_enable: lp_enable, lp_emails: lp_emails, lp_emma_enable: lp_emma_enable, lp_emma_label: lp_emma_label, lp_emma_group_id: lp_emma_group_id, lp_thank_you_enable: lp_thank_you_enable, lp_thank_you_url: lp_thank_you_url, action: 'thrive_leadpops_setting', route: 'lp_settings_save', post_id: TL_Const.current_screen.screen_id } jQuery.ajax({ url: tve_path_params.ajax_url, type: 'POST', dataType: 'json', data: data }) .done(function (response) { load_lightbox_content(response.lb_html); show_lightbox(); bind_event(); jQuery('.tve-lp-close').click(function (event) { TVE_Editor_Page.overlay(true); }); jQuery('#tve_lightbox_frame').find('.tve_lightbox_buttons').hide(); TVE_Editor_Page.overlay(true); }) .fail(function () { TVE_Editor_Page.overlay(true); }); }); } jQuery(function (jQuery) { jQuery('input[name=lp_enable]').each(function (index, el) { var _form = jQuery(el).closest('.tve_lead_generated_inputs_container'); _form.find('button[type=submit]').click(function (event) { var _button = jQuery(this); if (_button.hasClass('inprocess')) { return false; } _button.addClass('inprocess'); jQuery('.thrive_error, .thrive_success').remove(); var values = {}; _form.find('input[type=text],input[type=email]').each(function (index, el) { var _el = jQuery(el); if (_el.attr('name') != undefined) { var value = {}; value['name'] = _el.attr('name'); value['value'] = _el.val(); if (_el.attr('placeholder') != undefined) { value['placeholder'] = _el.attr('placeholder'); } if (_el.hasClass('lp_required')) { value['required'] = 'true'; } else if (value['name'] == 'email') { value['required'] = 'true'; } values[_el.attr('name')] = value; } }); values['post_id'] = _form.find('input[name=lp_post_id]').val();// TL_Const.current_screen.screen_id; values['action'] = 'thrive_leadpops_setting'; values['route'] = 'lp_thrive'; jQuery.ajax({ url: tve_frontend_options.ajaxurl, type: 'POST', dataType: 'html', data: values }) .done(function (data, textStatus, jqXHR) { if (data != undefined) { var _data = data.split('~'); if (_data[0] == 'error') { var selector = "button[type=submit]"; if (_data[2] != undefined) { selector = "input[name=" + _data[2] + "]"; } _tve.find(selector).after( '

' + _data[1] + '

' ); } else if (_data[0] == 'success') { _tve.find('button[type=submit]').after( '

' + _data[1] + '

' ); } else if (_data[0] == 'redirect') { window.location.href = _data[1]; } } _button.removeClass('inprocess'); console.log("success"); }) .fail(function (res) { _button.removeClass('inprocess'); console.log("error"); }); return false; }); }); });