1var players = {}; 2 3function pauseMainBanner(){ 4 $('.top_slider_wrapp .flexslider').flexslider('pause'); 5} 6 7function playMainBanner(){ 8 $('.top_slider_wrapp .flexslider').flexslider('play'); 9} 10 11function startMainBannerSlideVideo($slide){ 12 var slideActiveIndex = $slide.attr('data-slide_index') 13 var $slides = $slide.closest('.slides').find('.box[data-slide_index="'+ slideActiveIndex +'"]') // current slide & cloned 14 var videoSource = $slide.attr('data-video_source') 15 if(videoSource){ 16 $slides.addClass('loading') 17 pauseMainBanner() 18 19 var videoPlayerSrc = $slide.attr('data-video_src') 20 var videoSoundDisabled = $slide.attr('data-video_disable_sound') 21 var bVideoSoundDisabled = videoSoundDisabled == 1 22 var videoLoop = $slide.attr('data-video_loop') 23 var bVideoLoop = videoLoop == 1 24 var videoCover = $slide.attr('data-video_cover') 25 var bVideoCover = videoCover == 1 && !isMobile 26 var videoUnderText = $slide.attr('data-video_under_text') 27 var bVideoUnderText = videoUnderText == 1 28 var videoPlayer = $slide.attr('data-video_player') 29 var bVideoPlayerYoutube = videoPlayer === 'YOUTUBE' 30 var bVideoPlayerVimeo = videoPlayer === 'VIMEO' 31 var bVideoPlayerRutube = videoPlayer === 'RUTUBE' 32 var bVideoPlayerHtml5 = videoPlayer === 'HTML5' 33 34 if(videoPlayerSrc && !$slide.find('.video').length){ 35 36 var InitPlayer = function(){ 37 $slides.each(function(i, node){ 38 var $_slide = $(node); 39 var videoID = getRandomInt(100, 1000); 40 var bClone = $_slide.hasClass('clone'), 41 tmp_class = $_slide.attr('id'); 42 if(!$_slide.find('.video.'+tmp_class).length) 43 { 44 45 if(bVideoPlayerYoutube){ 46 $_slide.prepend('<iframe id="player_' + videoID + '" class="video ' + tmp_class + (bVideoCover ? ' cover' : '') + '" src="'+ videoPlayerSrc +'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay"></iframe>'); 47 } 48 else if(bVideoPlayerVimeo){ 49 $_slide.prepend('<iframe id="player_' + videoID + '" class="video ' + tmp_class + (bVideoCover ? ' cover' : '') + '" src="'+ videoPlayerSrc +'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay"></iframe>'); 50 } 51 else if(bVideoPlayerRutube){ 52 videoPlayerSrc = videoPlayerSrc + '&playerid=' + videoID; 53 $_slide.prepend('<iframe id="player_' + videoID + '" class="video ' + tmp_class + (bVideoCover ? ' cover' : '') + '" src="'+ videoPlayerSrc +'" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen allow="autoplay"></iframe>'); 54 } 55 else if(bVideoPlayerHtml5){ 56 $_slide.prepend('<video autobuffer playsinline webkit-playsinline autoplay id="player_' + videoID + '" class="video ' + tmp_class + (bVideoCover ? ' cover' : '') + '"' + (bVideoLoop ? ' loop ' : '') + (bVideoSoundDisabled || bClone ? ' muted ' : '') + '><source src="'+ videoPlayerSrc +'" type=\'video/mp4; codecs="avc1.42E01E, mp4a.40.2"\' /><p class="vjs-no-js">To view this video please enable JavaScript, and consider upgrading to a web browser that supports HTML5 video</p></iframe>'); 57 } 58 } 59 60 if(typeof(players) !== 'undefined' && players){ 61 players[videoID] = { 62 id: 'player_' + videoID, 63 mute: bVideoSoundDisabled || bClone, 64 loop: bVideoLoop, 65 cover: bVideoCover, 66 videoPlayer: videoPlayer, 67 slideIndex: slideActiveIndex, 68 clone: bClone, 69 playing: false 70 }; 71 72 if(bVideoPlayerYoutube){ 73 window[players[videoID].id] = new YT.Player( 74 players[videoID].id, { 75 events: { 76 'onReady': onYoutubePlayerReady, 77 'onStateChange': onYoutubePlayerStateChange 78 } 79 } 80 ); 81 } 82 else if(bVideoPlayerVimeo){ 83 window[players[videoID].id] = new Vimeo.Player(document.getElementById(players[videoID].id), {autopause: false, byline: false, loop: false, title: false}); 84 window[players[videoID].id].on('loaded', onVimeoPlayerReady) 85 window[players[videoID].id].on('play', onVimeoPlayerStateChange) 86 window[players[videoID].id].on('pause', onVimeoPlayerStateChange) 87 window[players[videoID].id].on('ended', onVimeoPlayerStateChange) 88 } 89 else if(bVideoPlayerRutube){ 90 document.getElementById(players[videoID].id).onload = function(e){
91 var videoID = this.id.replace('player_', '') 92 players[videoID].contentWindow = this.contentWindow 93 onRutubePlayerReady(videoID) 94 } 95 } 96 else if(bVideoPlayerHtml5){ 97 document.getElementById(players[videoID].id).addEventListener('loadeddata', onHtml5PlayerReady) 98 document.getElementById(players[videoID].id).addEventListener('play', onHtml5PlayerStateChange) 99 document.getElementById(players[videoID].id).addEventListener('pause', onHtml5PlayerStateChange) 100 document.getElementById(players[videoID].id).addEventListener('ended', onHtml5PlayerStateChange) 101 } 102 } 103 }); 104 } 105 106 if(!bVideoPlayerHtml5){ 107 var obPlayerVariable = '' 108 var fnPlayerVariable = '' 109 if(typeof window['YoutubePlayerScriptLoaded'] === 'undefined'){ 110 window['YoutubePlayerScriptLoaded'] = false 111 } 112 if(typeof window['VimeoPlayerScriptLoaded'] === 'undefined'){ 113 window['VimeoPlayerScriptLoaded'] = false 114 } 115 if(typeof window['RutubePlayerListnersAdded'] === 'undefined'){ 116 window['RutubePlayerListnersAdded'] = false 117 } 118 119 // load script 120 if(bVideoPlayerYoutube){ 121 obPlayerVariable = 'YT' 122 fnPlayerVariable = 'Player' 123 if(!window['YoutubePlayerScriptLoaded']){ 124 var script = document.createElement('script'); 125 script.src = "https://www.youtube.com/iframe_api"; 126 var firstScriptTag = document.getElementsByTagName('script')[0]; 127 firstScriptTag.parentNode.insertBefore(script, firstScriptTag); 128 window['YoutubePlayerScriptLoaded'] = true; 129 } 130 } 131 else if(bVideoPlayerVimeo){ 132 obPlayerVariable = 'Vimeo' 133 if(!window['VimeoPlayerScriptLoaded']){ 134 var script = document.createElement('script'); 135 script.src = 'https://player.vimeo.com/api/player.js'; 136 (document.head || document.documentElement).appendChild(script); 137 window['VimeoPlayerScriptLoaded'] = true 138 } 139 } 140 else if(bVideoPlayerRutube){ 141 if(!window['RutubePlayerListnersAdded']){ 142 window.addEventListener('message', function(e){ 143 if(e.origin.indexOf('rutube.ru') !== -1){ 144 var message = JSON.parse(e.data) 145 if(typeof message === 'object' && message){ 146 if(typeof message.type !== 'undefined' && message.type){ 147 var videoID = false 148 149 for(var j in players){ 150 if(typeof players[j].contentWindow !== 'undefined'){ 151 if(players[j].contentWindow == e.source){ 152 videoID = j 153 break 154 } 155 } 156 } 157 158 if(videoID){ 159 switch (message.type) { 160 case 'player:changeState': 161 onRutubePlayerStateChange(videoID, message.data.state) 162 break 163 case 'player:currentTime': 164 onRutubePlayerCurrentTime(videoID, message.data.time) 165 break 166 } 167 } 168 } 169 } 170 } 171 }); 172 } 173 } 174 175 if(!obPlayerVariable.length){ 176 InitPlayer() 177 } 178 else{ 179 // wait player class 180 if(typeof window[obPlayerVariable] === 'object'){ 181 if(!fnPlayerVariable.length || (fnPlayerVariable.length && typeof window[obPlayerVariable][fnPlayerVariable] === 'function')){ 182 183 InitPlayer() 184 } 185 } 186 else{ 187 var waitPlayerInterval = setInterval(function(){ 188 if(typeof window[obPlayerVariable] === 'object'){ 189 if(!fnPlayerVariable.length || (fnPlayerVariable.length && typeof window[obPlayerVariable][fnPlayerVariable] === 'function')){ 190 191 clearInterval(waitPlayerInterval) 192 193 InitPlayer() 194 } 195 } 196 }, 50) 197 } 198 } 199 200 } 201 else{ 202 InitPlayer() 203 } 204 } 205 else 206 { 207 // pause play video 208 if(typeof(players) !== 'undefined' && players){ 209 for(var j in players){ 210 if(/*players[j].playing &&*/ !players[j].clone/* && (players[j].slideIndex != curSlideIndex)*/){ 211 if((typeof window[players[j].id] == 'object')){ 212 if(players[j].playing) 213 { 214 if(players[j].videoPlayer === 'YOUTUBE'){ 215 window[players[j].id].pauseVideo() 216 } 217 else if(players[j].videoPlayer === 'VIMEO'){ 218 window[players[j].id].pause() 219 } 220 else if(players[j].videoPlayer === 'RUTUBE'){ 221 document.getElementById(players[j].id).contentWindow.postMessage(JSON.stringify({ 222 type: 'player:pause', 223 data: {} 224 }), '*') 225 } 226 else if(players[j].videoPlayer === 'HTML5'){ 227 document.getElementById(players[j].id).pause() 228 } 229 } 230 else if(players[j].slideIndex == slideActiveIndex) 231 { 232 if(players[j].videoPlayer === 'YOUTUBE'){ 233 window[players[j].id].playVideo() 234 } 235 else if(players[j].videoPlayer === 'VIMEO'){ 236 window[players[j].id].play() 237 } 238 else if(players[j].videoPlayer === 'RUTUBE'){ 239 document.getElementById(players[j].id).contentWindow.postMessage(JSON.stringify({ 240 type: 'player:play', 241 data: {} 242 }), '*') 243 } 244 else if(players[j].videoPlayer === 'HTML5'){ 245 document.getElementById(players[j].id).play() 246 } 247 } 248 } 249 } 250 } 251 } 252 } 253 } 254} 255 256var CoverPlayerHtml = function(curSlideIndex){ 257 var $videoCover = $('.video.cover'); 258 259 if($videoCover.length){ 260 //setTimeout(function(){
261 var currenSlide = $('.box[data-slide_index="'+curSlideIndex+'"]'); 262 263 var bannersHeight = $('.top_slider_wrapp').height(); 264 var bannersWidth = $('.top_slider_wrapp').width(); 265 var videoHeight = $('.top_slider_wrapp video').outerHeight(); 266 var videoWidth = $('.top_slider_wrapp video').outerWidth(); 267 268 if(bannersHeight >= videoHeight && videoWidth >= bannersWidth){ 269 currenSlide.find('video.cover').height(bannersHeight+(jQuery.browser.mobile ? 30 : 0)).width('auto'); 270 271 if(currenSlide.hasClass('wvideo')) 272 currenSlide.css('background-position-x', 'auto'); 273 274 } 275 else if(bannersHeight < videoHeight && videoWidth < bannersWidth){ 276 currenSlide.find('video.cover').width(bannersWidth).height('auto'); 277 278 if(currenSlide.hasClass('wvideo')) 279 currenSlide.css('background-position-y', 'auto'); 280 } 281 282 //if(window.matchMedia('(min-width:992px)').matches){ 283 //setTimeout(function(){ 284 if(currenSlide.find('video.cover').length) 285 { 286 currenSlide.find('video.cover').css('margin-top', -videoHeight/2); 287 var bannerWidth = $('.top_slider_wrapp video').width(); 288 // currenSlide.find('video.cover').css('margin-left', -bannerWidth/2); 289 } 290 //}, 300); 291 /*} 292 else{ 293 $('.top_slider_wrapp video').css('margin-top', 0); 294 }*/ 295 setTimeout(function(){ 296 $('.video.cover').css('visibility', 'visible'); 297 }, 1300); 298 //}, 10); 299 } 300} 301 302var CoverPlayer = function(){ 303 var $videoCover = $('.video.cover') 304 if($videoCover.length){ 305 var bannersHeight = $('.top_slider_wrapp').height() 306 var bannersWidth = $('.top_slider_wrapp').width() 307 var windowWidth = $(window).width() 308 var height = windowWidth * 9 / 16 309 $videoCover.css({'height': height + 'px', 'margin-top': ((bannersHeight - height) / 2) + 'px'}) 310 } 311} 312 313function onYoutubePlayerReady(e) { 314 var videoID = e.target.a.id.replace('player_', '') 315 if(videoID){ 316 var mute = players[videoID].mute 317 var cover = players[videoID].cover 318 var clone = players[videoID].clone 319 320 // mute sound 321 if(mute || clone){ 322 window[players[videoID].id].mute() 323 } 324 325 // cover video 326 if(cover){ 327 CoverPlayer() 328 } 329 330 // not start clone video playing 331 if(clone){ 332 setTimeout(function(){ 333 e.target.pauseVideo() 334 }, 100) 335 } 336 else{ 337 // stop slider 338 pauseMainBanner() 339 e.target.playVideo(); 340 341 // e.target.playVideo(); 342 // e.target.playVideo(); 343 } 344 345 // update slide class 346 var $slide = $('#player_' + videoID).closest('.box') 347 $slide.addClass('started') 348 // $slide.removeClass('loading') 349 } 350} 351 352function onYoutubePlayerStateChange(e){ 353 var videoID = e.target.a.id.replace('player_', '') 354 if(videoID){ 355 var clone = players[videoID].clone 356 var loop = players[videoID].loop 357 var slideIndex = players[videoID].slideIndex 358 if(!clone){ 359 if(e.data === YT.PlayerState.PLAYING){ 360 players[videoID].playing = true 361 362 $('#player_'+videoID).closest('.box').find('.wrapper_inner').addClass('loading'); 363 $('#player_'+videoID).closest('.box').find('.wrapper_inner .btn-video').addClass('loading'); 364 365 // stop slider 366 pauseMainBanner() 367 368 e.target.playVideo() 369 } 370 else if(e.data === YT.PlayerState.PAUSED){ 371 players[videoID].playing = false 372 373 // sync time in cloned players & pause 374 var time = Math.floor(window[players[videoID].id].getCurrentTime() * 10) / 10 375 376 $('#player_'+videoID).closest('.box').find('.wrapper_inner').removeClass('loading'); 377 $('#player_'+videoID).closest('.box').find('.wrapper_inner .btn-video').removeClass('loading'); 378 379 window[players[videoID].id].seekTo(time, true) 380 for(var j in players){ 381 if(players[j].slideIndex == slideIndex && players[j].clone){ 382 383 if('getCurrentTime' in window[players[j].id]) 384 { 385 window[players[j].id].pauseVideo() 386 window[players[j].id].seekTo(time, true) 387 } 388 } 389 } 390 } 391 else if(e.data === YT.PlayerState.ENDED){ 392 players[videoID].playing = false 393 if(loop){ 394 e.target.playVideo() 395 } 396 else{ 397 // play slider 398 playMainBanner() 399 } 400 } 401 } 402 } 403} 404 405function onVimeoPlayerReady(e){
406 var videoID = this.element.id.replace('player_', '') 407 if(videoID){ 408 var mute = players[videoID].mute 409 var cover = players[videoID].cover 410 var clone = players[videoID].clone 411 412 // mute sound 413 if(mute || clone){ 414 window[players[videoID].id].setVolume(0) 415 } 416 417 // cover video 418 if(cover){ 419 CoverPlayer() 420 } 421 422 // not start clone video playing 423 if(clone){ 424 setTimeout(function(){ 425 window[players[videoID].id].pause() 426 }, 100) 427 } 428 else{ 429 // stop slider 430 pauseMainBanner() 431 432 window[players[videoID].id].play() 433 } 434 435 // update slide class 436 var $slide = $('#player_' + videoID).closest('.box') 437 $slide.addClass('started') 438 // $slide.removeClass('loading') 439 } 440} 441 442function onVimeoPlayerStateChange(e){ 443 var videoID = this.element.id.replace('player_', '') 444 if(videoID){ 445 var cover = players[videoID].cover 446 var clone = players[videoID].clone 447 var loop = players[videoID].loop 448 var slideIndex = players[videoID].slideIndex 449 450 if(!clone){ 451 window[players[videoID].id].getPaused().then(function(paused){ 452 if(paused){ 453 players[videoID].playing = false 454 455 $('#player_'+videoID).closest('.box').find('.wrapper_inner').removeClass('loading'); 456 $('#player_'+videoID).closest('.box').find('.wrapper_inner .btn-video').removeClass('loading'); 457 458 // sync time in cloned players & pause 459 window[players[videoID].id].getCurrentTime().then(function(seconds){ 460 var time = Math.floor(seconds * 10) / 10 461 window[players[videoID].id].setCurrentTime(time).then(function(seconds){ 462 for(var j in players){ 463 if(players[j].slideIndex == slideIndex && players[j].clone){ 464 window[players[j].id].pause() 465 window[players[j].id].setCurrentTime(time).then(function(seconds){}) 466 } 467 } 468 }) 469 }) 470 } 471 else{ 472 $('#player_'+videoID).closest('.box').find('.wrapper_inner').addClass('loading'); 473 $('#player_'+videoID).closest('.box').find('.wrapper_inner .btn-video').addClass('loading'); 474 window[players[videoID].id].getEnded().then(function(ended){ 475 if(ended){ 476 players[videoID].playing = false 477 if(loop){ 478 window[players[videoID].id].play() 479 } 480 else{ 481 // play slider 482 playMainBanner() 483 } 484 } 485 else{ 486 players[videoID].playing = true 487 488 489 // stop slider 490 pauseMainBanner() 491 } 492 }) 493 } 494 }) 495 } 496 } 497} 498 499function onRutubePlayerReady(videoID){ 500 if(videoID){ 501 var mute = players[videoID].mute 502 var cover = players[videoID].cover 503 var clone = players[videoID].clone 504 var player = document.getElementById(players[videoID].id) 505 506 // mute sound 507 if(mute || clone){ 508 player.contentWindow.postMessage(JSON.stringify({ 509 type: 'player:mute', 510 data: {} 511 }), '*') 512 } 513 514 // cover video 515 if(cover){ 516 CoverPlayer() 517 } 518 519 // not start clone video playing 520 if(clone){ 521 setTimeout(function(){ 522 player.contentWindow.postMessage(JSON.stringify({ 523 type: 'player:pause', 524 data: {} 525 }), '*') 526 }, 100) 527 } 528 else{ 529 // stop slider 530 pauseMainBanner() 531 532 player.contentWindow.postMessage(JSON.stringify({ 533 type: 'player:play', 534 data: {} 535 }), '*') 536 } 537 538 // update slide class 539 var $slide = $('#player_' + videoID).closest('.box') 540 $slide.addClass('started') 541 // $slide.removeClass('loading') 542 } 543} 544 545function onRutubePlayerCurrentTime(videoID, time){ 546 if(videoID){ 547 players[videoID].time = time 548 } 549} 550 551function onRutubePlayerStateChange(videoID, state){ 552 if(videoID){ 553 var clone = players[videoID].clone 554 var loop = players[videoID].loop 555 var slideIndex = players[videoID].slideIndex 556 var player = document.getElementById(players[videoID].id) 557 558 if(!clone){ 559 if(state === 'playing'){ 560 $('#'+videoID).closest('.box').find('.wrapper_inner').addClass('loading'); 561 $('#'+videoID).closest('.box').find('.wrapper_inner .btn-video').addClass('loading'); 562 563 players[videoID].playing = true 564 565 // stop slider 566 pauseMainBanner() 567 } 568 else if(state === 'paused'){ 569 $('#'+videoID).closest('.box').find('.wrapper_inner').removeClass('loading'); 570 $('#'+videoID).closest('.box').find('.wrapper_inner .btn-video').removeClass('loading'); 571 572 players[videoID].playing = false 573
574 // sync time in cloned players & pause 575 var time = Math.floor(players[videoID].time * 10) / 10 576 player.contentWindow.postMessage(JSON.stringify({ 577 type: 'player:setCurrentTime', 578 data: {time: time} 579 }), '*') 580 for(var j in players){ 581 if(players[j].slideIndex == slideIndex && players[j].clone){ 582 document.getElementById(players[j].id).contentWindow.postMessage(JSON.stringify({ 583 type: 'player:pause', 584 data: {} 585 }), '*') 586 document.getElementById(players[j].id).contentWindow.postMessage(JSON.stringify({ 587 type: 'player:setCurrentTime', 588 data: {time: time} 589 }), '*') 590 } 591 } 592 } 593 else if(state === 'stopped'){ 594 $('#'+videoID).closest('.box').find('.wrapper_inner').removeClass('loading'); 595 $('#'+videoID).closest('.box').find('.wrapper_inner .btn-video').removeClass('loading'); 596 597 players[videoID].playing = false 598 if(loop){ 599 player.contentWindow.postMessage(JSON.stringify({ 600 type: 'player:play', 601 data: {} 602 }), '*') 603 } 604 else{ 605 // play slider 606 playMainBanner() 607 } 608 } 609 } 610 } 611} 612 613function onHtml5PlayerReady(e){ 614 var videoID = e.target.id.replace('player_', '') 615 if(videoID){ 616 var mute = players[videoID].mute 617 var cover = players[videoID].cover 618 var clone = players[videoID].clone 619 620 // mute sound 621 if(mute || clone){ 622 $('#' + players[videoID].id).prop('muted', true); 623 } 624 625 // cover video 626 if(cover){ 627 CoverPlayer() 628 } 629 630 // not start clone video playing 631 if(clone){ 632 e.target.pause() 633 } 634 else{ 635 // stop slider 636 pauseMainBanner() 637 638 e.target.play() 639 } 640 641 // update slide class 642 var $slide = $('#player_' + videoID).closest('.box') 643 $slide.addClass('started') 644 // $slide.removeClass('loading') 645 } 646} 647 648function onHtml5PlayerStateChange(e){ 649 var videoID = e.target.id.replace('player_', '') 650 if(videoID){ 651 var cover = players[videoID].cover 652 var clone = players[videoID].clone 653 var loop = players[videoID].loop 654 var slideIndex = players[videoID].slideIndex 655 656 if(!clone){ 657 if(e.target.paused){ 658 players[videoID].playing = false 659 660 $('#player_'+videoID).closest('.box').find('.wrapper_inner').removeClass('loading'); 661 $('#player_'+videoID).closest('.box').find('.wrapper_inner .btn-video').removeClass('loading'); 662 663 // sync time in cloned players & pause 664 var time = Math.floor(e.target.currentTime * 10) / 10 665 e.target.currentTime = time 666 for(var j in players){ 667 if(players[j].slideIndex == slideIndex && players[j].clone){ 668 document.getElementById(players[j].id).pause() 669 document.getElementById(players[j].id).currentTime = time 670 } 671 } 672 } 673 else if(e.target.ended){ 674 players[videoID].playing = false 675 if(loop){ 676 $('#player_'+videoID).closest('.box').find('.wrapper_inner').addClass('loading'); 677 $('#player_'+videoID).closest('.box').find('.wrapper_inner .btn-video').addClass('loading'); 678 679 e.target.play() 680 } 681 else{ 682 // play slider 683 playMainBanner() 684 } 685 } 686 else{ 687 players[videoID].playing = true 688 689 $('#player_'+videoID).closest('.box').find('.wrapper_inner').addClass('loading'); 690 $('#player_'+videoID).closest('.box').find('.wrapper_inner .btn-video').addClass('loading'); 691 // stop slider 692 pauseMainBanner() 693 } 694 } 695 } 696} 697 698waitYTPlayer = function(delay, callback){ 699 if((typeof YT !== "undefined") && YT && YT.Player) 700 { 701 if(typeof callback == 'function') 702 callback(); 703 } 704 else 705 { 706 setTimeout(function(){ 707 waitYTPlayer(delay, callback); 708 }, delay); 709 } 710} 711 712// click on HTML5 video 713$(document).on('click', 'video.video', function(e){ 714 var videoID = e.target.id.replace('player_', '') 715 if(videoID){ 716 if(players[videoID].playing){ 717 e.target.pause() 718 } 719 else{ 720 //e.target.play() 721 } 722 } 723}) 724 725$('.top_slider_wrapp .box .wrapper_inner').on('click', function(e){
726 if(!$(e.target).hasClass('btn-video')) 727 { 728 if($(this).hasClass('loading')) 729 { 730 e.stopPropagation(); 731 $(this).find('.btn-video').trigger('click'); 732 } 733 if($(this).closest('.box').data('video_autoplay')) 734 startMainBannerSlideVideo($(this).closest('.box')); 735 } 736}) 737 738$(document).on('click', '.top_slider_wrapp .box.wvideo', function(){ 739 $(this).find('.btn-video').trigger('click'); 740}); 741 742// START VIDEO BUTTON 743$(document).on('click', '.top_slider_wrapp .box .btn-video', function(e){ 744 e.stopPropagation(); 745 if(!$(this).hasClass('loading')) 746 { 747 $(this).addClass('loading'); 748 $(this).closest('.wrapper_inner').addClass('loading'); 749 } 750 else 751 { 752 $(this).removeClass('loading'); 753 $(this).closest('.wrapper_inner').removeClass('loading'); 754 } 755 756 startMainBannerSlideVideo($(this).closest('.box')); 757}); 758 759getRandomInt = function(min, max){ 760 return Math.floor(Math.random() * (max - min)) + min; 761} 762 763BX.addCustomEvent('onSlideEnd', function(eventdata) { 764 try{ 765 ignoreResize.push(true); 766 if(eventdata){ 767 var slider = eventdata.slider; 768 if(slider){ 769 setTimeout(function(){ 770 $('.banners-big.front .btn-video, .banners-big.front .box').removeClass('loading'); 771 }, 300); 772 } 773 } 774 } 775 catch(e){} 776 finally{ 777 ignoreResize.pop(); 778 } 779}); 780 781var ignoreResize = []; 782 783BX.addCustomEvent('onSlide', function(eventdata) { 784 try{ 785 ignoreResize.push(true); 786 if(eventdata){ 787 var slider = eventdata.slider; 788 if(slider){ 789 var curSlide = slider.find('.box.flex-active-slide'); 790 var curSlideIndex = curSlide.attr('data-slide_index'); 791 792 if(typeof(curSlideIndex) !== 'undefined' && curSlideIndex.length){ 793 setTimeout(function(){ 794 CoverPlayerHtml(curSlideIndex); 795 }, 200); 796 797 // pause play video 798 if(typeof(players) !== 'undefined' && players){ 799 for(var j in players){ 800 if(players[j].playing && !players[j].clone && (players[j].slideIndex != curSlideIndex)){ 801 if((typeof window[players[j].id] == 'object')){ 802 if(players[j].videoPlayer === 'YOUTUBE'){ 803 window[players[j].id].pauseVideo() 804 } 805 else if(players[j].videoPlayer === 'VIMEO'){ 806 window[players[j].id].pause() 807 } 808 else if(players[j].videoPlayer === 'RUTUBE'){ 809 document.getElementById(players[j].id).contentWindow.postMessage(JSON.stringify({ 810 type: 'player:pause', 811 data: {} 812 }), '*') 813 } 814 else if(players[j].videoPlayer === 'HTML5'){ 815 document.getElementById(players[j].id).pause() 816 } 817 } 818 } 819 } 820 } 821 // autoplay video 822 var bVideoAutoPlay = curSlide.attr('data-video_autoplay') == 1 823 if(bVideoAutoPlay){ 824 startMainBannerSlideVideo(curSlide) 825 } 826 } 827 828 if(curSlide.find('video').length && !curSlide.find('.btn-video').length){ 829 var videoID = curSlide.find('video').attr('id'); 830 document.getElementById(videoID).play(); 831 } 832 } 833 } 834 } 835 catch(e){} 836 finally{ 837 ignoreResize.pop(); 838 } 839});
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.