1(function( $ ) { 2 window.btGetNavHTML = function( count ) { 3 var html = '<div class="btAnimNavHolder"><ul class="btAnimNav">'; 4 html += '<li class="btAnimNavPrev">'; 5 for ( var i = 0; i < count; i++ ) { 6 html += '<li class="btAnimNavDot" data-count="' + i + '">'; 7 } 8 html += '<li class="btAnimNavNext">'; 9 html += '</ul></div>'; 10 11 return html; 12 } 13 14 /* Animate elements */ 15 16 function btAnimateElements() { 17 var $elems = $( '.btCounter:not(.animated), .btProgressBar:not(.animated)' ); 18 // classic animations 19 $elems.each(function() { 20 $elm = $( this ); 21 if ( 22 ( $elm.isOnScreen() && ! $( 'body' ).hasClass( 'impress-enabled' ) ) || 23 ( $elm.isOnScreen() && $( 'body' ).hasClass( 'impress-enabled' ) && $elm.closest( '.boldSection' ).hasClass( 'active' ) ) 24 ) { 25 $elm.addClass( 'animated' ); 26 if ( $elm.hasClass( 'btCounter' ) ) { 27 btAnimateCounter( $elm ); 28 } 29 if ( $elm.hasClass( 'btProgressBar' ) ) { 30 btAnimateProgress( $elm ); 31 } 32 } 33 }); 34 $( '.slick-slider .slick-slide:not(.slick-active) .animate' ).removeClass( 'animated' ); 35 } 36 37 function btAnimateCounter( elm ) { 38 var number_length = elm.data( 'digit-length' ); 39 for ( var i = parseInt( number_length ); i > 0; i-- ) { 40 var digit = elm.children( '.p' + i ).data( 'digit' ); 41 for ( var j = 0; j <= parseInt( digit ); j++ ) { 42 elm.children( '.p' + i ).children( '.n' + j ).css( 'transform', 'translateY(-' + parseInt( digit ) * elm.height() + 'px)' ); 43 } 44 45 } 46 return false; 47 } 48 49 function btAnimateCounterReset( elm ) { 50 var number_length = elm.data( 'digit-length' ); 51 for ( var i = parseInt( number_length ); i > 0; i-- ) { 52 var digit = elm.children( '.p' + i ).data( 'digit' ); 53 for ( var j = 0; j <= parseInt( digit ); j++ ) { 54 elm.children( '.p' + i ).children( '.n' + j ).css( 'transform', 'translateY(0px)' ); 55 } 56 57 } 58 return false; 59 } 60 61 // countdown timer helpers 62 63 var bt_bb_countdown = function( elem, selector, i, arr, arr_prev ) { 64 if ( arr[ i ] !== arr_prev[ i ] || elem.find( selector ).children().eq( 0 ).html( ) == '' ) { 65 elem.find( selector ).children().addClass( 'countdown_anim' ); 66 elem.find( selector ).children().eq( 0 ).html( arr[ i ] ); 67 elem.find( selector ).children().eq( 1 ).html( arr_prev[ i ] ); 68 setTimeout(function() { 69 elem.find( selector ).children().eq( 1 ).html( elem.find( selector ).children().eq( 0 ).html() ); 70 elem.find( selector ).children().removeClass( 'countdown_anim' ); 71 }, 300 ); 72 } 73 } 74 75 var bt_bb_countdown_output = function( elem ) { 76 77 s = elem.data( 'init-seconds' ); 78 79 var delta = s; 80 81 var days = Math.floor( delta / 86400 ); 82 delta -= days * 86400; 83 84 var hours = Math.floor( delta / 3600 ) % 24; 85 delta -= hours * 3600; 86 87 var minutes = Math.floor( delta / 60 ) % 60; 88 delta -= minutes * 60; 89 90 var seconds = delta; 91 92 if ( hours < 10 ) { 93 hours = '0' + hours; 94 } 95 96 if ( minutes < 10 ) { 97 minutes = '0' + minutes; 98 } 99 100 if ( seconds < 10 ) { 101 seconds = '0' + seconds; 102 } 103 104 seconds_arr_prev = seconds.toString().split( '' ); 105 minutes_arr_prev = minutes.toString().split( '' ); 106 hours_arr_prev = hours.toString().split( '' ); 107 108 s = s - 1; 109 if ( s < 0 ) { 110 s = 0; 111 } 112 113 var delta = s; 114 115 var days = Math.floor( delta / 86400 ); 116 delta -= days * 86400; 117 118 var hours = Math.floor( delta / 3600 ) % 24; 119 delta -= hours * 3600; 120 121 var minutes = Math.floor( delta / 60 ) % 60; 122 delta -= minutes * 60; 123 124 var seconds = delta; 125 126 if ( hours < 10 ) { 127 hours = '0' + hours; 128 } 129 130 if ( minutes < 10 ) { 131 minutes = '0' + minutes; 132 } 133 134 if ( seconds < 10 ) { 135 seconds = '0' + seconds; 136 } 137 138 seconds_arr = seconds.toString().split( '' ); 139 minutes_arr = minutes.toString().split( '' ); 140 hours_arr = hours.toString().split( '' ); 141 142 for ( var i = 0; i <= 1; i++ ) { 143 bt_bb_countdown( elem, '.seconds .n' + i, i, seconds_arr, seconds_arr_prev ); 144 bt_bb_countdown( elem, '.minutes .n' + i, i, minutes_arr, minutes_arr_prev ); 145 bt_bb_countdown( elem, '.hours .n' + i, i, hours_arr, hours_arr_prev ); 146 } 147 148 var days_prev = 0; 149 150 if ( days != days_prev ) { 151 days_arr = days.toString().split( '' ); 152 153 var days_html = ''; 154 for ( var i = 0; i < days_arr.length; i++ ) { 155 days_html += '<span>' + days_arr[ i ] + '</span>'; 156 } 157 158 elem.find( '.days' ).html( days_html + '<span class="days_text"><span>' + elem.find( '.days' ).data( 'text' ) + '</span></span>' ); 159 } 160 161 days_prev = days; 162 163 elem.data( 'init-seconds', s ); 164 165 } 166 167 function btAnimateProgress( elm ) { 168 elm.find( '.btProgressAnim' ).css( 'transition-delay', Math.round( Math.random() * 250 ) + 'ms' ); 169 elm.find( '.btProgressAnim' ).css( 'transform', 'translateX(-' + ( 100 - elm.find( '.btProgressAnim' ).data( 'percentage' ) ) + '%)' ); 170 return false; 171 } 172 173 function btAnimateProgressReset( elm ) { 174 elm.find( '.btProgressAnim' ).css( 'transition-delay', Math.round( Math.random() * 250 ) + 'ms' ); 175 elm.find( '.btProgressAnim' ).css( 'transform', 'translateX(-100%)' ); 176 return false; 177 } 178 179 $( window ).on( 'btload', function() { 180 if ( ! $( 'body' ).hasClass( 'btPageTransitions' ) ) { 181 btAnimateElements(); 182 $( window ).scroll(function(){ 183 btAnimateElements(); 184 }); 185 } 186 }); 187 188 $( window ).on( 'bt_section_animation_end', function( e, el ) { 189 $( 'span.headline u, span.headline b, span.headline i' ).addClass( 'animate' ); 190 var $elems = $( el ).find( '.btCounter, .btProgressBar, span.headline u, span.headline b, span.headline i' ); 191 // classic animations 192 $elems.each(function() { 193 $elm = $( this ); 194 $elm.addClass( 'animated' ); 195 if ( $elm.hasClass( 'btCounter' ) ) { 196 btAnimateCounter( $elm ); 197 } 198 if ( $elm.hasClass( 'btProgressBar' ) ) { 199 btAnimateProgress( $elm ); 200 } 201 }); 202 }); 203 204 $( window ).on( 'bt_section_animation_out', function( e, el ) { 205 var $elems = $( el ).find( '.btCounter, .btProgressBar, span.headline u, span.headline b, span.headline i' ); 206 // classic animations 207 $elems.each(function() { 208 $elm = $( this ); 209 $elm.removeClass( 'animated' ); 210 if ( $elm.hasClass( 'btCounter' ) ) { 211 btAnimateCounterReset( $elm ); 212 } 213 if ( $elm.hasClass( 'btProgressBar' ) ) { 214 btAnimateProgressReset( $elm ); 215 } 216 }); 217 }); 218 219 /* Accordions and tabs */ 220 221 $( document ).ready(function () { 222 223 /* slick slider */ 224 $( '.slick-slider' ).slick(); 225 $( '.slick-slider .slick-prev, .slick-slider .slick-next' ).click(function() { 226 $( this ).closest( '.slick-slider' ).slick( 'slickPause' ); 227 }); 228 229 /* bt_bb_elements.js resets animated class */ 230 $( '.slick-slider' ).on('beforeChange', function(event, slick, currentSlide, nextSlide){ 231 $( this ).find( '.slick-slide .animated' ).removeClass( 'animated' ); 232 $( this ).find( '.slick-slide[data-slick-index='+nextSlide+'] .animate' ).addClass( 'animated' ); 233 }); 234 235 /* Countdown */ 236 237 $( '.btCountdownHolder' ).each(function() { 238 239 var cd = $( this ); 240 var s = cd.data( 'init-seconds' ); 241 242 bt_bb_countdown_output( cd ); 243 244 setInterval(function() { 245 bt_bb_countdown_output( cd ); 246 }, 1000 ); 247 }); 248 249 /* Accordions */ 250 251 $( '.tabsVertical .tabAccordionContent' ).hide(); 252 253 $( '.tabsVertical .tabAccordionTitle' ).click(function() { 254 if ( $( this ).hasClass( 'on' ) ) { 255 $( this ).removeClass( 'on' ).next().slideUp( 250 ); 256 } else { 257 $( this ).closest( '.tabsVertical' ).find( '.tabAccordionTitle' ).removeClass( 'on' ); 258 $( this ).closest( '.tabsVertical' ).find( '.tabAccordionContent' ).delay( 250 ).slideUp( 250 ); 259 $( this ).addClass( 'on' ).next().slideDown( 250 ); 260 } 261 }); 262 263 $( '.tabsVertical' ).each(function() { 264 var open_first = $( this ).data( 'open-first' ); 265 if ( open_first == 'yes' ) { 266 $( this ).find( '.tabAccordionTitle' ).first().click(); 267 } 268 }); 269 270 /* Tabs */ 271 272 $( '.tabsHorizontal ul.tabsHeader li' ).click(function() { 273 $(this).siblings().removeClass( 'on' ); 274 $( this ).addClass( 'on' ); 275 $( this ).parent().parent().find( '.tabPanes .tabPane' ).removeClass( 'on' ); 276 $( this ).parent().parent().find( '.tabPanes .tabPane' ).eq( $(this).index() ).addClass( 'on' ); 277 }); 278 279 $( '.tabsHorizontal ul.tabsHeader' ).each(function(){ 280 $( this ).find( 'li' ).first().click(); 281 }); 282 283 /* Dropdown */ 284 285 $( '.btDropdownSelect' ).fancySelect({forceiOS: true}).on( 'change.fs', function( e ) { 286 var url = $( this ).parent().find( '.options .selected' ).data( 'raw-value' ); 287 if ( url != '' ) window.location = url; 288 }); 289 290 // Wrap inline row 291 $( '.btIconImageRow > div' ).wrap( '<div class="btIconImageCell"></div>' ); 292 $.each( $( '.btIconImageRow' ), function() { 293 $( this ).addClass( 'btCells-' + $( this ).children( 'div' ).length ); 294 }); 295 296 /* Before/After Image */ 297 if($(".bt_bb_before_after_image-container")[0]){ 298 $(".bt_bb_before_after_image-container").twentytwenty({ 299 /*before_label: 'January 2017', // Set a custom before label 300 after_label: 'March 2017', // Set a custom after label*/ 301 }); 302 } 303 304 305 }); 306 307 308})( jQuery );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.