(function($){
"use strict";
$.fn.avia_sc_tab_section=function(){
var win=$(window),
browserPrefix=$.avia_utilities.supports('transition'),
cssActive=this.browserPrefix!==false ? true:false,
isMobile=$.avia_utilities.isMobile,
isTouchDevice=$.avia_utilities.isTouchDevice,
mobile_no_animation=$('body').hasClass('avia-mobile-no-animations'),
transform3d=document.documentElement.className.indexOf('avia_transform3d')!==-1 ? true:false,
transition={},
animations=[
'avia_animate_when_visible',
'avia_animate_when_almost_visible',
'av-animated-generic',
'av-animated-when-visible',
'av-animated-when-almost-visible',
'av-animated-when-visible-95'
];
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'),
slides_wrap=container.find('.av-slide-section-container-wrap'),
slide_arrows_wrap=container.find('.av-tabsection-slides-arrow'),
slide_arrows=slide_arrows_wrap.find('.av-tab-section-slide-content'),
slide_dots_wrap=container.find('.av-tabsection-slides-dots'),
slide_dots=slide_dots_wrap.find('.goto-slide'),
content_wrap=container.find('.av-tab-section-inner-container'),
single_tabs=container.find('.av-animation-delay-container'),
layout_tab_wrap=container.find('.av-layout-tab'),
inner_content=container.find('.av-layout-tab-inner'),
flexible=container.is('.av-tab-content-auto'),
minimumBrowserHeight=container.hasClass('av-minimum-height'),
current_content=null,
current_tab_id='1',
current_iTab_id=1,		// 'undefined'!=typeof current_tab_id ? parseInt(current_tab_id, 10):1,
min_width=0,
transition_action='none',
slideshowOptions={
animation: 'av-tab-slide-transition',
autoplay: false,
loop_autoplay: 'once',			//	'endless' | 'once'
interval: 5,
loop_manual: 'manual-endless',	//	'manual-endless' | 'manual-once'
autoplay_stopper: false,
noNavigation: false
},
slideshowData=tab_outer.data('slideshow-data'),
deepLinksToTabs={},
timeoutIDAutoplay=null;
if('undefined'!=typeof slideshowData){
slideshowOptions=$.extend({}, slideshowOptions, slideshowData);
}
layout_tab_wrap.each(function (){
var tab=$(this),
link=tab.data('av-deeplink-tabs'),
id=tab.data('av-tab-section-content');
if(link){
deepLinksToTabs[ link.toLowerCase() ]=id;
}});
current_tab_id=container.find('.av-active-tab-title').data('av-tab-section-title');
current_tab_id='undefined'!=typeof current_tab_id ? current_tab_id:'1';
current_iTab_id=parseInt(current_tab_id, 10);
current_content=container.find('[data-av-tab-section-content="' + current_tab_id + '"]');
current_content.addClass('__av_init_open av-active-tab-content');
if('av-tab-slide-transition'==slideshowOptions.animation){
transition_action='slide_sidewards';
}
else if('av-tab-slide-up-transition'==slideshowOptions.animation){
transition_action='slide_up';
}
else if('av-tab-fade-transition'==slideshowOptions.animation){
transition_action='fade';
}
if('slide_up'==transition_action){
$.each(animations, function(index, value){
inner_content.find('.' + value).addClass('avia_start_animation_when_active');
});
}
var change_tab=function(e, prevent_hash){
e.preventDefault();
if(container.hasClass('av-is-slideshow')&&e.originalEvent!==undefined){
return;
}
var current_tab=$(e.currentTarget),
tab_nr=current_tab.data('av-tab-section-title'),
iTab_nr=parseInt(tab_nr, 10),
prev_content=current_content;
tabs.removeClass('av-active-tab-title');
prev_content.removeClass('av-active-tab-content');
current_tab.removeClass('no-scroll');
current_content=container.find('[data-av-tab-section-content="' + tab_nr + '"]');
current_tab_id=tab_nr;
current_iTab_id=iTab_nr;
current_tab.addClass('av-active-tab-title');
current_content.addClass('av-active-tab-content');
var new_pos=(( iTab_nr - 1) * -100);
if($('body').hasClass('rtl')){
new_pos=(( iTab_nr - 1) * 100);
}
set_slide_height();
if(['none', 'slide_sidewards'].indexOf(transition_action) >=0){
if(cssActive){
new_pos=new_pos / tabs.length;
transition['transform']=transform3d ? "translate3d(" + new_pos  + "%, 0, 0)":"translate(" + new_pos + "%,0)";
transition['left']="0%";
content_wrap.css(transition);
}else{
content_wrap.css('left', new_pos + "%");
}}
else if('slide_up'==transition_action){
layout_tab_wrap.css('opacity', 1);
if(cssActive){
var top=current_content.data('slide-top');
if('undefined'==typeof top){
top=0;
}
transition['transform']=transform3d ? "translate3d(0, -" + top + "px, 0)":"translate(0, -" + top + "px ,0)";
transition['left']="0";
content_wrap.css(transition);
}else{
content_wrap.css('top', '-' + new_pos + 'px');
}
layout_tab_wrap.filter(':not(.av-active-tab-content)').css('opacity', 0);
}
set_tab_title_pos();
set_slide_arrows_visibility(iTab_nr);
set_slide_dots_visibility(iTab_nr);
if(!(prevent_hash||slideshowOptions.autoplay) ){
var newHash=current_tab.attr('href'),
deepLink=current_content.data('av-deeplink-tabs');
if('undefined'!=typeof(deepLink)&&''!=deepLink){
newHash=deepLink;
}
location.hash=newHash;
}
setTimeout(function(){
current_content.trigger('avia_start_animation_if_current_slide_is_active');
if(! isMobile||(isMobile&&! mobile_no_animation) ){
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(){
var tab_wrap_height=container.hasClass('av-hide-tabs') ? 0:tab_wrap.height(),
tab_wrap_add=tab_wrap_height ? tab_wrap.outerHeight():0,
min_el_height=0,
cell_padding=0,
same_slide_height=0,
same_table_cell_height=0,
calc_el_height=0;
if(minimumBrowserHeight){
var css_height=container.hasClass('av-minimum-height-custom') ? container.data('av_minimum_height_px'):container.css('min-height');
css_height=parseInt(css_height, 10);
if(! isNaN(css_height) ){
min_el_height=css_height;
}
if(! min_el_height){
minimumBrowserHeight=false;
}}
if(! flexible){
inner_content.css('height', '');
content_wrap.css('min-height', '');
var first=layout_tab_wrap.first();
cell_padding=first.outerHeight() - first.height();
layout_tab_wrap.each(function(){
var content=$(this),
inner=content.find('.av-layout-tab-inner');
same_slide_height=Math.max(same_slide_height, inner.height());
});
same_table_cell_height=same_slide_height + cell_padding;
calc_el_height=same_table_cell_height + tab_wrap_add;
if(minimumBrowserHeight){
if(calc_el_height < min_el_height){
same_table_cell_height=min_el_height - tab_wrap_add;
calc_el_height=min_el_height;
}}
content_wrap.css('min-height', same_table_cell_height);
content_wrap.css('height', same_table_cell_height);
}
else if(flexible&&minimumBrowserHeight){
same_table_cell_height=min_el_height - tab_wrap_add;
calc_el_height=min_el_height;
content_wrap.css('min-height', same_table_cell_height);
content_wrap.css('height', same_table_cell_height);
}
if(['none', 'slide_sidewards', 'fade'].indexOf(transition_action) >=0){
if(! current_content.length){
return;
}
if(flexible){
inner_content.height('auto');
var content_height=current_content.find('.av-layout-tab-inner').height(),
height=current_content.outerHeight(),
outer_height=height + tab_wrap_height + 100;
tab_outer.css('max-height', outer_height);
inner_content.height(content_height);
inner_content.css('overflow', 'hidden');
}
setTimeout(function(){ win.trigger('av-height-change'); }, 600);
return;
}
var top=0;
layout_tab_wrap.each(function(){
var content=$(this),
inner=content.find('.av-layout-tab-inner'),
layout_tab_nr=content.data('av-tab-section-content'),
layout_iTab_nr=parseInt(layout_tab_nr, 10),
outerHeight=content.outerHeight();
content.data('slide-top', top);
top +=outerHeight;
if(flexible&&layout_iTab_nr==current_iTab_id){
tab_outer.css('max-height', outerHeight + tab_wrap_add);
inner.css('overflow', 'hidden');
}});
},
set_tab_title_pos=function(){
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');
}},
set_slide_arrows_visibility=function(current_tab){
if(current_tab > 1){
slide_arrows_wrap.addClass('av-visible-prev');
}else{
slide_arrows_wrap.removeClass('av-visible-prev');
}
if(current_tab < tabs.length){
slide_arrows_wrap.addClass('av-visible-next');
}else{
slide_arrows_wrap.removeClass('av-visible-next');
}},
set_slide_dots_visibility=function(current_tab){
slide_dots_wrap.find('a').removeClass('active');
slide_dots_wrap.find('a').eq(current_tab - 1).addClass('active');
},
swipe_to_next_prev=function(e){
if(slideshowOptions.noNavigation){
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(container.hasClass('av-slideshow-section') ){
if(clicked.hasClass('av_prev_tab_section') ){
slide_arrows_wrap.find('.av_prev_tab_section').trigger('click');
}else{
slide_arrows_wrap.find('.av_next_tab_section').trigger('click');
}
return;
}
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');
}}
},
slide_arrows_next_prev=function(e){
e.preventDefault();
if(slideshowOptions.noNavigation&&e.originalEvent!==undefined){
return;
}
var clicked=$(e.currentTarget),
current_tab=container.find('.av-active-tab-title'),
tab_nr=current_tab.data('av-tab-section-title'),
iTab_nr=parseInt(tab_nr, 10),
next=0;
if(clicked.hasClass('av_prev_tab_section') ){
next = ! $('body').hasClass('rtl') ? -1:1;
}else{
next = ! $('body').hasClass('rtl') ? 1:-1;
}
var pos=iTab_nr + next;
if(pos <=0||pos > tabs.length){
if('endless'!=slideshowOptions.loop_autoplay&&'manual-endless'!=slideshowOptions.loop_manual){
return;
}
pos=pos <=0 ? tabs.length:1;
}
clearTimeoutAutoplay();
tabs.eq(pos - 1).trigger('click');
init_autoplay();
},
slide_dots_change_tab=function(e){
e.preventDefault();
var clicked=$(e.currentTarget);
if(clicked.hasClass('active') ){
return;
}
var tab_nr=clicked.attr('href').replace('#', ''),
iTab_nr=parseInt(tab_nr, 10);
if(iTab_nr > tabs.length){
return;
}
clearTimeoutAutoplay();
tabs.eq(iTab_nr - 1).trigger('click');
init_autoplay();
},
get_init_open=function(){
var hash=window.location.hash ? window.location.hash:'',
deepHash=hash.toLowerCase().replace('#', ''),
open=null;
if('undefined'!=typeof(deepLinksToTabs[ deepHash ])&&''!=deepLinksToTabs[ deepHash ]){
var hashID=deepLinksToTabs[ deepHash ];
open=tabs.filter('[data-av-tab-section-title="' + hashID + '"]');
}else{
open=tabs.filter('[href="' + hash + '"]');
}
if(open.length){
if(! open.is('.active_tab') ){
open.trigger('click');
}}else{
container.find('.av-active-tab-title').trigger('click', true);
}},
clearTimeoutAutoplay=function(){
if(typeof timeoutIDAutoplay==='number'){
clearTimeout(timeoutIDAutoplay);
}
timeoutIDAutoplay=null;
},
init_autoplay=function(){
if(! container.hasClass('av-slideshow-section') ){
return;
}
if(true!==slideshowOptions.autoplay){
tab_outer.removeClass('av-slideshow-autoplay').addClass('av-slideshow-manual');
}
if('undefined'==typeof slideshowOptions.loop_autoplay||'endless'!=slideshowOptions.loop_autoplay){
slideshowOptions.loop_autoplay='once';
}
if('undefined'==typeof slideshowOptions.interval){
slideshowOptions.interval=5;
}
if('undefined'==typeof slideshowOptions.autoplay||true!==slideshowOptions.autoplay){
slideshowOptions.autoplay=false;
tab_outer.removeClass('av-slideshow-autoplay').addClass('av-slideshow-manual');
return;
}
clearTimeoutAutoplay();
timeoutIDAutoplay=setTimeout(function(){
rotate_next_slide();
}, slideshowOptions.interval * 1000);
},
rotate_next_slide=function(){
var current_tab=container.find('.av-active-tab-title'),
tab_nr=current_tab.data('av-tab-section-title'),
iTab_nr=parseInt(tab_nr, 10),
stop=false,
next=0;
timeoutIDAutoplay=null;
if('endless'==slideshowOptions.loop_autoplay){
if(! $('body').hasClass('rtl')){
next=iTab_nr < tabs.length ? iTab_nr + 1:1;
}else{
next=iTab_nr > 1 ? iTab_nr - 1:tabs.length;
}}else{
if(! $('body').hasClass('rtl')){
stop=iTab_nr==tabs.length;
next=iTab_nr + 1;
}else{
stop=iTab_nr==1;
next=iTab_nr - 1;
}
if(stop){
slideshowOptions.autoplay=false;
slideshowOptions.loop_autoplay='manual';
tab_outer.removeClass('av-slideshow-autoplay').addClass('av-slideshow-manual');
tab_outer.removeClass('av-loop-endless').addClass('av-loop-once');
return;
}}
tabs.eq(next - 1).trigger('click');
timeoutIDAutoplay=setTimeout(function(){
rotate_next_slide();
}, slideshowOptions.interval * 1000);
};
$.avia_utilities.preload({
container: current_content,
single_callback: function(){
tabs.on('click', change_tab);
arrows.on('click', switch_to_next_prev);
slide_arrows.on('click', slide_arrows_next_prev);
slide_dots.on('click', slide_dots_change_tab);
if(isMobile||isTouchDevice){
tab_nav.on('click', swipe_to_next_prev);
}
win.on('debouncedresize', set_tab_title_pos);
win.on('hashchange', get_init_open);
win.on('debouncedresize av-content-el-height-changed', set_slide_height);
set_min_width();
set_slide_height();
get_init_open();
init_autoplay();
}});
if(isMobile||isTouchDevice){
if(! slideshowOptions.noNavigation){
content_wrap.avia_swipe_trigger({ prev:'.av_prev_tab_section', next:'.av_next_tab_section' });
}}
set_slide_height();
});
};}(jQuery));