# getresponse/1.8.1/assets/admin/fca-eoi-editor.js

GetResponse Forms by Optin Cat, version 1.8.1. 884 lines.

- Page: https://pluginprobe.com/plugins/getresponse/1.8.1/code/assets/admin/fca-eoi-editor.js
- Raw: https://pluginprobe.com/plugins/getresponse/1.8.1/raw/assets/admin/fca-eoi-editor.js
- Modified: 2016-12-01T20:42:36+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/getresponse/1.8.1/code/assets/admin/fca-eoi-editor.js#L10-L20`.

```javascript
/* jshint asi: true */

//PREVENT ANNOYING SCREEN SCROLL ON FOCUS()
jQuery('body').bind('focus', function(e){
	e.preventDefault()
})
	
jQuery( document ).ready( function( $ ) {
	////////////
	// DEFINE GLOBALS
	////////////
	var post_ID = $( '#post_ID' ).val()
	console.log (layouts)
	
	//MAP OF SETTINGS TO LOAD / SAVE
	var targetSelectors = {
		'form-background-color': '[name="fca_eoi[form_background_color]"]',
		'form-border-color': '[name="fca_eoi[form_border_color]"]',
		'form-width': '[name="fca_eoi[form_width]"]',
	//	'form-text-align': '[name="fca_eoi[form_alignment]"]',
		'headline-font-size': '[name="fca_eoi[headline_font_size]"]',
		'headline-color': '[name="fca_eoi[headline_font_color]"]',
		'headline-background-color': '[name="fca_eoi[headline_background_color]"]',
		'description-font-size': '[name="fca_eoi[description_font_size]"]',
		'description-color': '[name="fca_eoi[description_font_color]"]',
		'name_field-font-size': '[name="fca_eoi[name_font_size]"]',
		'name_field-color': '[name="fca_eoi[name_font_color]"]',
		'name_field-background-color': '[name="fca_eoi[name_background_color]"]',
		'name_field-border-color': '[name="fca_eoi[name_border_color]"]',
		'name_field-width': '[name="fca_eoi[name_width]"]',
	//	'name_field-text-align': '[name="fca_eoi[name_alignment]"]',
		'email_field-font-size': '[name="fca_eoi[email_font_size]"]',
		'email_field-color': '[name="fca_eoi[email_font_color]"]',
		'email_field-background-color': '[name="fca_eoi[email_background_color]"]',
		'email_field-border-color': '[name="fca_eoi[email_border_color]"]',
		'email_field-width': '[name="fca_eoi[email_width]"]',
	//	'email_field-text-align': '[name="fca_eoi[email_alignment]"]',
		'button-font-size': '[name="fca_eoi[button_font_size]"]',
		'button-color': '[name="fca_eoi[button_font_color]"]',
		'button-hover-color': '[name="fca_eoi[button_hover_color]"]',
		'button-background-color': '[name="fca_eoi[button_background_color]"]',
		'button-border-bottom-color': '[name="fca_eoi[button_wrapper_background_color]"]',	
		'button-border-color': '[name="fca_eoi[button_border_color]"]',	
		'button-width': '[name="fca_eoi[button_width]"]',
	//	'button-text-align': '[name="fca_eoi[button_alignment]"]',
		'privacy-font-size': '[name="fca_eoi[privacy_font_size]"]',
		'privacy-color': '[name="fca_eoi[privacy_font_color]"]',
		'fatcatapps-color': '[name="fca_eoi[branding_font_color]"]',
	}
	
	var layoutSaves = []
	
	function save_layout( layout_id ) {
		layoutSave = {}
		
		for ( var key in targetSelectors ) {
			layoutSave[key] = $(targetSelectors[key]).val()
		}
		layoutSaves[layout_id] = layoutSave
	}
	
	function load_layout( layout_id ) {
		if ( layoutSaves[layout_id] ) {
			this_save = layoutSaves[layout_id]
			for ( var key in targetSelectors ) {
				if ( this_save[key] ) {
					$(targetSelectors[key]).val( this_save[key] )
				}
			}
		}
	}

	
	////////////
	// MAIN EDITOR EVENT HANDLERS
	////////////
		
	//COLOR PICKERS
	$('.fca-color-picker').wpColorPicker({
		'change':
		function(event, ui) {
			//$(this).attr( 'value', $(this).val() )
			var $target = $( $(this).data('css-target') )
			var layout_id = $('#fca_eoi_layout_select').val()
			
			if ( $(this).attr('name').indexOf('button_background_color') != -1 ){
				$('.fca_eoi_form_button_element').css('background-color', ui.color.toString() )
				
			} else if ( $(this).attr('name').indexOf('button_wrapper_background_color') != -1 ) {
				$('.fca_eoi_layout_submit_button_wrapper').css('background-color', ui.color.toString() )
				$('[name="fca_eoi[button_wrapper_background_color]"]').val( ui.color.toString() )
				
			} else if ( $(this).attr('name').indexOf('button_hover_color') != -1 ) {
				hover_color_css ( ui.color.toString(), 'background-color')
				$('[name="fca_eoi[button_hover_color]"]').val( ui.color.toString() )
				
			} else if ( $(this).attr('name').indexOf('background') != -1 ) {
				if ( layout_id == 'layout_3' && $(this).attr('name') == 'fca_eoi[headline_background_color]' ) {
					//SPECIAL CASE FOR WIDGET 3
					$target.css('background-color', ui.color.toString() )
					$('.fca_eoi_layout_headline_copy_triangle polygon').css('fill', ui.color.toString() )
				}	else if ( $(this).attr('name') == 'fca_eoi[name_background_color]' ) {
					$target = $( $(this).data('css-target') )
					$target.css('background-color', ui.color.toString() )
					$('[name="fca_eoi[email_background_color]"]').val(ui.color.toString())
					$target = $( $('[name="fca_eoi[email_background_color]"]').data('css-target') )
					$target.css('background-color', ui.color.toString() )
					
				} else if ( $(this).attr('name') == 'fca_eoi[email_background_color]' ) {
					$target = $( $(this).data('css-target') )
					$target.css('background-color', ui.color.toString() )
					$('[name="fca_eoi[name_background_color]"]').val(ui.color.toString())
					$target = $( $('[name="fca_eoi[name_background_color]"]').data('css-target') )
					$target.css('background-color', ui.color.toString() )
				} else {		
					$target.css('background-color', ui.color.toString() )
				}			
				
			} else if ( $(this).attr('name').indexOf('border') != -1 ) {
				if ( $(this).attr('name') == 'fca_eoi[name_border_color]' ) {
					$target = $( $(this).data('css-target') )
					$target.css('border-color', ui.color.toString() )
					$('[name="fca_eoi[email_border_color]"]').val(ui.color.toString())
					$target = $( $('[name="fca_eoi[email_border_color]"]').data('css-target') )
					$target.css('border-color', ui.color.toString() )
					
				} else if ( $(this).attr('name') == 'fca_eoi[email_border_color]' ) {
					$target = $( $(this).data('css-target') )
					$target.css('border-color', ui.color.toString() )
					$('[name="fca_eoi[name_border_color]"]').val(ui.color.toString())
					$target = $( $('[name="fca_eoi[name_border_color]"]').data('css-target') )
					$target.css('border-color', ui.color.toString() )
				} else {		
					$target.css('border-color', ui.color.toString() )
				}
				
			} else {
				if ( $(this).attr('name') == 'fca_eoi[name_font_color]' ) {
					$target = $( $(this).data('css-target') )
					$target.css('color', ui.color.toString() )
					$('[name="fca_eoi[email_font_color]"]').val(ui.color.toString())
					$target = $( $('[name="fca_eoi[email_font_color]"]').data('css-target') )
					$target.css('color', ui.color.toString() )
					placeholder_color_css ( ui.color.toString() )
					
				} else if ( $(this).attr('name') == 'fca_eoi[email_font_color]' ) {
					$target = $( $(this).data('css-target') )
					$target.css('color', ui.color.toString() )
					$('[name="fca_eoi[name_font_color]"]').val(ui.color.toString())
					$target = $( $('[name="fca_eoi[name_font_color]"]').data('css-target') )
					$target.css('color', ui.color.toString() )
					placeholder_color_css ( ui.color.toString() )
				} else {		
					$target.css('color', ui.color.toString() )
				}
			}
		}
	})
	
	$('.fca-color-picker').change( function() {	
		var $target = $( $(this).data('css-target') )
		var layout_id = $('#fca_eoi_layout_select').val()
		
		if ( $(this).attr('name').indexOf('button_background_color') != -1 ){
			$('.fca_eoi_form_button_element').css('background-color', $(this).val() )

		} else if ( $(this).attr('name').indexOf('button_hover_color') != -1 ) {
			hover_color_css ( $(this).val(), 'background-color')
			$('[name="fca_eoi[button_hover_color]"]').val( $(this).val() )
				
		} else if ( $(this).attr('name').indexOf('button_wrapper_background_color') != -1 ) {
			$('.fca_eoi_layout_submit_button_wrapper').css('background-color', $(this).val() )
			$('[name="fca_eoi[button_wrapper_background_color]"]').val( $(this).val() )
				
		} else if ( $(this).attr('name').indexOf('background') != -1 ) {
			if ( layout_id == 'layout_3' && $(this).attr('name') == 'fca_eoi[headline_background_color]' ) {
				//SPECIAL CASE FOR WIDGET 3
				var value = $(this).val()
				$target.css('background-color', value )
				$('.fca_eoi_layout_headline_copy_triangle polygon').css('fill', value )
			} else {
				$target.css('background-color', $(this).val() )
			}		
		} else if ( $(this).attr('name').indexOf('border') != -1 ) {
			$target.css('border-color', $(this).val() )
		} else if ( $(this).attr('name').indexOf('name_font_color') != -1 || $(this).attr('name').indexOf('email_font_color') != -1 ){
			$target.css('color', $(this).val() )
			placeholder_color_css ( $(this).val() )
		} else {
			$target.css('color', $(this).val() )
		}

	})
	
	//WIDTH SELECT PICKERS
	
	$('.fca_eoi_width_input').on('change input', function() {
		var $target = $( $(this).data('cssTarget') )
		var units = $(this).next().val()
		$target.css('width', $(this).val() + units )
	})
	
	$('.fca_eoi_width_units_select').change( function() {
		$(this).prev().change()
	})
	
	//ALIGNMENT SELECT
	$('.fca-eoi-align-button').click(function(){
		var $target = $( $(this).siblings('.fca_eoi_alignment_input').data('cssTarget') )
		$(this).siblings('.fca-eoi-align-button').removeClass('fca-alignment-selected')
		$(this).addClass('fca-alignment-selected')
		$(this).siblings('.fca_eoi_alignment_input').val( $(this).data('value') )
		$target.css('text-align', $(this).data('value') )
	})

	//FONTS SIZE PICKERS
	$('.fca-font-size-picker').change( function() {
		if ( $(this).attr('name') == 'fca_eoi[name_font_size]' ) {
			$target = $( $(this).data('css-target') )
			$target.css('font-size', $(this).val() )
			$('[name="fca_eoi[email_font_size]"]').val($(this).val())
			$target = $( $('[name="fca_eoi[email_font_size]"]').data('css-target') )
			$target.css('font-size', $(this).val() )
			
		} else if ( $(this).attr('name') == 'fca_eoi[email_font_size]' ) {
			$target = $( $(this).data('css-target') )
			$target.css('font-size', $(this).val() )
			$('[name="fca_eoi[name_font_size]"]').val($(this).val())
			$target = $( $('[name="fca_eoi[name_font_size]"]').data('css-target') )
			$target.css('font-size', $(this).val() )
		} else {		
			$target = $( $(this).data('css-target') )
			$target.css('font-size', $(this).val() )
		}
	})
	
	//CHANGE LAYOUT BUTTON CLICK
	$('#fca_eoi_layout_select_button').click(function() {

		var layout_id = $('#fca_eoi_layout_select').val()
		save_layout ( layout_id )
		// Go back to the layout select tab
		$( '.postbox' ).hide()
		$( '#fca_eoi_meta_box_setup' ).show()
		
		if ( layout_id.indexOf('postbox') != -1 ) {
			$( '#layouts_types_tabs').find('a').eq(1).click()
		} else if ( layout_id.indexOf('lightbox') != -1 ) {
			$( '#layouts_types_tabs').find('a').first().click()
		} else {
			$( '#layouts_types_tabs').find('a').last().click()
		}
	})
	
	var max_character_count = 16
	var hidden_icon = '<span class="dashicons dashicons-hidden"></span>'
	
	//BUTTON COPY KEYUP HANDLERS
	$('[name="fca_eoi[headline_copy]"]').keyup(function() {
		$('#fca_eoi_preview_headline_copy').html( $(this).val())
		$('#accordion-info-headline').html( trim_str( $(this).val(), max_character_count ) )
	})
	//TEXT EDITOR TAB
	$('[name="fca_eoi[description_copy]"]').keyup(function() {
		$('.fca_eoi_layout_description_copy_wrapper div').html( $(this).val())
		$('#accordion-info-description').html( trim_str( $(this).val(), max_character_count ) )
	})
	
	$('[name="fca_eoi[name_placeholder]"]').keyup(function() {
		$('.fca_eoi_layout_name_field_inner').children().first().attr('placeholder', $(this).val())
		$('#accordion-info-name_field').html( trim_str( $(this).val(), max_character_count ) )
	})
	$('[name="fca_eoi[email_placeholder]"]').keyup(function() {
		$('.fca_eoi_layout_email_field_inner').children().first().attr('placeholder', $(this).val())
		$('#accordion-info-email_field').html( trim_str( $(this).val(), max_character_count ) )
	})	
	$('[name="fca_eoi[button_copy]"]').keyup(function() {
		$('.fca_eoi_form_button_element').val( $(this).val())
		$('#accordion-info-button').html( trim_str( $(this).val(), max_character_count ) )
	})
	$('[name="fca_eoi[privacy_copy]"]').keyup(function() {
		$('.fca_eoi_layout_privacy_copy_wrapper').children().first().html( $(this).val())
		$('#accordion-info-after_button_area').html( trim_str( $(this).val(), max_character_count ) )
	})
	
	//BRANDING TOGGLE BUTTON
	$('[name="fca_eoi[show_fatcatapps_link]"]').change(function() {
		$('.fca_eoi_layout_fatcatapps_link_wrapper').toggle(this.checked)
		if ( !this.checked ) {
			$('#accordion-info-branding').html( hidden_icon )
		} else {
			$('#accordion-info-branding').html( '' )
		}
	})
	
	//NAME FIELD TOGGLE BUTTON
	$('[name="fca_eoi[show_name_field]"]').change(function() {
		$('.fca_eoi_layout_name_field_wrapper').toggle(this.checked)
		var layout_id = $('#fca_eoi_layout_select').val()

		if ( !this.checked ) {
			$('#accordion-info-name_field').html( hidden_icon )
			$( $('[name="fca_eoi[email_width_selector]"]').val() ).css('margin-left', 'auto')
			$( $('[name="fca_eoi[email_width_selector]"]').val() ).css('margin-right', 'auto')
			$( $('[name="fca_eoi[email_width_selector]"]').val() ).css('float', 'none')
		} else {
			$('[name="fca_eoi[name_placeholder]"]').keyup()
			
			$( $('[name="fca_eoi[email_width_selector]"]').val() ).css('margin-left', 'initial')
			$( $('[name="fca_eoi[email_width_selector]"]').val() ).css('margin-right', 'initial')
			$( $('[name="fca_eoi[email_width_selector]"]').val() ).css('float', 'right')
			
			if ( layouts[layout_id].name.indexOf('Layout') === -1 ) {
				$('[name="fca_eoi[name_width]"]').next().val('%')
				$('[name="fca_eoi[name_width]"]').val('49').change()
				$('[name="fca_eoi[email_width]"]').next().val('%')
				$('[name="fca_eoi[email_width]"]').val('49').change()

			}
		}

	})
	
	//HEADLINE FIELD TOGGLE BUTTON
	$('[name="fca_eoi[show_headline_field]"]').change(function() {
		$('.fca_eoi_layout_headline_copy_wrapper').toggle(this.checked)
		if ( !this.checked ) {
			$('#accordion-info-headline').html( hidden_icon )
		} else {
			$('[name="fca_eoi[headline_copy]"]').keyup()
		}

	})		

	//DESCRIPTION FIELD TOGGLE BUTTON
	$('[name="fca_eoi[show_description_field]"]').change(function() {
		$('.fca_eoi_layout_description_copy_wrapper').toggle(this.checked)
		if ( !this.checked ) {
			$('#accordion-info-description').html( hidden_icon )
		} else {
			$('[name="fca_eoi[description_copy]"]').keyup()
		}
	})		
	
	//PRIVACY / AFTER-BUTTON FIELD TOGGLE BUTTON
	$('[name="fca_eoi[show_privacy_field]"]').change(function() {
		$('.fca_eoi_layout_privacy_copy_wrapper').toggle(this.checked)
		if ( !this.checked ) {
			$('#accordion-info-after_button_area').html( hidden_icon )
		} else {
			$('[name="fca_eoi[privacy_copy]"]').keyup()
		}
	})
	
	//////////////////
	// LAYOUT STUFF
	//////////////////
		
	//LOADS A LAYOUT OBJECT INTO THE EDITOR FIELDS
	function update_layout ( currentLayout, rebuild ) {
		console.log ("Updating layout...")
		console.log ( currentLayout )

		$( '#fca_eoi_layout_revert_button' ).show()
		
		//ADD NEW HTML
		$('#fca-preview-style').remove()
		$('#fca_eoi_preview_form_container').remove()
		$('#fca_eoi_preview').append(currentLayout.html)
		
		$( '#accordion-info-layout' ).html( $('.fca_eoi_layout.active').find('.fca_eoi_layout_info h3').html() )

		var editables = currentLayout.editables
		var target, value, $selector = ''
		
		//CLEAR EXISTING TARGETS
		for (var key in targetSelectors ) {
			var css_hidden_input = targetSelectors[key].replace(']"]', '_selector]"]')
			$(css_hidden_input).val('')
		}
		
		//SETS DATA CSS-TARGETS & HIDDEN CSS TARGET INPUT INPUT AND LOADS INPUTS
		for (var field in editables ) {
						
			for ( var cssSelector in editables[field] ) {
				
				for ( var attribute in editables[field][cssSelector] ) {
					
					target = field + '-' + attribute
					$selector = $(targetSelectors[target])
					value = editables[field][cssSelector][attribute][1]
					
					if ( target.indexOf('font-size') !== -1 ) { 
						//Need something different for font size inputs
						rebuild ? $selector.children().filter( function() {
							return $( this ).val() == value
						}).prop('selected', true) : ''
						$selector.data('css-target', cssSelector)

					} else if ( target.indexOf('width') !== -1 ) { 
						if ( rebuild ) {
							value.indexOf('px') > 0 ? $selector.next().val('px') : $selector.next().val('%')
							$selector.val( parseInt(value) )
						}
						$selector.data('css-target', cssSelector)
					
					} else {
						rebuild ? $selector.val(value) : ''						
						$selector.data('css-target', cssSelector)
					}
					//Update hidden selector input with target
					var targetString = targetSelectors[target]
					if ( targetString ) {
						var css_hidden_input = targetString.replace(']"]', '_selector]"]')
						$(css_hidden_input).val(cssSelector)
					} else {
						console.log("can't find target: " + target)
					}
				}
			}
		}
		//LOAD SAVE IF APPLICABLE
		load_layout ( $( '#fca_eoi_layout_select' ).val() )
		
		//REFRESH CUSTOMIZATION PICKERS
		$('.fca-color-picker').change()
		
		$('.fca-font-size-picker').change()
		
		$('.fca_eoi_width_units_select').change()
		
		
		if ( $('[name="fca_eoi[show_fatcatapps_link]"]').length === 0 ) {
			$('.fca_eoi_layout_fatcatapps_link_wrapper').hide()
		} else {
			$('[name="fca_eoi[show_fatcatapps_link]"]').change()
		}
		
		load_default_texts()
		//TRIGGER INPUTS
		$('[name="fca_eoi[email_placeholder]"], [name="fca_eoi[button_copy]"]').keyup()
		$('[name="fca_eoi[show_name_field]"], [name="fca_eoi[show_headline_field]"], [name="fca_eoi[show_description_field]"], [name="fca_eoi[show_privacy_field]"]').change()
		
		//VARIOUS RESETS
		hide_unused_inputs()
		set_publication()
		
	}
	
	function hide_unused_inputs() {

		for ( var key in targetSelectors ) {
			target = targetSelectors[key]
			var css_hidden_input = target.replace(']"]', '_selector]"]')
						
			if ( $(css_hidden_input).val() !== '' ) {
				if ( $(target).hasClass('wp-color-picker') ) {
					$(target).closest('p').show()
				} else {
					$(target).show()
				}
			} else {
				if ( $(target).hasClass('wp-color-picker') ) {
					$(target).closest('p').hide()
				} else {
					$(target).hide()
				}
			}
		}
	}
	
	
	$( '#fca_eoi_layout_revert_button' ).click( function( e ) {
		var old_layout_id = $('#fca_eoi_layout_select').val()
		$( '[data-layout-id="' + old_layout_id + '"]' ).click()
	})
	
	// Switch layout when screenshot clicked
	$( '.fca_eoi_layout' ).click( function( e ) {
		
		// Determine the layout that was clicked
		var old_layout_id = $('#fca_eoi_layout_select').val()
		var layout_id = $( this ).data( 'layout-id' )
		
		// Mark active
		$( '.fca_eoi_layout' ).removeClass( 'active' )
		$( this ).addClass( 'active' )
		
		// Update hidden input value for new layout
		$( '#fca_eoi_layout_select' ).val( layout_id )
		
		//REBUILD LAYOUT, UNLESS ITS THE SAME ONE, JUST GO BACK
		if ( old_layout_id != layout_id ) {
			update_layout(layouts[layout_id], true)
		}	
		
		// Go back to the build tab
		$( '.postbox' ).show()
		$( '#fca_eoi_meta_box_setup' ).hide()
		$( '#fca_eoi_meta_box_build, #fca_eoi_meta_box_provider, #fca_eoi_meta_box_thanks, #fca_eoi_meta_box_publish' ).show()

		
		
		//Hide the animations unless the lightbox/popup layout type is selected
		if ( layout_id.indexOf('lightbox') != -1 ) {
			$( '.eoi-custom-animation-form' ).show()
		} else {
			//if there are no others, hide the whole box fca_eoi_meta_box_powerups
			var children = $( '#fca_eoi_meta_box_powerups' ).children(".inside").children()
			if (children.length == 1 && $(children[0]).hasClass('eoi-custom-animation-form') )  {
				$( '#fca_eoi_meta_box_powerups' ).hide()
			}else {
				$( '.eoi-custom-animation-form' ).hide()
			}
		}
	})
	
	function load_default_texts() {		
		if ( $('[name="fca_eoi[headline_copy]"]').val() === '' ) {
			$('[name="fca_eoi[headline_copy]"]').val('Free Email Updates')	
		}
		if ( $('[name="fca_eoi[description_copy]"]').val() === '' ) {
			$('[name="fca_eoi[description_copy]"]').val('Get the latest content first.')	
		}
		if ( $('[name="fca_eoi[name_placeholder]"]').val() === '' ) {
			$('[name="fca_eoi[name_placeholder]"]').val('First Name')	
		}
		if ( $('[name="fca_eoi[email_placeholder]"]').val() === '' ) {
			$('[name="fca_eoi[email_placeholder]"]').val('Email')	
		}
		if ( $('[name="fca_eoi[button_copy]"]').val() === '' ) {
			$('[name="fca_eoi[button_copy]"]').val('Join Now')	
		}
		if ( $('[name="fca_eoi[privacy_copy]"]').val() === '' ) {
			$('[name="fca_eoi[privacy_copy]"]').val('We respect your privacy.')	
		}		
	}

	//ACCORDION CLICK HANDLER
	$( '.accordion-section, .accordion-section-title' ).click(function() {
		var $parent = $(this).closest( '[id^="fca_eoi_fieldset_"]' )
		var field_id = $parent.attr('id')

		$( '.fca_eoi_highlighted', '#fca_eoi_preview' ).removeClass( 'fca_eoi_highlighted' )
		// If nothing else was highlighted, highlight the whole form
		if ( $( '.fca_eoi_highlighted' ).length === 0 ) {
			$( '#fca_eoi_preview_form' ).addClass( 'fca_eoi_highlighted' )
		}
	})
	
	// Expand working fieldset
	var expand_fieldset = function ( fieldset_id ) {		
		$( '#fca_eoi_fieldset_' + fieldset_id + '.accordion-section:not(.open) .accordion-section-title').click()
		$('.wp-editor-area:visible').focus()
		$( '#fca_eoi_fieldset_' + fieldset_id ).find('.fca_eoi_text_input').focus()
	}		
		
	$( '#fca_eoi_preview' ).click( function( event ) {
		if ( isNaN(event.clientX) ) {
			event.clientX = 0
		}
		if ( isNaN(event.clientY) ) {
			event.clientY = 0
		}
		var $element = $( document.elementFromPoint( event.clientX, event.clientY ) ).closest( '[data-fca-eoi-fieldset-id]' )		
		if ( $element.length > 0 ) {		
			expand_fieldset( $element.data( 'fca-eoi-fieldset-id' ) )		
		} else {		
			expand_fieldset( 'form' )		
		}		
	})		

	// Highlight current preview element
	$( '#fca_eoi_settings .accordion-section' ).each( function() {
	
		$(this).click( function() {
			$( '.fca_eoi_highlighted', '#fca_eoi_preview' ).removeClass( 'fca_eoi_highlighted' )
			var $fieldset = $( this )
			var $fieldset_id = $fieldset.attr( 'id' ).replace( 'fca_eoi_fieldset_', '' )
			var $element = $( '[data-fca-eoi-fieldset-id=' + $fieldset_id + ']', '#fca_eoi_preview' )

			// Highlight element or closest block level element
			if( $element.is( 'p, div, h1, h2, h3, h4, h5, h6' ) ) {
				$element.addClass( 'fca_eoi_highlighted' )
			} else {
				$element.closest( 'p, div, h1, h2, h3, h4, h5, h6' ).addClass( 'fca_eoi_highlighted' )
			}
			// If nothing else was highlighted, highlight the whole form
			if ( $( '.fca_eoi_highlighted' ).length === 0 ) {
				$( '#fca_eoi_preview_form' ).addClass( 'fca_eoi_highlighted' )
			}				
		})
	})
	
	/////////////////
	// PROVIDERS
	/////////////////
	
	// Show only the selected provider
	$( '[name="fca_eoi[provider]"]' ).change( function() {
		var provider_id = $( this ).val()
		$( '[id^=fca_eoi_fieldset_form_][id$=_integration]' ).slideUp( 'fast' )
		if ( provider_id ) {
			$( '#fca_eoi_fieldset_form_' + provider_id + '_integration' ).slideDown( 'fast' )
		}
	}).change()
	
	//////////////////
	// PUBLICATION METABOX
	//////////////////
	
	function set_publication() {
		$('#fca_eoi_publish_widget, #fca_eoi_publish_postbox, #fca_eoi_publish_lightbox').hide()
		var layout_id = $('#fca_eoi_layout_select').val()
		if ( layout_id.indexOf('postbox') != -1 ) {
			$('#fca_eoi_publish_postbox').show()
		} else if ( layout_id.indexOf('lightbox') != -1 ) {
			$('#fca_eoi_publish_lightbox').show()
		} else {
			$('#fca_eoi_publish_widget').show()
		}
	}
	
	// Show/hide popup publication modes
	$( 'input[name="fca_eoi[publish_lightbox_mode]"]' ).on( 'click change', function() {
		var $this = $( this )
		var mode = $this.val()
		var $mode = $( '#fca_eoi_publish_lightbox_mode_' + mode )
		$mode.removeClass( 'hidden' )
		$( '[id^=fca_eoi_publish_lightbox_mode_]' ).hide( 'fast' )
		if ( $this.prop( 'checked' ) ) {
			$mode.show( 'fast' )
		}
	})
	if ( $( 'input[name="fca_eoi[publish_lightbox_mode]"]' ).length === 1 ) {
		$( 'input[name="fca_eoi[publish_lightbox_mode]"]' ).click().hide()
		
	} else if ( $( 'input[name="fca_eoi[publish_lightbox_mode]"]' ).filter(':checked').length > 0 ) {
		$( 'input[name="fca_eoi[publish_lightbox_mode]"]' ).filter(':checked').click()
	} else {
		$( 'input[name="fca_eoi[publish_lightbox_mode]"]' ).eq(1).click()
	}
	
	$( 'input[name="fca_eoi[publish_lightbox_mode]"]' ).unbind('click')
	
	// Update popup link HTML code
	$( 'input[name="fca_eoi[lightbox_cta_text]"]' ).change( function() {
		var link = '<button data-optin-cat="{{post_ID}}">{{text}}</button>'
		$( 'input[name="fca_eoi[lightbox_cta_link]"]' ).val( link.replace( '{{post_ID}}', post_ID ).replace( '{{text}}', $( this ).val() ) )
	}).change()
		
	//////////////////
	// SAVE BUTTON
	//////////////////	
		
	// Change buttons texts 
	$('#publish').val('Save')

	// Override saving throbber text
	$( '#publish' ).click(function(){
		postL10n.publish = 'Saving'
		postL10n.update= 'Saving'
	})

	// Duplicate the Save button and add to the button of the page
	$( '#submitdiv' ).clone( true ).appendTo( '#normal-sortables' )
	
	// Add the Save button to each item
	$('.fca_eoi_layout_info').append( "<button type='button' class='button button-primary button-large fca-layout-button'>Select Layout</button>" )
	
	//FIX AN ISSUE WITH EMAIL FIELD NEEDING VALIDATION ON FORM SAVING
	$('input[name="save"]').click(function(){
		$('.fca_eoi_form_input_element').val('')
	})
	
	//////////////////
	// THANK YOU MODE
	//////////////////
		
	// Show/hide Thank you page modes
	$( 'input[name="fca_eoi[thankyou_page_mode]"]' ).on( 'click change', function() {
		if ( !this.checked ) {
			$('#fca_eoi_thankyou_ajax_msg').show( 'fast' )
			$('#fca_eoi_thankyou_redirect').hide()
		
		} else {
			$('#fca_eoi_thankyou_ajax_msg').hide()		
			$('#fca_eoi_thankyou_redirect').show( 'fast' )
		}
	}).change()
	
	
	//REDIRECT MODE TOGGLE
	$( '[name="fca_eoi[redirect_page_mode]"]' ).on( 'change', function() {
		if ( $(this).val() === 'page' ) {
			$( '#fca_eoi_redirect_url_span' ).hide()
			$( '#fca_eoi_redirect_page_span' ).show()
		} else {
			$( '#fca_eoi_redirect_page_span' ).hide()
			$( '#fca_eoi_redirect_url_span' ).show()
		}
	}).change()
	
	//////////////////
	// ANIMATIONS
	//////////////////
	
	// Show/hide animations checkbox
	if (document.getElementById("fca_eoi_show_animation_checkbox")) {
		if (!($('#fca_eoi_show_animation_checkbox')[0].checked)) {
			$( '#fca_eoi_animations_div' ).hide()
		}
	}
		
	// Add toggle to animations checkbox
	$('#fca_eoi_show_animation_checkbox').click(function () {
		$("#fca_eoi_animations_div").toggle('fast')
	})
	
	//Display change text when you pick a new animation
	$( '#fca_eoi_animations' ).select2().on("select2-open", function() {
		$( "#fca_eoi_animations_choice_text" ).removeClass()
	})
		
	$( '#fca_eoi_animations' ).select2().on("select2-close", function() {
		if (this.value != 'None') {
			$( "#fca_eoi_animations_choice_text" ).addClass( 'animated ' + this.value )
			$( "#fca_eoi_animations_choice_text" ).text( "Solid choice!  You've selected a great entrance effect.")
			
		}else{
			$( "#fca_eoi_animations_choice_text" ).text('')
		}
	})
	
	///////////////
	// TAB NAVIGATION
	///////////////

	// Use tabs in the main metabox
	$( '.nav-tab-wrapper > a' ).click( function( e ) {
		var target_hash = $( this ).attr( 'href' )

		e.preventDefault()
		$( '.nav-tab-wrapper > a' ).removeClass( 'nav-tab-active' )
		$( this ).blur().addClass( 'nav-tab-active' )

		$( 'div[id^=fca_eoi_meta_box_]' ).not( '#fca_eoi_meta_box_nav' ).hide()
		$( target_hash ).show()
		
		if( '#fca_eoi_meta_box_build' == target_hash ) {
			$( '#fca_eoi_meta_box_provider' ).show()
			$( '#fca_eoi_meta_box_publish' ).show()
			$( '#fca_eoi_meta_box_thanks' ).show()
			$( '#fca_eoi_meta_box_powerups' ).show()
		}
	})
	
	// Use smaller tabs for layout types
	$( 'a[href^="#layouts_type_"]' ).click( function( e ) {
		var $this = $( this )
		e.preventDefault()
		$( 'a[href^="#layouts_type_"]' ).parent().removeClass( 'tabs' )
		$this.parent().addClass( 'tabs' )
		$( 'div[id^="layouts_type_"]' ).hide()
		$( $this.attr( 'href' ) ).show()
		$this.blur()
	} )


	////////////
	// RANDOM STUFF
	////////////
	
	//TOOLTIPS	
	$('.fca_eoi_tooltip').tooltipster({
		"trigger": "hover",
		"side": "right",
		"arrow": false,
		"theme": ['tooltipster-borderless', 'tooltipster-optin-cat-admin']
	})

	function hover_color_css ( colorStr ) {
		
		var css = '.fca_eoi_layout_submit_button_wrapper input:hover, .fca_eoi_layout_submit_button_wrapper:hover { background-color:' + colorStr + '!important}' 
		
		$('.fca_eoi_css_hover_shim' ).remove()
		
		var div = $('<div />', {
			html: '<style>' + css + '</style>'
		}).appendTo("body").addClass('fca_eoi_css_hover_shim' )
		
	}
	
	function placeholder_color_css ( colorStr ) {
		var css =	'.fca_eoi_form_input_element::-webkit-input-placeholder {opacity: 0.6; color:' + colorStr + '}' + 
			'.fca_eoi_form_input_element::-moz-placeholder {opacity: 0.6;  color:' + colorStr + '}' + 
			'.fca_eoi_form_input_element:-ms-input-placeholder {opacity: 0.6; color:' + colorStr + '}' +
			'.fca_eoi_form_input_element:-moz-placeholder {opacity: 0.6; color:' + colorStr + '}'
		
		$('.fca_eoi_css_placeholder_shim').remove()
		
		var div = $('<div />', {
			html: '<style>' + css + '</style>'
		}).appendTo("body").addClass('fca_eoi_css_placeholder_shim')
		
	}
	
	function trim_str ( string, maxLength ) {
		
		if ( string.trim().length > maxLength ) {
			return string.trim().substring(0,maxLength) + '..'
		} else {
			return string.trim()
		}
		
	}
	
	function ColorLuminance(hex, lum) {
		if ( typeof(hex) != 'string' || hex === '' || isNaN(parseFloat(lum)) ) {
			return false;
		}
		
		// validate hex string
		hex = String(hex).replace(/[^0-9a-f]/gi, '');
		if (hex.length < 6) {
			hex = hex[0]+hex[0]+hex[1]+hex[1]+hex[2]+hex[2];
		}
		lum = lum || 0;

		// convert to decimal and change luminosity
		var rgb = "#", c, i;
		for (i = 0; i < 3; i++) {
			c = parseInt(hex.substr(i*2,2), 16);
			c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);
			rgb += ("00"+c).substr(c.length);
		}

		return rgb;
	}
	
	$( document ).on( 'submit', '#post', function () {
		$("#post").attr("enctype", "application/x-www-form-urlencoded")
		$("#post").attr("encoding", "application/x-www-form-urlencoded")
		$( window ).unbind( 'beforeunload' )
	})
	
	// Remove FOUC, don't show metaboxes and likes until page is fully loaded
	jQuery( '#poststuff' ).fadeTo( 1, '1' )

	// Apply select2
	$( 'select.select2' ).select2()
	
	// Disable enter doing accidential save
	$( document ).on( 'keypress', ':input:not(textarea)', function( e ) {
		if (e.keyCode == 13) {
			e.preventDefault()
		}
	})
	// Disable submit of the preview form
	$( document ).on( 'click', '#fca_eoi_preview input[type=submit]', function( e ) {
		e.preventDefault()
	})
	
	// Autoselect
	$(".autoselect").bind( 'click focus mouseenter', function(){ $( this ).select() }).mouseup( function(e){ e.preventDefault } )
	
	// SET STARTING STATE
	set_publication()
	
	if ( $('#fca_eoi_layout_select').hasClass('fca-new-layout') ) {
		$('#fca_eoi_layout_select_button').click()
		$('#fca_eoi_layout_select').removeClass('fca-new-layout')
	} else {
		//BUILD LAYOUT
		var layout_id = $('#fca_eoi_layout_select').val()
		//GIVE LAYOUT "ACTIVE" CLASS
		$( '[data-layout-id="' + layout_id + '"]' ).addClass( 'active' )
		update_layout(layouts[layout_id], false)
		$( '#fca_eoi_meta_box_setup' ).hide()
		$( '#fca_eoi_meta_box_build' ).show()
	}
	
	
})
```
