var _____WB$wombat$assign$function_____=function(name){return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name))||self[name];};if(!self.__WB_pmw){self.__WB_pmw=function(obj){this.__WB_source=obj;return this;}}{
let window = _____WB$wombat$assign$function_____("window");
let self = _____WB$wombat$assign$function_____("self");
let document = _____WB$wombat$assign$function_____("document");
let location = _____WB$wombat$assign$function_____("location");
let top = _____WB$wombat$assign$function_____("top");
let parent = _____WB$wombat$assign$function_____("parent");
let frames = _____WB$wombat$assign$function_____("frames");
let opens = _____WB$wombat$assign$function_____("opens");
(function($)
{ 
	"use strict";
	
	// -------------------------------------------------------------------------------------------
	// Tab Section
	// -------------------------------------------------------------------------------------------
	
	$.fn.avia_sc_tab_section = function()
	{
		var win 			= $(window),
			browserPrefix 	= $.avia_utilities.supports('transition'),
			cssActive 		= this.browserPrefix !== false ? true : false,
			isMobile 		= $.avia_utilities.isMobile,
			transform3d		= document.documentElement.className.indexOf('avia_transform3d') !== -1 ? true : false,
			transition		= {};
			
		return this.each(function()
		{
			var container 		= $(this),
				tabs			= container.find('.av-section-tab-title'),
			    tab_outer		= container.find('.av-tab-section-outer-container'),
				tab_wrap		= container.find('.av-tab-section-tab-title-container'),
				tab_nav			= container.find('.av_tab_navigation'), 
				arrows_wrap		= container.find('.av-tabsection-arrow'),
				arrows			= arrows_wrap.find('.av-tab-section-slide'),
				content_wrap	= container.find('.av-tab-section-inner-container'),
				single_tabs		= container.find('.av-animation-delay-container'), //for elements inside the tab that receive waypoint animation
				inner_content	= container.find('.av-layout-tab-inner'),
				sliding_active  = container.is('.av-tab-slide-transition'),
				flexible    	= container.is('.av-tab-content-auto'),
				current_content = container.find('.__av_init_open'),
				min_width		= 0,
				change_tab 		= function(e, prevent_hash)
				{
					e.preventDefault();
					
					var current_tab 	= $(e.currentTarget),
						current_arrow	= current_tab.find('.av-tab-arrow-container span'),
						tab_nr			= current_tab.data('av-tab-section-title');
					
					//	reset global scope !!
					current_content = container.find('[data-av-tab-section-content="'+tab_nr+'"]');
					
					var new_bg			= current_content.data('av-tab-bg-color'),
						new_font		= current_content.data('av-tab-color'),
						prev_container 	= container.find('.av-active-tab-content').not('[data-av-tab-section-content="'+tab_nr+'"]');
	
					tabs.attr('style','').removeClass('av-active-tab-title');
					current_tab.removeClass('no-scroll');
					current_tab.addClass('av-active-tab-title');
					current_content.addClass("av-active-tab-content");
					
					if( new_bg !== "" ) 
					{
						current_arrow.css('background-color', new_bg);
					}
					
					if( new_font !== "" ) 
					{
						current_tab.css('color', new_font);
					}
						
					var new_pos = ( ( parseInt( tab_nr, 10 ) - 1 ) * -100 );
					    
					if( $('body').hasClass('rtl') ) 
					{
						new_pos = ( ( parseInt( tab_nr,10 ) - 1 ) * 100 );
					}
					
					if( cssActive )
					{
						//move the slides
						new_pos = new_pos / tabs.length;
						transition['transform'] = transform3d ? "translate3d(" + new_pos  + "%, 0, 0)" : "translate(" + new_pos + "%,0)"; //3d or 2d transform?
						transition['left'] = "0%";
						content_wrap.css(transition);
					}
					else
					{
						content_wrap.css('left',  new_pos + "%");
					}
					
					set_tab_title_pos();
					set_slide_height();
					
					if( ! prevent_hash ) 
					{
						location.hash = current_tab.attr('href');
					}
					
					setTimeout( function()
					{
						current_content.trigger('avia_start_animation_if_current_slide_is_active');
						
						//	fixes bug that animations do not work due to fn.avia_waypoints()
						if( ! isMobile )
						{
							single_tabs.not(current_content).trigger('avia_remove_animation');
						}
						
					}, 600);	
					
				},
				set_min_width = function()
				{
					min_width = 0;
					tabs.each( function()
					{ 
						min_width += $(this).outerWidth(); 
					});
					
					tab_wrap.css( 'min-width', min_width );
				},
				
				set_slide_height = function()
				{				
					if(current_content.length && flexible)
					{
						var old_height = inner_content.height();
						inner_content.height('auto');
						
						var height = current_content.find('.av-layout-tab-inner').height(),
						    add_height = tab_wrap.height();
						
						tab_outer.css('max-height', height + add_height + 100);
						inner_content.height(old_height);
						inner_content.height(height);
						
						inner_content.css( 'overflow', 'hidden' );
						
						setTimeout(function() { win.trigger('av-height-change'); }, 600);
					}
				},
				
				set_tab_title_pos = function()
				{
					//	scroll the tabs if there is not enough room to display them all - rtl allign right to left !!
					var current_tab = container.find('.av-active-tab-title'),
						viewport = container.width(),
						left_pos = ( current_tab.position().left * - 1 ) - ( current_tab.outerWidth() / 2 ) + ( viewport / 2 );
				
					if( ! $('body').hasClass('rtl') )
					{
						if( viewport >= min_width )
						{
							left_pos = 0;
						}
						
						if( left_pos + min_width < viewport ) 
						{
							left_pos = ( min_width - viewport ) * -1;
						}
						
						if( left_pos > 0 ) 
						{
							left_pos = 0;
						}
					
						tab_wrap.css( 'left', left_pos );
						
						var show_prev = left_pos !== 0;
						var show_next = left_pos + min_width > viewport;
						
						set_arrows_visibility( show_prev, show_next );
					}
					else
					{
						var right_pos = 0;
						
						if( viewport < min_width )
						{
							if( left_pos + min_width > viewport )
							{
								if( left_pos > 0 ) 
								{
									left_pos = 0;
								}
								
								right_pos = ( left_pos + min_width - viewport ) * -1;
							}
						}
						
						tab_wrap.css( 'left', 'auto' );
						tab_wrap.css( 'right', right_pos );
						
						var show_prev = right_pos + min_width > viewport;
						var show_next = right_pos !== 0;
						
						set_arrows_visibility( show_prev, show_next );
					}
				},
				
				set_arrows_visibility = function( show_prev, show_next )
				{
					if( show_prev )
					{
						arrows_wrap.addClass( 'av-visible-prev' );
					}
					else
					{
						arrows_wrap.removeClass( 'av-visible-prev' );
					}
					
					if( show_next )
					{
						arrows_wrap.addClass( 'av-visible-next' );
					}
					else
					{
						arrows_wrap.removeClass( 'av-visible-next' );
					}
				},
				
				swipe_to_next_prev = function(e)
				{
					if( ! isMobile )
					{
						return;
					}
					
					switch_to_next_prev( e );
				},
				
				switch_to_next_prev = function( e )
				{
					e.preventDefault();
					
					var clicked = $( e.currentTarget ),
						current_tab = container.find('.av-active-tab-title');
						
					if( clicked.is('.av_prev_tab_section') )
					{
						if( ! $('body').hasClass('rtl') )
						{
							current_tab.prev('.av-section-tab-title').trigger('click');
						}
						else
						{
							current_tab.next('.av-section-tab-title').trigger('click');
						}
					}
					else
					{
						if( ! $('body').hasClass('rtl') )
						{
							current_tab.next('.av-section-tab-title').trigger('click');
						}
						else
						{
							current_tab.prev('.av-section-tab-title').trigger('click');
						}
					}
				},
				
				get_init_open = function()
				{
					if( ! hash && window.location.hash ) var hash = window.location.hash;
		            		
					var open = tabs.filter('[href="'+hash+'"]');
					
					if(open.length)
					{
						if(!open.is('.active_tab')) open.trigger('click');
					}
					else
					{
						//set correct color
						container.find('.av-active-tab-title').trigger('click', true);
					}
				};
					
			$.avia_utilities.preload({
				
				container: current_content, 
				single_callback:  function()
				{ 
					tabs.on( 'click', change_tab );
					tab_nav.on( 'click', swipe_to_next_prev );
					arrows.on( 'click', switch_to_next_prev );
					win.on( 'debouncedresize', set_tab_title_pos );	
					
					/**
					 * We had to remove av-height-change because this event is recursivly triggered in set_slide_height and lead to performance problems 
					 * AND broken layout - content was not displayed completly
					 * 
					 * Content elements that can can change their height and trigger av-height-change should trigger this additional event after to
					 * allow layout elements like tab section to react on this and then call av-height-change by themself
					 * 
					 * @since 4.2.3
					 */
					win.on('debouncedresize av-content-el-height-changed', set_slide_height);	
					
					set_min_width();
					set_slide_height(); 
					get_init_open();
				}
				
			});	
			
			content_wrap.avia_swipe_trigger( {prev:'.av_prev_tab_section', next:'.av_next_tab_section'} );
				
		});
	};
	
	
}(jQuery));

}