1jQuery(document).ready(kgvid_document_ready()); 2jQuery(window).on("load", kgvid_window_load); 3 4function kgvid_document_ready() { 5 6 jQuery('.kgvid_videodiv').each(function(){ //setup individual videos. WordPress Default has its own success callback 7 8 var video_vars = jQuery(this).data('kgvid_video_vars'); 9 10 if ( video_vars.player_type == "Video.js" ) { 11 12 kgvid_load_videojs(video_vars); 13 14 } 15 16 if ( video_vars.player_type == "JWPlayer" ) { 17 var player_id = jQuery('#video_'+video_vars.id+'_div').children('div[id^="jwplayer"]').attr('id'); 18 player_id = player_id.replace('_wrapper', ''); //Flash JW Players have wrapper in the id 19 var player = jwplayer(player_id); 20 player.onReady( kgvid_setup_video(video_vars.id) ); 21 } 22 23 if ( video_vars.player_type == "StrobeMediaPlayback" ) { 24 swfobject.embedSWF(video_vars.swfurl, 'video_'+video_vars.id, video_vars.width, video_vars.height, '10.1.0', video_vars.expressinstallswfurl, video_vars.flashvars, video_vars.params); 25 kgvid_setup_video(video_vars.id); 26 } 27 28 }); 29 30} 31 32function kgvid_window_load() { 33 34 jQuery('.kgvid_gallerywrapper').each(function(){ //setup gallery thumbnails 35 36 var gallery_id = this.id; 37 kgvid_resize_gallery_play_button(gallery_id); 38 jQuery(window).resize( function(){ kgvid_resize_gallery_play_button(gallery_id) } ); 39 setTimeout(function(){ kgvid_resize_gallery_play_button(gallery_id) }, 200); 40 41 }); 42 43} 44 45function kgvid_mejs_success(mediaElement, domObject) { 46 if ( domObject.nodeName == "VIDEO" ) { 47 var id = jQuery(domObject).parents('.kgvid_videodiv').data('id'); 48 if ( id != undefined ) { //make sure we're using KGVID shortcode 49 kgvid_setup_video(id); 50 } 51 } 52} 53 54function kgvid_convert_to_timecode(time) { 55 56 var minutes = Math.floor(time / 60); 57 var seconds = Math.round((time - (minutes * 60))*100)/100; 58 if (minutes < 10) {minutes = "0"+minutes;} 59 if (seconds < 10) {seconds = "0"+seconds;} 60 var time_display = minutes+':'+seconds; 61 return time_display; 62 63} 64 65function kgvid_convert_from_timecode(timecode) { 66 67 var timecode_array = timecode.split(":"); 68 timecode_array = timecode_array.reverse(); 69 if ( timecode_array[1] ) { timecode_array[1] = timecode_array[1] * 60; } 70 if ( timecode_array[2] ) { timecode_array[2] = timecode_array[2] * 3600; } 71 var thumbtimecode = 0; 72 jQuery.each(timecode_array,function() { 73 thumbtimecode += parseFloat(this); 74 }); 75 return thumbtimecode; 76 77} 78 79function kgvid_SetVideo(id) { //for galleries 80 81 //set the viewport meta tag so the gallery fits in iOS 82 var viewport_meta = jQuery('meta[name="viewport"]').first(); 83 var viewport_original = ""; 84 if ( viewport_meta.length == 1 ) { 85 var viewport_original = viewport_meta.attr('content'); 86 viewport_meta.attr('content', 'width=device-width, initial-scale=1'); 87 } 88 else { jQuery('head').append('<meta name="viewport" content="width=device-width, initial-scale=1" id="kgvid_gallery_viewport">'); } 89 90 var gallery_id = jQuery('#kgvid_video_gallery_thumb_'+id).parent().attr('id'); 91 92 var width = jQuery('#kgvid_video_gallery_thumb_'+id).data('width'); 93 var height = jQuery('#kgvid_video_gallery_thumb_'+id).data('height'); 94 var aspect_ratio = Math.round(height/width*1000)/1000 95 var window_width = window.outerWidth; 96 if ( window.outerWidth == 0 ) { window_width = window.innerWidth; } 97 if ( width > window_width ) { 98 width = window_width-60; 99 height = Math.round(width * aspect_ratio); 100 } 101 if ( height > (jQuery(window).height() - 20) ) { 102 height = jQuery(window).height() - 20;
103 width = Math.round(height / aspect_ratio); 104 } 105 106 var frame_height = height; 107 var meta = jQuery('#kgvid_video_gallery_thumb_'+id).data('meta'); 108 if ( meta > 0 ) { frame_height = parseInt(height)+Math.round(28*meta); } 109 var frame_width = parseInt(width) + 10; 110 frame_height = parseInt(frame_height) + 10; 111 112 jQuery.modal("", { 113 overlayId: 'kgvid-simplemodal-overlay', 114 containerId: 'kgvid-simplemodal-container', 115 opacity:70, 116 minWidth:frame_width, 117 minHeight:frame_height, 118 autoResize: false, 119 overlayClose:true, 120 closeHTML:'<a class="modalCloseImg simplemodal-close" title="Close"><span class="dashicons dashicons-no-alt"></span></a>', 121 zIndex:10000, 122 onShow: function(dialog) { 123 124 //build next/previous buttons 125 126 var is_paginated = jQuery('#'+gallery_id+' .kgvid_gallery_pagination span').length > 0; 127 128 var nav_code = ''; 129 if ( jQuery('#kgvid_video_gallery_thumb_'+id).prev('#'+gallery_id+' .kgvid_video_gallery_thumb').length > 0 || 130 ( is_paginated && jQuery('#'+gallery_id+' .kgvid_gallery_pagination_selected').html() != "1" ) 131 ) { 132 nav_code += '<a class="kgvid_gallery_nav kgvid_gallery_prev" title="'+kgvidL10n_frontend.previous+'">←</a>'; 133 } 134 if ( jQuery('#kgvid_video_gallery_thumb_'+id).next('#'+gallery_id+' .kgvid_video_gallery_thumb').length > 0 || 135 ( is_paginated && jQuery('#'+gallery_id+' .kgvid_gallery_pagination span a').last().html() > jQuery('#'+gallery_id+' .kgvid_gallery_pagination_selected').html() ) 136 ) { 137 nav_code += '<a class="kgvid_gallery_nav kgvid_gallery_next" title="'+kgvidL10n_frontend.next+'">→</a>'; 138 } 139 140 jQuery('#kgvid-simplemodal-container').prepend(nav_code); 141 142 jQuery('.kgvid_gallery_next').click( function() { 143 144 var next_thumb = jQuery('#kgvid_video_gallery_thumb_'+id).next('.kgvid_video_gallery_thumb'); 145 146 if ( next_thumb.length == 0 && is_paginated ) { 147 var next_page = jQuery('#'+gallery_id+' .kgvid_gallery_pagination_selected').next(); 148 kgvid_switch_gallery_page(next_page[0], 'next'); 149 } 150 else { //not switching pages 151 jQuery.modal.close(); 152 next_thumb.trigger('click'); 153 } 154 155 }); 156 157 jQuery('.kgvid_gallery_prev').click( function() { 158 159 var prev_thumb = jQuery('#kgvid_video_gallery_thumb_'+id).prev('.kgvid_video_gallery_thumb'); 160 161 if ( prev_thumb.length == 0 && is_paginated ) { 162 var prev_page = jQuery('#'+gallery_id+' .kgvid_gallery_pagination_selected').prev(); 163 kgvid_switch_gallery_page(prev_page[0], 'prev'); 164 } 165 else { //not switching pages 166 jQuery.modal.close(); 167 prev_thumb.trigger('click'); 168 } 169 170 }); 171 jQuery('#simplemodal-data').prepend('<div id="kgvid_popup_video_holder_'+id+'"></div>'); 172 173 jQuery(document).on('keydown.kgvid', function(e) { 174 switch(e.which) { 175 case 37: // left 176 jQuery('.kgvid_gallery_prev').click(); 177 break; 178 179 case 39: // right 180 jQuery('.kgvid_gallery_next').click(); 181 break; 182 183 default: return; // exit this handler for other keys 184 } 185 e.preventDefault(); // prevent the default action (scroll / move caret) 186 }); 187 188 //load the video player embed code 189 190 if ( jQuery('#kgvid_popup_video_holder_'+id).length == 1 ) { //make sure the user hasn't moved on to another video 191 192 var popup_code = jQuery('#kgvid_video_gallery_thumb_'+id).data('popupcode'); 193 var video_vars = jQuery('#kgvid_video_gallery_thumb_'+id).data('kgvid_video_vars'); 194 195 jQuery('#kgvid_popup_video_holder_'+id).html(popup_code); 196 jQuery('#video_'+id+'_div').data('kgvid_video_vars', video_vars); 197 198 if ( video_vars.player_type == "StrobeMediaPlayback" ) { 199 swfobject.embedSWF(video_vars.swfurl, 'video_'+id, video_vars.width, video_vars.height, '10.1.0', video_vars.expressinstallswfurl, video_vars.flashvars, video_vars.params); 200 } 201 202 if ( video_vars.player_type == "Video.js" ) { 203 setTimeout(function() { kgvid_load_videojs(video_vars); }, 0); 204 } 205 else { setTimeout(function() { kgvid_setup_video(id); }, 0); } 206 207 dialog.wrap.css('overflow', 'hidden'); //disable scroll bars 208 if ( meta > 0 ) { 209 jQuery('#kgvid-simplemodal-container').css('color','white'); //show text if there's anything to see below the video 210 meta_bump = 5; 211 if ( video_vars.player_type == "JWPlayer" ) { meta_bump = 15; } 212 jQuery('#kgvid-simplemodal-container').height(jQuery('#kgvid-simplemodal-container').height() + meta_bump); 213 jQuery.modal.setPosition(); 214 } 215 216 if ( video_vars.player_type == "WordPressDefault" ) { 217 jQuery('#kgvid_'+id+'_wrapper video').mediaelementplayer({ 218 success: function(mediaElement, domObject) { 219 if (mediaElement.pluginType == 'flash' || mediaElement.pluginType == 'silverlight') { 220 mediaElement.addEventListener('canplay', function() { 221 // Player is ready 222 mediaElement.play(); 223 }, false); 224 225 mediaElement.addEventListener('ended', function() { 226 if ( jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != "" && jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != null ) { 227 kgvid_video_gallery_end_action(id, jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end')); 228 } 229 }, false); 230 }//end if flash or silverlight 231 else { mediaElement.play(); } 232 }, 233 features : [ 'playpause', 'progress', 'volume', 'tracks', 's
233ourcechooser', 'fullscreen' ] 234 }); 235 }//end if WordPress Default 236 }//end check to make sure video still needs to load 237 238 }, //end onShow function 239 onClose: function(dialog) { 240 241 if ( viewport_original != "" ) { viewport_meta.attr('content', viewport_original); } 242 else { jQuery('#kgvid_gallery_viewport').remove(); } 243 244 var video_vars = jQuery('#video_'+id+'_div').data('kgvid_video_vars'); 245 246 if ( video_vars !== undefined ) { 247 if ( video_vars.player_type == "Video.js" ) { 248 eval('videojs.players.video_'+id).pause(); 249 setTimeout(function() { eval('videojs.players.video_'+id).dispose(); }, 0); 250 } 251 if ( video_vars.player_type == "JWPlayer" ) { 252 jwplayer(jQuery('#kgvid_'+id+'_wrapper .jwplayer').attr('id')).stop(); 253 } 254 } 255 256 jQuery(window).off('resize', kgvid_resize_video(id)); 257 jQuery(document).off('keydown.kgvid'); //disable left/right navigation 258 jQuery.modal.close(); 259 } 260 }); //end modal call 261 262} 263 264function kgvid_video_gallery_end_action(id, action) { 265 jQuery.modal.close(); 266 if ( action == "next" ) { 267 jQuery('#kgvid_video_gallery_thumb_'+id).next('#'+jQuery('#kgvid_video_gallery_thumb_'+id).parent().attr('id')+' .kgvid_video_gallery_thumb').trigger('click') 268 } 269} 270 271function kgvid_timeupdate_poster() { 272 jQuery('#'+this.id()+' > .vjs-poster').fadeOut(); 273} 274 275function kgvid_add_hover(id) { 276 277 jQuery('#video_'+id+'_div').hover( 278 function(){ 279 jQuery('#video_'+id+'_meta').addClass('kgvid_video_meta_hover'); 280 }, 281 function(){ 282 jQuery('#video_'+id+'_meta').removeClass('kgvid_video_meta_hover'); 283 } 284 ); 285 286 jQuery('#video_'+id+'_div').focus( 287 function(){ 288 jQuery('#video_'+id+'_meta').addClass('kgvid_video_meta_hover'); 289 } 290 ) 291 .focusout( 292 function(){ 293 jQuery('#video_'+id+'_meta').removeClass('kgvid_video_meta_hover'); 294 } 295 ); 296 297} 298 299function kgvid_load_videojs(video_vars) { 300 301 var videojs_options = { "language": video_vars.locale }; 302 303 if ( videojs.browser.IS_IPHONE == true ) { 304 videojs_options.html5 = { "nativeTextTracks" : true }; 305 } 306 else { videojs_options.html5 = { "nativeTextTracks" : false }; } 307 308 if ( video_vars.resize == "true" || video_vars.fullwidth == "true" ) { 309 videojs_options.fluid = true; 310 } 311 else { 312 videojs_options.fluid = false; 313 } 314 if ( videojs_options.fluid == true && video_vars.width != undefined && video_vars.width.indexOf('%') === -1 && video_vars.height != undefined ) { 315 videojs_options.aspectRatio = video_vars.width + ':' + video_vars.height; 316 } 317 if ( video_vars.nativecontrolsfortouch == "true" ) { 318 videojs_options.nativeControlsForTouch = true; 319 } 320 if ( video_vars.playback_rate == "true" ) { 321 videojs_options.playbackRates = [0.5, 1, 1.25, 1.5, 2]; 322 } 323 if ( video_vars.enable_resolutions_plugin == "true" ) { 324 325 kgvid_load_video_quality_selector(); //defined in video-quality-selector.js 326 327 if ( videojs.VERSION.split('.')[0] >= 5 ) { 328 329 videojs_options.plugins = { "resolutionSelector" : { "force_types" : ["video/mp4"] } }; 330 if ( video_vars.default_res ) { 331 videojs_options.plugins.resolutionSelector.default_res = video_vars.default_res; 332 } 333 334 } 335 336 else { 337 console.warn('Video Embed & Thumbnail Generator: Video.js version '+videojs.VERSION+' is loaded by another application. Resolution selection is not compatible with this older version and has been disabled.'); 338 } 339 } 340 341 videojs('video_'+video_vars.id, videojs_options ).ready(function(){ kgvid_setup_video(video_vars.id); }); 342 343} 344 345function kgvid_setup_video(id) { 346 347 var video_vars = jQuery('#video_'+id+'_div').data('kgvid_video_vars'); 348 349 if ( typeof (jQuery) == 'function' ) { jQuery.fn.fitVids=function(){}; }; //disable fitvids 350 351 var iOS = ( navigator.userAgent.match(/(iPad|iPhone|iPod)/i) ? true : false ); 352 if (iOS && video_vars.player_type == "StrobeMediaPlayback" ) { video_vars.player_type = "Video.js"; } 353 354 jQuery('#video_'+id+'_div').prepend(jQuery('#video_'+id+'_watermark')); 355 jQuery('#video_'+id+'_watermark').attr('style', ''); //shows the hidden watermark div 356 jQuery('#video_'+id+'_div').prepend(jQuery('#video_'+id+'_meta')); 357 jQuery('#video_'+id+'_embed, #click_trap_'+id).appendTo('#video_'+id+'_div'); 358 jQuery('#click_trap_'+id).on('click', function(){ kgvid_share_icon_click(id); }); 359 jQuery('#video_'+id+'_meta').attr('style', ''); //shows the hidden meta div 360 if ( video_vars.autoplay == "true" ) { 361 kgvid_video_counter(id, 'play'); 362 jQuery('#video_'+id+'_meta').removeClass('kgvid_video_meta_hover'); 363 } 364 365 if ( video_vars.right_click != "on" ) { 366 jQuery('#video_'+id+'_div').bind('contextmenu',function() { return false; }); 367 } 368 369 if ( video_vars.player_type == "Video.js" ) { 370 371 var player = eval('videojs.players.video_'+id); 372 373 if ( jQuery('#video_'+id+'_flash_api').parent().is('.fluid-width-video-wrapper') ) { //disables fitVids.js 374 jQuery('#video_'+id+'_flash_api').unwrap(); 375 } 376 377 jQuery('#video_'+id).append(jQuery('#video_'+id+'_watermark')); 378 379 if ( videojs.VERSION.split('.')[0] >= 5 && videojs.browser.TOUCH_ENABLED == true ) { 380 381 if ( video_vars.nativecontrolsfortouch == "true" && videojs.browser.IS_ANDROID ) { 382 jQuery('.vjs-big-play-button').hide(); 383 } 384 385 if ( player.controls() == false && player.muted() == false ) { //mobile browsers allow auto
385play only if the player is muted 386 player.controls(true); 387 } 388 } 389 390 if ( video_vars.autoplay == "true" && !player.paused() && player.hasClass('vjs-paused') ) { 391 player.pause(); 392 player.play(); 393 } 394 395 player.on('loadedmetadata', function(){ 396 397 if ( videojs.VERSION.split('.')[0] >= 5 ) { 398 399 var text_tracks = player.textTracks(); 400 var track_elements = player.options_.tracks; 401 var played = jQuery('#video_'+id+'_div').data("played") || "not played"; 402 403 if ( played == "not played" ) { //only turn on the default captions on first load 404 405 if ( track_elements != null ) { 406 jQuery(text_tracks).each(function(index, track) { 407 if ( track_elements[index].default == true && track.mode != 'showing' ) { player.textTracks()[index].mode = 'showing'; } 408 }); 409 } 410 411 if ( video_vars.start != '' ) { 412 player.currentTime(kgvid_convert_from_timecode(video_vars.start)); 413 } 414 415 } 416 417 } 418 419 if ( video_vars.set_volume != "" ) { player.volume(video_vars.set_volume); } 420 421 if ( video_vars.autoplay == "true" && player.paused() ) { player.play(); } 422 423 }); 424 425 player.on('play', function kgvid_play_start(){ 426 player.off('timeupdate', kgvid_timeupdate_poster); 427 if ( video_vars.meta ) { 428 kgvid_add_hover(id); 429 jQuery('#video_'+id+'_meta').removeClass('kgvid_video_meta_hover'); 430 } 431 if ( video_vars.autoplay == "true" ) { jQuery('#video_'+id+' > .vjs-control-bar').removeClass('vjs-fade-in'); } 432 if ( video_vars.endofvideooverlay != "" ) { jQuery('#video_'+id+' > .vjs-poster').hide(); } 433 434 if ( video_vars.pauseothervideos == "true" && videojs.VERSION.split('.')[0] >= 5 ) { 435 jQuery.each(videojs.getPlayers(), function(otherPlayerId, otherPlayer) { 436 if ( player.id() != otherPlayerId 437 && otherPlayer != null 438 && !otherPlayer.paused() 439 && !otherPlayer.autoplay() ) { 440 otherPlayer.pause(); 441 } 442 }); 443 } 444 445 kgvid_video_counter(id, 'play'); 446 447 player.on('timeupdate', function(){ 448 449 var percent_duration = Math.round(player.currentTime() / player.duration() * 100); 450 451 if ( jQuery('#video_'+id+'_div').data("25") == undefined && percent_duration >= 25 && percent_duration < 50 ) { 452 jQuery('#video_'+id+'_div').data("25", true); 453 kgvid_video_counter(id, '25'); 454 } 455 else if ( jQuery('#video_'+id+'_div').data("50") == undefined && percent_duration >= 50 && percent_duration < 75 ) { 456 jQuery('#video_'+id+'_div').data("50", true); 457 kgvid_video_counter(id, '50'); 458 } 459 else if ( jQuery('#video_'+id+'_div').data("75") == undefined && percent_duration >= 75 && percent_duration < 100 ) { 460 jQuery('#video_'+id+'_div').data("75", true); 461 kgvid_video_counter(id, '75'); 462 463 } 464 465 }); 466 467 }); 468 469 player.on('pause', function kgvid_play_pause(){ 470 jQuery('#video_'+id+'_meta').addClass('kgvid_video_meta_hover'); 471 }); 472 473 player.on('ended', function kgvid_play_end(){ 474 if ( jQuery('#video_'+id+'_div').data("end") == undefined ) { 475 jQuery('#video_'+id+'_div').data("end", true); 476 kgvid_video_counter(id, 'end'); 477 } 478 setTimeout(function() { jQuery('#video_'+id+' > .vjs-loading-spinner').hide(); }, 250); 479 if ( video_vars.endofvideooverlay != "" ) { 480 jQuery('#video_'+id+' > .vjs-poster').css({ 481 'background-image':'url('+video_vars.endofvideooverlay+')' 482 }).fadeIn(); 483 484 setTimeout(function() { player.on('timeupdate', kgvid_timeupdate_poster); }, 500); 485 486 } 487 if ( jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != "" && jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != null ) { 488 kgvid_video_gallery_end_action(id, jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end')); 489 } 490 }); 491 492 player.on('fullscreenchange', function(){ 493 494 var 495 fullScreenApi = { 496 supportsFullScreen: false, 497 isFullScreen: function() { return false; }, 498 requestFullScreen: function() {}, 499 cancelFullScreen: function() {}, 500 fullScreenEventName: '', 501 prefix: '' 502 }, 503 browserPrefixes = 'webkit moz o ms khtml'.split(' '); 504 505 // check for native support 506 if (typeof document.cancelFullScreen != 'undefined') { 507 fullScreenApi.supportsFullScreen = true; 508 } else { 509 // check for fullscreen support by vendor prefix 510 for (var i = 0, il = browserPrefixes.length; i < il; i++ ) { 511 fullScreenApi.prefix = browserPrefixes[i];
512 if (typeof document[fullScreenApi.prefix + 'CancelFullScreen' ] != 'undefined' ) { 513 fullScreenApi.supportsFullScreen = true; 514 break; 515 } 516 } 517 } 518 519 if ( player.availableRes != undefined ) { 520 kgvid_resize_video(id); 521 } 522 523 if ( fullScreenApi.supportsFullScreen == false ) { 524 if ( jQuery('#video_'+id).hasClass('vjs-fullscreen') ) { 525 jQuery('#video_'+id+'_meta').hide(); 526 jQuery('#video_'+id+'_watermark img').css('position', 'fixed'); 527 } 528 else { 529 jQuery('#video_'+id+'_meta').show(); 530 jQuery('#video_'+id+'_watermark img').css('position', 'absolute'); 531 } 532 } 533 534 }); 535 536 } //end if Video.js 537 538 if ( video_vars.player_type == "WordPressDefault" ) { 539 540 var player = jQuery('#video_'+id+'_div video'); 541 var mejs_id = jQuery('#video_'+id+'_div .mejs-container').attr('id'); 542 var played = jQuery('#video_'+id+'_div').data("played") || "not played"; 543 544 jQuery('.wp-video').removeAttr('style'); 545 jQuery('#video_'+id+'_div .mejs-container').append(jQuery('#video_'+id+'_watermark')); 546 547 if ( played == "not played" ) { //only turn on the default captions on first load 548 549 var mejs_player = eval('mejs.players.'+mejs_id); 550 551 jQuery.each(mejs_player.tracks, function(key, item) { 552 if ( item.srclang == jQuery('#'+mejs_id+' track[default]').attr('srclang').toLowerCase() ) { 553 mejs_player.setTrack(item.trackId); 554 jQuery('#'+mejs_id+' .mejs-captions-selector input[value="en"]').prop('checked',true); 555 } 556 }); 557 558 if ( video_vars.start != '' ) { 559 player[0].setCurrentTime(kgvid_convert_from_timecode(video_vars.start)); 560 } 561 562 } 563 564 player.on('loadedmetadata', function() { 565 566 var played = jQuery('#video_'+id+'_div').data("played") || "not played"; 567 568 if ( video_vars.set_volume != "" ) { player[0].volume = video_vars.set_volume; } 569 if ( video_vars.mute == "true" ) { player[0].setMuted(true); } 570 if ( video_vars.pauseothervideos == "false" ) { mejs_player.options.pauseOtherPlayers = false; } 571 572 if ( played == "not played" ) { //only fast forward to start time on first play 573 574 if ( video_vars.start != '' ) { 575 player[0].setCurrentTime(kgvid_convert_from_timecode(video_vars.start)); 576 } 577 578 } 579 580 }); 581 582 player.on('play', function(){ 583 kgvid_add_hover(id); 584 jQuery('#video_'+id+'_meta').removeClass('kgvid_video_meta_hover'); 585 586 kgvid_video_counter(id, 'play'); 587 588 player.on('timeupdate', function(){ 589 590 var percent_duration = Math.round(player[0].currentTime / player[0].duration * 100); 591 592 if ( jQuery('#video_'+id+'_div').data("25") == undefined && percent_duration >= 25 && percent_duration < 50 ) { 593 jQuery('#video_'+id+'_div').data("25", true); 594 kgvid_video_counter(id, '25'); 595 } 596 else if ( jQuery('#video_'+id+'_div').data("50") == undefined && percent_duration >= 50 && percent_duration < 75 ) { 597 jQuery('#video_'+id+'_div').data("50", true); 598 kgvid_video_counter(id, '50'); 599 } 600 else if ( jQuery('#video_'+id+'_div').data("75") == undefined && percent_duration >= 75 && percent_duration < 100 ) { 601 jQuery('#video_'+id+'_div').data("75", true); 602 kgvid_video_counter(id, '75'); 603 } 604 605 }); 606 607 }); 608 609 player.on('pause', function(){ 610 jQuery('#video_'+id+'_meta').addClass('kgvid_video_meta_hover'); 611 }); 612 613 jQuery(document).on('mozfullscreenchange webkitfullscreenchange fullscreenchange', function(){ 614 615 var mejs_player = eval('mejs.players.'+mejs_id); 616 617 if ( mejs_player.isFullScreen ) { 618 //mejs_player.enterFullScreen(); 619 } 620 }); 621 622 player.on('ended', function(){ 623 if ( jQuery('#video_'+id+'_div').data("end") == undefined ) { 624 jQuery('#video_'+id+'_div').data("end", true); 625 kgvid_video_counter(id, 'end'); 626 } 627 if ( video_vars.endofvideooverlay != "" ) { 628 jQuery('#video_'+id+'_div .mejs-poster').css({ 629 'background-image':'url('+video_vars.endofvideooverlay+')' 630 }).fadeIn(); 631 632 player.on('seeking.kgvid', function() { 633 player = jQuery('#video_'+id+'_div video'); 634 if ( player[0].currentTime != 0) { 635 jQuery('#video_'+id+'_div .mejs-poster').fadeOut(); 636 player.off('seeking.kgvid'); 637 } 638 } ); 639 } 640 if ( jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != "" && jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != null ) { 641 kgvid_video_gallery_end_action(id, jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end')); 642 } 643 }); 644 645 646 } //end if WordPress Default 647 648 if ( video_vars.player_type == "JWPlayer" ) { 649 var player_id = jQuery('#video_'+id+'_div').children('div[id^="jwplayer"]').attr('id'); 650 player_id = player_id.replace('_wrapper', ''); //Flash JW Players have wrapper in the id 651 var player = jwplayer(player_id); 652 653 if ( video_vars.set_volume != "" ) { player.setVolume(Math.round(video_vars.set_volume*100)); } 654 if ( video_vars.mute == "true" ) { player.setMute(true); } 655 656 player.onPlay( function() { 657 kgvid_video_counter(id, 'play'); 658 659 if ( video_vars.meta ) { 660 kgvid_add_hover(id); 661 jQuery('#video_'+id+'_meta').removeClass('kgvid_video_meta_hover'); 662 } 663 664 if ( video_vars.pauseothervideos == "true" ) { 665 var i = 0; 666 while (true) { 667 var testplayer = jwplayer(i); 668 if (!testplayer.id) { 669 break; 670 } 671 else if ( testplayer.id == player.id ) { 672 i++; 673 } 674 else { 675 testplayer.pause(true); 676 i++; 677 } 678 }//end loop through jwplayers 679 } 680 681 player.onTime( function(e){
682 683 if ( jQuery('#video_'+id+'_div').data("25") == undefined && Math.round(e.position / e.duration * 100) == 25 ) { 684 jQuery('#video_'+id+'_div').data("25", true); 685 kgvid_video_counter(id, '25'); 686 } 687 else if ( jQuery('#video_'+id+'_div').data("50") == undefined && Math.round(e.position / e.duration * 100) == 50 ) { 688 jQuery('#video_'+id+'_div').data("50", true); 689 kgvid_video_counter(id, '50'); 690 } 691 else if ( jQuery('#video_'+id+'_div').data("75") == undefined && Math.round(e.position / e.duration * 100) == 75 ) { 692 jQuery('#video_'+id+'_div').data("75", true); 693 kgvid_video_counter(id, '75'); 694 695 } 696 697 }); 698 699 }); 700 701 player.onComplete( function() { 702 703 if ( jQuery('#video_'+id+'_div').data("end") == undefined ) { 704 jQuery('#video_'+id+'_div').data("end", true); 705 kgvid_video_counter(id, 'end'); 706 } 707 708 if ( jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != "" && jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end') != null ) { 709 kgvid_video_gallery_end_action(id, jQuery('#kgvid_video_gallery_thumb_'+id).data('gallery_end')); 710 } 711 712 }); 713 714 if ( video_vars.right_click != "on" ) { 715 player.onReady( function() { 716 jQuery('#video_'+id+'_div .jwclick').remove(); 717 }); 718 } 719 720 } 721 722 if ( video_vars.resize == "true" 723 || video_vars.auto_res == "automatic" 724 || window.location.search.indexOf("kgvid_video_embed[enable]=true") !== -1 725 ) { 726 kgvid_resize_video(id); 727 var resizeId; 728 jQuery(window).resize( function(){ 729 clearTimeout(resizeId); 730 resizeId = setTimeout(function(){kgvid_resize_video(id)}, 500); 731 } ); 732 } 733 734 if ( typeof jQuery.modal !== "undefined" && jQuery('#kgvid-simplemodal-container').length > 0 ) { jQuery.modal.setPosition(); } 735 736} 737 738function kgvid_resize_video(id) { 739 740 if ( typeof kgvid_resize_video.counter == 'undefined' ) { 741 kgvid_resize_video.counter = 0; 742 } 743 744 var video_vars = jQuery('#video_'+id+'_div').data('kgvid_video_vars'); 745 746 if ( video_vars !== undefined ) { 747 748 var set_width = video_vars.width; 749 var set_height = video_vars.height; 750 var aspect_ratio = Math.round(set_height/set_width*1000)/1000 751 var reference_div = jQuery('#kgvid_'+id+'_wrapper').parent(); 752 var window_width = jQuery(window).width(); 753 var window_height = jQuery(window).height(); 754 755 if ( reference_div.is('body') ) { //if the video is embedded 756 parent_width = window.innerWidth; 757 set_width = window.innerWidth; 758 } 759 else if ( reference_div.attr('id') == 'kgvid_popup_video_holder_'+id ) { //if it's a pop-up video 760 parent_width = window_width-40; 761 } 762 else { 763 parent_width = reference_div.width(); 764 if ( video_vars['fullwidth'] == 'true' ) { set_width = parent_width; } 765 } 766 if ( parent_width < set_width ) { set_width = parent_width; } 767 768 if ( set_width != 0 && set_width < 30000 ) { 769 770 jQuery('#kgvid_'+id+'_wrapper').width(set_width); 771 var set_height = Math.round(set_width * aspect_ratio); 772 773 if ( reference_div.attr('id') == 'kgvid_popup_video_holder_'+id && set_height > window_height-60 ) { //if it's a popup video 774 set_height = window_height-60; 775 set_width = Math.round(set_height / aspect_ratio); 776 } 777 778 if ( reference_div.is('body') && set_height > window.innerHeight ) { //if it's a tall embedded video 779 set_height = window.innerHeight; 780 var change_aspect = true; 781 782 } //if the video is embedded 783 784 if ( ( video_vars.player_type == "Video.js" && eval('videojs.players.video_'+id) != null ) ) { 785 786 video_vars.player_type == "Video.js" 787 788 var player = eval('videojs.players.video_'+id); 789 if ( change_aspect ) { player.aspectRatio(Math.floor(set_width)+':'+Math.floor(set_height)); } 790 791 if ( set_width < 500 ) { 792 var scale = Math.round(100*set_width/500)/100; 793 jQuery('#kgvid_'+id+'_wrapper .vjs-big-play-button').css('-webkit-transform','scale('+scale+')').css('-o-transform','scale('+scale+')').css('-ms-transform','scale('+scale+')').css('transform','scale('+scale+')'); 794 if ( set_width < 261 ) { 795 jQuery('#video_'+id+' > .vjs-control-bar > .vjs-mute-control').css('display', 'none'); 796 if ( set_width < 221 ) { 797 jQuery('#video_'+id+' > .vjs-control-bar > .vjs-volume-control').css('display', 'none'); 798 if ( set_width < 171 ) { 799 jQuery('#video_'+id+' > .vjs-control-bar > .vjs-duration, #video_'+id+' > .vjs-control-bar > .vjs-time-divider').css('display', 'none'); 800 } 801 } 802 } 803 } 804 else { jQuery('#kgvid_'+id+'_wrapper .vjs-big-play-button').css('transform', ''); } 805 } 806 807 if ( video_vars.player_type == "StrobeMediaPlayback" ) { 808 jQuery('#video_'+id+'_div').height(set_height); 809 jQuery('#video_'+id).attr('width',set_width).attr('height',set_height); 810 jQuery('#video_'+id+'_html5_api').attr('width',set_width).attr('height',set_height); 811 } 812 813 if ( video_vars.player_type == "WordPressDefault" && typeof mejs !== 'undefined' ) { 814 815 player = eval('mejs.players.'+jQuery('#kgvid_'+id+'_wrapper div.wp-video-shortcode').attr('id')); 816 817 if ( change_aspect ) { 818 player.options.setDimensions = false; 819 jQuery('#kgvid_'+id+'_wrapper div.wp-video-shortcode').css('height', set_height+'px'); 820 } 821 822 } 823 824 if ( ( video_vars.player_type == "Video.js" && eval('videojs.players.video_'+id) != null ) 825 || ( video_vars.player_type == "WordPressDefault" && typeof mejs !== 'undefined' ) 826 ) { 827 if ( video_vars.auto_res == 'automatic' && player.availableRes !== undefined ) { 828 829 var resolutions = player.availableRes; 830 var resNumbers = new Array(); 831 832 jQuery.each(resolutions, function(key, value){ 833 if ( typeof key !== 'undefined' && !isNaN(parseInt(key)) ) { 834 resNumbers.push(parseInt(key)); 835 } 836 });
837 var current_resolution = parseInt(player.getCurrentRes()); 838 839 if ( !isNaN(current_resolution) ) { 840 if ( video_vars.pixel_ratio == "true" && window.devicePixelRatio != undefined ) { 841 var pixel_ratio = window.devicePixelRatio; 842 } //for retina displays 843 else { pixel_ratio = 1; } 844 845 if ( jQuery('#video_'+id).hasClass('vjs-fullscreen') || jQuery('#video_'+id+'_div .mejs-container').hasClass('mejs-container-fullscreen') ) { 846 pixel_height = window_width * aspect_ratio * pixel_ratio; 847 } 848 else { pixel_height = set_width * aspect_ratio * pixel_ratio; } 849 850 var res_options = jQuery.map(resNumbers, function(n) { 851 if ( n >= pixel_height ) { return n; } 852 }); 853 var set_res = Math.min.apply(Math,res_options); 854 855 if ( set_res != current_resolution ) { 856 857 if ( video_vars.player_type == "Video.js" ) { 858 859 if ( player.paused() ) { 860 player.one('play', function() { 861 player.changeRes(set_res+'p'); 862 player.play(); 863 }); 864 } 865 else { 866 player.changeRes(set_res+'p'); 867 } 868 869 } 870 871 if ( video_vars.player_type == "WordPressDefault" ) { 872 873 if ( player.media.paused ) { 874 if ( player.media.preload == 'none' ) { 875 jQuery(player.media).one('canplay', function() { 876 player.changeRes(set_res+'p'); 877 }); 878 } 879 else { 880 jQuery(player.media).one('play', function() { 881 player.changeRes(set_res+'p'); 882 }); 883 } 884 } 885 else { 886 player.changeRes(set_res+'p'); 887 } 888 889 } 890 891 } 892 893 if ( video_vars.player_type == "Video.js" && jQuery('#video_'+id).hasClass('vjs-has-started') == false ) { 894 if ( player.muted() == true ) { 895 player.muted(false); 896 player.muted(true); 897 } // reset volume and mute otherwise player doesn't display properly 898 if ( player.volume() != 1 ) { 899 var current_volume = player.volume(); 900 player.volume(1); 901 player.volume(current_volume); 902 } 903 } 904 905 } //automatic 906 } 907 } 908 909 var meta = jQuery('#kgvid_video_gallery_thumb_'+id).data('meta'); 910 var extra_meta_height = Math.round(20*meta); 911 jQuery('#kgvid-simplemodal-container').width(parseInt(set_width)+10); 912 jQuery('#kgvid-simplemodal-container').height(parseInt(set_height)+10+extra_meta_height); 913 jQuery('.simplemodal-wrap').css('overflow', 'hidden'); 914 915 } 916 else if ( kgvid_resize_video.counter < 3 ) { setTimeout(function() { kgvid_resize_video(id); }, 250); } //if it's a wacky result, wait 1/4 second 917 } 918 919 ++kgvid_resize_video.counter; 920 921} 922 923function kgvid_resize_gallery_play_button(gallery_id) { 924 925 var video_vars = jQuery('#'+gallery_id+' .kgvid_video_gallery_thumb').first().data('kgvid_video_vars'); 926 var thumb_width = jQuery('#'+gallery_id+' .kgvid_video_gallery_thumb').first().width(); 927 928 if ( video_vars.player_type == "Video.js" || video_vars.player_type == "WordPressDefault" ) { 929 930 var max_percent = 0.17; 931 932 933 if ( video_vars.player_type == "Video.js" ) { 934 var button_selector = '.vjs-big-play-button'; 935 var translate_y = 30; 936 } 937 938 if ( video_vars.player_type == "WordPressDefault" ) { 939 var button_selector = '.mejs-overlay-button'; 940 var translate_y = 5; 941 } 942 943 var play_button_percent = jQuery('#'+gallery_id+' '+button_selector).width()/thumb_width; 944 945 var unscaled_width = jQuery('#'+gallery_id+' '+button_selector)[0].offsetWidth; 946 var scale_value = Math.round(thumb_width * max_percent / unscaled_width * 1000)/1000; 947 948 if ( scale_value < 1 ) { 949 var css_text = 'scale('+scale_value+') translateY(-'+translate_y+'px)'; 950 951 jQuery('#'+gallery_id+' '+button_selector).css({ 952 'transform' : css_text, 953 '-webkit-transform' : css_text, 954 '-o-transform' : css_text, 955 '-ms-transform': css_text 956 }); 957 } 958 else { jQuery('#'+gallery_id+' '+button_selector).removeAttr('style'); } 959 960 } 961 962} 963 964function kgvid_strobemedia_callback(id) { 965 966 var player = document.getElementById('video_'+id); 967 var video_vars = jQuery('#video_'+id+'_div').data('kgvid_video_vars'); 968 969 if ( player.getState() == 'buffering' || player.getState() == 'playing' ) { 970 kgvid_video_counter(video_vars.id, 'play'); 971 } 972 973 if ( player.getState() == 'uninitialized' && video_vars.set_volume != "" ) { 974 player.setVolume(video_vars.set_volume); 975 } 976 977} 978 979function kgvid_video_counter(id, event) { 980 981 var video_vars = jQuery('#video_'+id+'_div').data('kgvid_video_vars'); 982 var changed = false; 983 984 var played = jQuery('#video_'+id+'_div').data("played") || "not played"; 985 if ( played == "not played" ) { 986 if (video_vars.countable) { //video is in the db 987 changed = true; 988 jQuery('#video_'+id+'_div').data("played", "played"); 989 } 990 if (typeof gtag != "undefined") { 991 gtag("event", kgvidL10n_frontend.playstart, { 992 'event_category': "Videos", 993 'event_label': video_vars.title 994 }); 995 } 996 else if (typeof ga != "undefined") { ga("send", "event", "Videos", kgvidL10n_frontend.playstart, video_vars.title); } 997 else if (typeof __gaTracker != "undefined") { __gaTracker("send", "event", "Videos", kgvidL10n_frontend.playstart, video_vars.title); } // Yoast renamed ga function
998 else if (typeof _gaq != "undefined") { _gaq.push(["_trackEvent", "Videos", kgvidL10n_frontend.playstart, video_vars.title]); } 999 1000 } 1001 1002 if ( !isNaN(event) ) { 1003 1004 if (video_vars.countable) { //video is in the db 1005 changed = true; 1006 } 1007 if (typeof gtag != "undefined") { 1008 gtag("event", event+"%", { 1009 'event_category': "Videos", 1010 'event_label': video_vars.title 1011 }); 1012 } 1013 else if (typeof ga != "undefined") { ga("send", "event", "Videos", event+"%", video_vars.title); } 1014 else if (typeof __gaTracker != "undefined") { __gaTracker("send", "event", "Videos", event+"%", video_vars.title); } // Yoast renamed ga function 1015 else if (typeof _gaq != "undefined") { _gaq.push(["_trackEvent", "Videos", event+"%", video_vars.title]); } 1016 1017 } 1018 1019 if ( event == "end" ) { 1020 1021 if (video_vars.countable) { //video is in the db 1022 changed = true; 1023 } 1024 if (typeof gtag != "undefined") { 1025 gtag("event", kgvidL10n_frontend.completeview, { 1026 'event_category': "Videos", 1027 'event_label': video_vars.title 1028 }); 1029 } 1030 if (typeof ga != "undefined") { ga("send", "event", "Videos", kgvidL10n_frontend.completeview, video_vars.title); } 1031 if (typeof __gaTracker != "undefined") { __gaTracker("send", "event", "Videos", kgvidL10n_frontend.completeview, video_vars.title); } // Yoast renamed ga function 1032 else if (typeof _gaq != 'undefined') { _gaq.push(['_trackEvent', 'Videos', kgvidL10n_frontend.completeview, video_vars.title]); } 1033 1034 } 1035 1036 if ( changed == true 1037 && video_vars.count_views != 'false' 1038 && ( 1039 video_vars.count_views == 'quarters' 1040 || ( video_vars.count_views == 'start_complete' && ( event == 'play' || event == 'end' ) ) 1041 || ( video_vars.count_views == 'start' && event == 'play' ) 1042 ) 1043 ) { 1044 jQuery.post(kgvidL10n_frontend.ajaxurl, { 1045 action: 'kgvid_count_play', 1046 security: kgvidL10n_frontend.ajax_nonce, 1047 post_id: video_vars.attachment_id, 1048 video_event: event, 1049 show_views: jQuery('#video_'+id+'_viewcount').length 1050 }, function(data) { 1051 if ( event == "play" ) { jQuery('#video_'+id+'_viewcount').html(data); } 1052 }); 1053 } 1054} 1055 1056function kgvid_switch_gallery_page(obj, post_action) { 1057 1058 var gallery_id = jQuery(obj).parents('.kgvid_gallerywrapper').attr('id'); 1059 var query_atts = jQuery('#'+gallery_id).data('query_atts'); 1060 var page = jQuery(obj).children().first().html(); 1061 var last_id = jQuery('.kgvid_videodiv, .kgvid_video_gallery_thumb').last().data('id').substr(6); 1062 1063 jQuery('#'+gallery_id).fadeTo("fast", 0.5); 1064 1065 jQuery.post(kgvidL10n_frontend.ajaxurl, { 1066 action: 'kgvid_switch_gallery_page', 1067 security: kgvidL10n_frontend.ajax_nonce, 1068 page: page, 1069 query_atts: query_atts, 1070 last_video_id: last_id 1071 }, function(data) { 1072 jQuery('#'+gallery_id).html(data); 1073 kgvid_document_ready(); 1074 jQuery('#'+gallery_id).fadeTo("fast", 1); 1075 if ( post_action == "next" ) { 1076 jQuery.modal.close(); 1077 jQuery('#'+gallery_id+' .kgvid_video_gallery_thumb').first().trigger('click'); 1078 } 1079 if ( post_action == "prev" ) { 1080 jQuery.modal.close(); 1081 jQuery('#'+gallery_id+' .kgvid_video_gallery_thumb').last().trigger('click'); 1082 } 1083 }, "json"); 1084 1085} 1086 1087function kgvid_share_icon_click(id) { 1088 1089 var player_element; 1090 var event; 1091 1092 if ( jQuery('#kgvid_'+id+'_shareicon').hasClass('dashicons-share') ) { 1093 event = 'turn on'; 1094 jQuery('#kgvid_'+id+'_shareicon').removeClass('dashicons-share').addClass('dashicons-no'); 1095 } 1096 else { 1097 event = 'turn off'; 1098 jQuery('#kgvid_'+id+'_shareicon').removeClass('dashicons-no').addClass('dashicons-share'); 1099 } 1100 1101 var video_vars = jQuery('#video_'+id+'_div').data('kgvid_video_vars'); 1102 1103 if ( video_vars.player_type == "Video.js" ) { 1104 1105 eval('videojs.players.video_'+id).pause(); 1106 1107 if ( jQuery('#video_'+id).hasClass('vjs-has-started') ) { 1108 player_element = ' .vjs-control-bar'; 1109 } 1110 else { //hasn't started playing yet 1111 player_element = ' .vjs-big-play-button'; 1112 } 1113 1114 if ( jQuery('#video_'+id+'_div'+player_element).attr('style') == undefined ) { 1115 jQuery('#video_'+id+'_div'+player_element).hide(); 1116 } 1117 else { 1118 jQuery('#video_'+id+'_div'+player_element).removeAttr('style'); 1119 } 1120 1121 }// if Video.js player 1122 else if ( video_vars.player_type == "WordPressDefault" ) { 1123 1124 jQuery('#video_'+id+'_div video')[0].pause(); 1125 jQuery('#video_'+id+'_div .mejs-overlay-button').toggle(); 1126 1127 }//if WordPress Default player 1128 else if ( video_vars.player_type == "JWPlayer" ) { 1129 var player_id = jQuery('#video_'+id+'_div').children('div[id^="jwplayer"]').attr('id'); 1130 player_id = player_id.replace('_wrapper', ''); //Flash JW Players have wrapper in the id 1131 var player = jwplayer(player_id); 1132 player.pause(true); 1133 } 1134 1135 if ( event == 'turn on' ) { jQuery('#video_'+id+'_div').off('mouseenter mouseleave focus focusout').addClass('kgvid_video_meta_hover'); } 1136 else { kgvid_add_hover(id); } 1137 1138 jQuery('#video_'+id+'_embed, #click_trap_'+id).slideToggle(); 1139 1140} 1141 1142function kgvid_set_start_at(id) { 1143 1144 var video_vars = jQuery('#video_'+id+'_div').data('kgvid_video_vars'); 1145 1146 if ( jQuery('#video_'+id+'_embed .kgvid_start_at_enable').prop('checked') ) { 1147 1148 if ( video_vars.player_type == "Video.js" ) { 1149 var current_time = eval('videojs.players.video_'+id).currentTime(); 1150 } 1151 else if ( video_vars.player_type == "WordPressDefault" ) { 1152 var current_time = jQuery('#video_'+id+'_div video')[0].getCurrentTime(); 1153 } 1154 1155 jQuery('#video_'+id+'_embed .kgvid_start_at').val(kgvid_convert_to_timecode(Math.floor(current_time))); 1156 1157 } 1158 1159 kgvid_change_start_at(id); 1160 1161} 1162 1163function kgvid_change_start_at(id) { 1164 1165 var embed_code = jQuery('#video_'+id+'_embed .kgvid_embedcode').val(); 1166 parsed_embed_code = jQuery.parseHTML(embed_code); 1167 var old_src = jQuery(parsed_embed_code).attr('src'); 1168 1169 if ( old_src.indexOf('&kgvid_video_embed[start]=') !== -1 ) { //start value exists 1170 var src_array = old_src.split('&'); 1171 old_src = src_array[0] + '&' + src_array[1]; 1172 } 1173 1174 if ( jQuery('#video_'+id+'_embed .kgvid_start_at_enable').prop('checked') ) { 1175 var new_src = old_src + '&kgvid_video_embed[start]='+jQuery('#video_'+id+'_embed .kgvid_start_at').val(); 1176 } 1177 else { 1178 var new_src = old_src; 1179 } 1180 1181 jQuery('#video_'+id+'_embed .kgvid_embedcode').val("<iframe allowfullscreen src='"+new_src+"' frameborder='0' scrolling='no' width='640' height='360'></iframe>"); 1182 1183}
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.