Current File : /home/inlingua/public_html/icentex/evaluation/js/bg-video/cws_YT_bg.js |
/* YouTube video Background */
var i,
currTime,
duration,
video_source,
video_id,
el_height,
element,
el_width,
el_quality;
element = document.getElementsByClassName("cws_Yt_video_bg");
function onYouTubePlayerAPIReady() {
if(typeof element === 'undefined')
return;
for (var i = element.length - 1; i >= 0; i--) {
video_source = element[i].getAttribute("data-video-source");
video_id = element[i].getAttribute("data-video-id");
el_width = element[i].offsetWidth;
if (element[i].offsetHeight<((el_width/16)*9)) {
el_height = (element[i].offsetWidth/16)*9;
}else{
el_height = element[i].offsetHeight;
el_width = (el_height/9)*16;
}
if (el_width > 1920){
el_quality = 'highres';
}
if (el_width < 1920){
el_quality = 'hd1080';
}
if (el_width < 1280) {
el_quality = 'hd720';
}
if (el_width < 853) {
el_quality = 'large';
}
if (el_width < 640) {
el_quality = 'medium';
};
window.setTimeout(function() {
if (!YT.loaded) {
console.log('not loaded yet');
window.setTimeout(arguments.callee, 50)
} else {
var curplayer = video_control(video_id,video_source);
}
}, 50);
};
}
function video_control (uniqid,video_source) {
var interval;
var player;
var chek = 0;
player = new YT.Player(uniqid, {
height: el_height,
width: el_width,
videoId: video_source,
playerVars: {
'autoplay' : 1,
'rel' : 0,
'showinfo' : 0,
'showsearch' : 0,
'controls' : 0,
'loop' : 1,
'enablejsapi' : 1,
'theme' : 'dark',
'modestbranding' : 0,
'wmode' : 'transparent',
'enablejsapi' : 1,
},
events: {
'onReady': onPlayerReady,
'onStateChange': onPlayerStateChange
}
}
);
window.addEventListener('focus', function() {
checkPlayer();
return true;
});
function onPlayerReady(event){
event.target.mute();
player.setPlaybackQuality(el_quality);
player.playVideo();
}
function onPlayerStateChange(event) {
event.data == YT.PlayerState.PLAYING ? interval = setInterval(checkPlayer, 200) : clearInterval(interval);
setInterval(chek_on_page, 1000);
}
function seekTo(event) {
player.seekTo(0);
}
function checkPlayer() {
if (undefined !== player && undefined !== player.getCurrentTime) {
currTime = player.getCurrentTime(); //get video position
duration = player.getDuration(); //get video duration
(currTime > (duration - 0.8)) ? seekTo(event) : '';
};
}
function chek_on_page (){
if (document.getElementsByTagName('html')[0].hasAttribute('data-focus-chek')) {
if (chek < 1 && undefined !== player.playVideo) {
chek++
player.playVideo();
}else{
chek = 1
}
}else if (undefined !== player.pauseVideo) {
player.pauseVideo();
chek = 0;
}
}
}
function Video_resizer (){
if (element.length) {
for (var i = element.length - 1; i >= 0; i--) {
video_source = element[i].getAttribute("data-video-source");
video_id = element[i].getAttribute("data-video-id");
el_width = document.getElementsByClassName("cws_Yt_video_bg")[0].offsetWidth;
if (element[i].offsetHeight<((el_width/16)*9)) {
el_height = (document.getElementsByClassName("cws_Yt_video_bg")[0].offsetWidth/16)*9;
}else{
el_height = document.getElementsByClassName("cws_Yt_video_bg")[0].offsetHeight;
el_width = (el_height/9)*16;
}
var el_iframe = document.getElementById(element[i].getAttribute("data-video-id"));
el_iframe.style.width = el_width+'px';
el_iframe.style.height = el_height+'px';
};
};
}
jQuery(document).ready(function (){
});
jQuery(window).resize( function (){
/*Video_resizer (); */
} );
jQuery(window).load(function (){
onYouTubePlayerAPIReady()
/*Video_resizer ();*/
});
/* vimeo */