(function($) { $(document).ready(function($) { if (/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)) { $("body").on("touchstart", ".mks_accordion_heading", function(e) { mks_accordion_handle($(this)); }); $("body").on("touchstart", ".mks_toggle_heading", function(e) { mks_toggle_handle($(this)); }); $("body").on("touchstart", ".mks_tabs_nav .mks_tab_nav_item", function(e) { mks_tab_handle($(this)); }); } else { $("body").on("click", ".mks_accordion_heading", function(e) { mks_accordion_handle($(this)); }); $("body").on("click", ".mks_toggle_heading", function(e) { mks_toggle_handle($(this)); }); $("body").on("click", ".mks_tabs_nav .mks_tab_nav_item", function(e) { mks_tab_handle($(this)); }); } }); // end $(document).ready() /* Initialize tabs */ $(window).on('load', function(){ $('.mks_tabs').each(function(){ mks_init_tabs($(this)); }); mks_tabs_check_switch( $('.mks_tabs') ); }); $(window).resize(function() { mks_tabs_check_switch( $('.mks_tabs')); }); function mks_tabs_check_switch( obj ) { if ( !obj.length ) return; obj.each(function() { var tabs_holder = $(this); var tabs_nav_wrapper = tabs_holder.find('.mks_tabs_nav'); if ( !tabs_holder.hasClass('mks-accordion-switched') ) { var tabs_width = mks_check_tabs_width( tabs_holder ); if( tabs_width && !tabs_holder.hasClass('vertical')){ mks_tabs_to_accordion( tabs_holder, tabs_width ); } var vertical_tabs_width = tabs_holder.hasClass('vertical') && tabs_nav_wrapper.width() < 80 ? tabs_holder.width() : false; if( vertical_tabs_width ){ mks_tabs_to_accordion( tabs_holder, vertical_tabs_width ); } } else { if ( tabs_holder.hasClass('mks-accordion-switched') ) { var resized_on = tabs_holder.attr('data-resized-on'); if(resized_on && resized_on < tabs_holder.width()){ mks_init_tabs( tabs_holder ); } } } }); } function mks_init_tabs(obj){ var tabs_holder = obj; var tabs_nav_wrapper = tabs_holder.find('.mks_tabs_nav'); var tabs_content = tabs_holder.find('.mks_tab_item, .mks_accordion_item'); tabs_holder.removeClass('mks_accordion mks-accordion-switched'); tabs_holder.find('.mks_accordion_item, .mks_tab_item').remove(); tabs_nav_wrapper.show(); if ( tabs_holder.hasClass('vertical') ) { tabs_holder.css('padding' , '0 0 0 19.9%'); } else { tabs_holder.css('padding' , '40px 0 0 0'); } tabs_content.each(function(){ tabs_nav_wrapper.append('
' + $(this).find('.nav').html() + '
'); if ( $(this).hasClass('mks_accordion_item') ) { tabs_holder.append('').hide(); } else { tabs_holder.append('').hide(); } }); tabs_nav_wrapper.find('.mks_tab_nav_item:first').addClass('active'); tabs_holder.find('.nav').hide(); tabs_holder.find('.mks_tab_item:first').show(); tabs_holder.show(); } function mks_check_tabs_width(obj) { var tabs_nav_wrapper = obj.find('.mks_tabs_nav'); var tabs_width = tabs_nav_wrapper.width(); var tab = tabs_nav_wrapper.find('.mks_tab_nav_item'); var tab_width = 0; tab.each(function(){ tab_width += $(this).outerWidth(); }); if ( tabs_width <= tab_width + 24 ) { return tabs_width; } return false; } function mks_tabs_to_accordion( obj, resized_on ) { var tabs_holder = obj; var tabs_nav_wrapper = tabs_holder.find('.mks_tabs_nav'); var tabs_content = tabs_holder.find('.mks_tab_item'); tabs_holder.addClass('mks_accordion mks-accordion-switched').attr('data-resized-on', resized_on); tabs_holder.find('.mks_tab_item').remove(); tabs_nav_wrapper.children().remove(); tabs_nav_wrapper.hide(); tabs_holder.css({ 'display' : 'block', 'padding' : 0 }); tabs_content.each(function(){ tabs_holder.append('
' + $(this).find('.nav').html() + '
' + $(this).html() + '
'); }); tabs_holder.find('.nav').hide(); } function mks_accordion_handle($obj) { var toggle = $obj.parent('.mks_accordion_item'); if (!toggle.hasClass('mks_accordion_active')) { toggle.parent('div').find('.mks_accordion_item').find('.mks_accordion_content:visible').slideUp("fast"); toggle.parent('div').find('.mks_accordion_active').removeClass('mks_accordion_active'); toggle.find('.mks_accordion_content').slideToggle("fast", function() { toggle.addClass('mks_accordion_active'); if ((toggle.offset().top + 100) < $(window).scrollTop()) { $('html, body').stop().animate({ scrollTop: (toggle.offset().top - 100) }, '300'); } }); } else { toggle.parent('div').find('.mks_accordion_item').find('.mks_accordion_content:visible').slideUp("fast"); toggle.parent('div').find('.mks_accordion_active').removeClass('mks_accordion_active'); } } function mks_toggle_handle($obj) { var toggle = $obj.parent('.mks_toggle'); toggle.find('.mks_toggle_content').slideToggle("fast", function() { toggle.toggleClass('mks_toggle_active'); }); } function mks_tab_handle($obj) { if ($obj.hasClass('active') === false) { tab_to_show = $obj.parent('.mks_tabs_nav').find('.mks_tab_nav_item').index($obj); $obj.parent('.mks_tabs_nav').parent('.mks_tabs').find('.mks_tab_item').hide(); $obj.parent('.mks_tabs_nav').parent('.mks_tabs').find('.mks_tab_item').eq(tab_to_show).show(); $obj.parent('.mks_tabs_nav').find('.mks_tab_nav_item').removeClass('active'); $obj.addClass('active'); } } })(jQuery);